Tempo di lettura: 7 minuti

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.

GET/PUT S7-1200 non comunica: 6 controlli rapidi

  1. Verifica che sulla CPU partner sia attiva l’opzione Permit access with PUT/GET communication from remote partner.
  2. Controlla che i dati remoti siano in un DB standard e non in un DB ottimizzato.
  3. Conferma che la connessione S7 in TIA Portal punti alla CPU giusta, con IP corretto e ID coerente.
  4. Usa indirizzi assoluti coerenti per l’area remota, non simbolici lato partner.
  5. Guarda i bit DONE, BUSY, ERROR e il valore STATUS prima di cambiare logica.
  6. 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

  1. Apri la CPU partner e vai in Properties > Protection & Security.
  2. Abilita l’accesso PUT/GET dal partner remoto se previsto dal firmware in uso.
  3. Controlla che il DB remoto sia standard e che gli offset siano fissi e documentati.
  4. Apri la tabella connessioni e confronta l’ID richiamato dal blocco con quello configurato.
  5. Monitora online REQ, DONE, BUSY, ERROR e STATUS.
  6. Se ERROR si 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:

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

Ultimo controllo link ufficiali: 2026-06-24

IT EN ES FR HI DE ZH