Home › Forum › Programmazione IEC 61131 (LogicLab) › Acquisizione variabili da strumenti Modbus e storage su disco
- Questo topic ha 1 risposta, 1 partecipante ed è stato aggiornato l'ultima volta 1 anno, 3 mesi fa da
Sergio Bertana.
-
AutorePost
-
Giugno 19, 2025 alle 8:36 am #82898
Anonimo
InattivoHo collegato 2 strumenti con interfaccia Modbus alla porta seriale RS485 dello SlimLine, i due strumenti hanno stesso baudrate, li ho configurati con indirizzo di nodo diverso (nodo 1 e nodo 2) ma hanno modalita di lettura diversa uno con 16#03 e l’altro con 16#04.
E’ possibile utilizzando il FB ACModbus eseguire la lettura dai due strumenti?
Dovrei poi salvare ad ogni ora le variabili acquisite per poterne salvare il valore, pensavo di salvarle nel disco C:, c’è qualche esempio a cui posso riferirmi?
Posso incorrere in problemi di “sovraccarico” del disco?
Giugno 19, 2025 alle 8:36 am #82900Sergio Bertana
Amministratore del forumIl FB ACModbus è nato appositamente per permettere di gestire comunicazioni Modbus con apparecchiature connesse in multidrop su porta seriale. Riferendoti all’esempio riportato nella pagina del manuale devi definire un array di strutture ACMODBUS_DATA una per ogni indirizzo di nodo e comando da eseguire. In questo modo puoi gestire più nodi e più comandi per ogni nodo.
Nella esecuzione il FB ACModbus itera su tutte le strutture dato definite gestendo i relativi comandi. Il parametro Delay del FB ModbusMaster definisce il tempo di pausa tra l’esecuzione dei comandi. Il parametro Timeout del FB ModbusMaster definisce il tempo di attesa risposta dal dispositivo prima di generare errore. Nel caso di un errore nella esecuzione di un comando quel comando verrà ignorato nelle sequenze successive per il tempo definito nel parametro RTime, in questo modo un eventuale nodo in errore non rallenta la comunicazione con gli altri.
Per il salvataggio dei dati acquisiti su disco puoi prendere ad esempio il programma ST_DataLoggerOnCSVFile che trovi in questo articolo. Potrai salvare file ad ogni mese come nell’esempio oppure ogni giorno, ogni ora, ecc. Potrai leggere i dati salvati connettendoti in FTP allo SlimLine oppure inviarli automaticamente ad un server FTP remoto (Vedi articolo).
Quando si utilizza il disco è preferibile aggiungere una SDCard al sistema perchè come noto i dischi su memoria FLASH come il disco C: o anche le SDCard hanno una “vita” cioè un numero di operazioni in scrittura definito (Circa 100.000). Ma se scrivi ogni minuto avendo implementato il wear leveling sul disco hai una vita torica di circa 100 anni. Ma se scrivessi ogni secondo la vita sarebbe solo di 20 mesi.
-
AutorePost
- Devi essere connesso per rispondere a questo topic.