Nel forum ci sono sicuramente moltissimi esempi di scambio dati tra due o più sistemi SlimLine, ma visto che tu hai necessità di dialogare in seriale non puoi utilizzare la libreria eLLabDataExchLib di scambio dati via TCP/IP ma devi utilizzare il FB ModbusMaster.
Il modo più semplice è realizzare un programma PLCMdbMaster che istanziando 2 blocchi funzione ModbusMaster esegue la lettura e la scrittura di blocchi di memoria sul PLC slave. Nell’esempio che ti allego per il download (Ecco lo screenshot) ho allocato i dati in scambio in due strutture dati, basterà che definisci nelle strutture i dati che devi scambiare.
Nell’esempio troverai anche un programma FBD che gestisce lo scambio via ModbusTCP, e come vedi si connette con l’indirizzo 127.0.0.1 (localhost) in pratica comunica con se stesso. Può essere utile per fare delle prove.
Dalla parte slave non devi fare nulla perchè utilizzi il Modbus gestito dal sistema operativo, dovrai solo allocare le due strutture dati della DB100 che è l’unica raggiungibile da Modbus.
E’ inutile dire che le due strutture dati MASTER_TO_SLAVE e SLAVE_TO_MASTER devono essere identiche nei due programmi (PLC Master e PLC Slave).