Non mi spiego il problema che tu lamenti, non scrivi che tipo di protocollo Modbus tu stia utilizzando (Se Ascii, RTU o TCP). Essendo una connessione in RS232 consiglio il protocollo RTU (Il cui protocollo slave è già gestito nativamente dal sistema operativo). Il protocollo RTU ha un CRC di controllo che garantisce la sicurezza dei dati quindi ritengo impossibile ricevere pacchetti errati.
Se vuoi poter gestire dal modulo master anche la programmazione dei vari moduli slaves della rete dai una occhiata a questo topic.
Non so come hai gestito la sequenzialità delle interrogazioni sul programma master, il blocco funzione ModbusMaster permette di essere eseguito in cascata collegando l’uscita Done di uno sull’ingresso Enable di quello successivo e così via. L’uscita Done dell’ultimo FB andrà a fare ripartire la sequenza (Screenshot).
Non è che per caso hai un conflitto di indirizzi sui nodi slave, se usi la gestione da sistema operativo l’indirizzo si imposta dalla pagina web di configurazione (Screenshot).