Gestione log su file o su database SQL

Effettuare log di dati/operazioni/eventi è una richiesta sempre più ricorrente, e visto che gli impianti esistenti sono equipaggiati con vecchi modelli di PLC che non permettono la gestione di logs la soluzione più semplice è di delegare questo compito al pannello operatore. Weintek ha aggiunto in tutti i sui prodotti questa possibilità vediamo come.

Data sampling

Con l'oggetto Data Sampling è possibile impostare il salvataggio di dati in un file di log, è possibile scegliere se il salvataggio và eseguito a tempo oppure su un evento trigger (Comandabile da PLC). Con il pulsante Data Format si apre una tabella dove è possibile impostare l'elenco dei dati da salvare, i dati devono essere allocati consecutivamente sul PLC. Per ogni dato ne viene definita la descrizione ed il formato dati.

I dati possono essere salvati in un file nel terminale, su SDCard o su dongle USB, il formato dati è un formato proprietario dtl. Utilizzando il programma EasyConverter è possibile convertirlo in un formato csv standard utilizzabile da Excel. Usando l'oggetto Backup è possibile trasferire il file dtl da un file del terminale su dongle USB già nel formato csv. Alcuni topic sul forum trattano l'argomento topic, topic.

Operation log

L'oggetto operation log permette di salvare automaticamente tutte le operazioni svolte sul pannello, è possibile selezionare gli oggetti da loggare e quando l'operatore agisce sull'oggetto viene automaticamente salvato un record in un file SQL Lite. E' possibile abilitare il log su variabili alla cui variazione di valore viene automaticamente generato un record nel database.

Occorre definire il dongle USB su cui salvare il file db con i dati, l'oggetto mantiene una copia di un certo numero di campioni nel file system del pannello e ogni tanto aggiorna il file sul dongle. Se si estrae il dongle durante l'utilizzo per acquisire il file, il pannello riempie il suo file locale per poi aggiornare il dongle quando riinserito. Si consiglia comunque di utilizzare l'accesso via FTP senza estrarre il dongle.

L'oggetto Operation Log View permette di visualizzare sul pannello il file di log, l'oggetto Operation Log Printing permette di stampare il file di log. Alcuni topic sul forum trattano l'argomento, topic.

Database Query

Alcuni modelli di pannello (Vedi appendice manuale) gestiscono le query SQL sia su database locale (Interno al pannello) che remoto (Server SQL o MySQL). In questo caso è possibile realizzare macro ad-hoc per gestire qualsiasi tipo di registrazione dati sul database.

Naturalmente questa tra tutte è la soluzione più versatile perchè sfruttando la potenza del database con queries personalizzate è possibile realizzare logs flessibili, inoltre più pannelli possono inviare dati allo stesso database permettendo l'aggregazione di dati da pannelli diversi. Alcuni topic sul forum trattano l'argomento, topic.

... aggiungere uno SlimLine

Abbiamo visto che il terminale offre molte possibilità di logging, ma alcune volte non permette di avere la flessibilità che il cliente finale ci richiede. Allora perchè non utilizzare in abbinamento al terminale un nostro dispositivo SlimLine, grazie alla connessione ethernet (Modbus TCP) il terminale può inviare dati al sistema che grazie ai suoi potenti blocchi funzione, può memorizzare dati sulla SDCard. Con la funzione Sysfwrite è possibile scrivere liberamente nel file, nel forum troverai molti esempi di scrittura in formato csv, topic.

Il terminale ha un server FTP, ma molte volte il cliente chiede di trasferire automaticamente il file di log su di un server FTP remoto (Aspettando che Weintek offra questa possibilità, che è nella loro road map) possiamo utilizzare il FB FTPClient di SlimLine per memorizzare automaticamente il file sul server remoto, vedi topic.

E se i dati sono nel PLC di macchina? Nessun problema se il PLC supporta il protocollo Modbus il blocco funzione ModbusMaster può andarli a leggere, eventualmente l'oggetto Data Transfer sul pannello può trasferire i dati dal PLC allo SlimLine.

Was this article helpful?