Avrei bisogno di fare alcune domande riguardo al blocco funzione MasterModbus presente nell’esempio. Ho fatto alcuni test e andando avanti nelle modifiche del programma sono giunto alla conclusione che le uscite di ModbusMaster Done e Ok non sono comandate in maniera sincrona. Nel programma che sto creando uso la funzione di scrittura Modbus soltanto:
1- Alla prima scansione.
2- Se NOT(SysTCPClient.Connected) OR ModbusMaster.Fault, quindi connessione persa oppure errore sulla connessione Modbus.
3- Se noto un cambio nel valore Errors.
4- Se ho una variazione del messaggio da scrivere in Modbus.
Per capire se effettivamente ho concluso a buon fine la scrittura modbus, e quindi passare a leggere di continuo lettura, volevo utilizzare il segnale di Done combinato con il segnale di Ok.
Solo che, inizialmente, il segnale di Ok veniva rilevato dopo qualche millisecondo che Done era stato settato. Dopo aver scritto altro programma adesso ho la condizione che prima arriva l’Ok poi il Done. E’ possibile in qualche maniera far arrivare il Donee l’Ok nelle stessa scansione del PLC, in modo che con la combinazione di entrambi possa capire se effettivamente ho concluso le operazioni Modbus correttamente oppure no.