GET/PUT S7-1200 non comunica? Controlla prima questi 6 punti: accesso PUT/GET abilitato sulla CPU partner, DB standard non ottimizzato, connessione S7 corretta, indirizzi assoluti coerenti, ciclo REQ/BUSY gestito e protocollo supportato dal dispositivo remoto. Nella maggior parte dei casi il guasto è qui, non nel blocco PLC.
Parti dalla checklist sotto e leggi il valore STATUS prima di modificare la logica. La guida distingue anche quando GET/PUT è corretto e quando conviene passare a TSEND_C/TRCV_C, Modbus TCP, OPC UA o al GSDML ufficiale del costruttore. Per software e versioni usa il download ufficiale TIA Portal Siemens.
In particolar modo vedremo:
GET/PUT S7-1200 non comunica: 6 controlli rapidi
- Verifica che sulla CPU partner sia attiva l’opzione Permit access with PUT/GET communication from remote partner.
- Controlla che i dati remoti siano in un DB standard e non in un DB ottimizzato.
- Conferma che la connessione S7 in TIA Portal punti alla CPU giusta, con IP corretto e ID coerente.
- Usa indirizzi assoluti coerenti per l’area remota, non simbolici lato partner.
- Guarda i bit
DONE,BUSY,ERRORe il valoreSTATUSprima di cambiare logica. - Se il dispositivo remoto non e una CPU S7, chiediti subito se PUT/GET sia il protocollo giusto.
Link ufficiali da controllare subito
| Risorsa | Quando serve | Link ufficiale |
|---|---|---|
| Manuale S7-1200 V20 – GET/PUT | Per verificare requisiti, DB standard e protezioni | Apri documentazione Siemens |
| Creazione connessione S7 | Per controllare la logica della connessione tra CPU | Apri guida ufficiale |
| PUT – scrittura dati CPU remota | Per sintassi, tipi dati e limiti | Apri istruzione PUT |
| TSEND/TRCV legacy | Se il partner non usa comunicazione S7 classica | Apri guida TCP Siemens |
| FAQ Siemens PUT/GET S7-1200 | Per esempi applicativi e sequenza pratica | Apri PDF Siemens |
Quando PUT/GET e la scelta giusta
PUT/GET funziona bene quando devi far comunicare due CPU S7 e vuoi leggere o scrivere aree dati precise senza implementare un protocollo TCP personalizzato. E una scelta tipica nei collegamenti tra S7-1200, S7-1500 o CPU S7 legacy dove hai controllo su entrambi i lati della configurazione.
Non e invece la strada migliore quando il partner e un avvitatore, un PC industriale, un gateway o un dispositivo Ethernet che espone un protocollo proprietario. In quel caso spesso serve TSEND_C/TRCV_C, Modbus TCP, OPC UA o il file GSDML ufficiale del costruttore. Molti casi di “PUT/GET non comunica” nascono proprio da un errore di scelta del protocollo.
Le 5 cause piu comuni del problema
1. Accesso PUT/GET non abilitato
La documentazione Siemens richiede che sulla CPU partner sia permesso l’accesso PUT/GET dal partner remoto. Nelle CPU S7-1200 moderne devi controllare la sezione Protection & Security. Se questa opzione manca o non e attiva, il blocco puo restare in errore anche se rete e IP sono corretti.
2. DB ottimizzato sul lato remoto
Uno degli errori piu frequenti e tentare di leggere un DB ottimizzato. Per GET/PUT, lato S7-1200, l’accesso a variabili remote richiede normalmente indirizzi assoluti su DB standard. Se il DB remoto e ottimizzato, la lettura puo fallire o restituire dati incoerenti.
3. Connessione S7 creata male in TIA Portal
Controlla IP, dispositivo partner, tipo di connessione e ID usato nel blocco. Se hai duplicato un progetto o cambiato CPU, puo capitare che il blocco richiami un ID non piu coerente con la tabella connessioni.
4. Indirizzi e lunghezze dati sbagliati
Se la CPU remota espone ad esempio DB10.DBX0.0 ma nel blocco richiami un offset diverso, la comunicazione puo andare in errore o sembrare attiva senza trasferire il dato atteso. Verifica sempre area, offset e tipo dati.
5. Partner non S7 o protezioni aggiuntive
Se il partner non e una CPU S7 vera e propria, PUT/GET puo non essere supportato. Inoltre, alcune policy di sicurezza, utente anonimo non configurato o limiti firmware possono bloccare la comunicazione anche su reti locali ben cablate.
Procedura pratica di verifica in TIA Portal
- Apri la CPU partner e vai in Properties > Protection & Security.
- Abilita l’accesso PUT/GET dal partner remoto se previsto dal firmware in uso.
- Controlla che il DB remoto sia standard e che gli offset siano fissi e documentati.
- Apri la tabella connessioni e confronta l’ID richiamato dal blocco con quello configurato.
- Monitora online
REQ,DONE,BUSY,ERROReSTATUS. - Se
ERRORsi attiva, annota il codice e confrontalo con il manuale Siemens invece di tentare modifiche casuali.
Esempio di logica minima da controllare
Il blocco PUT/GET non va lanciato in modo incontrollato ad ogni ciclo PLC. In pratica conviene usare un trigger pulito, attendere la fine del job e gestire l’errore separatamente.
IF StartRead AND NOT BusyRead THEN
GetReq := TRUE;
END_IF;
IF DoneRead THEN
GetReq := FALSE;
CommOk := TRUE;
END_IF;
IF ErrorRead THEN
GetReq := FALSE;
CommOk := FALSE;
LastStatus := StatusRead;
END_IF;
Questa non sostituisce la libreria Siemens, ma rende chiaro il punto: senza gestione di BUSY e STATUS rischi di vedere solo “non comunica” senza distinguere tra timing, configurazione o protocollo errato.
Quando passare a TSEND_C o TRCV_C
Se il dispositivo remoto e un PC, un gateway o un controllore non-Siemens, spesso conviene impostare una comunicazione TCP esplicita con TSEND_C/TRCV_C oppure usare il protocollo previsto dal costruttore. La documentazione Siemens per TCON, TSEND e TRCV chiarisce che questa strada serve proprio nei casi di open user communication dove PUT/GET non e adatto.
Se stai lavorando su una linea basata su CPU Siemens, conviene anche verificare che la stazione sia stata configurata correttamente nel progetto. In molti casi e utile rivedere prima la base del controller, ad esempio con questa guida su configurazione efficace del PLC Siemens 1200.
Errori pratici da evitare
- Lanciare GET e PUT contemporaneamente senza una gestione chiara del ciclo.
- Usare DB ottimizzati sperando che gli offset restino uguali.
- Dare per scontato che un dispositivo Ethernet supporti la comunicazione S7.
- Saltare il controllo delle protezioni CPU dopo un aggiornamento firmware.
- Provare workaround casuali senza leggere il codice
STATUS.
Risorse interne utili
Se il problema nasce durante una messa in servizio o un revamping, puo essere utile tenere a portata anche queste risorse:
- guida al download ufficiale di TIA Portal
- hub TIA Portal: versioni, update e link ufficiali
- archivio libri e risorse PLC del blog
FAQ rapide
Perché GET/PUT S7-1200 non comunica anche se la rete risponde?
Perche rete raggiungibile e comunicazione S7 valida non sono la stessa cosa. Di solito il blocco fallisce per protezione CPU, DB non compatibile, connessione S7 errata o partner non supportato.
PUT/GET funziona con qualsiasi dispositivo Profinet?
No. PUT/GET e pensato per comunicazione S7 tra CPU compatibili. Un dispositivo puo essere in rete o anche su Profinet e comunque non supportare questo meccanismo.
Devo usare DB standard o DB ottimizzati?
Per accessi remoti PUT/GET su S7-1200 conviene usare DB standard con offset chiari e stabili. E uno dei controlli piu importanti da fare quando la comunicazione non parte.
Se non uso PUT/GET, qual e l’alternativa piu comune?
Dipende dal partner. Le alternative piu comuni sono TSEND_C/TRCV_C, Modbus TCP, OPC UA o la configurazione tramite GSDML ufficiale del costruttore.
Fonti ufficiali
- Siemens – GET and PUT (read and write from a remote CPU)
- Siemens – Creating an S7 connection
- Siemens – PUT: write data to a remote CPU
- Siemens – TCON, TSEND and TRCV for TCP communication
- Siemens – S7 Communication with S7-1200 PUT and GET FAQ
Ultimo controllo link ufficiali: 2026-06-24

“Semplifica, automatizza, sorridi: il mantra del programmatore zen.”
Dott. Strongoli Alessandro
Programmatore
CEO IO PROGRAMMO srl







