PYTHON E MODBUS:
DATA LOGGER CON SIEMENS LOGO!

Comunicare in modbus con python e plc

Eccoci nuovamente tra le pagine del sito dedicate al mondo dell’automazione industriale con Python, oggi vediamo come con questo linguaggio, si può costruire un data logger, per registrare i dati prelevati da apparecchiature modbus.

Nell’esempio odierno utilizziamo la libreria PyModbusTCP per comunicare con il Logo! Siemens, e nel video allegato a questa pagina trovi la dimostrazione integrale.

Novità automazione e plc

In un altro tutorial di questa serie, abbiamo visto che Python è in grado di scambiare dati con la rete modbus attraverso il modulo client della libreria dedicata a questo protocollo di rete.

Una volta acquisiti i dati, possiamo elaborarli, oppure per esempio registrarli, creando dei log di dati come nella dimostrazione di oggi.

Il programma presentato legge gli 8 valori analogici del modulo modbus, e li registra in un file di tipo CSV, il quale potrà successivamente essere letto da qualsiasi lettore di file di testo, o meglio ancora da un foglio di calcolo in grado di incolonnare i dati.

Come vedremo, abbiamo solo un valore che varia, che è l’unico ingresso analogico al quale abbiamo collegato una sorgente 0-10V per simulare i dati, questo è comunque sufficiente a mostrare le possibilità che Python ci offre insieme al modbus.

Nella figura che segue troviamo la routine che legge i registri contenenti i valori analogici da memorizzare; la funzione è svolta dal modulo modbus client della libreria, con la classe read_input_registers.

Programma in Python per registrare i dati dall'apparecchiatura modbus

Nella figura quì sotto possiamo vedere la schermata della console di Python in esecuzione; troviamo la lettura dei dati dal modulo modbus, la quale viene nell’esempio effettuata ogni secondo.

I dati vengono scritti un un file CSV, il cui nome viene costruito utilizzando la data del giorno corrente; per esempio 18022024.CSV per le registrazioni del giorno 18 febbraio 2024.

Schermata runtime del logger dati modbus

Ecco nella prossima immagine la schermata del foglio dei dati, possiamo trovare l’intestazione di questi, e sulla sinistra la colonna con l’orario delle registrazioni.

Nel file abbiamo una riga di dati per ogni secondo, e vediamo che facilmente si possono costruire grafici utilizzando i dati stessi.

Foglio di calcolo con grafico dei dati registrati dal plc in modbus

Copyright(C) automazione-plc.it
P. IVA: 11676200964
Sito di informazione e didattica sull'automazione industriale, il mondo dei PLC e dei sistemi di supervisione.
Programmazione PLC.
Programmazione SCADA e HMI.
Apparecchiature e hardware industriale.
Strumentazione da campo.
Policy sulla Privacy e utilizzo dei Cookies