Salta al contenuto principale

Leggere i dati da un PLC Siemens senza riscrivere il programma

Per leggere i dati di un PLC Siemens bisogna sapere in quale blocco dati stanno e usare il protocollo che la CPU supporta. Le S7-1500 e le S7-1200 dal firmware V4.4 hanno un server OPC UA con licenza runtime; sulle S7-300 e S7-400, o dove la licenza manca, si usa il protocollo S7.

Integrazione

Cosa colleghiamo

Colleghiamo il vostro software alla CPU Siemens attraverso la porta Ethernet che già usa il pannello operatore. Il programma del PLC resta com’è: chiediamo solo un blocco dati in più, il DB di scambio, dove il programmatore copia a ogni ciclo i valori che ci interessano.

Il DB di scambio è la scelta che più conta in tutto il progetto. Se leggiamo direttamente le variabili interne e tra sei mesi l’integratore che segue la macchina sposta un indirizzo, la lettura si rompe senza che nessuno se ne accorga. Con un DB dedicato, l’indirizzo che leggiamo resta fermo anche quando il programma cambia.

Il metodo dipende dalla famiglia. Le S7-1500 hanno un server OPC UA integrato nella CPU; le S7-1200 lo hanno dal firmware V4.4 (comunicato Siemens, dicembre 2019). In entrambi i casi serve la licenza runtime OPC UA di Siemens. Le S7-300 e S7-400 non hanno OPC UA nella CPU e si leggono con il protocollo S7 sulla porta TCP 102, lo stesso che usa TIA Portal o STEP 7.

Integrazione

Cosa leggiamo e dove sta

Le righe di un DB di scambio tipo per una macchina di assemblaggio.

DatoDove sta nel PLCDirezioneFrequenza
Contapezzi totale e scartiDB di scambio, interi a 32 bitPLC → softwareOgni secondo
Stato macchinaDB di scambio, un intero con codici concordatiPLC → softwareOgni secondo
Allarmi attiviDB di scambio, una parola di bit per gruppoPLC → softwareOgni secondo
Tempo ciclo dell’ultimo pezzoDB di scambio, realePLC → softwareA ogni pezzo
Ore di funzionamento dei motoriDB di scambio, copiate dal DB di manutenzionePLC → softwareOgni 10 minuti
Codice ordine in lavorazioneDB di scambio, stringaSoftware → PLCA ogni cambio ordine
Integrazione

Come è fatta l’architettura

Un servizio di raccolta in stabilimento legge le CPU, una connessione per PLC, e scrive i valori in un database storico. Sopra quel database lavorano il resto del software: la dashboard di reparto, il calcolo dell’OEE, il consuntivo che torna all’ERP.

Sulle S7-1200 e S7-1500 lette con il protocollo S7, il programmatore deve abilitare in TIA Portal l’accesso PUT/GET dal partner remoto e togliere l’accesso ottimizzato al blocco, ma solo sul DB di scambio. Sono due spunte e un download del programma, da fare durante una sosta concordata.

Integrazione

Sicurezza

  • Il protocollo S7 non ha autenticazione né cifratura: la CPU va tenuta su una rete di macchina separata, e il servizio di raccolta è l’unico punto che la vede.
  • Con PUT/GET attivo, chiunque raggiunga la CPU può leggere e scrivere i DB non ottimizzati e le aree di merker: per questo gli altri blocchi restano ottimizzati, e il DB di scambio contiene solo dati di lettura più il codice ordine.
  • Dove la CPU ha OPC UA, preferiamo quello: utenti, certificati e traffico cifrato.
  • Il servizio di raccolta non accetta connessioni dall’esterno; manda i dati verso la sede, mai il contrario.
Integrazione

Domande frequenti

Contatti

Parliamone in 30 minuti

Raccontateci il processo e cosa non funziona: vi diciamo se e come lo risolveremmo, con tempi e costi indicativi.

Autore
Matteo Budriesi
Scritto e rivisto da

Matteo Budriesi

CEO e co-founder di Webion, la software house di Modena che sviluppa software su misura e agenti AI per le aziende.

Aggiornato il 30/10/2026