Per leggere i dati da una CPU S7-1500 con un client S7Comm esterno serve un solo flag in TIA Portal. Il problema è che molti credono sia un buco di sicurezza. Vediamo perché non lo è.
Dove si trova il flag
In TIA Portal, proprietà CPU → Protection & Security → Connection mechanisms → Permit access with PUT/GET communication from remote partner. È deselezionato di default sulle S7-1500 (è selezionato sulle S7-1200 e S7-300 più datate).
Per attivarlo serve un ricaricamento della configurazione hardware nella CPU. Il programma di processo non viene toccato — solo il modulo di comunicazione.
Cosa abilita davvero questo flag
PUT/GET sono i comandi del protocollo S7Comm per leggere e scrivere aree dati della CPU (DB, M, I, Q, T, C). Con il flag attivo, qualunque client S7Comm che si autentica può accedere a queste aree. Senza il flag, anche con autenticazione l'accesso è negato.
Il flag non apre nuove porte di rete: il protocollo S7Comm usa sempre la TCP 102 che è già aperta sulla CPU. Cambia solo il comportamento dell'autorizzazione.
Sicurezza: cosa fare oltre al flag
Tre misure consigliate quando si abilita PUT/GET:
- Password sulla CPU (livello di protezione: write access richiede password). Lettura libera, scrittura protetta.
- Segmentare la rete in modo che solo il mini-PC dell'agente possa parlare con la CPU sulla 102.
- Limitare i DB esposti: l'agente legge solo i DB che servono al MES, mai i DB di processo critici.
Errori comuni
Tre cose che fanno fallire l'interconnessione:
- CPU configurata con "Full protection" → blocca anche PUT/GET. Va abbassato a "Read access" o "Write access" con password.
- DB Optimized (default S7-1500) → non leggibili con offset byte. Servono DB Standard (deselezionare "Optimized access" nelle proprietà del DB) oppure usare il client che supporta accesso simbolico.
- Firewall industriale tra CPU e mini-PC che blocca la 102. Verificare prima con un ping S7Comm da PC di test.