Se stai imparando a programmare i pannelli HMI Siemens, oppure sai già programmarli e vuoi scoprire il nuovo modo di progettare supervisioni offerto da WinCC Unified, in questo tutorial imparerai come mettere in comunicazione questo ambiente con il piccolo controllore Logo! della stessa casa tedesca.
Mentre nelle versioni precedenti di WinCC esisteva un protocollo di comunicazione specifico per il Logo!, con le nuove versioni del sistema di monitoraggio utilizziamo il diffusissimo protocollo di comunicazione industriale Modbus TCP, il quale sfrutta la rete Ethernet come mezzo fisico di trasmissione dati.
Chi ha già esperienza con WinCC, sa che tra le opzioni di comunicazione disponibili durante la creazione del collegamento tra pannello operatore e PLC, esisteva il driver Logo! Siemens.
In WinCC Unified, questo driver è stato eliminato (almeno nella versione V18 Update 3 che sto utilizzando in questo momento), per cui se vogliamo leggere e scrivere dati scambiandoli con il piccolo controllore, dobbiamo affidarci o al protocollo OPC UA, attraverso un software OPC UA Server, o sfruttare il protocollo Modbus.
Il Logo! non possiede porte seriali RS485, a meno di non installare il modulo CIM che ha un costo abbastanza elevato; fortunatamente però questo apparecchio ha la porta Ethernet e permette di comunicare con la versione TCP del Modbus.
Configurazione della connessione WinCC Unified e Logo!.
Ecco nella prossima figura la schermata di configurazione connessione tra HMI e Logo!, il driver di comunicazione da scegliere è quello chiamato “Standard Modbus TCP”, e come vediamo dall’immagine specifichiamo l’indirizzo IP del controllore e la porta.
Naturalmente per poter comunicare con il Logo!, è necessario configurarlo in modo da aprire la relativa porta, e accettare connessioni mediante l’aggiunta di un collegamento Modbus Server.
Accesso alle aree di memoria nel Logo! attraverso il Modbus.
A differenza del protocollo S7, con il protocollo Modbus non possiamo identificare gli ingressi, le uscite, e tutte le altre zone di memoria del Logo! mediante le lettere I, Q, M, V e così via; dobbiamo invece attenerci a quello che è il modo di indirizzare la memoria del Modbus.
Nella prossima figura vediamo una serie di variabili che sono state configurate in WinCC per leggere ingressi, uscite, merkers e aree V; come di consueto andiamo a leggere e scrivere i registri Modbus nelle diverse aree dedicate a ogni tipo di dato.
A prima vista tutto sembra più complicato del solito, e in effetti lo è; personalmente non capisco perché la Siemens abbia deciso di eliminare il protocollo S7 per comunicare con il suo piccolo relé programmabile.
Una volta che abbiamo configurato il collegamento e creato le variabili da leggere e scrivere, possiamo verificare la comunicazione con il Logo! mediante una pagina di sinottico.
Per quanto riguarda le uscite abbiamo dei cerchi che si colorano in base allo stato, così come avviene per i due ingressi del controllore; abbiamo poi inserito due campi numerici per poter scrivere il set point del temporizzatore utilizzato nel programma del Logo!, e leggere il valore corrente.
Il programma d’esempio nel controllore è molto semplice, abbiamo l’uscita 1 che si alza quando si attiva il primo ingresso, oppure il merker M1.
Insieme all’uscita si attivano anche il merker M10 e l’uscita Q15; poi con il temporizzatore si attiva anche l’uscita Q3.
L’ingresso I2, in OR con il merker M2 attiva invece l’uscita Q2, il merker M11, e l’uscita Q16.
Ecco nella figura quì sotto il programma in linguaggio a blocchi di funzione.
La comunicazione tra WinCC e Logo! è finalmente funzionante, e vediamo di seguito la schermata del runtime, così come appare nel browser web.
Notiamo che l’ingresso 1 è attivato, così come le uscite 1 e 15; l’uscita tre non è stata ancora attivata, poiché il timer (con set point di 3 secondi) sta ancora contando.