Il programma che hai fatto è quasi corretto… Vediamo gli errori come vedi dalla pagina errori, viene riportato:
9946140 Errore definizione porta COM
9912200 Non è possibile aprire il file specificato
Che stà ad indicare che hai indicato al FB SysSerialPort una porta di comunicazione errata, infatti non riesce ad aprire lo stream di comunicazione che nel sistema è indicato come file.
Infatti tu in COM hai indicato ADR(“COM2”), le stringhe in IEC-61131 si indicano con l’apice singolo, quindi ADR(‘COM2’) come indicato negli esempi del FB SysSerialPort.
Il secondo errore che poi porterà a non fare funzionare la comunicazione è che tu hai appoggiato l’uscita Done della seconda FB ModbusMaster sull’ingresso Enable della prima senza invertirlo. Come vedi nella programmazione con FB connesse con modello a cascata il segnale è invertito. L’inversione la noti dal pallino posto davanti al segnale. Per fare comparire il pallino di inversione devi puntare il FB, poi con il tasto destro del mouse selezionare proprietà e definire NOT sul segnale Enable. In alternativa inserisci un oggetto NOT nel ramo.
Fatte queste operazioni il Modbus dovrebbe comunicare, ora l’unico problema potrebbe essere nella definizione dell’indirizzo in Address, molti sistemi non sono compliant con il Modbus e non sottraggono 1 all’indirizzo indicato, quindi verifica con la console di spionaggio cosa succede sulla comunicazione ed eventualmente attiva Absolute.