Come collegare un PLC Siemens S7 al cloud nel 2025?

· 14 minuti di lettura
14 min read
Lucas Moreau
Ingegnere di rete OT/IT

I controllori Siemens S7 sono presenti in decine di migliaia di impianti industriali in Francia: linee di produzione, impianti di trattamento, infrastrutture energetiche. Per anni questi controllori hanno operato in modo isolato, comunicando esclusivamente con un sistema di supervisione SCADA locale. Oggi, la pressione per collegarli al cloud è forte: supervisione remota, manutenzione predittiva, centralizzazione dei dati di produzione, accesso dei team di manutenzione da qualsiasi luogo.

Ma collegare un S7 al cloud non è cosa da improvvisare. I protocolli disponibili variano a seconda della generazione del PLC, la configurazione di rete del sito può precludere determinati approcci e la sicurezza dell'accesso remoto a un PLC di produzione è un argomento a sé stante.

Questa guida illustra in dettaglio tre metodi collaudati per collegare un PLC Siemens S7 al cloud nel 2025, con i relativi vantaggi, limiti ed esempi concreti di configurazione.

Perché collegare un S7 al cloud?

Prima di addentrarci negli aspetti tecnici, vediamo quali sono i fondamenti del ROI. Le aziende che decidono di fare il grande passo citano sistematicamente tre vantaggi principali:

Monitoraggio remoto. Accedere ai valori di processo, agli allarmi e allo stato della linea da un computer o da uno smartphone — senza bisogno di una VPN complessa configurata dal reparto IT, senza dover chiamare il caposquadra in loco. Per un costruttore di macchinari, ciò significa poter monitorare in tempo reale lo stato di ogni impianto presso i propri clienti.

Manutenzione predittiva. L'archiviazione cronologica dei dati del PLC in un database temporale (InfluxDB, TimescaleDB, Azure Time Series Insights) consente di individuare anomalie prima che causino un fermo macchina. Un motore il cui consumo aumenta progressivamente nell'arco di tre settimane può essere individuato ben prima del guasto.

Riduzione degli spostamenti. Una diagnosi a distanza evita di doversi recare sul posto. Per un impianto situato a 500 km dall'ufficio tecnico, si tratta di un risparmio diretto e immediato.

I protocolli disponibili su un controllore Siemens S7

Il primo passo è capire quali funzionalità sono supportate nativamente dal vostro controllore. La risposta dipende in larga misura dalla generazione.

ProtocolloS7-300 / S7-400S7-1200 (FW ≥ 4.x)S7-1500
S7COMM (protocollo nativo)Sì (porta 102/TCP)
Modbus TCPTramite CP o FB di terze partiSì (FB nativo)Sì (FB nativo)
OPC-UA serverNon nativoNo (solo client FW 4.x)Sì (server nativo)
PUT/GETSì (da attivare)Sì (da attivare)
MQTTNoNon nativo (tramite gateway)Tramite LHTTP o gateway

S7COMM: il protocollo nativo di Siemens

S7COMM è il protocollo proprietario utilizzato da TIA Portal per la comunicazione tra il PC di programmazione e il PLC. Funziona sulla porta TCP 102 e può essere utilizzato da client di terze parti (libnodave, python-snap7) per leggere e scrivere variabili. Tuttavia, questo protocollo non è raccomandato per l'esposizione al cloud: non supporta l'autenticazione ed esporre la porta 102 a Internet costituisce una grave falla di sicurezza.

PUT/GET: lettura diretta da una terza parte

La funzione PUT/GET consente a un client esterno di leggere o scrivere blocchi di dati nel PLC. È disattivata per impostazione predefinita sui modelli S7-1200 e S7-1500 e deve essere abilitata esplicitamente nelle proprietà della CPU in TIA Portal. Lo stesso ragionamento vale per la sicurezza: da utilizzare esclusivamente dietro una VPN, mai esposta direttamente.

OPC-UA e Modbus TCP: i due protocolli consigliati

Per un'integrazione cloud sicura, i due approcci consigliati sono OPC-UA (su S7-1500) e Modbus TCP (S7-1200 e S7-1500). Si tratta dei protocolli per i quali sono disponibili librerie, connettori cloud e soluzioni gateway collaudate.

Metodo 1 — Tramite OPC-UA (S7-1500)

OPC-UA è il protocollo di riferimento per l'interoperabilità industriale. A partire dalla versione V2.0 del firmware S7-1500, il server OPC-UA è integrato nativamente nella CPU. Si tratta della soluzione più pulita e duratura per i nuovi impianti o per i controllori S7-1500.

Attivazione del server OPC-UA in TIA Portal

Passaggio 1 — Aprire le proprietà della CPU. Nel progetto TIA Portal, selezionare la CPU S7-1500, quindi accedere a Propriétés > OPC UA > Serveur.

Fase 2 — Attivare il server. Selezionare Activer le serveur OPC UA. Lasciare la porta predefinita (4840). È possibile impostare una porta personalizzata se la propria infrastruttura di rete lo richiede.

Fase 3 — Configurare la sicurezza. Selezionare almeno la modalità di sicurezza SignAndEncrypt con Basic256Sha256. Non utilizzare mai None in ambiente di produzione: ciò equivale a esporre le variabili del PLC senza autenticazione.

Fase 4 — Creazione dei nodi OPC-UA. Nel blocco dati (DB), selezionare le variabili da esporre tramite OPC-UA (Accessible depuis OPC UA). Le variabili non selezionate non sono visibili dall'esterno: si tratta di un primo livello di filtraggio.

Fase 5 — Implementazione e test. Caricare il progetto nella CPU. Eseguire i test con un client OPC-UA come UaExpert (gratuito) dalla rete locale prima di configurare il gateway cloud.

Gateway OPC-UA → Cloud

Il server OPC-UA dell'S7-1500 è in attesa di connessioni in entrata. Per inviare i dati al cloud senza aprire una porta in entrata (raccomandazione di sicurezza), un gateway IoT locale si connette al server OPC-UA come client e inoltra i dati tramite una connessione in uscita HTTPS/MQTT verso il cloud.

# Esempio di configurazione del gateway Eziwan — sorgente OPC-UA
sources:
- type: opcua
endpoint: opc.tcp://192.168.1.10:4840
security_mode: SignAndEncrypt
security_policy: Basic256Sha256
certificate: /etc/eziwan/opcua_client.pem
polling_interval: 5s
nodes:
- node_id: "ns=3;s=DB1.temperature_process"
name: temperature_process
unit: °C
- node_id: "ns=3;s=DB1.pression_bar"
name: pression_bar
unit: bar
- node_id: "ns=3;s=DB1.etat_ligne"
name: etat_ligne

destinations:
- type: mqtt
broker: mqtt.eziwan.cloud:8883
tls: true
topic_prefix: "usine/ligne1"

Metodo 2 — Tramite Modbus TCP (S7-1200 / S7-1500)

Modbus TCP è supportato in modo nativo sull'S7-1200 (firmware 4.x e versioni successive) e sull'S7-1500 tramite blocchi funzionali (FB) integrati in TIA Portal. Questo è l'approccio da privilegiare quando il vostro gateway IoT o il vostro sistema SCADA utilizza il protocollo Modbus TCP, oppure quando dovete integrarvi in un sistema esistente che supporta già questo protocollo.

Configurazione del server Modbus TCP su S7-1200

Fase 1 — Creare un blocco di dati per i registri. Creare un DB Modbus_Holding_Registers con un array di tipo WORD della dimensione desiderata (ad es. 100 registri). Questo array sarà accessibile in lettura/scrittura dal client Modbus.

Fase 2 — Creare un'istanza del FB MB_SERVER. Nel blocco OB1 o in un'attività ciclica, creare un'istanza del FB MB_SERVER (disponibile nella libreria di TIA Portal).

// Exemple d'instanciation MB_SERVER en SCL
#MB_SERVER_Instance(
EN_R_JMP := TRUE,
DISCONNECT := FALSE,
MB_HOLD_REG := "Modbus_Holding_Registers".data,
NDR := #NDR,
DR := #DR,
ERROR := #ERROR,
STATUS := #STATUS,
CONNECT := #TCON_Param
);

Fase 3 — Configurare i parametri di connessione. Nel blocco dati TCON_Param, specificare:

  • InterfaceId: ID dell'interfaccia Ethernet della CPU (generalmente 64)
  • ID: identificativo di connessione (ad es. 1)
  • ActiveEstablished: FALSE (l'S7 è in attesa di connessioni)
  • RemotePort: 0 (accetta tutti i client)
  • LocalPort: 502 (porta Modbus standard)

Fase 4 — Mappatura delle variabili nel database dei registri. Scrivere i valori di processo nella tabella dei registri dal programma del PLC. Il gateway IoT legge questi registri in Modbus TCP e li trasmette al cloud.

Parametri di configurazione importanti

ParametroValore consigliatoNota
Porta502Standard Modbus TCP
Connessioni simultaneeMassimo 3Valore predefinito S7-1200
Timeout connessione30 sDa regolare in base alla rete
RegistriDB strutturatoEvitare accessi alla memoria M
Aggiornamento registriCiclico (100 ms)Adattare alla dinamica del processo

Metodo 3 — Tramite gateway IoT RS-485 (tutti i PLC)

Questo metodo si applica quando il PLC S7 non è direttamente accessibile dalla rete IP (nessuna interfaccia Ethernet disponibile, rete OT isolata, vecchio S7-300 senza CP Ethernet) oppure quando si dispone già di un bus RS-485 Modbus RTU su cui il PLC è accessibile come slave o master.

Architettura

In questo schema, un gateway IoT (ad esempio Eziwan Gateway) si collega fisicamente alla porta RS-485 del PLC o della rete di campo e comunica tramite Modbus RTU. Il gateway converte i dati Modbus RTU in MQTT o HTTP e li trasmette al cloud tramite la propria connettività 4G o Ethernet.

Configurazione Modbus RTU su S7-300

Su un S7-300 dotato di modulo di comunicazione CP 340 o CP 341, la comunicazione RS-485 Modbus RTU viene configurata tramite il software di configurazione Siemens (protocollo USS o Modbus RTU a seconda del modulo). I registri da esporre sono definiti nel database di comunicazione del CP.

Questo metodo presenta un vantaggio fondamentale: non richiede alcuna modifica al programma del PLC esistente, purché quest'ultimo sia già configurato come master o slave Modbus RTU. Il gateway IoT è trasparente per il PLC.

Proteggere l'accesso remoto all'S7

La sicurezza dell'accesso a un controllore di produzione è una questione fondamentale. Una configurazione errata può esporre il processo industriale ad accessi non autorizzati o addirittura ad attacchi (cfr. gli incidenti documentati relativi a impianti industriali).

Principio: nessuna porta esposta su Internet

Non esporre mai direttamente su Internet le porte del controllore (TCP 102, TCP 502, TCP 4840), nemmeno se si trova dietro un NAT. L'approccio corretto è utilizzare un tunnel VPN in uscita.

Il gateway IoT stabilisce una connessione in uscita crittografata verso un hub VPN cloud. Il PLC, dal canto suo, vede solo la rete locale. Dall'esterno, l'accesso avviene tramite l'hub VPN, che autentica e autorizza ogni connessione.

Configurazione VPN OpenVPN

OpenVPN è il protocollo VPN consigliato per le implementazioni IoT industriali: supera i firewall tramite TCP 443, si riconnette rapidamente dopo un’interruzione di rete (fondamentale su 4G) e si autentica tramite certificato X.509. IPSec (IKEv2) rimane disponibile per gli ambienti soggetti a normative.

# Configurazione OpenVPN sul gateway di campo (profilo .ovpn)
client
dev tun
proto udp
remote vpn.eziwan.cloud 1194
remote-cert-tls server
cipher AES-256-GCM
auth SHA256
keepalive 10 60
persist-tun
# percorsi di rete inviati dal server: 10.10.1.0/24
# certificato cliente X.509 inserito automaticamente tramite Zero-Touch Provisioning

Con questa configurazione, il gateway mantiene un tunnel permanente verso il cloud. Il PLC S7 rimane sulla rete locale 192.168.x.x, senza mai essere esposto direttamente. Il tecnico di manutenzione si connette all'hub VPN cloud e accede al PLC tramite il tunnel.

Segmentazione della rete

Separare la rete OT (controllori) dalla rete IT (informatica d'ufficio, cloud) tramite un firewall industriale o una VLAN dedicata. Il gateway IoT è l'unico ponte autorizzato tra le due zone, con regole di traffico rigorose (solo i protocolli e le destinazioni necessari).

Esempio di implementazione completa

Contesto: una linea di produzione dotata di un S7-1500, con un centinaio di variabili di processo da monitorare dalla sede centrale (a 300 km di distanza) e da archiviare per l'analisi delle prestazioni.

Architettura implementata:

  1. S7-1500 in linea — server OPC-UA attivato, 87 variabili esposte in 3 blocchi di dati. Sicurezza OPC-UA in modalità SignAndEncrypt.

  2. Eziwan Gateway nell'armadio di linea — collegato via Ethernet locale all'S7-1500. Client OPC-UA che interroga le variabili ogni 5 secondi. VPN OpenVPN/IPSec permanente verso il cloud Eziwan. Failover dual SIM in caso di interruzione della connessione Ethernet dello stabilimento.

  3. Cloud Eziwan — ricezione dei dati tramite MQTT, archiviazione in un database temporale, aggregazione oraria/giornaliera. API REST disponibile per sistemi di terze parti.

  4. Dashboard Grafana presso la sede centrale — connessione all'API cloud di Eziwan, visualizzazione dei KPI di produzione (TRS, cadenza, OEE), avvisi via e-mail e SMS in caso di superamento delle soglie.

  5. Accesso remoto per la manutenzione — i tecnici di manutenzione si connettono alla VPN Eziwan dalla propria postazione. Vedono l'S7-1500 come se si trovassero sulla rete locale dello stabilimento, con accesso diretto a TIA Portal per la diagnostica.

Risultato: messa in servizio in 4 ore. Nessuna modifica al programma del PLC esistente. Nessuna porta aperta sul firewall del cliente.

Errori comuni

  1. Attivare PUT/GET senza VPN. La funzione PUT/GET consente l'accesso diretto ai database del PLC. Senza VPN, chiunque riesca ad accedere alla rete OT può leggere e scrivere le variabili di produzione. Si tratta della configurazione più pericolosa riscontrata sul campo.

  2. Utilizzare S7COMM dal cloud. Il protocollo nativo Siemens (porta 102) non è progettato per l'esposizione esterna. Le librerie di terze parti che lo implementano non supportano i moderni meccanismi di sicurezza.

  3. Trascurare il flusso di ritorno. Un sistema di supervisione cloud che invia comandi al PLC (setpoint, comandi di avvio) richiede un'analisi di sicurezza più approfondita. È necessario definire chiaramente le variabili di sola lettura e quelle di lettura/scrittura nel server OPC-UA o nel mapping Modbus.

  4. Ignorare la versione del firmware S7. Il server OPC-UA integrato è disponibile solo a partire da una determinata versione del firmware, a seconda del modello. Sul modello S7-1500, verificare che il firmware sia ≥ V2.0 prima di pianificare un’integrazione OPC-UA.

  5. Sottodimensionamento del gateway. Un gateway che interroga 500 variabili OPC-UA ogni secondo, mantenendo al contempo un tunnel VPN e gestendo una connessione 4G, necessita di risorse di CPU e memoria sufficienti. Verificare le prestazioni con un test di carico prima dell'implementazione in produzione.

Domande frequenti

Il mio S7-300 con CP Ethernet può essere collegato al cloud? Sì, ma le opzioni sono più limitate. L'S7-300 non supporta nativamente OPC-UA. Le soluzioni possibili sono: Modbus TCP tramite FB di terze parti o CP dedicato, S7COMM tramite libreria di terze parti (da utilizzare esclusivamente dietro VPN) oppure Modbus RTU RS-485 con gateway IoT (metodo 3).

È possibile collegare un S7 al cloud senza modificare il programma del PLC? Spesso sì, in particolare tramite il metodo RS-485/gateway (se il PLC dispone già di una porta RS-485 Modbus) o tramite OPC-UA in sola lettura (le variabili esistenti vengono esposte senza modificare il programma). Il metodo Modbus TCP server richiede modifiche limitate (aggiunta dell’FB MB_SERVER e di un DB di registri).

Qual è la latenza tra un valore di processo e la sua visualizzazione sul dashboard cloud? Con un polling OPC-UA ogni 5 secondi, una trasmissione MQTT e un aggiornamento del dashboard ogni 5 secondi, la latenza totale è compresa tra 5 e 15 secondi in condizioni normali. Questo non è adatto alla regolazione in tempo reale (che rimane di competenza del PLC), ma è perfettamente sufficiente per il monitoraggio e la manutenzione.

L'accesso remoto tramite VPN richiede la presenza di TIA Portal sul PC dell'ingegnere? Sì, per modificare il programma del PLC (operazione che richiede TIA Portal). No, per il monitoraggio delle variabili, che può essere effettuato tramite il dashboard cloud senza bisogno di installare alcun software Siemens.


Per approfondire


Volete collegare i vostri controllori Siemens S7 al cloud senza aprire porte né modificare il vostro programma? Contattate il nostro team — diagnosi di compatibilità gratuita entro 48 ore.


Risorse aggiuntive