Il 0% ha trovato utile questo documento (0 voti)
5 visualizzazioni1.060 pagine

s71200 System Manual It-IT It-IT - Copia

Caricato da

maxy1985
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
5 visualizzazioni1.060 pagine

s71200 System Manual It-IT It-IT - Copia

Caricato da

maxy1985
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 1060

Sistema di automazione S7-1200 ___________________

Prefazione

___________________
Presentazione del prodotto 1
Software di programmazione
___________________
STEP 7 2
___________________
Montaggio 3
SIMATIC
___________________
Concetti base sui PLC 4
S7 ___________________
Configurazione dei dispositivi 5
Sistema di automazione S7-1200
___________________
Concetti di programmazione 6
___________________
Istruzioni di base 7
Manuale di sistema
___________________
Istruzioni avanzate 8
___________________
Istruzioni di tecnologia 9
___________________
Comunicazione 10
___________________
Web server 11
Processore di

___________
12
comunicazione e Modbus
TCP
Comunicazione Teleservice
___________________
(e-mail SMTP) 13
___________________
Tool online e di diagnostica 14
___________________
SM 1278 4xIO-Link Master 15
___________________
Dati tecnici A
Calcolo del budget di
___________________
potenza B
___________________
Numeri di ordinazione C
Sostituzione di una CPU
___________________
V3.0 con una CPU V4.0 D

03/2014
A5E02486684-AG
Avvertenze di legge
Concetto di segnaletica di avvertimento
Questo manuale contiene delle norme di sicurezza che devono essere rispettate per salvaguardare l'incolumità
personale e per evitare danni materiali. Le indicazioni da rispettare per garantire la sicurezza personale sono
evidenziate da un simbolo a forma di triangolo mentre quelle per evitare danni materiali non sono precedute dal
triangolo. Gli avvisi di pericolo sono rappresentati come segue e segnalano in ordine descrescente i diversi livelli
di rischio.

PERICOLO
questo simbolo indica che la mancata osservanza delle opportune misure di sicurezza provoca la morte o gravi
lesioni fisiche.

AVVERTENZA
il simbolo indica che la mancata osservanza delle relative misure di sicurezza può causare la morte o gravi
lesioni fisiche.

CAUTELA
indica che la mancata osservanza delle relative misure di sicurezza può causare lesioni fisiche non gravi.

ATTENZIONE
indica che la mancata osservanza delle relative misure di sicurezza può causare danni materiali.
Nel caso in cui ci siano più livelli di rischio l'avviso di pericolo segnala sempre quello più elevato. Se in un avviso
di pericolo si richiama l'attenzione con il triangolo sul rischio di lesioni alle persone, può anche essere
contemporaneamente segnalato il rischio di possibili danni materiali.
Personale qualificato
Il prodotto/sistema oggetto di questa documentazione può essere adoperato solo da personale qualificato per il
rispettivo compito assegnato nel rispetto della documentazione relativa al compito, specialmente delle avvertenze
di sicurezza e delle precauzioni in essa contenute. Il personale qualificato, in virtù della sua formazione ed
esperienza, è in grado di riconoscere i rischi legati all'impiego di questi prodotti/sistemi e di evitare possibili
pericoli.
Uso conforme alle prescrizioni di prodotti Siemens
Si prega di tener presente quanto segue:

AVVERTENZA
I prodotti Siemens devono essere utilizzati solo per i casi d’impiego previsti nel catalogo e nella rispettiva
documentazione tecnica. Qualora vengano impiegati prodotti o componenti di terzi, questi devono essere
consigliati oppure approvati da Siemens. Il funzionamento corretto e sicuro dei prodotti presuppone un trasporto,
un magazzinaggio, un’installazione, un montaggio, una messa in servizio, un utilizzo e una manutenzione
appropriati e a regola d’arte. Devono essere rispettate le condizioni ambientali consentite. Devono essere
osservate le avvertenze contenute nella rispettiva documentazione.

Marchio di prodotto
Tutti i nomi di prodotto contrassegnati con ® sono marchi registrati della Siemens AG. Gli altri nomi di prodotto
citati in questo manuale possono essere dei marchi il cui utilizzo da parte di terzi per i propri scopi può violare i
diritti dei proprietari.
Esclusione di responsabilità
Abbiamo controllato che il contenuto di questa documentazione corrisponda all'hardware e al software descritti.
Non potendo comunque escludere eventuali differenze, non possiamo garantire una concordanza perfetta. Il
contenuto di questa documentazione viene tuttavia verificato periodicamente e le eventuali correzioni o modifiche
vengono inserite nelle successive edizioni.

Siemens AG N. di ordinazione documentazione: 6ES7298-8FA30-8EH0 Copyright © Siemens AG 2014.


Industry Sector Ⓟ 01/2014 Con riserva di eventuali modifiche tecniche Tutti i diritti riservati
Postfach 48 48
90026 NÜRNBERG
GERMANIA
Prefazione

Scopo del manuale


La serie S71200 è una linea di controllori a logica programmabile (PLC) in grado di
controllare un'ampia varietà di applicazioni. La compattezza del design, il costo contenuto e
l'esteso set di istruzioni fanno dell'S71200 la soluzione ottimale per numerose applicazioni
industriali. Inoltre i modelli di S7-1200 e il tool di programmazione STEP 7 (Pagina 35)
basato su Windows garantiscono la flessibilità necessaria per affrontare e risolvere i più
svariati problemi di automazione.
Il presente manuale contiene informazioni sull'installazione e la programmazione dei PLC
S7-1200 e si rivolge a tecnici, programmatori, installatori ed elettricisti che dispongono di
conoscenze generiche sui controllori a logica programmabile.

Nozioni di base richieste


Per poter comprendere il contenuto del presente manuale è necessario avere una
conoscenza generale dei principi dell'automazione e dei controllori a logica programmabile.

Oggetto del manuale


Questo manuale descrive i seguenti prodotti:
● STEP 7 V13 Basic e Professional (Pagina 35)
● Release V4.0 del firmware della CPU S7-1200
L'elenco completo dei prodotti della serie S7-1200 descritti nel presente manuale è riportato
nel capitolo Dati tecnici (Pagina 853).

Certificazione, marchio CE, C-Tick e altre norme


Per maggiori informazioni sull'argomento consultare i dati tecnici (Pagina 853).

Servizio clienti e assistenza tecnica


Oltre alla documentazione Siemens fornisce assistenza tecnica su Internet allapagina Web
del servizio clienti (http://www.siemens.com/automation/).
Per ricevere assistenza su eventuali problemi tecnici, richiedere informazioni sui corsi di
formazione e ordinare i prodotti S7 si consiglia di rivolgersi al proprio distributore o al più
vicino ufficio vendite Siemens. Poiché i rappresentanti Siemens dispongono di un'adeguata
formazione tecnica e di conoscenze specifiche sulle attività, i processi e le esigenze del
settore di attività dei clienti, oltre che sui prodotti Siemens, sapranno sicuramente dare una
risposta rapida ed efficace a qualsiasi problema.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 3
Prefazione

Documentazione e informazioni
S7-1200 e STEP 7 dispongono di una vasta documentazione e altre risorse contenenti tutte
le informazioni tecniche necessarie.
● Il manuale di sistema dell'S7-1200 fornisce informazioni specifiche sul funzionamento, la
programmazione e i dati tecnici dell'intera serie di prodotti S7-1200. Oltre al manuale di
sistema, la Guida rapida all'S7-1200 fornisce una panoramica più generale delle
funzionalità della serie di prodotti S7-1200.
Sia il manuale di sistema che la Guida rapida sono disponibili come manuali elettronici
(PDF) e cartacei. È possibile scaricare i manuali elettronici dalla pagina Web del servizio
clienti oppure consultarli sul disco della documentazione in dotazione con ogni CPU S7-
1200.
● Il sistema di informazione online di STEP 7 consente di accedere direttamente alle
informazioni teoriche e alle istruzioni specifiche che descrivono il funzionamento e le
funzioni del pacchetto di programmazione nonché il funzionamento di base delle CPU
SIMATIC.
● My Documentation Manager accede alle versioni elettroniche (PDF) della
documentazione SIMATIC, incluso il manuale di sistema, la Guida rapida e il sistema di
informazione di STEP 7. My Documentation Manager permette di trascinare gli argomenti
da diversi documenti per creare il proprio manuale personalizzato.
Nel portale di accesso al servizio clienti (http://support.automation.siemens.com) alla
voce mySupport è visualizzato un link al My Documentation Manager.
● La pagina Web del servizio clienti mette inoltre a disposizione podcast, FAQ e altri
documenti utili su S7-1200 e STEP 7. I podcast si basano su brevi presentazioni video
che illustrano le caratteristiche e gli scenari specifici del prodotto allo scopo di dimostrare
le possibili interazioni, la praticità e l'efficienza di STEP 7. Per accedere alla collezione
dei podcast andare alle seguenti pagine Web:
– Pagina Web di STEP 7 Basic (http://www.automation.siemens.com/mcms/simatic-
controller-software/en/step7/step7-basic/Pages/Default.aspx)
– Pagina Web di STEP 7 Professional
(http://www.automation.siemens.com/mcms/simatic-controller-
software/en/step7/step7-professional/Pages/Default.aspx)
● È anche possibile seguire o partecipare a discussioni sul prodotto nel forum tecnico del
Service & Support
(https://www.automation.siemens.com/WW/forum/guests/Conferences.aspx?Language=e
n&siteid=csius&treeLang=en&groupid=4000002&extranet=standard&viewreg=WW&nodei
d0=34612486). Questi forum consentono all'utente di interagire con vari esperti del
prodotto.
– Forum su S7-1200
(https://www.automation.siemens.com/WW/forum/guests/Conference.aspx?SortField=
LastPostDate&SortOrder=Descending&ForumID=258&Language=en&onlyInternet=Fa
lse)
– Forum su STEP 7 Basic
(https://www.automation.siemens.com/WW/forum/guests/Conference.aspx?SortField=
LastPostDate&SortOrder=Descending&ForumID=265&Language=en&onlyInternet=Fa
lse)

Sistema di automazione S7-1200


4 Manuale di sistema, 03/2014, A5E02486684-AG
Prefazione

Indicazioni di sicurezza
Siemens commercializza prodotti di automazione e di azionamento per la sicurezza
industriale che contribuiscono al funzionamento sicuro di impianti, soluzioni, macchinari,
apparecchiature e/o reti. Questi prodotti sono componenti essenziali di una concezione
globale di sicurezza industriale. In quest’ottica i prodotti Siemens sono sottoposti ad un
processo continuo di sviluppo. Consigliamo pertanto di controllare regolarmente la
disponibilità di aggiornamenti relativi ai prodotti.
Per il funzionamento sicuro di prodotti e soluzioni Siemens è necessario adottare idonee
misure preventive (ad es. un concetto di protezione di cella) e integrare ogni componente in
un concetto di sicurezza industriale globale all’avanguardia. Considerare in questo contesto
anche i prodotti impiegati da altri costruttori. Per ulteriori informazioni sulla sicurezza
industriale, vedere qui (http://www.siemens.com/industrialsecurity).
Per restare informati sugli aggiornamenti cui vengono sottoposti i nostri prodotti, suggeriamo
di iscriversi ad una newsletter specifica del prodotto. Per ulteriori informazioni, vedere qui
(http://support.automation.siemens.com).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 5
Prefazione

Sistema di automazione S7-1200


6 Manuale di sistema, 03/2014, A5E02486684-AG
Indice del contenuto

Prefazione .............................................................................................................................................. 3
1 Presentazione del prodotto ................................................................................................................... 23
1.1 Introduzione al PLC S7-1200 .......................................................................................................23
1.2 Ampliamento delle funzionalità della CPU ...................................................................................26
1.3 Moduli S7-1200 ............................................................................................................................29
1.4 Nuove funzioni .............................................................................................................................30
1.5 HMI Basic Panel...........................................................................................................................32
2 Software di programmazione STEP 7 .................................................................................................... 35
2.1 Requisiti del sistema ....................................................................................................................36
2.2 Diverse viste per facilitare il lavoro ..............................................................................................37
2.3 Strumenti di facile utilizzo ............................................................................................................38
2.3.1 Inserimento delle istruzioni nel programma utente ......................................................................38
2.3.2 Accesso alle istruzioni dalla barra degli strumenti "Preferiti" .......................................................38
2.3.3 Creazione di un'espressione complessa utilizzando un'istruzione semplice ...............................39
2.3.4 Inserimento di ingressi o uscite in un'istruzione KOP e FUP.......................................................41
2.3.5 Istruzioni espandibili .....................................................................................................................41
2.3.6 Selezione della versione di un'istruzione .....................................................................................42
2.3.7 Modifica dell'aspetto e della configurazione di STEP 7 ...............................................................42
2.3.8 Trascinamento da un editor all'altro .............................................................................................43
2.3.9 Modifica del modo di funzionamento della CPU ..........................................................................44
2.3.10 Modifica del tipo di richiamo per un DB .......................................................................................45
2.3.11 Disconnessione temporanea di dispositivi da una rete ...............................................................46
2.3.12 Disinserimento virtuale di dispositivi dalla configurazione ...........................................................47
3 Montaggio ............................................................................................................................................. 49
3.1 Istruzioni per l'installazione dei dispositivi S7-1200 .....................................................................49
3.2 Budget di potenza ........................................................................................................................51
3.3 Procedimenti di installazione e disinstallazione ...........................................................................53
3.3.1 Quote di montaggio dei dispositivi S7-1200 ................................................................................53
3.3.2 Montaggio e smontaggio della CPU ............................................................................................56
3.3.3 Montaggio e smontaggio di un'SB, una CB o una BB .................................................................58
3.3.4 Montaggio e smontaggio di un SM ..............................................................................................60
3.3.5 Montaggio e smontaggio di un CM o CP .....................................................................................62
3.3.6 Smontaggio e rimontaggio della morsettiera dell'S7-1200 ..........................................................63
3.3.7 Montaggio e smontaggio della prolunga ......................................................................................64
3.3.8 TS (TeleService) adapter .............................................................................................................66
3.3.8.1 Collegamento del TeleService adapter ........................................................................................66
3.3.8.2 Montaggio della scheda SIM........................................................................................................67
3.3.8.3 Installazione del TS adapter su guida DIN ..................................................................................69
3.3.8.4 Montaggio del TS Adapter su pannello ........................................................................................70

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 7
Indice del contenuto

3.4 Istruzioni per il cablaggio............................................................................................................. 71


4 Concetti base sui PLC........................................................................................................................... 77
4.1 Esecuzione del programma utente ............................................................................................. 77
4.1.1 Modi di funzionamento della CPU ............................................................................................... 81
4.1.2 Elaborazione del ciclo di scansione in RUN ............................................................................... 84
4.1.3 Blocchi organizzativi (OB) ........................................................................................................... 85
4.1.3.1 OB di ciclo ................................................................................................................................... 85
4.1.3.2 OB di avvio .................................................................................................................................. 86
4.1.3.3 OB di allarme di ritardo ............................................................................................................... 86
4.1.3.4 OB di schedulazione orologio ..................................................................................................... 87
4.1.3.5 OB di interrupt di processo.......................................................................................................... 87
4.1.3.6 OB di errore temporale................................................................................................................ 88
4.1.3.7 OB di allarme di diagnostica ....................................................................................................... 90
4.1.3.8 OB di estrazione o inserimento dei moduli ................................................................................. 92
4.1.3.9 OB di guasto del telaio o della stazione ...................................................................................... 93
4.1.3.10 OB di allarme dall'orologio .......................................................................................................... 93
4.1.3.11 OB di stato................................................................................................................................... 94
4.1.3.12 OB di aggiornamento .................................................................................................................. 94
4.1.3.13 OB di profilo ................................................................................................................................ 95
4.1.3.14 Priorità di esecuzione degli eventi e loro inserimento nella coda d'attesa .................................. 95
4.1.4 Controllo e configurazione del tempo di ciclo ............................................................................. 98
4.1.5 Memoria della CPU ................................................................................................................... 100
4.1.5.1 Merker di sistema e di clock ...................................................................................................... 102
4.1.6 Buffer di diagnostica .................................................................................................................. 104
4.1.7 Orologio hardware ..................................................................................................................... 105
4.1.8 Configurazione delle uscite in caso di commutazione da RUN a STOP .................................. 105
4.2 Memorizzazione dei dati, aree di memoria, I/O e indirizzamento ............................................. 106
4.2.1 Accesso ai dati dell’S7-1200 ..................................................................................................... 106
4.3 Elaborazione di valori analogici ................................................................................................ 111
4.4 Tipi di dati .................................................................................................................................. 112
4.4.1 Tipi di dati Bool, Byte, Word e DWord ...................................................................................... 113
4.4.2 Tipi di numeri interi .................................................................................................................... 114
4.4.3 Tipi di dati reali in virgola mobile ............................................................................................... 114
4.4.4 Tipi di dati di ora e data ............................................................................................................. 115
4.4.5 Tipi di dati carattere e stringa .................................................................................................... 116
4.4.6 Tipo di dati dell'array ................................................................................................................. 118
4.4.7 Tipo di dati della struttura .......................................................................................................... 119
4.4.8 Tipo di dati PLC ......................................................................................................................... 120
4.4.9 Tipi di dati puntatore .................................................................................................................. 120
4.4.9.1 Il tipo di dati puntatore "Pointer" ................................................................................................ 121
4.4.9.2 Tipo di dati puntatore "Any"....................................................................................................... 122
4.4.9.3 Tipo di dati puntatore "Variant" ................................................................................................. 123
4.4.10 Accesso a una "slice" di un tipo di dati con variabile ................................................................ 124
4.4.11 Accesso a una variabile con un overlay AT .............................................................................. 125
4.5 Utilizzo della memory card ........................................................................................................ 127
4.5.1 Inserimento di una memory card nella CPU ............................................................................. 128
4.5.2 Configurazione del parametro di avvio della CPU prima di copiare il progetto nella
memory card ............................................................................................................................. 130
4.5.3 Utilizzo della memory card come scheda di "trasferimento" ..................................................... 130

Sistema di automazione S7-1200


8 Manuale di sistema, 03/2014, A5E02486684-AG
Indice del contenuto

4.5.4 Utilizzo della memory card come scheda di "programma" ........................................................133


4.5.5 Aggiornamento del firmware ......................................................................................................136
4.6 Ripristino in caso di perdita della password ...............................................................................139
5 Configurazione dei dispositivi .............................................................................................................. 141
5.1 Inserimento di una CPU .............................................................................................................142
5.2 Rilevamento della configurazione per una CPU non specificata ...............................................144
5.3 Inserimento di moduli nella configurazione ................................................................................145
5.4 Modifica di un dispositivo ...........................................................................................................146
5.5 Configurazione del funzionamento della CPU ...........................................................................146
5.5.1 Panoramica ................................................................................................................................146
5.5.2 Configurazione dei tempi di filtraggio degli ingressi digitali .......................................................148
5.5.3 Misurazione degli impulsi ...........................................................................................................149
5.6 Configurazione dei parametri dei moduli ...................................................................................151
5.7 Configurazione della CPU per la comunicazione ......................................................................153
5.7.1 Creazione di una connessione di rete .......................................................................................153
5.7.2 Configurazione del percorso di collegamento locale/partner .....................................................154
5.7.3 Parametri del collegamento PROFINET ....................................................................................156
5.7.4 Assegnazione degli indirizzi IP (Internet Protocol) ....................................................................159
5.7.4.1 Assegnazione degli indirizzi IP ai dispositivi di programmazione e di rete ................................159
5.7.4.2 Controllo dell'indirizzo IP del dispositivo di programmazione ....................................................161
5.7.4.3 Assegnazione di un indirizzo IP ad una CPU online..................................................................162
5.7.4.4 Configurazione di un indirizzo IP di una CPU del progetto ........................................................163
5.7.5 Test della rete PROFINET .........................................................................................................167
5.7.6 Posizione dell'indirizzo Ethernet (MAC) sulla CPU ....................................................................168
5.7.7 Configurazione della sincronizzazione del Network Time Protocol ...........................................170
5.7.8 Tempo di avvio, denominazione e assegnazione degli indirizzi del dispositivo PROFINET .....171
6 Concetti di programmazione................................................................................................................ 173
6.1 Istruzioni per la progettazione di un sistema PLC .....................................................................173
6.2 Strutturazione del programma utente ........................................................................................174
6.3 Utilizzo dei blocchi per la strutturazione del programma ...........................................................176
6.3.1 Blocco organizzativo (OB) .........................................................................................................177
6.3.2 Funzione (FC) ............................................................................................................................178
6.3.3 Blocco funzionale (FB) ...............................................................................................................179
6.3.4 Blocco dati (DB) .........................................................................................................................180
6.3.5 Creazione di blocchi di codice riutilizzabili .................................................................................182
6.4 Coerenza dei dati .......................................................................................................................183
6.5 Linguaggio di programmazione..................................................................................................184
6.5.1 Schema a contatti (KOP) ...........................................................................................................184
6.5.2 Schema logico (FUP) .................................................................................................................185
6.5.3 SCL ............................................................................................................................................186
6.5.4 EN ed ENO per KOP, FUP e SCL .............................................................................................193
6.6 Protezione ..................................................................................................................................195
6.6.1 Protezione di accesso alla CPU.................................................................................................195
6.6.2 Protezione del know-how ...........................................................................................................197

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 9
Indice del contenuto

6.6.3 Protezione dalla copia ............................................................................................................... 199


6.7 Caricamento degli elementi del programma nella CPU ............................................................ 200
6.8 Caricamento dalla CPU............................................................................................................. 201
6.8.1 Copia di elementi del progetto .................................................................................................. 201
6.8.2 Utilizzo della funzione di confronto ........................................................................................... 202
6.9 Test del programma .................................................................................................................. 202
6.9.1 Controllo e modifica dei dati nella CPU .................................................................................... 202
6.9.2 Tabelle di controllo e di forzamento .......................................................................................... 203
6.9.3 Riferimenti incrociati per illustrare l'utilizzo ............................................................................... 204
6.9.4 Struttura di richiamo per esaminare la gerarchia di richiamo ................................................... 205
7 Istruzioni di base ..................................................................................................................................207
7.1 Operazioni di combinazione logica di bit ................................................................................... 207
7.1.1 Operazioni di combinazione logica di bit ................................................................................... 207
7.1.2 Istruzioni di impostazione e reset .............................................................................................. 210
7.1.3 Istruzioni di fronte di salita e di discesa .................................................................................... 213
7.2 Funzionamento del temporizzatore ........................................................................................... 216
7.3 Funzionamento del contatore.................................................................................................... 225
7.4 Operazioni di confronto ............................................................................................................. 231
7.4.1 Istruzioni di confronto di valori .................................................................................................. 231
7.4.2 Istruzioni IN_Range (Valore compreso nel campo) e OUT_Range (Valore fuori campo) ........ 232
7.4.3 Istruzioni OK (Verifica validità) e NOT_OK (Verifica invalidità) ................................................. 233
7.5 Funzioni matematiche ............................................................................................................... 234
7.5.1 Istruzione CALCULATE (Calcola) ............................................................................................. 234
7.5.2 Istruzioni Somma, Sottrai, Moltiplica e Dividi ............................................................................ 235
7.5.3 Istruzione MOD (Rileva il resto della divisione) ........................................................................ 236
7.5.4 Istruzione NEG (Crea complemento a due) .............................................................................. 237
7.5.5 Istruzioni INC (Incrementa) e DEC (Decrementa) .................................................................... 238
7.5.6 Istruzione ABS (Genera valore assoluto) .................................................................................. 238
7.5.7 Istruzioni MIN (Rileva valore min.) e MAX (Rileva valore max.) ............................................... 239
7.5.8 Istruzione LIMIT (Imposta valore limite) .................................................................................... 240
7.5.9 Istruzioni esponente, logaritmo e trigonometria ........................................................................ 241
7.6 Operazioni di trasferimento ....................................................................................................... 243
7.6.1 Istruzioni MOVE (Copia valore), MOVE_BLK (Copia area) e UMOVE_BLK (Copia area
senza interruzione) .................................................................................................................... 243
7.6.2 Istruzioni FieldRead (Leggi campo) e FieldWrite (Scrivi nel campo) ........................................ 245
7.6.3 FILL_BLK (Inserisci dati nell'area) e UFILL_BLK (Inserisci area senza interruzione) .............. 247
7.6.4 Istruzione SWAP (Modifica disposizione byte) ......................................................................... 249
7.7 Operazioni di conversione......................................................................................................... 250
7.7.1 Istruzione CONV (Converti valore) ........................................................................................... 250
7.7.2 Istruzioni di conversione per SCL ............................................................................................. 251
7.7.3 Istruzioni ROUND (Arrotonda) e TRUNC (Genera numero intero) ........................................... 254
7.7.4 Istruzioni CEIL e FLOOR (Genera da un numero in virgola mobile il numero intero
superiore e inferiore) ................................................................................................................. 255
7.7.5 Istruzioni SCALE_X (Riporta in scala) e NORM_X (Normazione) ............................................ 256
7.8 Operazioni di controllo del programma ..................................................................................... 259

Sistema di automazione S7-1200


10 Manuale di sistema, 03/2014, A5E02486684-AG
Indice del contenuto

7.8.1 Istruzioni JMP (Salta se RLO = 1), JMPN (Salta se RLO = 0) e Etichetta (Etichetta di
salto) ..........................................................................................................................................259
7.8.2 Istruzione JMP_LIST (Definisci elenco di salti) ..........................................................................260
7.8.3 Istruzione SWITCH (Distributore di salto) ..................................................................................261
7.8.4 Istruzione RET (Salta indietro) ...................................................................................................263
7.8.5 Istruzione ENDIS_PW (Limita e abilita autenticazione della password) ....................................264
7.8.6 Istruzione RE_TRIGR (Riavvia tempo di controllo del ciclo) .....................................................267
7.8.7 Istruzione STP (Chiudi programma) ..........................................................................................268
7.8.8 Istruzioni GET_ERROR e GET_ERROR_ID (Interroga errori e ID di errore localmente) ..........268
7.8.9 Istruzioni di controllo del programma per SCL ...........................................................................272
7.8.9.1 Panoramica delle istruzioni di controllo del programma per SCL ..............................................272
7.8.9.2 Istruzione IF-THEN ....................................................................................................................273
7.8.9.3 Istruzione CASE .........................................................................................................................274
7.8.9.4 Istruzione FOR ...........................................................................................................................275
7.8.9.5 Istruzione WHILE-DO ................................................................................................................276
7.8.9.6 Istruzione REPEAT-UNTIL ........................................................................................................277
7.8.9.7 Istruzione CONTINUE ................................................................................................................278
7.8.9.8 Istruzione EXIT...........................................................................................................................278
7.8.9.9 Istruzione GOTO ........................................................................................................................279
7.8.9.10 Istruzione RETURN ...................................................................................................................279
7.9 Combinazioni logiche a parola ...................................................................................................280
7.9.1 Istruzioni delle operazioni logiche AND, OR e XOR ..................................................................280
7.9.2 Istruzione INV (Crea complemento a uno) ................................................................................281
7.9.3 Istruzioni DECO (Decodifica) e ENCO (Codifica) ......................................................................281
7.9.4 Istruzioni SEL (Seleziona), MUX (Multiplexaggio) e DEMUX (Demultiplexaggio) .....................283
7.10 Spostamento e rotazione ...........................................................................................................286
7.10.1 Istruzioni SHR (Sposta verso destra) e SHL (Sposta verso sinistra) ........................................286
7.10.2 Istruzioni ROR (Fai ruotare verso destra) e ROL (Fai ruotare verso sinistra) ...........................287
8 Istruzioni avanzate .............................................................................................................................. 289
8.1 Funzioni di data, ora e orologio..................................................................................................289
8.1.1 Istruzioni di data e ora ................................................................................................................289
8.1.2 Funzioni di orologio ....................................................................................................................292
8.1.3 Struttura di dati TimeTransformationRule ..................................................................................295
8.1.4 Istruzione SET_TIMEZONE (Imposta fuso orario) .....................................................................296
8.1.5 Istruzione RTM (Contatore ore di esercizio) ..............................................................................297
8.2 Stringa e carattere .....................................................................................................................299
8.2.1 Descrizione dei dati String .........................................................................................................299
8.2.2 Istruzione S_MOVE (Sposta stringa di caratteri) .......................................................................299
8.2.3 Istruzioni di conversione di stringhe ...........................................................................................300
8.2.3.1 Istruzioni S_CONV, STRG_VAL e VAL_STRG (Converti in/da stringa di caratteri e valore
numerico) ...................................................................................................................................300
8.2.3.2 Istruzioni Strg_TO_Chars e Chars_TO_Strg (Converti in/da stringa di caratteri e Array of
CHAR) ........................................................................................................................................308
8.2.3.3 Istruzioni ATH e HTA (Converti in/da stringa di caratteri ASCII e numero esadecimale)..........310
8.2.4 Istruzioni con le stringhe ............................................................................................................313
8.2.4.1 Istruzione MAX_LEN (Lunghezza massima di una stringa) ......................................................313
8.2.4.2 LEN (Lunghezza attuale di una stringa) ....................................................................................313
8.2.4.3 Istruzione CONCAT (Concatena stringhe) ................................................................................314
8.2.4.4 Istruzioni LEFT, RIGHT e MID (Leggi sottostringhe in una stringa) ..........................................315
8.2.4.5 Istruzione DELETE (Cancella caratteri nella stringa) ................................................................317

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 11
Indice del contenuto

8.2.4.6 Istruzione INSERT (Inserisci caratteri nella stringa) ................................................................. 318


8.2.4.7 Istruzione REPLACE (Sostituisci caratteri nella stringa) .......................................................... 319
8.2.4.8 Istruzione FIND (Trova caratteri nella stringa) .......................................................................... 320
8.3 Periferia decentrata (PROFINET, PROFIBUS o AS-i) .............................................................. 321
8.3.1 Istruzioni per gli I/O distribuiti .................................................................................................... 321
8.3.2 Istruzioni RDREC e WRREC (Leggi/scrivi set di dati) .............................................................. 322
8.3.3 Istruzione RALRM (Ricevi allarme) ........................................................................................... 325
8.3.4 Parametro STATUS per RDREC, WRREC e RALRM .............................................................. 329
8.3.5 Istruzioni DPRD_DAT e DPWR_DAT (Leggi/Scrivi dati coerenti di uno slave DP standard) ... 333
8.3.6 Istruzione DPNRM_DG (Leggi dati di diagnostica di uno slave DP)......................................... 335
8.4 Allarmi ....................................................................................................................................... 338
8.4.1 Istruzioni ATTACH e DETACH (Assegna/separa OB all'evento/dall'evento di allarme)........... 338
8.4.2 Schedulazione orologio ............................................................................................................. 341
8.4.2.1 Istruzione SET_CINT (Imposta parametri di schedulazione orologio) ...................................... 341
8.4.2.2 Istruzione QRY_CINT (Interroga i parametri di schedulazione orologio) .................................. 343
8.4.3 Allarmi dall'orologio ................................................................................................................... 344
8.4.3.1 SET_TINTL (Imposta allarme dall'orologio) .............................................................................. 345
8.4.3.2 CAN_TINT (Annulla allarme dall'orologio) ................................................................................ 346
8.4.3.3 ACT_TINT (Attiva allarme dall'orologio) .................................................................................... 347
8.4.3.4 QRY_TINT (Interroga un allarme dall'orologio) ......................................................................... 347
8.4.4 Allarmi di ritardo ........................................................................................................................ 349
8.4.5 Istruzioni DIS_AIRT e EN_AIRT (Ritarda/abilita elaborazione di eventi di allarme e di
errore asincroni a priorità superiore) ......................................................................................... 351
8.5 Diagnostica (PROFINET o PROFIBUS) ................................................................................... 352
8.5.1 Istruzioni di diagnostica ............................................................................................................. 352
8.5.2 Eventi di diagnostica la periferia decentrata ............................................................................. 352
8.5.3 Istruzione LED (Leggi stato dei LED) ........................................................................................ 353
8.5.4 Istruzione DeviceStates ............................................................................................................ 354
8.5.4.1 Esempi di configurazione di DeviceStates ................................................................................ 356
8.5.5 Istruzione ModuleStates ............................................................................................................ 360
8.5.5.1 Esempi di configurazione di ModuleStates ............................................................................... 361
8.5.6 Istruzione GET_DIAG (Leggi informazioni di diagnostica) ........................................................ 365
8.6 Impulso ...................................................................................................................................... 371
8.6.1 Istruzione CTRL_PWM (Modulazione ampiezza impulsi) ......................................................... 371
8.6.2 Funzionamento delle uscite di impulsi ...................................................................................... 372
8.6.3 Configurazione di un canale impulsivo per PWM ..................................................................... 374
8.7 Ricette e log di dati .................................................................................................................... 376
8.7.1 Ricette ....................................................................................................................................... 376
8.7.1.1 Panoramica delle ricette............................................................................................................ 376
8.7.1.2 Esempio di DB di ricetta ............................................................................................................ 378
8.7.1.3 Istruzioni del programma per il trasferimento dei dati delle ricette ........................................... 381
8.7.1.4 Esempio di programma di ricetta .............................................................................................. 385
8.7.2 Log di dati .................................................................................................................................. 387
8.7.2.1 Struttura del record di un log di dati .......................................................................................... 388
8.7.2.2 Istruzioni di programma che comandano i log di dati ............................................................... 389
8.7.2.3 Utilizzo dei log di dati ................................................................................................................ 400
8.7.2.4 Limite per le dimensioni dei file di log ....................................................................................... 401
8.7.2.5 Esempio di programma per i log di dati .................................................................................... 405
8.8 Comando del blocco dati........................................................................................................... 409

Sistema di automazione S7-1200


12 Manuale di sistema, 03/2014, A5E02486684-AG
Indice del contenuto

8.8.1 Istruzioni READ_DBL e WRIT_DBL (Leggi/scrivi blocco dati nella memoria di


caricamento) ..............................................................................................................................409
8.9 Gestione degli indirizzi ...............................................................................................................412
8.9.1 Istruzione LOG2GEO (Rileva indirizzo geografico dall'indirizzo logico) ....................................412
8.9.2 Istruzione RD_ADDR (Rileva dati IO di un'unità) .......................................................................414
8.10 Codici di errore comuni per le istruzioni "Avanzate" ..................................................................415
9 Istruzioni di tecnologia......................................................................................................................... 417
9.1 Contatore veloce ........................................................................................................................417
9.1.1 Funzionamento del contatore veloce .........................................................................................420
9.1.2 Configurazione dell'HSC ............................................................................................................427
9.2 Regolazione PID ........................................................................................................................428
9.2.1 Inserimento di un'istruzione PID e del relativo oggetto tecnologico ..........................................430
9.2.2 Istruzione PID_Compact ............................................................................................................432
9.2.3 Parametri ErrorBit dell'istruzione PID_Compact ........................................................................436
9.2.4 Istruzione PID_3Step .................................................................................................................438
9.2.5 Parametri ErrorBit dell'istruzione PID_3Step .............................................................................445
9.2.6 Configurazione del regolatore PID .............................................................................................447
9.2.7 Messa in servizio del regolatore PID .........................................................................................450
9.3 Controllo del movimento ............................................................................................................452
9.3.1 Messa in fase .............................................................................................................................457
9.3.2 Configurazione di un generatore di impulsi ...............................................................................459
9.3.3 Configurazione dell'asse ............................................................................................................460
9.3.4 Configurazione di TO_CommandTable_PTO ............................................................................463
9.3.5 Istruzioni di controllo del movimento ..........................................................................................467
9.3.5.1 Panoramica delle istruzioni MC .................................................................................................467
9.3.5.2 Istruzione MC_Power (Abilita/blocca asse) ...............................................................................468
9.3.5.3 Istruzione MC_Reset (Conferma errore) ....................................................................................471
9.3.5.4 Istruzione MC_Home (Indirizza e posiziona asse).....................................................................472
9.3.5.5 Istruzione MC_Halt (Metti in pausa l'asse) .................................................................................475
9.3.5.6 Istruzione MC_MoveAbsolute (Posizionamento assoluto dell'asse) .........................................477
9.3.5.7 Istruzione MC_MoveRelative (Posizionamento relativo dell'asse) ............................................479
9.3.5.8 Istruzione MC_MoveVelocity (Sposta l'asse alla velocità predefinita) .......................................481
9.3.5.9 Istruzione MC_MoveJog (Aziona asse con funzionamento marcia manuale) ...........................484
9.3.5.10 Istruzione MC_CommandTable (Esegui i comandi dell'asse come sequenza di
movimenti)..................................................................................................................................486
9.3.5.11 Istruzione MC_ChangeDynamic (Modifica impostazioni dinamiche dell'asse) ..........................489
9.3.5.12 Istruzione MC_WriteParam (scrivi i parametri dell'oggetto tecnologico ) ..................................491
9.3.5.13 Istruzione MC_ReadParam (leggi i parametri dell'oggetto tecnologico) ....................................493
9.3.6 Funzionamento del controllo del movimento per l'S7-1200 .......................................................494
9.3.6.1 Utilizzo delle uscite della CPU per il controllo del movimento ...................................................494
9.3.6.2 Finecorsa hardware e software per il controllo del movimento .................................................496
9.3.6.3 Indirizzamento ............................................................................................................................500
9.3.6.4 Limitazione dello strappo ...........................................................................................................505
9.3.7 Messa in servizio........................................................................................................................506
9.3.8 Controllo dei comandi attivi ........................................................................................................511
9.3.8.1 Controllo delle istruzioni MC con un parametro di uscita "Done" ..............................................511
9.3.8.2 Controllo dell'istruzione MC_Velocity .........................................................................................514
9.3.8.3 Controllo dell'istruzione MC_MoveJog .......................................................................................519

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 13
Indice del contenuto

10 Comunicazione ....................................................................................................................................523
10.1 Numero di collegamenti di comunicazione asincroni supportati ............................................... 525
10.2 PROFINET ................................................................................................................................ 525
10.2.1 Collegamento locale/partner ..................................................................................................... 525
10.2.2 Open User Communication ....................................................................................................... 528
10.2.2.1 ID di collegamento per le istruzioni OUC .................................................................................. 528
10.2.2.2 Protocolli.................................................................................................................................... 531
10.2.2.3 Modo Ad hoc ............................................................................................................................. 532
10.2.2.4 TCP e ISO on TCP .................................................................................................................... 533
10.2.2.5 Istruzioni TSEND_C e TRCV_C (Invia e ricevi dati tramite Ethernet) ....................................... 534
10.2.2.6 Istruzioni TCON, TDISCON, TSEND e TRCV (comunicazione TCP) ...................................... 541
10.2.2.7 UDP ........................................................................................................................................... 549
10.2.2.8 TUSEND e TURCV ................................................................................................................... 549
10.2.2.9 T_CONFIG ................................................................................................................................ 555
10.2.2.10 Parametri comuni delle istruzioni ......................................................................................... 562
10.2.3 Comunicazione con un dispositivo di programmazione ............................................................ 564
10.2.3.1 Realizzazione del collegamento hardware per la comunicazione ............................................ 564
10.2.3.2 Configurazione dei dispositivi.................................................................................................... 565
10.2.3.3 Assegnazione degli indirizzi IP (Internet Protocol) ................................................................... 565
10.2.3.4 Test della propria rete PROFINET ............................................................................................ 565
10.2.4 Comunicazione da HMI a PLC .................................................................................................. 566
10.2.4.1 Configurazione dei collegamenti logici di rete tra due dispositivi.............................................. 567
10.2.5 Comunicazione da PLC a PLC ................................................................................................. 567
10.2.5.1 Configurazione dei collegamenti logici di rete tra due dispositivi.............................................. 568
10.2.5.2 Configurazione del percorso di collegamento locale/partner tra due dispositivi ....................... 569
10.2.5.3 Configurazione dei parametri di trasmissione (invio) e di ricezione ......................................... 569
10.2.6 Configurazione di una CPU e di un dispositivo PROFINET IO ................................................. 572
10.2.6.1 Aggiunta di un dispositivo PROFINET IO ................................................................................. 572
10.2.6.2 Configurazione di collegamenti di rete logici tra una CPU e un PROFINET IO Device ........... 573
10.2.6.3 Assegnazione di CPU e nomi dei dispositivi ............................................................................. 573
10.2.6.4 Assegnazione degli indirizzi IP (Internet Protocol) ................................................................... 574
10.2.6.5 Configurazione del tempo di ciclo IO ........................................................................................ 574
10.2.7 Configurazione di una CPU e di un I device PROFINET .......................................................... 575
10.2.7.1 Funzionalità degli I device ......................................................................................................... 575
10.2.7.2 Proprietà e vantaggi dell'I device .............................................................................................. 576
10.2.7.3 Caratteristiche di un I device ..................................................................................................... 577
10.2.7.4 Scambio dei dati tra un sistema di IO sovraordinato e subordinato ......................................... 580
10.2.7.5 Configurazione dell'I device ...................................................................................................... 582
10.2.8 Diagnostica................................................................................................................................ 583
10.2.9 Istruzioni per la periferia decentrata .......................................................................................... 584
10.2.10 Istruzioni di diagnostica ............................................................................................................. 584
10.2.11 Eventi di diagnostica per la periferia decentrata ....................................................................... 584
10.3 PROFIBUS ................................................................................................................................ 584
10.3.1 Servizi di comunicazione dei CM PROFIBUS........................................................................... 586
10.3.2 Riferimento ai manuali utente dei CM PROFIBUS ................................................................... 587
10.3.3 Configurazione di un master DP e un dispositivo slave ............................................................ 587
10.3.3.1 Aggiunta del modulo CM 1243-5 (master DP) e di uno slave DP............................................. 587
10.3.3.2 Configurazione dei collegamenti logici di rete tra due dispositivi PROFIBUS .......................... 588
10.3.3.3 Assegnazione degli indirizzi PROFIBUS al modulo CM 1243-5 e allo slave DP...................... 589
10.3.4 Istruzioni per la periferia decentrata .......................................................................................... 590
10.3.5 Istruzioni di diagnostica ............................................................................................................. 591

Sistema di automazione S7-1200


14 Manuale di sistema, 03/2014, A5E02486684-AG
Indice del contenuto

10.3.6 Eventi di diagnostica per la periferia decentrata ........................................................................591


10.4 ASi ..............................................................................................................................................591
10.4.1 Configurazione di un master e uno slave AS-i...........................................................................592
10.4.1.1 Aggiunta del master AS-i CM 1243-2 e dello slave AS-i ...........................................................592
10.4.1.2 Configurazione dei collegamenti logici di rete tra due dispositivi AS-i.......................................593
10.4.1.3 Configurazione delle proprietà del master AS-i CM 1243-2 ......................................................593
10.4.1.4 Assegnazione di un indirizzo AS-i ad uno slave AS-i ................................................................594
10.4.2 Scambio dei dati tra il programma utente e gli slave AS-i .........................................................596
10.4.2.1 Configurazione di base di STEP 7 .............................................................................................596
10.4.2.2 Configurazione degli slave con STEP 7 ....................................................................................598
10.4.3 Istruzioni per la periferia decentrata...........................................................................................600
10.4.4 Utilizzo dei tool online AS-i ........................................................................................................600
10.5 Comunicazione S7 .....................................................................................................................602
10.5.1 Istruzioni GET e PUT (Leggi e scrivi dati da/in una CPU remota) .............................................602
10.5.2 Creazione di un collegamento S7 ..............................................................................................606
10.5.3 Configurazione del percorso di collegamento locale/partner tra due dispositivi ........................607
10.5.4 Assegnazione dei parametri di collegamento di GET/PUT .......................................................608
10.5.4.1 Parametri di collegamento .........................................................................................................609
10.5.4.2 Configurazione di un collegamento da CPU a CPU S7 .............................................................611
11 Web server ......................................................................................................................................... 617
11.1 Abilitazione del Web server .......................................................................................................619
11.2 Configurazione degli utenti del Web server ...............................................................................620
11.3 Accesso alle pagine Web da un PC...........................................................................................622
11.4 Accesso alle pagine Web da un dispositivo portatile .................................................................623
11.5 Pagine Web standard ................................................................................................................625
11.5.1 Layout delle pagine Web standard ............................................................................................625
11.5.2 Log in e privilegi degli utenti.......................................................................................................626
11.5.3 Introduzione ...............................................................................................................................629
11.5.4 Pagiona iniziale ..........................................................................................................................630
11.5.5 Identification ...............................................................................................................................630
11.5.6 Diagnostic Buffer ........................................................................................................................631
11.5.7 Informazioni sui moduli ..............................................................................................................632
11.5.8 Comunicazione ..........................................................................................................................636
11.5.9 Variable Status ...........................................................................................................................636
11.5.10 Unità di selezione file .................................................................................................................638
11.6 Pagine Web personalizzate .......................................................................................................641
11.6.1 Creazione di pagine HTML ........................................................................................................642
11.6.2 Comandi AWP supportati dal Web server dell'S7-1200 ............................................................643
11.6.2.1 Lettura delle variabili ..................................................................................................................645
11.6.2.2 Scrittura delle variabili ................................................................................................................646
11.6.2.3 Lettura di variabili speciali ..........................................................................................................647
11.6.2.4 Scrittura di variabili speciali ........................................................................................................649
11.6.2.5 Uso di un alias per il riferimento di una variabile .......................................................................650
11.6.2.6 Definizione dei tipi di enum ........................................................................................................651
11.6.2.7 Indirizzamento delle variabili della CPU con un tipo di enum ....................................................651
11.6.2.8 Creazione di frammenti ..............................................................................................................653
11.6.2.9 Importazione di frammenti .........................................................................................................654
11.6.2.10 Combinazione delle definizioni .............................................................................................655

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 15
Indice del contenuto

11.6.2.11 Gestione dei nomi di variabili che contengono caratteri speciali ......................................... 656
11.6.3 Configurazione dell'uso delle pagine Web personalizzate ....................................................... 658
11.6.4 Programmazione dell'istruzione WWW per le pagine Web personalizzate .............................. 659
11.6.5 Download dei blocchi di programma nella CPU........................................................................ 661
11.6.6 Accesso alle pagine Web personalizzate ................................................................................. 662
11.6.7 Limitazioni specifiche per le pagine Web personalizzate ......................................................... 662
11.6.8 Esempio di una pagina Web personalizzata ............................................................................. 663
11.6.8.1 Pagina web per il controllo e il comando di una turbina eolica ................................................. 663
11.6.8.2 Lettura e visualizzazione dei dati del controllore ...................................................................... 666
11.6.8.3 Uso di un tipo di enum .............................................................................................................. 666
11.6.8.4 Scrittura dei dati inseriti dall'utente nel controllore .................................................................... 667
11.6.8.5 Scrittura di una variabile speciale ............................................................................................. 668
11.6.8.6 Riferimento: elenco HTML della pagina Web di controllo remoto della turbina eolica ............. 669
11.6.8.7 Configurazione in STEP 7 della pagina Web di esempio ......................................................... 673
11.6.9 Configurazione delle pagine Web personalizzate multilingue .................................................. 674
11.6.9.1 Creazione della struttura a cartelle ........................................................................................... 675
11.6.9.2 Programmazione del passaggio tra lingue................................................................................ 675
11.6.9.3 Configurazione di STEP 7 per l'utilizzo di una struttura di pagina multilingue .......................... 677
11.6.10 Comando avanzato delle pagine Web personalizzate .............................................................. 678
11.7 Limitazioni ................................................................................................................................. 682
11.7.1 Limitazioni delle funzioni in caso di disattivazione di JavaScript nelle opzioni Internet ............ 683
11.7.2 Limitazione delle funzioni nel caso in cui le opzioni Internet non consentano i cookie ............ 684
11.7.3 Importazione del certificato di sicurezza Siemens .................................................................... 684
11.7.4 Importazione di log di dati in formato CSV in versioni non americane/inglesi di Microsoft
Excel.......................................................................................................................................... 686
12 Processore di comunicazione e Modbus TCP ......................................................................................687
12.1 Utilizzo delle interfacce di comunicazione seriale ..................................................................... 687
12.2 Polarizzazione e terminazione di un connettore RS485 ........................................................... 688
12.3 Comunicazione punto a punto (PtP) ......................................................................................... 690
12.3.1 Configurazione delle porte di comunicazione ........................................................................... 690
12.3.1.1 Gestione del controllo di flusso ................................................................................................. 692
12.3.2 Configurazione dei parametri di trasmissione (invio) e di ricezione ......................................... 694
12.3.2.1 Configurazione dei parametri di trasmissione (invio) ................................................................ 694
12.3.2.2 Configurazione dei parametri di ricezione................................................................................. 695
12.3.3 Istruzioni punto a punto (PtP).................................................................................................... 704
12.3.3.1 Parametri comuni delle istruzioni punto a punto ....................................................................... 704
12.3.3.2 Istruzione PORT_CFG (Progetta dinamicamente parametri di comunicazione) ...................... 706
12.3.3.3 Istruzione SEND_CFG (Progetta dinamicamente parametri di trasferimento seriali) ............... 708
12.3.3.4 Istruzione RCV_CFG (Progetta dinamicamente parametri di ricezione seriali) ........................ 709
12.3.3.5 Istruzione SEND_PTP (Trasferisci dati del buffer di invio) ....................................................... 715
12.3.3.6 Istruzione RCV_PTP (Abilita ricezione di messaggi) ................................................................ 718
12.3.3.7 Istruzione RCV_RST (Cancella buffer di ricezione) .................................................................. 719
12.3.3.8 Istruzione SGN_GET (Interroga segnali RS-232) ..................................................................... 720
12.3.3.9 Istruzione SGN_GET (Imposta segnali RS-232)....................................................................... 722
12.3.4 Programmazione della comunicazione PtP .............................................................................. 723
12.3.4.1 Architettura di interrogazione .................................................................................................... 724
12.3.5 Esempio: comunicazione punto a punto ................................................................................... 725
12.3.5.1 Configurazione del modulo di comunicazione .......................................................................... 726
12.3.5.2 Modi di funzionamento di RS422 e RS485 ............................................................................... 729
12.3.5.3 Configurazione del programma STEP 7 ................................................................................... 732

Sistema di automazione S7-1200


16 Manuale di sistema, 03/2014, A5E02486684-AG
Indice del contenuto

12.3.5.4 Configurazione del terminale virtuale ........................................................................................734


12.3.5.5 Esecuzione del programma di esempio .....................................................................................734
12.4 Comunicazione USS (Universal Serial Interface) ......................................................................735
12.4.1 Requisiti per l'utilizzo del protocollo USS...................................................................................736
12.4.2 Istruzione USS_PORT (Elabora comunicazione tramite rete USS) ..........................................738
12.4.3 Istruzione USS_DRV (Scambia dati con azionamento) .............................................................740
12.4.4 Istruzione USS_RPM (Leggi parametri dall'azionamento) .........................................................743
12.4.5 Istruzione USS_WPM (Modifica parametri nell'azionamento) ...................................................744
12.4.6 Codici di stato USS ....................................................................................................................746
12.4.7 Informazioni generali sull'installazione dell'azionamento...........................................................748
12.5 Comunicazione Modbus ............................................................................................................751
12.5.1 Panoramica delle istruzioni Modbus TCP V13 per la comunicazione Modbus RTU e TCP......751
12.5.2 Modbus TCP ..............................................................................................................................754
12.5.2.1 Istruzione MB_CLIENT (Comunica come client Modbus TCP tramite PROFINET) ..................754
12.5.2.2 Istruzione MB_SERVER (Comunica come server Modbus TCP tramite PROFINET) ..............761
12.5.2.3 Esempio di MB_SERVER: collegamenti TCP multipli ...............................................................766
12.5.2.4 Esempio di MB_CLIENT 1: più richieste con un collegamento TCP comune ...........................767
12.5.2.5 Esempio di MB_CLIENT 2: più richieste con un collegamento TCP diverso.............................768
12.5.2.6 Esempio di MB_CLIENT 3: Richiesta di scrittura nell'immagine di processo delle uscite .........769
12.5.2.7 Esempio di MB_CLIENT 4: Coordinamento di più richieste ......................................................769
12.5.3 Modbus RTU ..............................................................................................................................770
12.5.3.1 Istruzione MB_COMM_LOAD (Configura porta dell'unità PtP per Modbus RTU) .....................771
12.5.3.2 Istruzione MB_MASTER (Comunica come master Modbus tramite porta PtP) ........................774
12.5.3.3 Istruzione MB_SLAVE (Comunica come slave Modbus tramite porta PtP)...............................780
12.5.3.4 Esempio di programma master Modbus RTU ...........................................................................787
12.5.3.5 Esempio di programma slave Modbus RTU ..............................................................................788
12.6 Telecontrol e TeleService con il CP 1242-7 ..............................................................................789
12.6.1 Collegamento ad una rete GSM ................................................................................................789
12.6.2 Applicazioni del CP 1242-7 ........................................................................................................790
12.6.3 Altre proprietà del CP .................................................................................................................792
12.6.4 Accessori....................................................................................................................................793
12.6.5 Esempi di configurazione per Telecontrol ..................................................................................794
13 Comunicazione Teleservice (e-mail SMTP) ......................................................................................... 799
13.1 Istruzione TM_MAIL (Invia e-mail) .............................................................................................799
14 Tool online e di diagnostica ................................................................................................................. 807
14.1 LED di stato................................................................................................................................807
14.2 Collegamento online e connessione a una CPU .......................................................................810
14.3 Assegnazione online di un nome a un dispositivo PROFINET IO .............................................811
14.4 Impostazione dell'indirizzo IP e dell'ora .....................................................................................813
14.5 Ripristino delle impostazioni di fabbrica .....................................................................................813
14.6 Aggiornamento del firmware ......................................................................................................814
14.7 Pannello operatore CPU per la CPU online ...............................................................................815
14.8 Controllo del tempo di ciclo e dell'utilizzo della memoria...........................................................816
14.9 Visualizzazione degli eventi di diagnostica nella CPU...............................................................817

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 17
Indice del contenuto

14.10 Confronto di CPU offline e online .............................................................................................. 818


14.11 Controllo e modifica dei valori nella CPU.................................................................................. 819
14.11.1 Attivazione di un collegamento online per il controllo dei valori nella CPU .............................. 820
14.11.2 Visualizzazione dello stato nell'editor di programma ................................................................ 821
14.11.3 Salvataggio dei valori online di un DB per resettare i valori iniziali........................................... 821
14.11.4 Uso di una tabella di controllo per controllare e modificare i valori nella CPU ......................... 822
14.11.4.1 Utilizzo di un trigger durante il controllo o la modifica delle variabili del PLC ...................... 824
14.11.4.2 Abilitazione delle uscite in STOP ......................................................................................... 825
14.11.5 Forzamento di valori nella CPU ................................................................................................ 826
14.11.5.1 Utilizzo della tabella di forzamento ...................................................................................... 826
14.11.5.2 Funzionamento della funzione di forzamento ...................................................................... 827
14.12 Caricamento del programma in modo RUN .............................................................................. 828
14.12.1 Requisiti per poter eseguire il caricamento in modo RUN ........................................................ 829
14.12.2 Modifica del programma in modo RUN ..................................................................................... 830
14.12.3 Caricamento di blocchi selezionati ............................................................................................ 831
14.12.4 Caricamento in un altro blocco di un singolo blocco selezionato contenente un errore di
compilazione ............................................................................................................................. 832
14.12.5 Modifica e caricamento di blocchi esistenti nel modo RUN ...................................................... 833
14.12.6 Reazione del sistema se il caricamento non riesce .................................................................. 836
14.12.7 Considerazioni sul caricamento nel modo RUN ....................................................................... 836
14.13 Tracciamento e registrazione dei dati della CPU in base a delle condizioni di trigger ............. 838
15 SM 1278 4xIO-Link Master...................................................................................................................839
15.1 Panoramica dell'SM 1278 4xIO-Link Master ............................................................................. 839
15.1.1 Panoramica ............................................................................................................................... 839
15.1.2 IO-Link e il Programma STEP 7 ................................................................................................ 839
15.1.3 Proprietà .................................................................................................................................... 840
15.1.4 Funzioni ..................................................................................................................................... 841
15.1.5 Sostituzione del modulo di I/O SM 4xIO-Link ........................................................................... 841
15.1.6 Ripristino delle impostazioni di fabbrica del modulo ................................................................. 842
15.2 Collegamenti ............................................................................................................................. 842
15.2.1 Assegnazione dei pin ................................................................................................................ 842
15.2.2 Schema logico ........................................................................................................................... 844
15.3 Parametri/spazio di indirizzamento ........................................................................................... 845
15.3.1 Configurazione .......................................................................................................................... 845
15.3.2 Parametri ................................................................................................................................... 845
15.3.3 Spazio di indirizzamento ........................................................................................................... 846
15.3.4 Record dei parametri di dati ...................................................................................................... 846
15.4 Allarmi, errori e allarmi di sistema ............................................................................................. 848
15.4.1 Indicazioni di stato e di errore ................................................................................................... 848
15.4.2 Allarmi di diagnostica ................................................................................................................ 850
A Dati tecnici ...........................................................................................................................................853
A.1 Dati tecnici generali ................................................................................................................... 853
A.2 CPU 1211C ............................................................................................................................... 861
A.2.1 Dati tecnici e caratteristiche generali ........................................................................................ 861
A.2.2 Temporizzatori, contatori e blocchi di codice supportati dalla CPU 1211C .............................. 862
A.2.3 Ingressi e uscite digitali ............................................................................................................. 864
A.2.4 Ingressi analogici ...................................................................................................................... 866

Sistema di automazione S7-1200


18 Manuale di sistema, 03/2014, A5E02486684-AG
Indice del contenuto

A.2.4.1 Risposta a gradino degli ingressi analogici integrati nella CPU ................................................867
A.2.4.2 Tempo di campionamento per le porte analogiche integrate nella CPU ...................................867
A.2.4.3 Campi di misura degli ingressi analogici per la tensione (CPU) ................................................867
A.2.5 Schemi elettrici della CPU 1211 ................................................................................................868
A.3 CPU 1212C ................................................................................................................................871
A.3.1 Dati tecnici e caratteristiche generali .........................................................................................871
A.3.2 Temporizzatori, contatori e blocchi di codice supportati dalla CPU 1212C ...............................873
A.3.3 Ingressi e uscite digitali ..............................................................................................................875
A.3.4 Ingressi analogici .......................................................................................................................877
A.3.4.1 Risposta a gradino degli ingressi analogici integrati nella CPU ................................................877
A.3.4.2 Tempo di campionamento per le porte analogiche integrate nella CPU ...................................878
A.3.4.3 Campi di misura degli ingressi analogici per la tensione (CPU) ................................................878
A.3.5 Schemi elettrici della CPU 1212C ..............................................................................................879
A.4 CPU 1214C ................................................................................................................................882
A.4.1 Dati tecnici e caratteristiche generali .........................................................................................882
A.4.2 Temporizzatori, contatori e blocchi di codice supportati dalla CPU 1214C ...............................884
A.4.3 Ingressi e uscite digitali ..............................................................................................................886
A.4.4 Ingressi analogici .......................................................................................................................887
A.4.4.1 Risposta a gradino degli ingressi analogici integrati nella CPU ................................................888
A.4.4.2 Tempo di campionamento per le porte analogiche integrate nella CPU ...................................888
A.4.4.3 Campi di misura degli ingressi analogici per la tensione (CPU) ................................................889
A.4.5 Schemi elettrici della CPU 1214C ..............................................................................................890
A.5 CPU 1215C ................................................................................................................................894
A.5.1 Dati tecnici e caratteristiche generali .........................................................................................894
A.5.2 Temporizzatori, contatori e blocchi di codice supportati dalla CPU 1215C ...............................895
A.5.3 Ingressi e uscite digitali ..............................................................................................................897
A.5.4 Ingressi e uscite analogici ..........................................................................................................899
A.5.4.1 Risposta a gradino degli ingressi analogici integrati della CPU ................................................900
A.5.4.2 Tempo di campionamento per le porte analogiche integrate nella CPU ...................................900
A.5.4.3 Campi di misura degli ingressi analogici per la tensione (CPU) ................................................900
A.5.4.4 Dati tecnici delle uscite analogiche ............................................................................................901
A.5.5 Schemi elettrici della CPU 1215C ..............................................................................................902
A.6 CPU 1217C ................................................................................................................................906
A.6.1 Dati tecnici e caratteristiche generali .........................................................................................906
A.6.2 Temporizzatori, contatori e blocchi di codice supportati dalla CPU 1217C ...............................908
A.6.3 Ingressi e uscite digitali ..............................................................................................................910
A.6.4 Ingressi e uscite analogici ..........................................................................................................915
A.6.4.1 Dati tecnici degli ingressi analogici ............................................................................................915
A.6.4.2 Risposta a gradino degli ingressi analogici integrati della CPU ................................................916
A.6.4.3 Tempo di campionamento per le porte analogiche integrate nella CPU ...................................916
A.6.4.4 Campi di misura degli ingressi analogici per la tensione (CPU) ................................................916
A.6.4.5 Dati tecnici delle uscite analogiche ............................................................................................917
A.6.5 Schemi elettrici della CPU 1217C ..............................................................................................918
A.7 Moduli di I/O digitali (SM) ...........................................................................................................919
A.7.1 Dati tecnici del modulo di ingressi digitali SM 1221 ...................................................................919
A.7.2 Dati tecnici del modulo di uscite digitali SM 1222 8 uscite ........................................................921
A.7.3 Dati tecnici del modulo di uscite digitali SM 1222 16 uscite ......................................................923
A.7.4 Dati tecnici del modulo di I/O digitali VDC SM 1223 ..................................................................928
A.7.5 Dati tecnici del modulo di I/O digitali AC SM 1223 ....................................................................933

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 19
Indice del contenuto

A.8 Moduli di I/O analogici (SM) ...................................................................................................... 936


A.8.1 Dati tecnici del modulo di ingressi analogici SM 1231 .............................................................. 936
A.8.2 Dati tecnici del modulo di I/O analogici SM 1232 ..................................................................... 940
A.8.3 Dati tecnici del modulo di I/O analogici SM 1234 ..................................................................... 942
A.8.4 Risposta a gradino degli ingressi analogici ............................................................................... 945
A.8.5 Tempo di campionamento e tempi di aggiornamento degli ingressi analogici ......................... 946
A.8.6 Campi di misura degli ingressi analogici per la tensione e la corrente (SB e SM) ................... 946
A.8.7 Campi di misura delle uscite analogiche per tensione e corrente (SB e SM) ........................... 947
A.9 Moduli di I/O (SM) per termocoppie e RTD............................................................................... 948
A.9.1 SM 1231 per termocoppie ......................................................................................................... 948
A.9.1.1 Funzionamento base di una termocoppia ................................................................................. 951
A.9.1.2 Tabelle di selezione delle termocoppie per SM 1231 ............................................................... 952
A.9.2 SM 1231 per RTD ..................................................................................................................... 954
A.9.2.1 Tabelle di selezione dell'RTD per SM 1231 .............................................................................. 958
A.10 Moduli tecnologici ...................................................................................................................... 961
A.10.1 SM 1278 4xIO-Link Master ....................................................................................................... 961
A.10.1.1 Dati tecnici dell'unità di ingresso/uscita SM 1278 4xIO-Link Master ........................................ 961
A.10.1.2 Schemi elettrici del modulo SM 1278 4xIO-Link Master ........................................................... 963
A.11 Signal board digitali (SB) ........................................................................................................... 964
A.11.1 Dati tecnici di SB 1221 di ingressi digitali a 200 kHz ................................................................ 964
A.11.2 Dati tecnici di SB 1222 di uscite digitali a 200 kHz ................................................................... 967
A.11.3 Dati tecnici di SB 1223 di ingressi/uscite digitali a 200 kHz...................................................... 970
A.11.4 Dati tecnici di SB 1223 2 ingressi 24 V DC / 2 uscite 24 V DC................................................. 974
A.12 Signal board digitali (SB) ........................................................................................................... 977
A.12.1 Dati tecnici di SB 1231 1 uscita analogica ................................................................................ 977
A.12.2 Dati tecnici di SB 1232 1 uscita analogica ................................................................................ 979
A.12.3 Campi di misura per ingressi e uscite analogici ........................................................................ 981
A.12.3.1 Risposta a gradino degli ingressi analogici ............................................................................... 981
A.12.3.2 Tempo di campionamento e tempi di aggiornamento degli ingressi analogici ......................... 981
A.12.3.3 Campi di misura degli ingressi analogici per la tensione e la corrente (SB e SM) ................... 981
A.12.3.4 Campi di misura delle uscite analogiche per tensione e corrente (SB e SM) ........................... 982
A.12.4 Signal board per termocoppie (SB) ........................................................................................... 983
A.12.4.1 Dati tecnici di SB 1231 1 ingresso analogico per termocoppie................................................. 983
A.12.4.2 Funzionamento base di una termocoppia ................................................................................. 985
A.12.5 Signal board per RTD (SB) ....................................................................................................... 988
A.12.5.1 Dati tecnici di SB 1231 1 ingresso analogico per RTD ............................................................. 988
A.12.5.2 Tabelle di selezione dell'RTD per SB 1231 .............................................................................. 991
A.13 BB 1297 Scheda di batteria ...................................................................................................... 993
A.14 Interfacce di comunicazione...................................................................................................... 994
A.14.1 PROFIBUS ................................................................................................................................ 994
A.14.1.1 Slave PROFIBUS DP CM 1242-5 ............................................................................................. 994
A.14.1.2 Master PROFIBUS DP CM 1243-5 ........................................................................................... 996
A.14.2 GPRS ........................................................................................................................................ 998
A.14.2.1 CP 1242-7 GPRS ...................................................................................................................... 998
A.14.3 Master AS-i CM 1243-2........................................................................................................... 1001
A.14.3.1 Dati tecnici del master AS-i CM 1243-2 .................................................................................. 1001
A.14.3.2 Collegamenti elettrici del master AS-i CM 1243-2 .................................................................. 1002
A.14.4 RS232, RS422 e RS485 ......................................................................................................... 1003
A.14.4.1 Dati tecnici di CB 1241 RS485 ................................................................................................ 1003

Sistema di automazione S7-1200


20 Manuale di sistema, 03/2014, A5E02486684-AG
Indice del contenuto

A.14.4.2 CM 1241 RS232, dati tecnici ...................................................................................................1006


A.14.4.3 Dati tecnici del CM 1241 RS422/485 .......................................................................................1007
A.15 TeleService (TS Adapter e TS Adapter modulare) ..................................................................1008
A.16 Memory card SIMATIC ............................................................................................................1009
A.17 Simulatori di ingressi ................................................................................................................1009
A.18 Moduli potenziometro S7-1200 ................................................................................................1011
A.19 Prolunga per I/O .......................................................................................................................1012
A.20 Prodotti associati ......................................................................................................................1013
A.20.1 Power Module PM 1207 ...........................................................................................................1013
A.20.2 Compact Switch Module CSM 1277 ........................................................................................1013
A.20.3 Modulo CM CANopen ..............................................................................................................1014
B Calcolo del budget di potenza ............................................................................................................1015
C Numeri di ordinazione ........................................................................................................................1019
C.1 Moduli della CPU .....................................................................................................................1019
C.2 Moduli di I/O (SM), signal board (SB) e schede di batteria (BB) .............................................1019
C.3 Comunicazione ........................................................................................................................1021
C.4 Altri moduli ...............................................................................................................................1022
C.5 Memory card ............................................................................................................................1022
C.6 Dispositivi HMI Basic ...............................................................................................................1022
C.7 Parti di ricambio e altri componenti hardware ..........................................................................1023
C.8 Software di programmazione ...................................................................................................1024
C.9 Documentazione ......................................................................................................................1024
D Sostituzione di una CPU V3.0 con una CPU V4.0 ..............................................................................1025
Indice analitico ...................................................................................................................................1029

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 21
Indice del contenuto

Sistema di automazione S7-1200


22 Manuale di sistema, 03/2014, A5E02486684-AG
Presentazione del prodotto 1
1.1 Introduzione al PLC S7-1200
Il controllore S7-1200 è un sistema flessibile e potente in grado di controllare un’ampia
varietà di dispositivi e di rispondere alle più diverse esigenze del settore dell'automazione.
La struttura compatta, la configurazione flessibile e l'ampio set di operazioni fanno dell'S7-
1200 la soluzione ottimale per il controllo di svariate applicazioni.
La CPU riunisce in un’unica apparecchiatura compatta un microprocessore, un alimentatore
integrato, circuiti di ingresso e di uscita, PROFINET integrato, I/O veloci che supportano la
funzione di controllo del movimento e ingressi analogici onboard creando così un potente
controllore. Una volta caricato il programma la CPU contiene la logica necessaria per il
controllo e il comando dei dispositivi utilizzati nell'applicazione. La CPU controlla gli ingressi
e modifica le uscite in base alla logica del programma utente, il quale può comprendere
operazioni booleane, di conteggio e di temporizzazione, operazioni matematiche complesse
e funzioni per la comunicazione con altri dispositivi intelligenti.
La CPU dispone di una porta PROFINET per la comunicazione tramite rete PROFINET.
Sono disponibili moduli aggiuntivi per la comunicazione tramite reti PROFIBUS, GPRS,
RS485 o RS232.

① Connettore di alimentazione
② Slot per la memory card
protetto da un coperchio
③ Morsettiera estraibile per il
cablaggio utente (dietro i
coperchi)
④ LED di stato per gli I/O on-
board
⑤ Connettore PROFINET (in
basso nella CPU)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 23
Presentazione del prodotto
1.1 Introduzione al PLC S7-1200

Numerose funzioni di sicurezza contribuiscono a proteggere l'accesso sia alla CPU che al
programma di comando:
● Ogni CPU è dotata di una protezione mediante password (Pagina 195) per configurare
l'accesso alle rispettive funzioni.
● È possibile utilizzare la "protezione del know-how" (Pagina 197) per nascondere il codice
in un determinato blocco.
● Infine è possibile utilizzare una protezione dalla copia (Pagina 199) per collegare il
proprio programma a una memory card o CPU specifica.

Tabella 1- 1 Confronto tra i modelli di CPU

Caratteristica CPU 1211C CPU 1212C CPU 1214C CPU 1215C CPU 1217C
Dimensioni di ingombro (mm) 90 x 100 x 75 90 x 100 x 75 110 x 100 x 75 130 x 100 x 75 150 x 100 x 75
Memoria utente Lavoro 30 Kbyte 50 Kbyte 75 Kbyte 100 Kbyte 125 Kbyte
Carico 1 Mbyte 1 Mbyte 4 Mbyte 4 Mbyte 4 Mbyte
Ritenzione 10 Kbyte 10 Kbyte 10 Kbyte 10 Kbyte 10 Kbyte
I/O on-board Digitale 6 ingressi/4 8 ingressi/6 14 ingressi/10 14 ingressi/10 14 ingressi/10
locali uscite uscite uscite uscite uscite
Analogico 2 ingressi 2 ingressi 2 ingressi 2 ingressi/2 2 ingressi/2
uscite uscite
Dimensione Ingressi (I) 1024 byte 1024 byte 1024 byte 1024 byte 1024 byte
dell'immagine Uscite (Q) 1024 byte 1024 byte 1024 byte 1024 byte 1024 byte
di processo
Memoria di merker (M) 4096 byte 4096 byte 8192 byte 8192 byte 8192 byte
Ampliamento con modulo di I/O Nessuno 2 8 8 8
(SM)
Signal Board (SB), scheda di 1 1 1 1 1
batteria (BB) o scheda di
comunicazione (CB)
Modulo di comunicazione (CM) 3 3 3 3 3
(ampliamento sul lato sinistro)
Contatori veloci Totale Fino a 6 configurati per l'uso di qualsiasi ingresso integrato o SB
1 MHz -- -- -- -- Ib.2 ... Ib.5
100/180 kHz Ia.0 ... Ia.5 Ia.0 ... Ia.5 Ia.0 ... Ia.5 Ia.0 ... Ia.5 Ia.0 ... Ia.5
30/120 kHz -- Ia.6 ... Ia.7 Ia.6 ... Ib.5 Ia.6 ... Ib.5 Ia.6 ... Ib.1
Uscite di Totale Fino a 4 configurate per l'uso di qualsiasi uscita integrata o SB
impulsi2 1 MHz -- -- -- -- Qa.0 ... Qa.3
100 kHz Qa.0 ... Qa.3 Qa.0 ... Qa.3 Qa.0 ... Qa.3 Qa.0 ... Qa.3 Qa.4 ... Qb.1
20 kHz -- Qa.4 ... Qa.5 Qa.4 ... Qb.1 Qa.4 ... Qb.1 --
Memory card SIMATIC Memory card (opzionale)
Tempo di ritenzione dell'orologio Tip. 20 giorni/min. 12 giorni a 40 gradi C (condensatore ad elevata capacità che non
hardware richiede manutenzione)
PROFINET 1 1 1 2 2
Porta di comunicazione Ethernet

Sistema di automazione S7-1200


24 Manuale di sistema, 03/2014, A5E02486684-AG
Presentazione del prodotto
1.1 Introduzione al PLC S7-1200

Caratteristica CPU 1211C CPU 1212C CPU 1214C CPU 1215C CPU 1217C
Velocità di esecuzione operazioni 2.3 μs/istruzione
matematiche con numeri reali
Velocità di esecuzione operazioni 0,08 μs/istruzione
booleane
1 La velocità più bassa è utilizzabile quando si configura l'HSC per il modo di funzionamento in quadratura.
2 Per i modelli di CPU con uscite relè è necessario installare una Signal Board digitale (SB) per utilizzare le uscite di
impulsi.

I diversi modelli di CPU sono caratterizzati da una vasta gamma di funzioni e potenzialità,
che consentono di realizzare valide soluzioni di automazione per le più diverse applicazioni.
Per maggiori informazioni sulle singole CPU consultare i dati tecnici (Pagina 853).

Tabella 1- 2 Blocchi, temporizzatori e contatori supportati dall'S7-1200

Elemento Descrizione
Blocchi Tipo OB, FB, FC, DB
Dimensione 30 Kbyte (CPU 1211C)
50 Kbyte (CPU 1212C)
64 Kbyte (CPU 1214C, CPU 1215C e CPU 1217C)
Quantità Fino a 1024 blocchi in totale (OB + FB + FC + DB)
Profondità di annidamento 16 dall'OB di ciclo o di avvio del programma;
6 da ogni Ob di evento di allarme
Controllo Lo stato di 2 blocchi di codice può essere controllato
contemporaneamente
OB Ciclo del programma Vari
Avviamento Vari
Allarmi di ritardo 4 (1 per evento)
Schedulazione orologio 4 (1 per evento)
Interrupt di processo 50 (1 per evento)
Allarmi di errore temporale 1
Allarmi di diagnostica 1
Estrazione o inserimento di 1
moduli
Guasto del rack o della 1
stazione
Orologio Vari
Stato 1
Aggiornamento 1
Profilo 1
Temporizzatori Tipo IEC
Quantità Limitata solo dalla dimensione della memoria
Memoria Struttura in DB, 16 byte per temporizzatore
Contatori Tipo IEC
Quantità Limitata solo dalla dimensione della memoria

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 25
Presentazione del prodotto
1.2 Ampliamento delle funzionalità della CPU

Elemento Descrizione
Memoria Struttura in DB, la dimensione dipende dal tipo di contatore
• SInt, USInt: 3 byte
• Int, UInt: 6 byte
• DInt, UDInt: 12 byte

1.2 Ampliamento delle funzionalità della CPU


La serie S7-1200 comprende svariati moduli e schede che consentono di ampliare le
funzionalità della CPU con I/O aggiuntivi o altri protocolli di comunicazione. Per maggiori
informazioni sui singoli moduli consultare i dati tecnici (Pagina 853).

① Modulo di comunicazione (CM) o processore di comunicazione (CP)


② CPU
③ Signal board (SB), scheda di comunicazione (CB) o scheda di batteria (BB)
④ Modulo di I/O (SM)

Sistema di automazione S7-1200


26 Manuale di sistema, 03/2014, A5E02486684-AG
Presentazione del prodotto
1.2 Ampliamento delle funzionalità della CPU

Tabella 1- 3 Moduli di I/O digitali e signal board

Tipo Solo ingresso Solo uscita Combinazione di ingressi/uscite


③ SB digitale • 4 ingressi a 24 V DC, • 4 uscite a 24 V DC, 200 • 2 ingressi a 24 V DC / 2 uscite a 24 V DC
200 kHz kHz • 2 ingressi a 24 V DC / 2 uscite a 24 V DC,
• 4 ingressi a 5 V DC, • 4 uscite a 5 V DC, 200 kHz
200 kHz 200 kHz • 2 ingressi a 5 V DC / 2 uscite a 5 V DC,
200 kHz

④ SM digitale • 8 ingressi a 24 V DC • 8 uscite a 24 V DC • 8 ingressi a 24 V DC / 8 uscite a 24 V DC


• 8 uscite relè • 8 ingressi a 24 V DC / 8 uscite relè
• 8 uscite relè (di • 8 ingressi a 120/230 V AC / 8 uscite relè
scambio)

• 16 ingressi a 24 V DC • 16 uscite a 24 V DC • 16 ingressi a 24 V DC / 16 uscite a 24 V


• 16 uscite relè DC
• 16 ingressi a 24 V DC / 16 uscite relè

Tabella 1- 4 Moduli di I/O analogici e signal board

Tipo Solo ingresso Solo uscita Combinazione di ingressi/uscite


③ SB • 1 ingresso analogico a 12 bit • 1 uscita analogica -
analogica • 1 RTD a 16 bit
• 1 termocoppia a 16 bit

④ SM • 4 ingressi analogici • 2 uscite analogiche • 4 ingressi analogici / 2 uscite


analogico • 4 ingressi analogici a 16 bit • 4 uscite analogiche analogiche

• 8 ingressi analogici
• Termocoppia:
– 4 TC a 16 bit
– 8 TC a 16 bit
• RTD:
– 4 RTD a 16 bit
– 8 RTD a 16 bit

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 27
Presentazione del prodotto
1.2 Ampliamento delle funzionalità della CPU

Tabella 1- 5 Interfacce di comunicazione

Modulo Tipo Descrizione


① Modulo di comunicazione (CM) RS232 Full-duplex
RS422/485 Full-duplex (RS422)
Half-duplex (RS485)
Master PROFIBUS DPV1
Slave PROFIBUS DPV1
Master AS-i (CM 1243-2) AS-Interface
① Processore di comunicazione (CP) Connettività modem GPRS

③ Scheda di comunicazione (CB) RS485 Half-duplex

TeleService1 TS Adapter IE Basic Collegamento con la CPU


TS Adapter GSM GSM/GPRS
TS Adapter modem Modem
TS Adapter ISDN ISDN
TS Adapter RS232 RS232
1 Il TS Adapter IE Basic consente di collegare diverse interfacce di comunicazione alla porta PROFINET della CPU
attraverso un cavo Ethernet. Nel TS Adapter IE Basic si possono installare fino a 3 moduli TS Adapter.

Tabella 1- 6 Moduli tecnologici

Modulo Tipo Descrizione


④ IO-Link SM 1278 4xIO-Link Master Supporta 4 slave IO-Link

Tabella 1- 7 Altre schede

Modulo Descrizione
③ Scheda di batteria Va collegata all'interfaccia per schede di ampliamento sul lato anteriore della
CPU. Consente il backup a lungo termine dell'orologio hardware.

Sistema di automazione S7-1200


28 Manuale di sistema, 03/2014, A5E02486684-AG
Presentazione del prodotto
1.3 Moduli S7-1200

1.3 Moduli S7-1200

Tabella 1- 8 Moduli di ampliamento S7-1200

Tipo di modulo Descrizione


La CPU supporta una scheda di ① LED di stato
ampliamento: dell'SB
• La signal board (SB) fornisce ② Morsettiera
ingressi e uscite supplementari estraibile per il
per la CPU e va collegata sul cablaggio utente
lato anteriore della stessa.
• Una scheda di comunicazione
(CB) consente di aggiungere
un'ulteriore porta di
comunicazione alla CPU.
• Una scheda di batteria (BB)
consente di effettuare il backup
dell'orologio hardware.
I moduli di I/O (SM) consentono di ① LED di stato
ampliare la funzionalità della CPU
e vanno collegati alla sua destra. ② Linguetta
scorrevole per il
• I/O digitali connettore di bus
• I/O analogici
③ Morsettiera
• RTD e termocoppie estraibile per il
cablaggio utente
• SM 1278 IO-Link Master

I moduli di comunicazione (CM) e i ① LED di stato


processori di comunicazione (CP)
ampliano le funzioni di ② Connettore di
comunicazione della CPU, ad es. comunicazione
per la connettività PROFIBUS o
RS232 / RS485 (per PtP, Modbus
o USS) o il master AS-i. Un CP
fornisce funzionalità per altri tipi di
comunicazione, ad es. per
collegare la CPU tramite una rete
GPRS.
• La CPU supporta fino a 3 CM o
CP
• Ogni CM o CP viene collegato
a sinistra della CPU (o di un
altro CM o CP).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 29
Presentazione del prodotto
1.4 Nuove funzioni

1.4 Nuove funzioni


La presente release contiene le seguenti nuove funzioni:
● L'S7-1200 supporta nuovi blocchi organizzativi (OB) (Pagina 85) che presentano
differenze nei livelli di priorità e negli allarmi (Pagina 95).
● Ora il Web server (Pagina 617) supporta la visualizzazione delle pagine Web standard e
di quelle definite dall'utente sia da un dispositivo mobile che da un PC. Le pagine Web
standard sono disponibili con questa release in inglese, tedesco, francese, spagnolo,
italiano e cinese semplificato.
● Ora la funzione "Carica in RUN" (Pagina 828) consente di caricare in RUN venti blocchi
max. È inoltre possibile aggiungere e modificare variabili nei blocchi dati e nei blocchi
funzionali esistenti e caricare in RUNi blocchi dati modificati.
● I tool online e di diagnostica di STEP 7 consentono di eseguire un aggiornamento del
firmware (Pagina 814) di CPU, unità di ingresso/uscita, moduli di comunicazione e signal
board o scheda di comunicazione inserite.
● STEP 7 include una funzione di tracciabilità e di analizzatore logico (Pagina 838)
utilizzabile con le CPU S7-1200 della V4.0. Questa funzione consente di configurare
determinati dati per seguire e registrare quando la CPU soddisfa una condizione di
trigger definita dall'utente. La CPU salva i dati registrati e STEP 7 fornisce gli strumenti
per recuperarli e analizzarli.
● Nuove istruzioni di programmazione:
– Impostazione di una variabile con fronte del segnale: R_TRIG (Pagina 213), F_TRIG
(Pagina 213)
– Scrittura dell'ora locale: WR_LOC_T (Pagina 292)
– Lunghezza massima della stringa: MAX_LEN (Pagina 313)
– Allarmi dell'orologio: SET_TINTL (Pagina 345), CAN_TINT (Pagina 346), ACT_TINT
(Pagina 347), QRY_TINT (Pagina 347)
– Ricette del processo: RecipeExport (Pagina 381), RecipeImport (Pagina 383)
– Gestione degli indirizzi: LOG2GEO (Pagina 412), RD_ADDR (Pagina 414)
– Controllo del movimento: MC_WriteParam (Pagina 491), MC_ReadParam
(Pagina 493)
– Abilitazione / Disabilitazione della password: ENDIS_PW (Pagina 264)
● Miglioramenti di HSC (Pagina 420) per consentire l'assegnazione di qualsiasi ingresso o
uscita di un'istruzione HSC a qualsiasi ingresso digitale integrato e della SB
● Miglioramenti di PTO/PWM (Pagina 494) per consentire l'assegnazione di qualsiasi
ingresso o uscita di un'istruzione PTO/PWM a qualsiasi uscita digitale integrata o dell'SB
● Funzioni della biblioteca (Pagina 182) avanzate, inclusa l'assegnazione del numero di
versione

Sistema di automazione S7-1200


30 Manuale di sistema, 03/2014, A5E02486684-AG
Presentazione del prodotto
1.4 Nuove funzioni

Nuovi moduli per l'S7-1200


Nuovi moduli incrementano la potenza della CPU dell'S7-1200 e forniscono la flessibilità
necessaria per soddisfare le proprie esigenze di automazione:
● Nuova CPU 1217C DC/DC/DC (Pagina 906) con I/O differenziali veloci
● Unità di ingresso/uscita S7-1200 nuove e migliorate. Le nuove unità di ingresso/uscita
(6ES7 2xx-xxx32-0XB0) sostituiscono quelle esistenti (6ES7 2xx-xxx30-0XB0). I nuovi
moduli dispongono di:
– Unità di ingressi e uscite analogici ora con segnale campo 4-20 mA
– Unità di ingressi analogici ora con rilevamento della rottura conduttore durante
l'utilizzo nel campo 4-20 mA
– Moduli con uscite relè ora con codifica dei connettori per prevenire gli errori durante il
collegamento dei connettori del cablaggio di campo
– Compatibilità delle parti di ricambio: i moduli rielaborati possono essere utilizzati al
posto dei moduli esistenti senza apportare modifiche.
● Nuove parti di ricambio (Pagina 1023) disponibili per essere utilizzate con le CPU dell'S7-
1200
● Nuovo simulatore di ingresso della CPU 1217C (Pagina 1009) (6ES7 274-1XK30-0XA0)
● Il nuovo SM 1278 4xIO-Link Master (Pagina 839) (6ES7 278-4BD32-0XB0) fuziona sia
come unità di ingresso/uscita che come modulo di comunicazione e consente di collegare
fino a 4 slave IO-Link (collegamento a 3 fili) o 4 attuatori o encoder standard
● Nuovo modulo di potenziometro S7-1200 (Pagina 1011) (6ES7 274-1XA30-0XA0)
● Il nuovo CM CANopen per S7-1200 (Pagina 1014) è un modulo plug-in che consente di
collegare i dispositivi CANopen al PLC S7-1200. Può essere configurato sia come master
che come slave.

Sostituzione di una CPU V3.0 con una CPU V4.0


In caso di sostituzione di una CPU S7-1200 V3.0 con una CPU S7-1200 V4.0 tenere in
considerazione le differenze (Pagina 1025) documentate tra le due versioni.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 31
Presentazione del prodotto
1.5 HMI Basic Panel

1.5 HMI Basic Panel


I SIMATIC HMI Basic Panel dispongono di schermi a sfioramento per le principali operazioni
di comando e di controllo dell'operatore. Tutti i pannelli presentano un grado di protezione
IP65 e sono dotati di certificazione CE, UL, cULus e NEMA 4x.

HMI Basic Panel Descrizione Dati tecnici


Tastiera a membrana da 3.6" con 10 • 250 variabili
tasti configurabili con feedback tattile
• 50 pagine di processo
• Mono (STN, bianco/nero)
• 200 allarmi
KP 300 Basic PN • 87 mm x 31 mm (3.6")
• 25 curve
• Colore di retroilluminazione
• 40 KB di memoria ricette
programmato (bianco, verde, giallo
o rosso) • 5 ricette, 20 record di dati, 20 voci

• Risoluzione: 240 x 80
Schermo a sfioramento da 4" + 4 tasti • 250 variabili
con feedback tattile
• 50 pagine di processo
• Mono (STN, scala di grigi)
• 200 allarmi
• 76,79 mm x 57,59 mm (3,8")
• 25 curve
Ritratto o paesaggio
KTP 400 Basic PN • 40 KB di memoria ricette
• Risoluzione: 320 x 240
• 5 ricette, 20 record di dati, 20 voci
Schermo a sfioramento 6" + 6 tasti con • 500 variabili
feedback tattile
• 50 pagine di processo
• Colore (TFT, 256 colori) o mono
• 200 allarmi
(STN, scala di grigi)
• 25 curve
• 115.2 mm x 86.4 mm (5.7")
Ritratto o paesaggio • 40 KB di memoria ricette

• Risoluzione: 320 x 240 • 5 ricette, 20 record di dati, 20 voci


KTP 600 Basic PN

Sistema di automazione S7-1200


32 Manuale di sistema, 03/2014, A5E02486684-AG
Presentazione del prodotto
1.5 HMI Basic Panel

HMI Basic Panel Descrizione Dati tecnici


Schermo a sfioramento 10" + 8 tasti • 500 variabili
con feedback tattile
• 50 pagine di processo
• Colore (TFT, 256 colori)
• 200 allarmi
• 211,2 mm x 158,4 mm (10,4")
• 25 curve
• Risoluzione: 640 x 480
• 40 KB di memoria ricette
• 5 ricette, 20 record di dati, 20 voci

KTP 1000 Basic PN


Schermo a sfioramento 15" • 500 variabili
• Colore (TFT, 256 colori) • 50 pagine di processo
• 304,1 mm x 228,1 mm (15,1") • 200 allarmi
• Risoluzione: 1024 x 768 • 25 curve
• 40 KB di memoria ricette (flash
integrata)
• 5 ricette, 20 record di dati, 20 voci
TP 1500 Basic PN

Vedere anche
Servizio clienti (http://www.siemens.com/automation/)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 33
Presentazione del prodotto
1.5 HMI Basic Panel

Sistema di automazione S7-1200


34 Manuale di sistema, 03/2014, A5E02486684-AG
Software di programmazione STEP 7 2
STEP 7 mette a disposizione un ambiente intuitivo in cui sviluppare, modificare e controllare
la logica per il comando della propria applicazione, compresi gli strumenti necessari per
gestire e configurare i dispositivi del progetto, quali controllori e HMI. STEP 7 fornisce una
Guida in linea molto ampia che facilita la ricerca delle informazioni.
STEP 7 mette a disposizione linguaggi di programmazione standard che consentono di
sviluppare il programma di comando in modo pratico ed efficiente.
● KOP (schema a contatti) (Pagina 184) è un linguaggio di programmazione grafico che
consente di rappresentare il programma sotto forma di circuiti elettrici.
● FUP (schema logico) (Pagina 185) è un linguaggio di programmazione basato sui simboli
grafici dell'algebra booleana.
● SCL (structured control language) (Pagina 186) è un linguaggio di programmazione
evoluto basato sul testo.
Quando si crea un blocco di codice si deve selezionare il linguaggio di programmazione che
il blocco utilizzerà. Il programma utente è in grado di utilizzare blocchi di codice creati in uno
o tutti i linguaggi di programmazione.

Nota
STEP 7 è il componente software del portale TIA dedicato alla programmazione e la
configurazione. Oltre a STEP 7 il portale TIA comprende WinCC che consente di progettare
ed eseguire la visualizzazione del processo in runtime e la Guida in linea di WinCC e
STEP 7.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 35
Software di programmazione STEP 7
2.1 Requisiti del sistema

2.1 Requisiti del sistema


Per installare STEP 7 è necessario effettuare il login con i diritti di amministratore.

Tabella 2- 1 Requisiti del sistema

Hardware/software Requisiti
Tipo di processore Pentium M, 1.6 GHz o simile:
RAM 1 GB
Spazio disponibile sull'hard disk 2 GB sul drive di sistema C:\
Sistemi operativi • Windows 7 Home Premium o superiore (solo per STEP 7
Basic, non è supportato da STEP 7 Professional)
• Windows 7 o superiore (Professional, Enterprise, Ultimate)
Scheda grafica 32 MB RAM
Profondità di colore di 24 bit
Risoluzione schermo 1024 x 768
Rete Ethernet 20 Mbit/s o più veloce
Drive ottico DVD-ROM

Sistema di automazione S7-1200


36 Manuale di sistema, 03/2014, A5E02486684-AG
Software di programmazione STEP 7
2.2 Diverse viste per facilitare il lavoro

2.2 Diverse viste per facilitare il lavoro


STEP 7 mette a disposizione un ambiente di facile utilizzo per lo sviluppo della logica dei
controllori, la configurazione della visualizzazione HMI e l'impostazione della comunicazione
di rete. STEP 7 offre due diverse viste del progetto che consentono di lavorare in modo più
efficiente: un set di portali orientati al task e organizzati in base alla funzione degli strumenti
(vista portale) e una vista degli elementi orientata al progetto (vista progetto). L'utente ha la
possibilità di scegliere quale delle due viste utilizzare per operare in modo più efficiente. Per
passare da una vista all'altra basta un clic con il mouse.

Vista portale
① Portali per diversi task
② Task del portale selezionato
③ Pannello dell'azione selezionata
④ Passa alla vista progetto

Vista progetto
① Menu e barra degli strumenti
② Navigazione di progetto
③ Area di lavoro
④ Task card
⑤ Finestra di ispezione
⑥ Passa alla vista portale
⑦ Barra degli editor

La possibilità di visualizzare tutti i componenti insieme consente di accedere facilmente a


tutti gli aspetti del progetto. Ad es. la finestra di ispezione visualizza le proprietà e le
informazioni relative all'oggetto selezionato nell'area di lavoro. Se vengono selezionati più
oggetti, la finestra di ispezione visualizza le proprietà che possono essere configurate.
Questa finestra contiene inoltre delle schede che consentono di visualizzare le informazioni
di diagnostica e altri messaggi.
La barra degli editor aiuta a rendere il lavoro più rapido ed efficiente in quanto mostra tutti gli
editor aperti. Per passare da un editor all'altro basta un clic sul rispettivo editor. È anche
possibile visualizzare contemporaneamente due editor, disponendoli in senso verticale o
orizzontale. Questa funzione permette di trascinare elementi da un editor all'altro.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 37
Software di programmazione STEP 7
2.3 Strumenti di facile utilizzo

2.3 Strumenti di facile utilizzo

2.3.1 Inserimento delle istruzioni nel programma utente

STEP 7 mette e disposizione delle task card contenenti le istruzioni


per il proprio programma. Queste istruzioni sono raggruppate in
base alla funzione.

Per creare un programma trascinare le istruzioni dalla task card su


un segmento.

2.3.2 Accesso alle istruzioni dalla barra degli strumenti "Preferiti"

STEP 7 mette a disposizione la barra degli strumenti "Preferiti" che permette all'utente di
accedere rapidamente alle istruzioni utilizzate di frequente. Per inserire l'istruzione nel
proprio segmento basta un clic sulla relativa icona!
(Per i "Preferiti" nell'albero delle istruzioni cliccare
due volte sull'icona.)

È possibile personalizzare i
"Preferiti" con estrema facilità
aggiungendo nuove istruzioni.
A tale scopo è sufficiente
trascinare l'istruzione nei
"Preferiti".
L'istruzione è ora a portata di clic!

Sistema di automazione S7-1200


38 Manuale di sistema, 03/2014, A5E02486684-AG
Software di programmazione STEP 7
2.3 Strumenti di facile utilizzo

2.3.3 Creazione di un'espressione complessa utilizzando un'istruzione semplice

L'istruzione Calculate permette di creare una funzione matematica che agisce su più
parametri di ingresso per generare il risultato, in base all'espressione definita.
Nell'albero delle istruzioni Basic ingrandire la cartella delle
funzioni matematiche. Fare doppio clic sull'istruzione
Calculate per inserire l'istruzione nel programma utente.

L'istruzione Calculate non


configurata dispone di due
parametri di ingresso e di uno di
uscita.

Fare clic su "???" e selezionare i tipi di dati per i parametri di ingresso


e di uscita. (I parametri di ingresso e di uscita devono avere lo stesso
tipo di dati).
Per questo esempio selezionare il tipo di dati "Real".

Per inserire l'espressione fare clic sul simbolo "Modifica espressione".

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 39
Software di programmazione STEP 7
2.3 Strumenti di facile utilizzo

Per questo esempio inserire la seguente espressione per scalare un valore analogico
grezzo. (Le denominazioni "In" e "Out" corrispondono ai parametri dell'istruzione Calcola.)
Out value = ((Out high - Out low) / (In high - In low)) * (In value - In low) + Out low
Out = ((in4 - in5) / (in2 - in3)) * (in1 - in3) + in5
Dove: Out value (Out) Valore di uscita in scala
In value (in1) Valore di ingresso analogico
In high (in2) Limite superiore per il valore di ingresso in scala
In low (in3) Limite inferiore per il valore di ingresso in scala
Out high (in4) Limite superiore per il valore di uscita in scala
Out low (in5) Limite inferiore per il valore di uscita in scala
Nel box "Modifica l'istruzione Calcola" inserire l'espressione con i nomi dei parametri:
OUT = ((in4 - in5) / (in2 - in3)) * (in1 - in3) + in5

Facendo clic su "OK" l'istruzione


Calcola crea gli ingressi richiesti per
l'istruzione.

Inserire i nomi delle variabili per i


valori che corrispondono ai
parametri.

Sistema di automazione S7-1200


40 Manuale di sistema, 03/2014, A5E02486684-AG
Software di programmazione STEP 7
2.3 Strumenti di facile utilizzo

2.3.4 Inserimento di ingressi o uscite in un'istruzione KOP e FUP

Alcune istruzioni consentono di creare ingressi e uscite aggiuntivi.

● Per aggiungere un ingresso o un'uscita fare clic su "Crea" oppure fare clic con il tasto
destro del mouse sul connettore dell'ingresso di uno dei parametri IN o OUT disponibili e
selezionare il comando "Inserisci ingresso".
● Per eliminare un ingresso o un'uscita fare clic con il tasto destro del mouse sul connettore
dell'ingresso di uno dei parametri IN o OUT disponibili (se sono presenti più ingressi oltre
ai due originali) e selezionare il comando "Cancella".

2.3.5 Istruzioni espandibili

Alcune delle istruzioni più complesse visualizzano solo gli ingressi e le uscite principali e
possono essere espanse. Per visualizzare tutti gli ingressi e le uscite fare clic sulla freccia
nella parte inferiore dell'istruzione.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 41
Software di programmazione STEP 7
2.3 Strumenti di facile utilizzo

2.3.6 Selezione della versione di un'istruzione


I cicli di sviluppo e rilascio di determinati set di istruzioni (come Modbus, PID e di controllo
del movimento) hanno creato numerose versioni rilasciate per queste istruzioni. Per
garantire la compatibilità e permettere di effettuare la migrazione di progetti meno recenti,
STEP 7 offre la possibilità di scegliere la versione dell'istruzione da utilizzare nel programma
utente.

Per attivare le intestazioni e le colonne dell'albero delle


istruzioni fare clic sul relativo simbolo nella task card.

Per cambiare la versione dell'istruzione selezionare la


versione desiderata dall'elenco a discesa.

2.3.7 Modifica dell'aspetto e della configurazione di STEP 7

Sono disponibili numerose


impostazioni, ad es. l'aspetto
dell'interfaccia, la lingua oppure la
cartella in cui salvare il lavoro.
Per modificare queste impostazioni
selezionare il comando "Impostazioni"
dal menu "Strumenti".

Sistema di automazione S7-1200


42 Manuale di sistema, 03/2014, A5E02486684-AG
Software di programmazione STEP 7
2.3 Strumenti di facile utilizzo

2.3.8 Trascinamento da un editor all'altro

Per rendere l'esecuzione dei task rapida e


facile, STEP 7 permette di trascinare gli
elementi da un editor all'altro. Ad es. è
possibile trascinare un ingresso dalla CPU
all'indirizzo di un'istruzione nel programma
utente.
Per selezionare gli ingressi o le uscite della
CPU occorre impostare lo zoom almeno al
200%.
Tenere presente che i nomi delle variabili sono
visualizzati non solo nella tabella delle variabili
PLC ma anche sulla CPU.

Per visualizzare due editor


contemporaneamente utilizzare i comandi del
menu "Dividi editor" o i relativi pulsanti nella
barra degli strumenti.

Per passare da un editor all'altro tra quelli aperti, cliccare nelle relative icone nella barra degli
editor.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 43
Software di programmazione STEP 7
2.3 Strumenti di facile utilizzo

2.3.9 Modifica del modo di funzionamento della CPU


La CPU non dispone di un interruttore fisico per la commutazione del modo di
funzionamento (STOP o RUN).

Per modificare il modo di funzionamento della CPU fare clic sui pulsanti "Avvia
CPU" e "Arresta CPU" nella barra degli strumenti.
Quando si configura la CPU nella Configurazione dispositivi si configura ilcomportamento di
avviamento nelle proprietà della CPU.
Il portale "Online & Diagnostica" mette a disposizione anche un pannello operatore per la
commutazione del modo di funzionamento della CPU online. Per utilizzare il pannello
operatore CPU è necessario essere collegati online alla CPU. La task card "Tool Online"
visualizza un pannello operatore che mostra lo stato di funzionamento della CPU online. Il
pannello operatore permette inoltre di modificare lo stato di funzionamento della CPU online.

Per commutare lo stato di funzionamento (STOP o RUN) utilizzare il


relativo pulsante sul pannello operatore. Il pannello è dotato anche di un
pulsante MRES per il ripristino della memoria.

Il colore dell'indicatore RUN/STOP mostra lo stato di funzionamento attuale della CPU. Il


giallo indica lo stato STOP, il verde lo stato RUN.
Per informazioni su come configurare il modo operativo di default all'accensione consultare
Modi operativi della CPU nel manuale di sistema S7-1200 (Pagina 81).

Sistema di automazione S7-1200


44 Manuale di sistema, 03/2014, A5E02486684-AG
Software di programmazione STEP 7
2.3 Strumenti di facile utilizzo

2.3.10 Modifica del tipo di richiamo per un DB

STEP 7 consente di definire o modificare facilmente


l'associazione di un DB ad un'instruzione o un FB che è
un FB.
• È possibile commutare l'assegnazione tra diversi DB.
• È possibile commutare l'assegnazione tra un DB di
istanza singola e un DB di multiistanza.
• È possibile creare un DB di istanza (se un DB di
istanza manca o non è disponibile).
È possibile accedere al comando "Modifica tipo di
richiamo" facendo clic con il tasto destro del mouse
sull'istruzione o sull'FB nell'editor di programma oppure
selezionando il comando "Richiamo del blocco" dal menu
"Opzioni".

La finestra di dialogo "Opzioni di


richiamo" permette di
selezionare un DB di istanza
singola o di multiistanza. È
anche possibile selezionare DB
specifici da un elenco a discesa
contenente i DB disponibili.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 45
Software di programmazione STEP 7
2.3 Strumenti di facile utilizzo

2.3.11 Disconnessione temporanea di dispositivi da una rete


I singoli dispositivi di rete possono essere disconnessi dalla sottorete. Poiché la
configurazione del dispositivo non viene eliminata dal progetto, è possibile ripristinare
facilmente il collegamento al dispositivo.

Fare clic con il tasto destro del mouse sulla


porta dell'interfaccia sul dispositivo di rete e
selezionare il comando "Interrompi il
collegamento alla sottorete" nel menu di
scelta rapida.

STEP 7 riconfigura i collegamenti di rete ma non elimina dal progetto il dispositivo


scollegato. Durante l'interruzione del collegamento di rete gli indirizzi dell'interfaccia non
cambiano.

Quando si caricano i nuovi collegamenti di rete la CPU deve essere impostata su STOP.
Per ricollegare il dispositivo è sufficiente creare un nuovo collegamento di rete alla porta del
dispositivo.

Sistema di automazione S7-1200


46 Manuale di sistema, 03/2014, A5E02486684-AG
Software di programmazione STEP 7
2.3 Strumenti di facile utilizzo

2.3.12 Disinserimento virtuale di dispositivi dalla configurazione

STEP 7 mette a disposizione un'area di


memoria per le unità non inserite. Per
salvare la configurazione di un'unità è
possibile trascinarla dal telaio di
montaggio. Le unità non inserite vengono
salvate nel progetto e possono essere
reinserite in futuro senza dover
riconfigurarne i parametri.
Questa funzione viene ad es. utilizzata per
la manutenzione temporanea.
Immaginiamo di dover sostituire un'unità e
di utilizzarne temporaneamente un'altra. È
possibile trascinare l'unità configurata dal
telaio di montaggio nelle "Unità non
inserite" e inserire quindi l'unità
temporanea.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 47
Software di programmazione STEP 7
2.3 Strumenti di facile utilizzo

Sistema di automazione S7-1200


48 Manuale di sistema, 03/2014, A5E02486684-AG
Montaggio 3
3.1 Istruzioni per l'installazione dei dispositivi S7-1200
I dispositivi S7-1200 sono estremamente semplici da installare. Possono essere montati su
un pannello o una guida DIN standard e orientati sia in senso orizzontale che verticale. Le
ridotte dimensioni dell'S7-1200 permettono inoltre un uso più razionale dello spazio.

AVVERTENZA
Requisiti di installazione per i PLC S7-1200
I PLC SIMATIC S7-1200 sono controllori di tipo aperto. Devono essere installati in una
custodia, un armadio o una sala di controllo il cui accesso sia consentito esclusivamente al
personale autorizzato.
Il mancato rispetto di questi requisiti di installazione può causare la morte o gravi lesioni
alle persone e/o danni alle cose.
In fase di installazione dei PLC S7-1200 rispettare sempre i requisiti qui descritti.

Isolare i dispositivi S7-1200 dal calore, dall’alta tensione e dal rumore elettrico.
Una regola generale a cui attenersi durante il montaggio è quella di separare i dispositivi che
generano alta tensione e un elevato rumore elettrico dai dispositivi logici che funzionano con
basse tensioni, quali l’S7-1200.
Quando si configura la disposizione dell’S7-1200 nel pannello è bene individuare i dispositivi
che emettono calore e dislocare quelli elettronici nelle zone meno calde dell’armadio.
Riducendo l'esposizione alle alte temperature si garantisce una maggiore durata dei
dispositivi elettronici.
Va inoltre considerata la disposizione dei conduttori dei dispositivi nel pannello. È importante
non disporre i conduttori di segnale a bassa tensione e i cavi di comunicazione assieme ai
conduttori di potenza AC e ai conduttori DC ad alta corrente e a commutazione rapida.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 49
Montaggio
3.1 Istruzioni per l'installazione dei dispositivi S7-1200

Prevedere uno spazio libero adeguato per il raffreddamento e il cablaggio


I dispositivi S7-1200 sono stati progettati per il raffreddamento a convezione naturale. Per
garantire un raffreddamento corretto è necessario lasciare uno spazio libero di almeno 25
mm sia sopra che sotto i dispositivi. Lasciare inoltre almeno 25 mm di spazio libero tra il lato
anteriore dei moduli e l'interno della custodia.

CAUTELA
La temperatura ambiente massima consentita per il montaggio verticale è inferiore di 10
°C.
Per orientare un sistema S7-1200 montato verticalmente procedere come indicato nella
seguente figura.
Accertarsi che il sistema S7-1200 sia montato correttamente.

Quando si progetta la disposizione del sistema S7-1200 si deve prevedere uno spazio libero
sufficiente per il cablaggio e il collegamento dei cavi di comunicazione.

① Vista laterale ③ Montaggio verticale


② Montaggio orizzontale ④ Spazio libero

Sistema di automazione S7-1200


50 Manuale di sistema, 03/2014, A5E02486684-AG
Montaggio
3.2 Budget di potenza

3.2 Budget di potenza


La CPU dispone di un alimentatore integrato che provvede ad alimentare la CPU, i moduli di
I/O, le signal board, gli altri moduli di comunicazione e le altre utenze che richiedono
un'alimentazione a 24 V DC.
Per maggiori informazioni sul budget di potenza di 5 V DC fornito dalla CPU e richiesto dai
moduli di I/O, dalle signal board e dai moduli di comunicazione consultare i dati tecnici
(Pagina 853). Per determinare quanta potenza (o corrente) la CPU è in grado di erogare alla
configurazione progettata consultare "Calcolo del budget di potenza" (Pagina 1015).
La CPU dispone inoltre di un’alimentazione per sensori di 24 V DC che fornisce una
tensione continua a 24 V DC agli ingressi, alla bobina a relè di potenza dei moduli di I/O o ad
altri dispositivi. Se la potenza di 24 V DC richiesta è superiore a quella fornita
dall’alimentazione per sensori è necessario aggiungere al sistema un'unità di alimentazione
esterna da 24 V DC. Per maggiori informazioni sul budget di potenza per sensori a 24 V DC
della CPU utilizzata consultare i dati tecnici (Pagina 853).

Nota
Il CM 1243-5 (modulo master PROFIBUS) richiede l'alimentazione dal sensore a 24 V DC
della CPU.

Se si utilizza un'unità di alimentazione esterna da 24 V DC, accertarsi che non sia collegata
in parallelo all’alimentazione per sensori della CPU. Per migliorare la protezione dal rumore
elettrico si consiglia di collegare il polo comune (M) dei diversi alimentatori.

AVVERTENZA
Se si collega un alimentatore esterno a 24 V DC in parallelo all'alimentazione per sensori a
24 V DC, può verificarsi un conflitto tra le due alimentazioni che cercheranno di imporre il
proprio livello di tensione di uscita preferenziale.
Ne potrebbero derivare una riduzione della durata o il guasto immediato di uno o entrambi
gli alimentatori, con conseguente funzionamento imprevedibile del sistema. Ciò può
causare la morte o gravi lesioni alle persone e/o danni alle cose.
L’alimentazione per sensori DC e le unità di alimentazione esterna devono alimentare I/O
diversi.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 51
Montaggio
3.2 Budget di potenza

Alcune porte di ingresso dell'alimentazione a 24 V DC del sistema S7-1200 sono


interconnesse, ovvero un circuito logico comune collega tra loro più morsetti M. Sono
interconnessi, ad esempio, i seguenti circuiti, se contrassegnati come "non isolati" nelle
schede tecniche: l'alimentazione a 24 V DC della CPU, l'ingresso di alimentazione della
bobina del relè di un SM o di un ingresso non isolato. Tutti i morsetti M non isolati devono
essere collegati allo stesso potenziale di riferimento esterno.

AVVERTENZA
Se si collegano i morsetti M non isolati a potenziali di riferimento diversi si formano flussi di
corrente indesiderati che possono danneggiare il PLC e le apparecchiature a cui è
collegato o farli funzionare in modo imprevedibile.
Il mancato rispetto di queste istruzioni può provocare danni o un funzionamento imprevisto
e causare la morte o gravi lesioni alle persone e/o danni alle cose.
È quindi importante accertarsi che i morsetti M non isolati del sistema S7-1200 siano
collegati allo stesso potenziale di riferimento.

Sistema di automazione S7-1200


52 Manuale di sistema, 03/2014, A5E02486684-AG
Montaggio
3.3 Procedimenti di installazione e disinstallazione

3.3 Procedimenti di installazione e disinstallazione

3.3.1 Quote di montaggio dei dispositivi S7-1200

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 53
Montaggio
3.3 Procedimenti di installazione e disinstallazione

Tabella 3- 1 Quote di montaggio (mm)

Dispositivi S7-1200 Larghezza A Larghezza B Larghezza C


(mm) (mm) (mm)
CPU CPU 1211C e CPU 1212C 90 45 --
CPU 1214C 110 55 --
CPU 1215C 130 65 (parte Parte inferiore:
superiore) C1: 32.5
C2: 65
C3: 32.5
CPU 1212C 150 75 Parte inferiore:
C1: 37.5
C2: 75
C3: 37.5
Moduli di I/O 8 e 16 I/O digitali 45 22.5 --
2, 4 e 8 I/O analogici
4 e 8 I/O termocoppia
4 I/O RTD
SM 1278 IO-Link Master
8 uscite digitali x relè (di scambio) 70 35 --
16 I/O analogici 70 35 --
8 I/O RTD
Interfacce di CM 1241 RS232 e 30 15 --
comunicazione CM 1241 RS422/485
Master PROFIBUS CM 1243-5 e
slave PROFIBUS CM 1242-5
CM 1242-2 master AS-i
CP 1242-7 GPRS
TS (Teleservice) Adapter IE Basic1
TS Adapter 30 15 --
Modulo TS 30 15 --

1 Prima di installare il TS (Teleservice) Adapter IE Basic si devono collegare il TS Adapter e un modulo TS. La larghezza
complessiva ("larghezza A") è di 60 mm.

Ogni CPU, SM, CM e CP supporta il montaggio su una guida DIN o su un panello. Per
fissare il dispositivo alla guida DIN si utilizzano gli appositi ganci. Questi possono essere
anche estratti e impiegati come punti di fissaggio delle viti per montare l'unità direttamente
sul pannello. Il foro per i ganci DIN sul dispositivo ha una dimensione interna di 4,3 mm.
È necessario prevedere una zona termica di 25 mm sopra e sotto l'unità per consentire il
passaggio dell'aria.

Sistema di automazione S7-1200


54 Manuale di sistema, 03/2014, A5E02486684-AG
Montaggio
3.3 Procedimenti di installazione e disinstallazione

Montaggio e smontaggio dei dispositivi S7-1200


La CPU può essere montata in modo estremamente semplice su una guida DIN standard o
un pannello. Il dispositivo dispone di ganci per il fissaggio alla guida DIN che possono
essere anche estratti e impiegati come punti di fissaggio delle viti per montare l'unità sul
pannello.

① Montaggio su guida DIN ③ Montaggio su pannello


② Gancio per guida DIN in posizione di ④ Gancio estratto per il montaggio su pannello
bloccaggio

Prima di installare o disinstallare dei dispositivi elettrici accertarsi che siano spenti.
Controllare inoltre che sia stata disinserita l'alimentazione dalle eventuali apparecchiature
collegate.

AVVERTENZA
Il montaggio o lo smontaggio dell'S7-1200 e delle relative apparecchiature in presenza di
alimentazione può provocare scosse elettriche o il funzionamento imprevisto delle
apparecchiature.
La mancata disinserzione dell'alimentazione dall’S7-1200 e da tutte le apparecchiature
collegate durante il montaggio o lo smontaggio può provocare la morte o gravi lesioni alle
persone e/o danni alle cose a causa di scosse elettriche o del funzionamento imprevisto
delle apparecchiature.
Attenersi sempre alle norme di sicurezza e accertarsi che l'S7-1200 sia isolata
dall'alimentazione prima di installare o disinstallare le CPU S7-1200 o le apparecchiature
collegate.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 55
Montaggio
3.3 Procedimenti di installazione e disinstallazione

Quando si sostituisce o si monta un S7-1200 accertarsi di aver scelto il tipo di modulo


corretto o un dispositivo equivalente.

AVVERTENZA
Il montaggio errato di un'unità S7-1200 può determinare un funzionamento anomalo del
programma dell'S7-1200.
La sostituzione di un dispositivo S7-1200 con un modello diverso o il suo errato
posizionamento possono causare la morte, gravi lesioni personali e/o danni alle
apparecchiature a causa del funzionamento imprevisto delle stesse.
Sostituire l'S7-1200 con un dispositivo dello stesso modello e accertarsi di averlo collocato
nella posizione corretta.

AVVERTENZA
Non scollegare l'apparecchiatura in presenza di un'atmosfera infiammabile o esplosiva.
Lo scollegamento dell'apparecchiatura in un'atmosfera infiammabile o esplosiva può
provocare incendi o esplosioni che potrebbero causare la morte o gravi lesioni al personale
e/o danni alle cose.
In presenza di un'atmosfera infiammabile o esplosiva attenersi sempre alle norme di
sicurezza.

Nota
Le scariche elettrostatiche possono danneggiare il dispositivo o il relativo alloggiamento
nella CPU.
Quando lo si maneggia, si deve toccare una superficie metallica messa a terra e/o indossare
una fascetta di messa a terra.

3.3.2 Montaggio e smontaggio della CPU


La CPU può essere montata su un pannello o una guida DIN.

Nota
Collegare i moduli di comunicazione alla CPU e montare l'intero gruppo di elementi come si
trattasse di un'unica unità. Montare i moduli di I/O separatamente, dopo aver installato la
CPU.

Per il montaggio delle unità sulla guida DIN o su pannello tenere presente quanto segue:
● Per il montaggio sulla guida DIN accertarsi che, sia nella CPU che nei CM collegati, il
gancio superiore sia bloccato (in posizione rientrata) e quello inferiore estratto.
● Una volta montati i dispositivi sulla guida DIN fissarli spingendo i ganci inferiori in
posizione di bloccaggio.
● Per il montaggio su pannello verificare che i ganci siano estratti.

Sistema di automazione S7-1200


56 Manuale di sistema, 03/2014, A5E02486684-AG
Montaggio
3.3 Procedimenti di installazione e disinstallazione

Per montare la CPU su un pannello procedere nel seguente modo:


1. Praticare e filettare i fori di montaggio (M4) rispettando le quote indicate nella tabella
Quote di montaggio (mm) (Pagina 53).
2. Accertarsi che la CPU e tutte le apparecchiature S7-1200 siano scollegate
dall'alimentazione elettrica.
3. Estrarre dal modulo i ganci di montaggio. Accertarsi di aver estratto tutti i ganci per la
guida DIN, sia quelli sopra che quelli sotto la CPU.
4. Fissare il modulo al pannello mediante una vite a testa cilindrica M4 con molla e rondella
piatta. Non utilizzare una vite a testa piatta.

Nota
Il tipo di vite sarà determinato dal materiale su cui si effettua il montaggio. Applicare la
coppia necessaria fino a quando la rondella a molla si appiattisce. Evitare di applicare
una coppia eccessiva sulle viti di montaggio. Non utilizzare una vite a testa piatta.

Nota
Se si installa la CPU in un ambiente soggetto a forti vibrazioni o in posizione verticale è
consigliabile fissare la guida DIN con gli appositi arresti. Per accertarsi che i moduli
restino collegati applicare alla guida DIN una staffa terminale (8WA1 808 or 8WA1 805).
Se il sistema si trova in un ambiente soggetto a forti vibrazioni, il montaggio della CPU su
pannello garantirà una maggiore protezione.

Tabella 3- 2 Montaggio della CPU su una guida DIN

Task Procedimento
1. Montare la guida DIN. Fissare la guida al pannello di montaggio ogni 75 mm.
2. Accertarsi che la CPU e tutte le apparecchiature S7-1200 siano scollegate
dall'alimentazione elettrica.
3. Agganciare la CPU sopra la guida DIN.
4. Estrarre il gancio per la guida DIN sotto la CPU in modo che questa possa
adattarsi alla guida.
5. Ruotare la CPU verso il basso per posizionarla sulla guida.
6. Premere i ganci in modo da bloccare la CPU alla guida.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 57
Montaggio
3.3 Procedimenti di installazione e disinstallazione

Tabella 3- 3 Smontaggio della CPU da una guida DIN

Task Procedimento
1. Accertarsi che la CPU e tutte le apparecchiature S7-
1200 siano scollegate dall'alimentazione elettrica.
2. Scollegare i morsetti di I/O, i conduttori e i cavi dalla
CPU (Pagina 63).
3. Smontare la CPU e gli eventuali moduli di
comunicazione collegati come fossero un'unica unità.
Tutti i moduli di I/O devono restare montati.
4. Se è stato collegato un SM alla CPU, disinserire il
connettore di bus:
– Inserire un cacciavite a lato della linguetta posta
sopra il modulo di I/O.
– Premere verso il basso per sganciare il connettore
dalla CPU.
– Far scorrere la linguetta completamente verso
destra.
5. Smontare la CPU:
– Estrarre il gancio per la guida DIN in modo da
sbloccare la CPU dalla guida.
– Ruotare la CPU verso l'alto e sganciarla dalla guida,
quindi smontarla dal sistema.

3.3.3 Montaggio e smontaggio di un'SB, una CB o una BB

Tabella 3- 4 Montaggio di SB, CB o BB 1297

Task Procedimento
1. Accertarsi che la CPU e tutte le apparecchiature S7-1200 siano
scollegate dall'alimentazione elettrica.
2. Togliere i coperchi della morsettiera superiore e inferiore della CPU.
3. Inserire un cacciavite nell'intaglio dietro il coperchio posto sopra la
CPU.
4. Far leva con delicatezza sul coperchio e toglierlo dalla CPU.
5. Inserire il modulo nella sua sede di montaggio sopra la CPU.
6. Premere con forza il modulo finché non scatta in posizione.
7. Rimontare i coperchi delle morsettiere.

Sistema di automazione S7-1200


58 Manuale di sistema, 03/2014, A5E02486684-AG
Montaggio
3.3 Procedimenti di installazione e disinstallazione

Tabella 3- 5 Rimozione di SB, CB o BB 1297

Task Procedimento
1. Accertarsi che la CPU e tutte le apparecchiature S7-1200 siano
scollegate dall'alimentazione elettrica.
2. Togliere i coperchi della morsettiera superiore e inferiore della CPU.
3. Inserire un cacciavite nell'intaglio posto sopra l'unità.
4. Far leva con delicatezza sul modulo per sganciarlo dalla CPU.
5. Estrarre il modulo dalla sua sede di montaggio sopra la CPU.
6. Rimontare il coperchio della CPU.
7. Rimontare i coperchi delle morsettiere.

Montaggio o sostituzione della batteria nella scheda di batteria BB 1297


La BB 1297 richiede una batteria di tipo CR1025. La batteria non è compresa nella BB 1297
e deve essere acquistata dall'utente. Per installare o sostituire la batteria procedere nel
modo seguente:
1. Nella BB 1297 installare una nuova batteria con il lato positivo della batteria verso l'alto e
il lato negativo accanto al circuito stampato.
2. La BB 1297 è pronta per essere installata nella CPU. Per l'installazione della BB 1297
seguire le istruzioni per l'installazione fornite in precedenza.
Per sostituire la batteria nella BB 1297:
1. Rimuovere la BB 1297 dalla CPU seguendo le istruzioni per la rimozione fornite in
precedenza.
2. Rimuovere con cura la vecchia batteria utilizzando un piccolo cacciavite. Estrarre la
batteria da sotto il gancio.
3. Installare una nuova batteria CR1025 di sostituzione con il lato positivo della batteria
verso l'alto e il lato negativo accanto al circuito stampato.
4. Reinstallare la scheda di batteria BB 1297 seguendo le istruzioni di installazione fornite in
precedenza.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 59
Montaggio
3.3 Procedimenti di installazione e disinstallazione

3.3.4 Montaggio e smontaggio di un SM

Tabella 3- 6 Montaggio di un SM

Task Procedimento
Gli SM possono essere montati dopo aver installato la CPU.
1. Accertarsi che la CPU e tutte le apparecchiature S7-1200
siano scollegate dall'alimentazione elettrica.
2. Togliere il coperchio del connettore sul lato destro della
CPU:
– Inserire un cacciavite nell'intaglio sopra il coperchio.
– Far leva con delicatezza sul coperchio per toglierlo.
3. Conservarlo per poterlo eventualmente riutilizzare.
Collegare l'SM alla CPU:
1. Collocare l'SM a fianco della CPU.
2. Agganciare l'SM sopra la guida DIN.
3. Estrarre il gancio per la guida DIN posto in basso in modo
che l'SM possa incastrarsi sulla guida.
4. Ruotare l'SM verso il basso in modo da posizionarla a fianco
della CPU e premere il gancio in alto per bloccarla sulla
guida.
Con questa operazione si realizzano i collegamenti sia meccanici che elettrici per
l'SM.
1. Inserire un cacciavite a lato della linguetta posta sopra l'SM.
2. Spingere completamente la linguetta verso sinistra per inserire il connettore di
bus nella CPU.
La stessa procedura consente di installare un modulo di I/O in un modulo I/O.

Sistema di automazione S7-1200


60 Manuale di sistema, 03/2014, A5E02486684-AG
Montaggio
3.3 Procedimenti di installazione e disinstallazione

Tabella 3- 7 Smontaggio di un SM

Task Procedimento
Gli SM possono essere smontati senza dover smontare anche la CPU o altri
eventuali SM.
1. Accertarsi che la CPU e tutte le apparecchiature S7-1200 siano scollegate
dall'alimentazione elettrica.
2. Scollegare i morsetti di I/O e i conduttori dall'SM (Pagina 63).
3. Disinserire il connettore di bus.
– Inserire un cacciavite a lato della linguetta posta sopra l'SM.
– Premere verso il basso per sganciare il connettore dalla CPU.
– Far scorrere la linguetta completamente verso destra.
Se è presente un altro SM sulla destra ripetere le operazioni anche per questo
modulo.

Smontare l'SM:
1. Estrarre il gancio per la guida DIN posto in basso in modo da sganciare l'SM
dalla guida.
2. Ruotare l'SM verso l'alto e toglierla dalla guida. Smontare l'SM dal sistema.
3. Se necessario rimettere il coperchio sul connettore di bus della CPU per evitare
che vi entri della sporcizia.
La stessa procedura consente di disinstallare un modulo di I/O da un modulo I/O.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 61
Montaggio
3.3 Procedimenti di installazione e disinstallazione

3.3.5 Montaggio e smontaggio di un CM o CP


Collegare i moduli di comunicazione alla CPU e montare l'intero gruppo di elementi come si
trattasse di un'unica unità, come illustrato al paragrafo Montaggio e smontaggio della CPU
(Pagina 56).

Tabella 3- 8 Montaggio di un CM o CP

Task Procedura
1. Accertarsi che la CPU e tutte le apparecchiature S7-1200
siano scollegate dall'alimentazione elettrica.
2. Innanzitutto è necessario collegare il CM alla CPU, quindi
si può montare l'intero gruppo di elementi sulla guida DIN
o sul pannello come si trattasse di un'unica unità.
3. Togliere il coperchio del bus dal lato sinistro della CPU:
– Inserire un cacciavite nell'intaglio sopra il coperchio del
bus.
– Far leva con delicatezza sul bordo superiore del
coperchio.
4. Togliere il coperchio del bus. Conservarlo per poterlo
eventualmente riutilizzare.
5. Collegare il CM o CP alla CPU:
– Allineare il connettore di bus e i perni del CM con i fori
della CPU
– Premere le unità una contro l'altra finché i perni
scattano in posizione.
6. Montare la CPU e il CP sulla guida DIN o sul pannello.

Tabella 3- 9 Smontaggio di un CM o CP

Task Procedura
La CPU e i CM possono essere smontati dalla guida DIN o dal pannello come
fossero un'unica unità.
1. Accertarsi che la CPU e tutte le apparecchiature S7-1200 siano scollegate
dall'alimentazione elettrica.
2. Scollegare i morsetti di I/O, tutti i conduttori e i cavi dalla CPU e dai CM.
3. Per il montaggio sulla guida DIN estrarre i ganci inferiori della CPU e dei CM.
4. Smontare la CPU e i CM dalla guida DIN o dal pannello.
5. Afferrare la CPU e i CM tenendoli ben saldi e staccarli.

Sistema di automazione S7-1200


62 Manuale di sistema, 03/2014, A5E02486684-AG
Montaggio
3.3 Procedimenti di installazione e disinstallazione

ATTENZIONE
Separare i moduli senza utilizzare attrezzi.
Non utilizzare attrezzi per separare i moduli perché li si potrebbero danneggiare.

3.3.6 Smontaggio e rimontaggio della morsettiera dell'S7-1200


La CPU, gli SB e gli SM dispongono di una morsettiera estraibile che facilita il collegamento
dei conduttori.

Tabella 3- 10 Smontaggio della morsettiera

Task Procedimento
Preparare il sistema per lo smontaggio della morsettiera disinserendo l'alimentazione dalla
CPU e aprendo il coperchio della morsettiera.
1. Accertarsi che la CPU e tutte le apparecchiature S7-1200 siano scollegate
dall'alimentazione elettrica.
2. Ispezionare il bordo superiore della morsettiera e cercare l'intaglio in cui inserire il
cacciavite.
3. Inserire la lama del cacciavite nell'intaglio.
4. Far leva con delicatezza sul bordo superiore della morsettiera spingendola fuori dalla
CPU. La morsettiera si sgancia con uno scatto.
5. Afferrare la morsettiera ed estrarla dalla CPU.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 63
Montaggio
3.3 Procedimenti di installazione e disinstallazione

Tabella 3- 11 Montaggio della morsettiera

Task Procedimento
Preparare i componenti per il montaggio della morsettiera disinserendo l'alimentazione dalla
CPU e aprendo il coperchio della morsettiera.
1. Accertarsi che la CPU e tutte le apparecchiature S7-1200 siano scollegate
dall'alimentazione elettrica.
2. Allineare la morsettiera ai perni dell'unità.
3. Allineare il lato di cablaggio con il bordo della base della morsettiera.
4. Premere con forza e ruotare la morsettiera fino ad agganciarla in posizione.
Verificare che sia allineata e innestata correttamente.

3.3.7 Montaggio e smontaggio della prolunga


La prolunga dell'S7-1200 garantisce maggiore flessibilità nella configurazione del layout del
proprio sistema S7-1200. Per ogni CPU è ammessa solo una prolunga la quale viene
montata tra la CPU e il primo SM oppure tra due SM.

Tabella 3- 12 Montaggio e smontaggio del connettore maschio della prolunga

Task Procedimento
Per montare il connettore maschio:
1. Accertarsi che la CPU e tutte le apparecchiature S7-1200 siano
scollegate dall'alimentazione elettrica.
2. Inserire il connettore maschio nel connettore di bus sul lato destro
del modulo di I/O o della CPU.
Per smontare il connettore maschio:
1. Accertarsi che la CPU e tutte le apparecchiature S7-1200 siano
scollegate dall'alimentazione elettrica.
2. Estrarre il connettore maschio per liberarlo dal modulo di I/O o dalla
CPU.

Sistema di automazione S7-1200


64 Manuale di sistema, 03/2014, A5E02486684-AG
Montaggio
3.3 Procedimenti di installazione e disinstallazione

Tabella 3- 13 Montaggio del connettore femmina della prolunga

Task Procedimento
1. Accertarsi che la CPU e tutte le apparecchiature
S7-1200 siano scollegate dall'alimentazione
elettrica.
2. Inserire il connettore femmina nel connettore di bus
sul lato sinistro del modulo di I/O.
3. Inserire l'occhiello del connettore femmina nel
connettore di bus del case premendo leggermente
per agganciarlo.
4. Bloccare il connettore in posizione:
– Inserire un cacciavite a lato della linguetta posta
sopra il modulo di I/O.
– Far scorrere completamente la linguetta verso
sinistra.
Per agganciare il connettore occorre far scorrere la
relativa linguetta fino in fondo a sinistra. La linguetta
del connettore deve essere bloccata in posizione.

Tabella 3- 14 Smontaggio del connettore femmina della prolunga

Task Procedimento
1. Accertarsi che la CPU e tutte le apparecchiature S7-
1200 siano scollegate dall'alimentazione elettrica.
2. Sbloccare il connettore:
– Inserire un cacciavite a lato della linguetta posta
sopra il modulo di I/O.
– Premere leggermente la linguetta e farla scorrere
completamente verso destra.
3. Sollevare leggermente il connettore per sganciare
l'occhiello.
4. Smontare il connettore femmina.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 65
Montaggio
3.3 Procedimenti di installazione e disinstallazione

Nota
Installazione del cavo di prolunga in un ambiente soggetto a vibrazioni
Se si collega la prolunga a dei moduli di espansione che si spostano, con il tempo il
connettore maschio e l'aggancio a scatto possono allentarsi.
Fissare il connettore maschio alla guida DIN (o a un altro punto) con una fascetta in modo
da ridurre ulteriormente la tensione sul cavo.
Quando si installa il cavo, evitare di tirarlo. Al termine dell'installazione accertarsi che il
collegamento tra il cavo e il modulo sia posizionato correttamente.

3.3.8 TS (TeleService) adapter

3.3.8.1 Collegamento del TeleService adapter


Prima di installare il TS (TeleService) Adapter IE Basic si devono collegare il TS Adapter e
un modulo TS.
Moduli TS disponibili:
● Modulo TS RS232
● Modulo TS modem
● Modulo TS GSM
● Modulo TS ISDN

Nota
Se si toccano i contatti del connettore ④ del modulo TS il modulo si può danneggiare.
Per evitare di danneggiare il modulo TS con le scariche elettrostatiche attenersi alle direttive
ESD. Prima di collegare il modulo TS e il TS Adapter assicurarsi che entrambi siano
disattivati.

Sistema di automazione S7-1200


66 Manuale di sistema, 03/2014, A5E02486684-AG
Montaggio
3.3 Procedimenti di installazione e disinstallazione

① Modulo TS ④ Connettore sporgente dal modulo TS


② TS Adapter ⑤ Non apribile
③ Elementi ⑥ Porta Ethernet

Nota
Prima di collegare il modulo TS e il TS Adapter accertarsi che i pin di contatto ④ non siano
piegati.
Quando si effettua il collegamento verificare che il connettore maschio e gli elementi guida
siano posizionati correttamente.
Collegare il modulo TS solo al TS Adapter. Non forzare per collegare il TS Adapter a un
dispositivo diverso, ad es. una CPU S7-1200. Non modificare la struttura meccanica e non
rimuovere né danneggiare gli elementi guida.

3.3.8.2 Montaggio della scheda SIM


Individuare lo slot per la scheda SIM sul lato inferiore del TS module GSM.

Nota
La scheda SIM può essere estratta o inserita solo se il TS module GSM è scollegato
dall'alimentazione.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 67
Montaggio
3.3 Procedimenti di installazione e disinstallazione

Tabella 3- 15 Montaggio della scheda SIM

Procedimento Compito
Utilizzare un oggetto appuntito
per premere il pulsante di
espulsione del vassoio della
scheda SIM (nella direzione
indicata dalla freccia) ed
estrarre il vassoio.

Inserire la scheda SIM nel ① TS Module GSM


vassoio (vedi figura) e
ricollocarlo nel rispettivo slot. ② Scheda SIM

③ Vassoio scheda SIM

Nota
Accertarsi che il vassoio della scheda SIM sia orientato nella direzione corretta. In caso
contrario la scheda SIM non fa contatto con il modulo e il pulsante di espulsione potrebbe
non far fuoriuscire il vassoio.

Sistema di automazione S7-1200


68 Manuale di sistema, 03/2014, A5E02486684-AG
Montaggio
3.3 Procedimenti di installazione e disinstallazione

3.3.8.3 Installazione del TS adapter su guida DIN


Presupposti: il TS Adapter e il modulo TS devono essere collegati tra loro e deve essere
stata installata la guida DIN.

Nota
Se si installa l'unità TS verticalmente o in un ambiente con vibrazioni molto forti il modulo
TS potrebbe scollegarsi dal TS Adapter. Per accertarsi che i moduli restino uniti applicare
alla guida DIN la staffa terminale 8WA1 808.

Tabella 3- 16 Montaggio e smontaggio del TS Adapter

Task Procedimento
Montaggio:
1. Agganciare alla guida DIN ② il TS Adapter già collegato al modulo
TS ①.
2. Ruotare l'unità all'indietro finché non scatta in posizione.
3. Fissare i moduli alla guida DIN premendo l'apposito gancio su ciascun
modulo.
Smontaggio:
1. Estrarre il cavo analogico e quello Ethernet dal lato inferiore del TS
Adapter.
2. Scollegare il TS Adapter dall'alimentazione.
3. Sbloccare i due moduli dalla guida con un cacciavite.
4. Ruotare l'unità verso l'alto per sganciarla dalla guida DIN.

AVVERTENZA
Requisiti di sicurezza per il montaggio e lo smontaggio del TS Adapter.
Prima di staccare l'alimentazione dall'unità scollegare la messa a terra del TS Adapter
estraendo il cavo analogico e il cavo Ethernet. Il mancato rispetto di questa precauzione
può causare la morte, gravi lesioni alle persone e/o danni alle cose a causa del
funzionamento imprevisto delle apparecchiature.
Durante il montaggio e lo smontaggio del TS Adapter rispettare sempre i requisiti indicati.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 69
Montaggio
3.3 Procedimenti di installazione e disinstallazione

3.3.8.4 Montaggio del TS Adapter su pannello


Presupposti: Devono essere stati collegati il TS Adapter e il modulo TS.
1. Far scorrere la staffa di fissaggio ① sul lato posteriore del TS Adapter e del modulo
TS nella direzione indicata dalla freccia finché il dispositivo di aggancio non scatta in
posizione.
2. Avvitare il TS Adapter e il modulo TS nella posizione contrassegnata con ② della parete
di montaggio.
La seguente figura mostra il TS Adapter visto da dietro, con le staffe di fissaggio scorrevoli
① nelle due posizioni:

① Staffe scorrevoli di fissaggio


② Fori per il montaggio a parete

Sistema di automazione S7-1200


70 Manuale di sistema, 03/2014, A5E02486684-AG
Montaggio
3.4 Istruzioni per il cablaggio

3.4 Istruzioni per il cablaggio


Una messa a terra e un cablaggio corretti sono indispensabili per garantire il funzionamento
ottimale del sistema e proteggere adeguatamente l’applicazione e l’S7-1200 dal rumore
elettrico. Consultare gli schemi elettrici dell'S7-1200 riportati nei dati tecnici (Pagina 853).

Presupposti
Prima di mettere a terra o cablare dei dispositivi elettrici accertarsi che siano spenti.
Controllare inoltre che sia stata disinserita l'alimentazione dalle eventuali apparecchiature
collegate.
Per il cablaggio dell'S7-1200 e delle apparecchiature collegate attenersi alle normative
vigenti. L'installazione e l'utilizzo del sistema devono essere conformi alle norme nazionali e
locali. Rivolgersi alle autorità locali competenti per stabilire quali norme e regolamenti siano
applicabili al caso specifico.

AVVERTENZA
Il montaggio o il cablaggio dell'S7-1200 e delle relative apparecchiature in presenza di
alimentazione può provocare scosse elettriche o il funzionamento imprevisto delle
apparecchiature.
La mancata disinserzione dell'alimentazione dall’S7-1200 e da tutte le apparecchiature
collegate durante l'installazione o la disinstallazione può provocare la morte o gravi lesioni
alle persone e/o danni alle cose a causa di scosse elettriche o del funzionamento
imprevisto delle apparecchiature.
Attenersi sempre alle norme di sicurezza e accertarsi che l'S7-1200 sia isolata
dall'alimentazione prima di installare o disinstallare l'S7-1200 o le apparecchiature
collegate.

Tener sempre in considerazione la sicurezza quando si effettua la messa a terra e il


cablaggio dell’S7-1200. I dispositivi elettronici di controllo come l'S7-1200 possono guastarsi
e causare il funzionamento imprevisto delle apparecchiature comandate o controllate. È
quindi indispensabile prevedere delle protezioni che siano indipendenti dall’S7-1200 per
evitare possibili lesioni alle persone e danni alle apparecchiature.

AVVERTENZA
In condizioni non sicure i dispositivi di comando possono funzionare in modo errato e
determinare un funzionamento scorretto delle apparecchiature comandate.
Ciò può causare la morte o gravi lesioni alle persone e/o danni alle cose.
Prevedere una funzione di arresto d’emergenza, dispositivi elettromeccanici di esclusione o
altre protezioni ridondanti che siano indipendenti dall’S7-1200.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 71
Montaggio
3.4 Istruzioni per il cablaggio

Istruzioni per l'isolamento


I separatori per l’isolamento dell’alimentatore AC dell’S7-1200 e per l’isolamento degli I/O
verso i circuiti AC sono stati progettati e omologati per garantire un isolamento sicuro tra le
tensioni della linea AC e i circuiti a bassa tensione. Questi separatori comprendono un
isolamento doppio o rinforzato oppure un isolamento di base associato ad uno
supplementare, a seconda della norma. I componenti che attraversano questi separatori di
isolamento, quali accoppiatori ottici, condensatori, trasformatori e relè sono stati approvati
come componenti che garantiscono una separazione sicura. Nelle schede tecniche dell'S7-
1200 i separatori di isolamento che soddisfano tali requisiti sono identificati da un valore di
isolamento di 1500 V AC o superiore. Questa definizione si basa su un test di routine di (2
Ue + 1000 V AC) o equivalente eseguito internamente in conformità a metodi approvati. I
separatori di isolamento dell’S7-1200 sono stati testati a 4242 V DC.
L’uscita di alimentazione dei sensori, i circuiti di comunicazione e i circuiti logici interni di un
S7-1200 con alimentazione AC integrata sono classificati come SELV (bassissima tensione
di sicurezza) ai sensi della norma EN 61131-2.
Per mantenere il carattere di sicurezza dei circuiti a bassa tensione dell’S7-1200, le
connessioni esterne alle porte di comunicazione, i circuiti analogici e tutti i circuiti I/O e di
alimentazione con tensione nominale di 24 VDC devono essere alimentati da sorgenti
approvate che soddisfano i requisiti di SELV, PELV, Classe 2, tensione limitata o potenza
limitata a seconda della norma.

AVVERTENZA
Se si utilizzano alimentatori non isolati o a isolamento singolo per alimentare i circuiti con
bassa tensione da una linea AC, si possono generare tensioni pericolose nei circuiti che
dovrebbero invece essere sicuri in caso di contatto dell’operatore, come i circuiti di
comunicazione e il cablaggio a bassa tensione dei sensori.
Queste alte tensioni improvvise possono provocare scosse elettriche e causare la morte o
gravi lesioni alle persone e/o danni alle cose.
Utilizzare esclusivamente convertitori da alta a bassa tensione approvati come sorgente di
alimentazione di circuiti a tensione limitata sicura in caso di contatto dell'operatore.

Istruzioni per la messa a terra dell'S7-1200


Il modo migliore per mettere a terra la propria applicazione è di garantire che tutte le
connessioni comuni e di terra dell’S7-1200 e delle relative apparecchiature siano collegate
ad un unico punto di massa. Tale punto comune va connesso direttamente alla terra del
sistema.
I conduttori di terra devono essere più corti possibile e avere un diametro elevato, ad es. di 2
mm2 (14 AWG).
Quando si progettano i punti di collegamento a terra si deve inoltre tener conto dei requisiti
di sicurezza e accertarsi del corretto funzionamento dei dispositivi di protezione di
interruzione del circuito.

Sistema di automazione S7-1200


72 Manuale di sistema, 03/2014, A5E02486684-AG
Montaggio
3.4 Istruzioni per il cablaggio

Istruzioni per il cablaggio dell'S7-1200


Quando si progetta il cablaggio dell’S7-1200 si deve prevedere un unico interruttore che
disinserisca contemporaneamente la corrente dall’alimentatore della CPU S7-1200, dai
circuiti di ingresso e da quelli di uscita. Installare un dispositivo di protezione dalla
sovracorrente, ad es. un fusibile o un interruttore automatico, che limiti le correnti anomale
nel cablaggio di alimentazione. Valutare se non sia oppurtuno installare un fusibile o un altro
limitatore di corrente in ciascun circuito di uscita per ottenere una protezione ancora
maggiore.
Per i conduttori che possono essere soggetti a sovratensioni dovute ai fulmini si devono
prevedere appositi dispositivi di soppressione delle sovratensioni.
È importante non disporre i conduttori di segnale a bassa tensione e i cavi di comunicazione
assieme ai conduttori di potenza AC e ai conduttori DC ad alta corrente e a commutazione
rapida. Posare sempre i conduttori a coppie: il neutro o filo comune con il filo caldo o filo di
segnale.
Utilizzare un conduttore più corto possibile e verificare che abbia una sezione adatta alla
corrente richiesta. Il connettore della CPU e dell'SM accetta conduttori con dimensioni da 2
mm2 a 0,3 mm2 (da 14 AWG a 22 AWG). Il connettore dell'SB accetta conduttori con
dimensioni da 1,3 mm2 a 0,3 mm2 (da 16 AWG a 22 AWG). Utilizzare cavi schermati per
migliorare la protezione dal rumore elettrico. Generalmente il risultato migliore si ottiene
mettendo a terra lo schermo sull’S7-1200.
Se i circuiti di ingresso sono alimentati da un alimentatore esterno, inserire nel circuito una
protezione dalla sovracorrente. La protezione esterna non è necessaria nei circuiti alimentati
dall’alimentazione per sensori a 24 V DC dell’S7-1200, poiché questa è già limitata in
corrente.
Tutte le unità S7-1200 sono dotate di morsettiera a innesto per il cablaggio. Per impedire
che le connessioni si allentino, controllare che la morsettiera sia ben inserita e che il
conduttore sia installato correttamente. Per non danneggiare la morsettiera non serrare
eccessivamente le viti. Per il connettore della CPU e dell'SM utilizzare una coppia di max.
0,56 N-m. Per il connettore dell'SB, del simulatore e del modulo potenziometro utilizzare una
coppia di max. 0,33 N-m.
L’S7-1200 prevede separatori di isolamento in determinati punti per evitare che si formino
flussi di corrente indesiderati nell’installazione. Quando si progetta il cablaggio del sistema si
deve quindi tener conto della posizione di tali limiti di isolamento. Per maggiori informazioni
sull'isolamento fornito e la collocazione dei separatori consultare i dati tecnici (Pagina 853). I
separatori di isolamento impostati a meno di 1.500 V AC non sono affidabili come limiti di
sicurezza.

Istruzioni per i carichi delle lampade


I carichi delle lampade possono danneggiare i contatti dei relè a causa dell’elevata
sovracorrente transitoria all’accensione, la quale può essere da 10 a 15 volte superiore alla
corrente di funzionamento di una lampadina con filamento al tungsteno. Per i carichi
lampade che vengono commutati molto frequentemente durante il ciclo di vita
dell’applicazione, si consiglia pertanto di utilizzare un relè sostituibile o un limitatore di
corrente.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 73
Montaggio
3.4 Istruzioni per il cablaggio

Istruzioni per i carichi induttivi


Per limitare l'innalzamento della tensione quando si disattiva l'uscita di controllo, utilizzare
circuiti di soppressione con carichi induttivi. I circuiti di soppressione impediscono che le
uscite si guastino prematuramente a causa del transiente di alta tensione determinato
dall'interruzione del flusso di corrente che passa attraverso un carico induttivo.
Inoltre, essi limitano il rumore elettrico che si genera quando vengono commutati i carichi
induttivi. Il rumore ad alta frequenza prodotto da carichi induttivi non adeguatamente
soppressi può compromettere il funzionamento della CPU. Il sistema più efficace per ridurre
il rumore elettrico consiste nell'utilizzare un circuito di soppressione esterno posizionandolo
in modo che sia elettricamente in parallelo al carico e fisicamente vicino ad esso.
Le uscite DC dell'S7-1200 sono dotate di circuiti di soppressione interni adeguati ai carichi
induttivi della maggior parte delle applicazioni. Poiché le uscite relè dell'S7-1200 possono
essere utilizzate per commutare un carico sia DC che AC, non è prevista alcuna protezione
interna.
Una buona soluzione di soppressione consiste nell'utilizzare contattori o altri carichi induttivi
per i quali il produttore fornisce circuiti di soppressione integrati nel dispositivo di carico o
disponibili come accessori opzionali. Tuttavia alcuni circuiti di soppressione forniti dal
produttore possono non essere adatti alla propria applicazione. In questo caso può essere
necessario un ulteriore circuito di soppressione per ridurre il rumore in modo ottimale e
aumentare la durata dei contatti.
Per i carichi AC è possibile utilizzare un varistore in ossido di metallo (MOV) o un altro
dispositivo di bloccaggio della tensione con un circuito RC parallelo, anche se non è così
efficace se utilizzato da solo. Un dispositivo di soppressione MOV senza circuito RC
parallelo produce spesso rumore ad alta frequenza considerevole fino alla tensione del
morsetto.
Un transiente di disattivazione ben controllato avrà una frequenza ad anello non superiore a
10 kHz e preferibilmente inferiore a 1 kHz. La tensione di picco per le linee AC dovrebbe
essere compresa tra +/- 1200 V di terra. La tensione di picco negativa per carichi DC che
utilizzano la soppressione interna del PLC sarà ~40 V al di sotto della tensione di
alimentazione a 24 V DC. La soppressione esterna dovrebbe limitare il transiente a 36 V di
alimentazione per scaricare la soppressione interna.

Nota
L'efficacia di un circuito di soppressione dipende dall'applicazione e deve essere verificata
per ogni caso specifico. Verificare che tutti i componenti siano impostati correttamente e
utilizzare un oscilloscopio per osservare il transiente di disattivazione.

Sistema di automazione S7-1200


74 Manuale di sistema, 03/2014, A5E02486684-AG
Montaggio
3.4 Istruzioni per il cablaggio

Circuito di soppressione tipico per le uscite DC o a relè che commutano carichi induttivi DC

Nella maggior parte delle applicazioni è opportuno


utilizzare un diodo (A) in parallelo a un carico
induttivo DC, ma se l’applicazione richiede tempi di
disattivazione più rapidi è consigliabile utilizzare un
diodo zener (B). Verificare che la potenza del diodo
zener sia adeguata alla quantità di corrente del
circuito di uscita.
① Diodo 1N4001 o equivalente
② Zener da 8,2 V (uscite DC),
Zener da 36 V (uscite relè)
③ Uscita
④ M, 24 V di riferimento

Circuito di soppressione tipico per le uscite relè che commutano carichi induttivi AC

Accertarsi che la tensione di lavoro del varistore in


ossido di metallo (MOV) sia almeno del 20%
superiore alla tensione nominale di linea.
Scegliere resistenze con impulsi nominali, non
induttive e condensatori raccomandati per le
applicazioni di impulsi (in genere pellicole
metalliche). Assicurarsi che i componenti soddisfino i
requisiti previsti per potenza media, potenza di picco
① Vedere la tabella per il valore C
e tensione di picco.
② Vedere la tabella per il valore R
③ Uscita
Se si progetta un proprio circuito di soppressione, osservare la tabella seguente che riporta i
valori consigliati per le resistenze e i condesatori per diversi carichi AC. I valori si basano su
calcoli con parametri di componenti ideali. L'indicazione "I rms" nella tabella si riferisce alla
corrente in stato stazionario del carico quando è completamente attivata.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 75
Montaggio
3.4 Istruzioni per il cablaggio

Tabella 3- 17 Valori di resistenze e condensatori per circuiti di soppressione AC

Carico induttivo Valori di soppressione


I rms 230 VAC 120 VAC Resistenza Condensatore
amp VA VA Ω W (potenza nF
nominale)
0,02 4,6 2,4 15000 0,1 15
0,05 11,5 6 5600 0,25 470
0,1 23 12 2700 0,5 100
0,2 46 24 1500 1 150
0,05 115 60 560 2,5 470
1 230 120 270 5 1000
2 460 240 150 10 1500

Condizioni soddisfatte dai valori nella tabella:


Passo max. della transizione di disattivazione < 500 V
Tensione di picco della resistenza < 500 V
Tensione di picco del condensatore < 1250 V
Corrente del circuito di soppressione < 8% della corrente di carico (50 Hz)
Corrente del circuito di soppressione < 11% della corrente di carico (60 Hz)
Condensatore dV/dt < 2 V/μs
Dissipazione di impulsi del condensatore: ∫(dv/dt)2 dt < 10000 V2/μs
Frequenza di risonanza < 300 Hz
Potenza della resistenza per una frequenza di commutazione max di 2Hz
Fattore di potenza di 0,3 previsto per un tipico carico induttivo

Istruzioni per gli ingressi e le uscite differenziali


Gli ingressi e le uscite differenziali si comportano in modo diverso da quelli standard. Sono
disponibili due piedini per ciascun ingresso e uscita di questo tipo. Misurando la differenza di
tensione tra i due piedini si determina se l'ingresso o l'uscita differenziale è attiva o
disattivata.
Per informazioni dettagliate sulla CPU 1217C vedere l'appendice A (Pagina 906).

Sistema di automazione S7-1200


76 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC 4
4.1 Esecuzione del programma utente
La CPU supporta i seguenti tipi di blocchi di codice che consentono di creare una struttura
efficiente per il programma utente:
● I blocchi organizzativi (OB) definiscono la struttura del programma. In alcuni OB il
comportamento e gli eventi di avvio sono predefiniti, ma l'utente può creare anche OB
con eventi di avvio a sua scelta.
● Le funzioni (FC) e i blocchi funzionali (FB) contengono il codice del programma che
corrisponde a specifici task o combinazioni di parametri. Ogni FC o FB dispone di un set
di parametri di ingresso e di uscita per condividere i dati con il blocco richiamante. L'FB
utilizza inoltre un blocco dati associato (denominato DB di istanza) per mantenere i valori
dei dati per quell'istanza del richiamo dell'FB. L'FB può essere richiamato più volte, ogni
volta con un DB di istanza unico. I richiami di un FB con DB di istanza diversi non
influiscono sui valori dei dati degli altri DB di istanza.
● I blocchi dati (DB) memorizzano i dati utilizzabili nei blocchi di programma.
L'esecuzione del programma utente inizia con uno o più OB di avvio opzionali che vengono
eseguiti quando si attiva il modo RUN e prosegue con l'esecuzione ciclica di uno o più OB di
ciclo. È anche possibile associare un OB a un evento di allarme che può essere un evento
standard o di errore. Questo tipo di OB viene eseguito quando si verifica il corrispondente
evento standard o di errore.
Le funzioni (FC) e i blocchi funzionali (FB) sono blocchi del codice di programma che
possono essere richiamati da un OB o da un'altra FC o un altro FB, fino a raggiungere le
seguenti profondità di annidamento:
● 16 dall'OB di ciclo o di avvio del programma
● 6 da qualsiasi OB di eventi di allarme
Le FC non sono associate a un blocco dati particolare (DB). Sono collegate direttamente a
un DB e lo utilizzano per passare parametri e memorizzare valori e risultati provvisori.
Le dimensioni del programma utente, dei dati e della configurazione sono limitate dalla
memoria di caricamento disponibile e dalla memoria di lavoro nella CPU. Non esiste un
limite specifico per il numero di ogni singolo OB, FC, FB e DB. Tuttavia il numero totale dei
blocchi è limitato a 1024.
Ciascun ciclo comprende la scrittura della uscite, la lettura degli ingressi, l'esecuzione delle
istruzioni del programma utente e l'elaborazione in background. Il ciclo viene chiamato "ciclo
di scansione" o "scansione".

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 77
Concetti base sui PLC
4.1 Esecuzione del programma utente

La soluzione di automazione S7-1200 può essere costituita da un telaio centrale con la CPU
S7-1200 e altri moduli. Il termine "telaio centrale" si riferisce all'installazione della CPU e dei
relativi moduli sia sulla guida che su pannello. I moduli (SM, SB, BB, CB, CM o CP) vengono
rilevati e collegati solo all'accensione.
● Non è consentito inserire o estrarre i moduli dal telaio centrale in presenza di tensione (a
caldo). Non inserire né estrarre i moduli dal telaio centrale quando la CPU è alimentata.

AVVERTENZA
Requisiti di sicurezza per l'inserimento o l'estrazione dei moduli
L'inserimento o l'estrazione di un modulo (SM, SB, BB, CD, CM o CP) dal telaio centrale
quando la CPU è alimentata può determinare un comportamento imprevedibile e
causare danni alle apparecchiature e/o alle persone.
Scollegare sempre la CPU e il telaio centrale dall'alimentazione e, prima di inserire o
estrarre un modulo dal telaio, adottare le necessarie misure di sicurezza.

● La memory card SIMATIC può essere inserita ed estratta anche quando la CPU è
alimentata. Se si inserisce o si estrae una memory card quando la CPU è in RUN, la CPU
passa in STOP.

ATTENZIONE
Rischi in caso di estrazione della memory card con la CPU in RUN.
Se si inserisce o si estrae una memory card quando la CPU è in RUN, la CPU passa in
STOP e può causare danni alle apparecchiature o al processo controllato.
Quando si inserisce o si estrae una memory card la CPU passa immediatamente in
STOP. Prima di inserire o estrarre una memory card accertarsi che la CPU non stia
controllando una macchina o un processo. Installare sempre un circuito di arresto
d'emergenza per l'applicazione o il processo.

● Se si inserisce o si estrae un modulo in un telaio di montaggio per la periferia decentrata


(AS-i, PROFINET o PROFIBUS) quando la CPU è in RUN, la CPU genera una voce nel
buffer di diagnostica, esegue l'OB di estrazione o inserimento dei moduli (se presente) e
per default resta in RUN.

Sistema di automazione S7-1200


78 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.1 Esecuzione del programma utente

Aggiornamento e partizioni dell'immagine di processo


La CPU aggiorna gli I/O digitali e analogici in modo sincrono rispetto al ciclo di scansione
mediante un'area di memoria interna chiamata "immagine di processo". L'immagine di
processo rispecchia la situazione attuale degli ingressi e delle uscite fisici (quelli della CPU,
della signal board e dei moduli di I/O).
Gli I/O possono essere configurati in modo che l'immagine di processo li aggiorni in tutti i
cicli di scansione o solo quando si verifica uno specifico evento di allarme. Si può inoltre
configurare un I/O in modo che venga escluso dall'aggiornamento dell'immagine di
processo. Ad esempio, l'immagine di processo può avere bisogno di certi valori di dati solo
quando si verifica un evento come un allarme di processo. Associando l'aggiornamento di
questi I/O nell'immagine di processo a una partizione assegnata a un OB di interrupt di
processo, si evita che la CPU aggiorni inutilmente i valori dei dati in tutti i cicli di scansione
nei casi in cui il processo non richiede un aggiornamento continuo.
Nel caso degli I/O che vengono aggiornati continuamente la CPU esegue i seguenti task
durante ogni ciclo di scansione:
● La CPU scrive nelle uscite fisiche i valori letti dall'area dell'immagine di processo delle
uscite.
● Legge gli ingressi fisici immediatamente prima dell'esecuzione del programma utente e
ne memorizza i valori nell'area dell'immagine di processo degli ingressi. In questo modo i
valori rimangono coerenti durante l'esecuzione delle istruzioni utente.
● Esegue la logica delle istruzioni utente e aggiorna i valori di uscita nell'area dell'immagine
di processo delle uscite invece di scriverli nelle uscite fisiche.
Questo processo garantisce la coerenza della logica durante l'esecuzione delle istruzioni
utente per un dato ciclo e impedisce l'instabilità delle uscite che potrebbero cambiare
stato più volte nell'area dell'immagine di processo delle uscite.
L'S7-1200 mette a disposizione cinque partizioni dell'immagine di processo per controllare
se il processo aggiorna gli I/O automaticamente in tutti i cicli di scansione o solo quando si
attivano degli eventi. La prima partizione, PIP0, è riservata agli I/O che devono essere
aggiornati automaticamente in tutti i cicli di scansione e viene assegnata per default. Le altre
quattro partizioni (PIP1, PIP2, PIP3 e PIP4) possono essere utilizzate per assegnare gli
aggiornamenti dell'immagine di processo degli I/O a diversi eventi di allarme. Gli I/O possono
essere assegnati alle partizioni dell'immagine di processo in Configurazione dispositivi,
mentre l'assegnazione delle partizioni agli eventi di allarme può essere effettuata quando si
creano gli OB di allarme (Pagina 177) o si modificano le proprietà degli OB (Pagina 177).
Per default, quando si inserisce un modulo nella vista dispositivi, STEP 7 ne imposta
l'aggiornamento dell'immagine di processo degli I/O su "Aggiornamento automatico". Se si
configurano gli I/O per l'aggiornamento automatico, la CPU gestisce automaticamente lo
scambio dei dati tra il modulo e l'area dell'immagine di processo in tutti i cicli di scansione.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 79
Concetti base sui PLC
4.1 Esecuzione del programma utente

Per assegnare I/O digitali o analogici a una partizione dell'immagine di processo o per
escluderli dall'aggiornamento dell'immagine di processo procedere nel seguente modo:
1. Visualizzare la scheda Proprietà del dispositivo appropriato in Configurazione dispositivi.
2. Espandere le selezioni in "Generale" fino a individuare gli I/O desiderati.
3. Selezionare "Indirizzi I/O".
4. In opzione selezionare un OB specifico dall'elenco a discesa "Blocco organizzativo".
5. Nell'elenco a discesa "Immagine di processo" impostare "Aggiornamento automatico" su
"PIP1", "PIP2", "PIP3", "PIP4" o "Nessuno". Se si seleziona "Nessuno" si può solo
leggere da/scrivere in quel particolare I/O mediante le istruzioni dirette. Per reintegrare gli
I/O nell'aggiornamento automatico dell'immagine di processo ripristinare l'impostazione
"Aggiornamento automatico".

Mentre l'istruzione viene eseguita si possono leggere direttamente i valori degli ingressi fisici
e scrivere direttamente quelli delle uscite. La lettura diretta accede allo stato attuale
dell'ingresso fisico senza aggiornare l'area dell'immagine di processo, indipendentemente
dal fatto che l'ingresso sia configurato per essere salvato nell'immagine di processo. La
scrittura diretta in un'uscita fisica aggiorna sia l'area dell'immagine di processo delle uscite
(se l'uscita è configurata per essere salvata nell'immagine di processo) che l'uscita fisica.
Per fare in modo che il programma acceda ai dati di I/O direttamente da un ingresso o
un'uscita fisica invece che dall'immagine di processo aggiungere il suffisso ":P" all'indirizzo di
I/O.

Nota
Utilizzo delle partizioni dell'immagine di processo
Se si assegna un I/O a una partizione dell'immagine di processo (da PIP1 a PIP4) senza
assegnarvi un OB, la CPU non aggiorna mai l'I/O verso o dall'immagine di processo.
Assegnare a una PIP un I/O senza assegnarvi anche un OB equivale ad assegnare
l'immagine di processo a "Nessuna". È possibile leggere l'I/O direttamente dall'I/O fisico
mediante un'istruzione di lettura diretta o scrivervi mediante un'istruzione di scrittura diretta.
La CPU non aggiorna l'immagine di processo.

La CPU supporta I/O distributi per entrambe le reti PROFINET e PROFIBUS (Pagina 523).

Sistema di automazione S7-1200


80 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.1 Esecuzione del programma utente

4.1.1 Modi di funzionamento della CPU


La CPU prevede tre modi di funzionamento: STOP, AVVIAMENTO e RUN. La modalità
attiva è indicata dai LED di stato posti sul lato anteriore della CPU.
● Nel modo STOP la CPU non esegue il programma ed è possibile caricarvi un progetto.
● Nel modo AVVIAMENTO vengono eseguiti una volta gli OB di avvio (se presenti). In
questa modalità la CPU non elabora gli eventi di allarme.
● Nel modo RUN vengono eseguiti ripetutamente gli OB di ciclo. Possono verificarsi degli
eventi di allarme e gli OB corrispondenti possono essere eseguiti in qualsiasi momento.
In questa modalità si possono caricare alcune parti del progetto (Pagina 828).
La CPU supporta l'avviamento a caldo per passare in RUN. L'avviamento a caldo non
implica il reset della memoria. Durante l'avviamento a caldo la CPU inizializza i dati di
sistema e i dati utente non a ritenzione e mantiene i valori dei dati utente a ritenzione.
L'operazione di reset cancella la memoria di lavoro e le aree a ritenzione e non a ritenzione,
copia la memoria di caricamento in quella di lavoro e imposta le uscite sul "Comportamento
in caso di STOP della CPU" configurato. Non cancella invece il buffer di diagnostica o i valori
dell'indirizzo IP memorizzati in modo permanente.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 81
Concetti base sui PLC
4.1 Esecuzione del programma utente

È possibile configurare l'impostazione "avviamento all'accensione" della CPU. Questa


opzione è disponibile in "Avviamento" nella finestra "Configurazione dispositivi" della CPU.
All'accensione la CPU esegue una serie di test diagnostici e inizializza il sistema. Durante
l'inizializzazione del sistema la CPU cancella la memoria di merker (M) non a ritenzione e
resetta i contenuti dei DB non a ritenzione ripristinandone i valori iniziali in base alla memoria
di caricamento. La CPU mantiene la memoria di merker (M) a ritenzione e i contenuti dei DB
a ritenzione, quindi passa nel modo di funzionamento appropriato. Alcuni errori impediscono
alla CPU di passare in RUN. La CPU supporta le seguenti opzioni di configurazione:
● Senza avviamento (resta in STOP)
● Avviamento a caldo - RUN
● Avviamento a caldo - Modo di funzionamento prima di RETE OFF

ATTENZIONE
Gli errori riparabili possono far sì che la CPU commuti su STOP.
La CPU può passare in STOP a causa di errori riparabili, ad es. il guasto di un modulo
di segnale sostituibile, oppure a causa di guasti temporanei, quali interferenze nella
linea elettrica o un'accensione irregolare. Queste condizioni potrebbero causare danni
materiali.
Se è stata configurata su "Avviamento a caldo - prima di RETE OFF", la CPU passa nel
modo di funzionamento in cui si trovava prima dell'interruzione dell'alimentazione o del
guasto. Se al momento dell'interruzione dell'alimentazione o del guasto la CPU era in
STOP, quando viene riaccesa passa in STOP e ci rimane finché non riceve il comando
di passare in RUN. Se al momento dell'interruzione dell'alimentazione o del guasto la
CPU era in RUN, quando viene riaccesa passa in RUN a meno che non rilevi errori che
glielo impediscono.
Configurare le CPU che devono funzionare indipendentemente dal collegamento STEP
7 su "Avviamento a caldo - RUN", in modo che possano tornare in RUN al successivo
ciclo di spegnimento/riaccensione.

Sistema di automazione S7-1200


82 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.1 Esecuzione del programma utente

Per modificare il modo di funzionamento attuale si utilizzano i comandi "STOP" o "RUN"


(Pagina 815) dei tool online del software di programmazione. È inoltre possibile portare la
CPU in STOP inserendo nel programma un'istruzione STP (Pagina 268), in modo che
l'esecuzione venga arrestata in base alla logica del programma stesso.
● In STOP la CPU gestisce le richieste di comunicazione (come richiesto) ed esegue un
autotest. Non esegue invece il programma utente e l'immagine di processo non viene
aggiornata automaticamente.
● In AVVIAMENTO e RUN la CPU esegue i task indicati nella seguente figura.

AVVIAMENTO RUN
A Cancella l'area di memoria I ① Scrive la memoria Q nelle uscite fisiche
(immagine)
B Inizializza l'area di memoria ② Copia lo stato degli ingressi fisici nella
(immagine) delle uscite Q con zero, memoria I
con l'ultimo valore o con il valore
sostitutivo (a seconda della
configurazione) e imposta a zero le
uscite PB, PN e AS-i
C Inizializza la memoria M non a ③ Esegue gli OB di ciclo
ritenzione e i blocchi dati riportandoli al
loro valore iniziale e abilita l'allarme di
schedulazione orologio e gli eventi
dell'orologio configurati.
Esegue gli OB di avvio.
D Copia lo stato degli ingressi fisici nella ④ Esegue l'autotest
memoria I
E Memorizza gli eventi di allarme nella ⑤ Elabora gli allarmi e la comunicazione in un
coda d'attesa per l'elaborazione dopo il punto qualsiasi del ciclo di scansione
passaggio in RUN
F Abilita la scrittura della memoria Q
nelle uscite fisiche

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 83
Concetti base sui PLC
4.1 Esecuzione del programma utente

Elaborazione dell'AVVIAMENTO
Quando il modo di funzionamento cambia da STOP a RUN, la CPU azzera gli ingressi
dell'immagine di processo, inizializza l'immagine di processo delle uscite ed elabora l'OB di
avvio. Ogni volta che le istruzioni dell'OB di avvio accedono in lettura agli ingressi
dell'immagine di processo, leggono uno zero invece del valore attuale degli ingressi fisici.
Per leggere lo stato attuale di un ingresso fisico durante il modo di avviamento si deve
effettuare una lettura diretta. In seguito vengono eseguiti gli OB di avvio e le FC e gli FB a
cui sono associati. Se sono presenti più OB di avvio vengono eseguiti ciascuno in base al
proprio numero, a partire da quello più basso.
Ogni OB di avvio include informazioni che consentono di determinare se i dati a ritenzione e
l'orologio hardware sono validi. All'interno degli OB di avvio si possono programmare delle
istruzioni che esaminino tali valori di avvio ed eseguano l'azione appropriata. Gli OB di avvio
supportano le seguenti posizioni di avvio:

Tabella 4- 1 Posizioni di avvio supportate dall'OB di avvio

Ingresso Tipo di dati Descrizione


LostRetentive Bool Questo bit è vero se le aree di salvataggio dei dati a ritenzione sono
state eliminate
LostRTC Bool Questo bit è vero se l'orologio hardware (Real Time Clock) è stato
eliminato

Durante l'elaborazione dell'avviamento la CPU esegue inoltre i task descritti di seguito.


● Gli allarmi vengono inseriti nella coda d'attesa ma non elaborati.
● Durante l'avviamento il tempo di ciclo non viene controllato.
● Durante l'avviamento è possibile modificare la configurazione dei moduli HSC (contatori
veloci), PWM (modulazione dell'ampiezza degli impulsi) e PtP (comunicazione punto a
punto).
● Il funzionamento effettivo dei moduli HSC, PWM e di comunicazione punto a punto viene
attivato solo in RUN.
Al termine dell'esecuzione degli OB di avvio la CPU passa in RUN ed elabora i task di
comando in un ciclo di scansione continuo.

4.1.2 Elaborazione del ciclo di scansione in RUN


In tutti i cicli di scansione la CPU scrive nelle uscite, legge gli ingressi, esegue il programma
utente, aggiorna i moduli di comunicazione e reagisce agli eventi e alle condizioni di allarme
dell'utente. Le richieste di comunicazione vengono gestite periodicamente nel corso del ciclo
di scansione.
Queste operazioni (fatta eccezione per gli eventi di allarme utente) vengono eseguite
regolarmente e in sequenza. Gli eventi di allarme utente abilitati vengono elaborati in base
alla loro priorità nell'ordine in cui si verificano. Nel caso degli eventi di allarme la CPU legge
gli ingressi, esegue l'OB e scrive le uscite utilizzando la partizione dell'immagine di processo
associata (PIP), se impostata.

Sistema di automazione S7-1200


84 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.1 Esecuzione del programma utente

Il sistema garantisce che il ciclo di scansione termini entro un tempo detto "tempo di
controllo del ciclo" o "tempo massimo"; in caso contrario viene generato un evento di errore
temporale.
● Ciascun ciclo di scansione inizia recuperando dall'immagine di processo i valori attuali
delle uscite digitali e analogiche e scrivendoli nelle uscite fisiche della CPU e dei moduli
SB e SM configurati per l'aggiornamento automatico degli I/O (configurazione di default).
Quando un'istruzione accede a un'uscita fisica vengono aggiornate sia l'immagine di
processo delle uscite che l'uscita fisica stessa.
● Il ciclo di scansione continua leggendo i valori attuali degli ingressi digitali e analogici
dalla CPU e dai moduli SB e SM configurati per l'aggiornamento automatico
(configurazione di default) e scrivendoli nell'immagine di processo. Quando un'istruzione
accede a un ingresso fisico, accede al suo valore ma non aggiorna l'immagine di
processo degli ingressi.
● Dopo la lettura degli ingressi il programma utente viene eseguito dalla prima all'ultima
istruzione, ovvero vengono elaborati tutti gli OB di ciclo e le FC e gli FB a cui sono
associati. Gli OB di ciclo vengono eseguiti in base al loro numero, a partire da quello più
basso.
La comunicazione viene elaborata periodicamente nel corso del ciclo di scansione,
eventualmente interrompendo l'esecuzione del programma utente.
L'autotest comprende controlli periodici del sistema e dello stato dei moduli di I/O.
Gli allarmi possono verificarsi durante una parte qualsiasi del ciclo di scansione e sono
comandati da eventi. Quando si verifica un evento la CPU interrompe il ciclo di scansione e
richiama l'OB configurato per elaborarlo. Quando l'OB conclude l'elaborazione dell'evento la
CPU riprende l'esecuzione del programma utente dal punto in cui l'ha interrotto.

4.1.3 Blocchi organizzativi (OB)


Gli OB controllano l'esecuzione del programma utente. Alcuni eventi specifici della CPU
attivano l'esecuzione di un blocco organizzativo. Gli OB non possono richiamarsi tra loro, né
essere richiamati da un'FC o un FB. L'esecuzione di un OB può essere avviata solo da un
evento, ad es. da un allarme di diagnostica o da un intervallo di tempo. La CPU gestisce gli
OB in base alla loro classe di priorità, eseguendo per primi quelli con priorità superiore e in
seguito quelli con priorità inferiore. La classe di priorità più bassa è la 1 (per il ciclo di
programma principale) e quella più alta la 24.

4.1.3.1 OB di ciclo
Gli OB di ciclo vengono eseguiti ciclicamente quando la CPU è in RUN. Il blocco principale
del programma è un OB di ciclo che contiene le istruzioni che controllano il programma e i
richiami degli altri blocchi utente. Si possono avere più OB di ciclo che vengono eseguiti
dalla CPU in ordine numerico. Per default è impostato quello principale (OB1).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 85
Concetti base sui PLC
4.1 Esecuzione del programma utente

Eventi di ciclo del programma


L'evento di ciclo del programma si verifica una volta durante il ciclo (la scansione) del
programma. Durante il ciclo del programma la CPU scrive le uscite, legge gli ingressi ed
esegue gli OB di ciclo. L'evento di ciclo è indispensabile e sempre abilitato. Per tale evento
potrebbe non essere disponibile alcun OB di ciclo o potrebbero essere stati selezionati più
OB. Quando si verifica l'evento di ciclo del programma la CPU esegue l'OB di ciclo con il
numero più basso (solitamente l'OB 1 "principale"). Gli altri OB di ciclo vengono eseguiti in
sequenza (in ordine numerico) entro il ciclo del programma. L'esecuzione del programma è
ciclica e l'evento di ciclo si verifica nei seguenti momenti:
● Quando termina l'esecuzione dell'OB di avvio
● Quando termina l'esecuzione dell'ultimo OB di ciclo

Tabella 4- 2 Informazioni di avvio dell'OB di ciclo

Ingresso Tipo di dati Descrizione


Initial_Call Bool È vero per il richiamo iniziale dell'OB
Remanence Bool È vero se sono disponibili dati a ritenzione

4.1.3.2 OB di avvio
Gli OB di avvio vengono eseguiti una volta quando il modo di funzionamento della CPU
cambia da STOP a RUN, anche quando la CPU passa in RUN all'accensione e nelle
transizioni da STOP a RUN attivate da un comando. Quando termina l'avvio inizia
l'esecuzione del "ciclo di programma" principale.

Eventi di avvio
L'evento di avvio si verifica una volta in seguito al passaggio da STOP a RUN e fa sì che la
CPU esegua gli OB di avvio. Si possono configurare diversi OB per l'evento di avvio, che
vengono eseguiti in ordine numerico.

Tabella 4- 3 Informazioni di avvio per un OB di avvio

Ingresso Tipo di dati Descrizione


LostRetentive Bool È vero se vengono persi i dati a ritenzione
LostRTC Bool È vero se vengono perse la data e l'ora

4.1.3.3 OB di allarme di ritardo


Gli OB di allarme di ritardo vengono eseguiti dopo il tempo di ritardo configurato.

Sistema di automazione S7-1200


86 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.1 Esecuzione del programma utente

Eventi di allarme di ritardo


È possibile configurare degli eventi di allarme di ritardo in modo che si verifichino dopo un
tempo di ritardo specificato. Per assegnare il ritardo si utilizza l'istruzione SRT_DINT. Gli
eventi di ritardo interrompono il ciclo del programma per eseguire il corrispondente OB di
allarme di ritardo. È possibile assegnare un solo OB di ritardo a un evento di ritardo. La CPU
supporta quattro eventi di questo tipo.

Tabella 4- 4 Informazioni di avvio per un OB di allarme di ritardo

Ingresso Tipo di dati Descrizione


Sign Word Identificazione passata al richiamo di trigger di SRT_DINT

4.1.3.4 OB di schedulazione orologio


Gli OB di schedulazione orologio vengono eseguiti a un intervallo specificato. È possibile
configurare fino a quattro eventi di schedulazione orologio, ognuno corrispondente a un OB.

Eventi di schedulazione orologio


Gli eventi di schedulazione orologio consentono di configurare l'esecuzione di un OB di
allarme a un tempo di ciclo configurato. Il tempo di ciclo iniziale viene configurato quando si
crea l'OB di schedulazione orologio. Un evento ciclico interrompe il ciclo del programma ed
esegue il corrispondente OB di schedulazione orologio. Si noti che tale evento ha una classe
di priorità superiore a quello di ciclo.
È possibile associare un unico OB di schedulazione orologio a un evento ciclico.
È possibile assegnare uno spostamento di fase a ciascun allarme di schedulazione orologio,
in modo che gli allarmi di schedulazione con lo stesso tempo di ciclo vengano spostati uno
rispetto all'altro del tempo specificato. Lo spostamento di fase di default è 0. Per modificare
lo spostamento di fase iniziale o il tempo di ciclo iniziale per un evento ciclico, fare clic con il
tasto destro del mouse sull'OB di schedulazione orologio nell'albero del progetto, scegliere
"Proprietà" nel menu di riepilogo, selezionare "Schedulazione orologio" e inserire i nuovi
valori iniziali. È anche possibile interrogare e modificare il tempo di ciclo e lo spostamento di
fase dal proprio programma utilizzando le istruzioni Interroga schedulazione orologio
(QRY_CINT) e Imposta schedulazione orologio (SET_CINT). I valori per il tempo di ciclo e lo
spostamento di fase impostati con l'istruzione SET_CINT non vengono mantenuti dopo un
ciclo di spegnimento/accensione o in caso di passaggio allo stato STOP, ma riassumono i
loro valori iniziali. La CPU supporta fino a quattro eventi di questo tipo.

4.1.3.5 OB di interrupt di processo


Gli OB di interrupt di processo vengono eseguiti quando si verifica un evento di processo
rilevante. Gli OB di interrupt di processo interrompono la normale esecuzione ciclica del
programma in risposta al segnale proveniente da un evento di processo.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 87
Concetti base sui PLC
4.1 Esecuzione del programma utente

Eventi di interrupt di processo


I cambiamenti dell'hardware, ad es. un fronte di salita o di discesa in un ingresso o un
evento HSC (contatore veloce) attivano eventi di interrupt di processo. L'S7-1200 supporta
un OB di interrupt per ciascun evento di interrupt di processo. Per attivare gli eventi di
processo si utilizza la configurazione del dispositivo, per assegnare un OB a un evento si
utilizza sempre la configurazione del dispositivo o un'istruzione ATTACH nel programma
utente. La CPU supporta diversi eventi di interrupt di processo. Il modello di CPU e il numero
di ingressi determinano quali eventi sono disponibili.
Gli eventi di interrupt di processo hanno i seguenti limiti:
Fronti:
● Eventi del fronte di salita: al massimo 16
● Eventi del fronte di discesa: al massimo 16
Eventi HSC:
● CV=PV: al massimo 6
● Cambiamento direzione: al massimo 6
● Reset esterno: al massimo 6

4.1.3.6 OB di errore temporale


Se configurato, l'OB di allarme di errore temporale (OB 80) viene eseguito quando il ciclo di
scansione supera il tempo di ciclo massimo previsto o quando si verifica un evento di errore
temporale. Una volta attivato, questo viene eseguito e interrompe la normale esecuzione
ciclica del programma e qualsiasi altro OB di evento.
Quando si verifica uno di questi eventi viene registrata nel buffer di diagnostica una voce che
lo descrive. Tale voce viene generata indipendentemente dal fatto che l'OB di allarme di
errore temporale sia presente o meno.

Sistema di automazione S7-1200


88 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.1 Esecuzione del programma utente

Eventi di allarme di errore temporale


Gli eventi di errore temporale possono essere causati da una delle seguenti situazioni:
● Il ciclo di scansione supera il tempo di ciclo massimo
La condizione di "superamento del tempo di controllo del ciclo" si verifica quando il ciclo
del programma non termina entro il tempo di controllo specificato. Per maggiori
informazioni su questa condizione, su come configurare il tempo massimo del ciclo di
scansione nelle proprietà della CPU e su come resettare il temporizzatore di ciclo si
consiglia di consultare il capitolo "Controllo del tempo di ciclo nel manuale di sistema
dell'S7-1200" (Pagina 98).
● La CPU non può avviare l'OB richiesto perché un secondo allarme temporale (di
schedulazione orologio o di ritardo) si avvia prima che la CPU abbia terminato di eseguire
il primo
● Overflow della coda d'attesa
La condizione "overflow della coda d'attesa" si verifica se gli interrupt si verificano ad una
velocità molto più alta di quella con cui la CPU è in grado di elaborarli. La CPU limita il
numero di eventi in coda utilizzando una coda diversa per ciascun tipo di evento. Se un
evento si verifica quando la coda corrispondente è piena la CPU genera un evento di
errore temporale.
Tutti gli eventi di errore temporale attivano l'esecuzione dell'OB di allarme di errore
temporale (se è presente). Se l'OB di allarme di errore temporale non esiste, è la
configurazione del dispositivo della CPU a determinare in che modo la CPU reagisce
all'errore temporale:
● La configurazione di default degli errori temporali, ad es. l'avvio di un secondo allarme di
schedulazione orologio prima che la CPU abbia terminato di eseguire il primo, prevede
che la CPU rimanga in RUN.
● La configurazione di default per il superamento del tempo massimo prevede che la CPU
passi in STOP.
Il programma utente può aumentare il tempo di esecuzione del ciclo del programma in modo
che sia fino a dieci volte superiore al tempo di ciclo massimo configurato eseguendo
l'istruzione RE_TRIGR (Pagina 267) per riavviare il controllo del tempo di ciclo. Tuttavia, se
all'interno dello stesso ciclo si verificano due condizioni di "superamento del tempo di
controllo del ciclo" e il temporizzatore del ciclo non viene resettato, la CPU passa in STOP
anche se l'OB di allarme di errore temporale è presente. Consultare in proposito il capitolo
"Controllo del tempo di ciclo nel manuale di sistema dell'S7-1200". (Pagina 98)
L'OB di allarme di errore temporale contiene informazioni di avvio che consentono di
determinare quale evento e quale OB hanno generato l'errore temporale. All'interno dell'OB
si possono programmare delle istruzioni che esaminino tali valori di avvio ed eseguano
l'azione appropriata.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 89
Concetti base sui PLC
4.1 Esecuzione del programma utente

Tabella 4- 5 Informazioni di avvio per l'OB di errore temporale (OB 80)

Ingresso Tipo di dati Descrizione


fault_id BYTE 16#01 - superamento del tempo di controllo del ciclo
16#02 - impossibilità di avviare l'OB richiesto
16#07 e 16#09 - overflow della coda d'attesa
csg_OBnr OB_ANY Numero dell'OB che era in esecuzione quando si è verificato
l'errore
csg_prio UINT Priorità dell'OB che ha causato l'errore

Per inserire nel progetto un OB di allarme di errore temporale, si deve aggiungere un allarme
di errore temporale facendo doppio clic su "Inserisci nuovo blocco" in "Blocchi di
programma" nell'albero e scegliere "Blocco organizzativo" e "OB di errore temporale".
La priorità per una nuova CPU V4.0 è 22. In caso di sostituzione di una CPU V3.0 con una
CPU V4.0 (Pagina 1025) la priorità è 26, quella che era valida per la V3.0. In ogni caso il
campo della priorità può essere modificato e la priorità può essere impostata su ogni valore
compreso tra 22 e 26.

4.1.3.7 OB di allarme di diagnostica


L'OB di allarme di errore di diagnostica viene eseguito quando la CPU rileva un errore di
diagnostica, oppure se un modulo con funzioni di diagnostica riconosce un errore ed è stato
attivato l'allarme di errore di diagnostica per il modulo. L'OB interrompe la normale
esecuzione ciclica del programma. Per fare in modo che la CPU passi in STOP quando
rileva questo tipo di errore, si deve inserire nell'OB di allarme di errore di diagnostica
un'istruzione STP che porti la CPU in STOP.
Se non si inserisce l'OB nel programma la CPU ignora l'errore e rimane in RUN.

Eventi di errore di diagnostica


I dispositivi analogici (locali), PROFINET, PROFIBUS e alcuni dispositivi digitali (locali) sono
in grado di rilevare e segnalare gli errori di diagnostica. Gli eventi di errore di diagnostica
vengono generati in seguito al verificarsi o all'eliminazione di svariate condizioni di errore di
diagnostica. Gli errori di diagnostica supportati sono:
● Mancanza di alimentazione
● Superamento del limite superiore
● Superamento del limite inferiore
● Rottura conduttore
● Cortocircuito
Gli eventi di errore di diagnostica attivano l'esecuzione dell'OB di allarme di errore di
diagnostica (OB 82), se è presente. Se non esiste la CPU ignora l'errore.

Sistema di automazione S7-1200


90 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.1 Esecuzione del programma utente

Per inserire nel progetto un OB di allarme di errore di diagnostica, si deve aggiungere un


allarme di errore di diagnostica facendo doppio clic su "Inserisci nuovo blocco" in "Blocchi di
programma" nell'albero e scegliere "Blocco organizzativo" e "Allarme di diagnostica".

Nota
Errori di diagnostica per dispositivi analogici locali multicanale (I/O, RTD e termocoppia)
L'OB di allarme di errore di diagnostica può segnalare solo un errore di diagnostica del
canale per volta.
Se si verifica un errore in due canali di un dispositivo multicanale, il secondo errore avvia
l'OB di allarme di errore di diagnostica solo nei seguenti casi: il primo errore nel canale viene
eliminato, l'esecuzione dell'OB avviata dal primo errore viene conclusa e il secondo errore è
ancora presente.

L'OB di allarme di errore di diagnostica include informazioni che consentono di determinare


se l'evento è causato dal verificarsi o dall'eliminazione di un errore e di stabilire il dispositivo
o canale che lo hanno segnalato. All'interno dell'OB si possono programmare delle istruzioni
che esaminino tali valori di avvio ed eseguano l'azione appropriata.

Nota
L'informazione di avvio dell'OB di errore di diagnostica si riferisce all'intero sottomodulo se
non sono presenti eventi di diagnostica
In V3.0 l'informazione di avvio per un evento di errore di diagnostica in uscita indicava
sempre l'origine dell'evento. In V4.0, se l'evento in uscita esce dal sottomodulo senza
generare alcuna diagnostica, l'informazione di avvio si riferirà all'intero sottomodulo
(16#8000) anche se l'origine dell'evento era un canale specifico.
Ad esempio, se la rottura di un conduttore attiva un evento di errore di diagnostica nel
canale 2, il guasto viene riparato e l'evento di errore di diagnostica viene eliminato,
l'informazione di avvio non farà riferimento al canale 2 ma al sottomodulo (16#8000).

Tabella 4- 6 Informazioni di avvio per l'OB di allarme di errore di diagnostica

Ingresso Tipo di dati Descrizione


IOstate WORD Stato di I/O del dispositivo:
• Bit 0 = 1 se la configurazione è corretta, e = 0 se la configurazione
non è più corretta.
• Bit 4 = 1 se è presente un errore (come una rottura conduttore).
(Bit 4 = 0 se non c'è alcun errore.)
• Bit 5 = 1 se la configurazione non è corretta, e = 0 se la
configurazione è nuovamente corretta.
• Bit 6 = 1 se si è verificato un errore di accesso I/O. Per l'identificatore
hardware dell'I/O con l'errore di accesso consultare LADDR.
(Bit 6 = 0 se non c'è alcun errore.)
LADDR HW_ANY Identificatore hardware del dispositivo o dell'unità funzionale che hanno
rilevato l'errore1

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 91
Concetti base sui PLC
4.1 Esecuzione del programma utente

Ingresso Tipo di dati Descrizione


Channel UINT Numero di canale
MultiError BOOL Vero se è presente più di un errore
1 L'ingresso LADDR contiene l'identificatore hardware del dispositivo o dell'unità funzionale che ha rilevato l'errore.
L'identificatore hardware viene assegnato automaticamente quando si inseriscono i componenti nella vista dispositivi o
in quella di rete e compare nella scheda "Costanti" delle variabili PLC. All'identificatore hardware viene inoltre
assegnato automaticamente un nome. Le voci riportate nella scheda "Costanti" delle variabili PLC non possono essere
modificate.

4.1.3.8 OB di estrazione o inserimento dei moduli


L'OB di "estrazione o inserimento dei moduli" viene eseguito quando un modulo o un
sottomodulo di periferia decentrata che è stato configurato ed è attivo (PROFIBUS,
PROFINET, AS-i) genera un evento relativo all'inserimento o all'estrazione di un modulo.

Evento di estrazione o inserimento dei moduli


Le seguenti situazioni generano un evento di estrazione o inserimento dei moduli:
● Qualcuno estrae o inserisce un modulo configurato
● Nel telaio di ampliamento manca fisicamente un modulo configurato
● Nel telaio di ampliamento è presente un modulo non compatibile che non corrisponde a
quello configurato
● Nel telaio di ampliamento è presente un modulo compatibile con quello configurato, ma la
configurazione non consente sostituzioni
● Sono presenti errori di parametrizzazione nel modulo o nel sottomodulo
Se non si programma questo OB, la CPU passa in STOP nelle situazioni descritte di seguito.

Tabella 4- 7 Informazioni di avvio per l'OB di estrazione o inserimento dei moduli

Ingresso Tipo di dati Descrizione


LADDR HW_IO Identificazione hardware
Event_Class Byte 16#38: modulo inserito
16#29: modulo estratto
Fault_ID Byte Identificazione di guasto

Sistema di automazione S7-1200


92 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.1 Esecuzione del programma utente

4.1.3.9 OB di guasto del telaio o della stazione


L'OB di "guasto del telaio o della stazione" viene eseguito quando la CPU rileva un guasto o
un'interruzione della comunicazione in un telaio di montaggio o una stazione decentrati.

Evento di guasto del telaio o della stazione


La CPU genera un evento di guasto del telaio o della stazione quando rileva una delle
seguenti situazioni:
● Guasto di un sistema master DP o di un sistema PROFINET IO (in caso di evento in
entrata o in uscita).
● Guasto di uno slave DP o di un IO device (in caso di evento in entrata o in uscita).
● Guasto di alcuni sottomoduli di un dispositivo PROFINET I
Se non si programma questo OB, la CPU passa in STOP nelle situazioni descritte di seguito.

Tabella 4- 8 Informazioni di avvio per l'OB di guasto del telaio o della stazione

Ingresso Tipo di dati Descrizione


LADDR HW_IO Identificazione hardware
Event_Class Byte 16#32: Attivazione di uno slave DP o di un IO device
16#33: Disattivazione di uno slave DP o di un IO device
16#38: evento in uscita
16#39: evento in entrata
Fault_ID Byte Identificazione di guasto

4.1.3.10 OB di allarme dall'orologio


Gli OB di allarme dall'orologio vengono eseguiti in funzione delle condizioni configurate per
l'orologio. La CPU supporta due OB di allarme dall'orologio.

Eventi di allarme dall'orologio


È possibile configurare un evento di allarme dall'orologio in modo che si verifichi una sola
volta in una data o un'ora specifica oppure ciclicamente in base a uno dei seguenti cicli:
● Ogni minuto: l'allarme si verifica ogni minuto.
● Ogni ora: l'allarme si verifica ogni ora.
● Ogni giorno: l'allarme si verifica ogni giorno all'ora specificata (ora e minuto).
● Ogni settimana: l'allarme si verifica ogni settimana all'ora e nel giorno della settimana
specificati (ad es. ogni martedì alle 4:30 del pomeriggio).
● Ogni mese: l'allarme si verifica ogni mese all'ora e nel giorno del mese specificati. Il
giorno può andare da 1 a 28 compresi.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 93
Concetti base sui PLC
4.1 Esecuzione del programma utente

● Alla fine del mese: l'allarme si verifica l'ultimo giorno di tutti i mesi all'ora specificata.
● Ogni anno: l'allarme si verifica ogni anno alla data specificata (mese e giorno). Non si può
indicare come data il 29 febbraio.

Tabella 4- 9 Informazioni di avvio per l'OB di evento di allarme dall'orologio

Ingresso Tipo di dati Descrizione


CaughtUp Bool Il richiamo dell'OB viene rilevato perché l'ora era stata messa
avanti
SecondTimes Bool Il richiamo dell'OB viene riavviato una seconda volta perché l'ora
era stata messa indietro

4.1.3.11 OB di stato
Gli OB di stato vengono eseguiti se uno slave DPV1 o PNIO attiva un allarme di stato.
Questo può accadere se il componente (modulo o telaio) di uno slave DPV1 o PNIO cambia
modo di funzionamento, ad esempio da RUN a STOP.

Eventi di stato
Per maggiori informazioni sugli eventi che attivano allarmi di stato consultare la
documentazione fornita dal produttore dello slave DPV1 o PNIO.

Tabella 4- 10 Informazioni di avvio per l'OB di stato

Ingresso Tipo di dati Descrizione


LADDR HW_IO Identificazione hardware
Slot UInt Numero del posto connettore
Specifier Word Indicatore di allarme

4.1.3.12 OB di aggiornamento
Gli OB di aggiornamento vengono eseguiti se uno slave DPV1 o PNIO attiva un allarme di
aggiornamento.

Eventi di aggiornamento
Per maggiori informazioni sugli eventi che attivano allarmi di aggiornamento consultare la
documentazione fornita dal produttore dello slave DPV1 o PNIO.

Tabella 4- 11 Informazioni di avvio per l'OB di aggiornamento

Ingresso Tipo di dati Descrizione


LADDR HW_IO Identificazione hardware
Slot UInt Numero del posto connettore
Specifier Word Indicatore di allarme

Sistema di automazione S7-1200


94 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.1 Esecuzione del programma utente

4.1.3.13 OB di profilo
Gli OB di profilo vengono eseguiti se uno slave DPV1 o PNIO attiva un allarme specifico di
un profilo.

Eventi di profilo
Per maggiori informazioni sugli eventi che attivano allarmi di profilo consultare la
documentazione fornita dal produttore dello slave DPV1 o PNIO.

Tabella 4- 12 Informazioni di avvio per l'OB di profilo

Ingresso Tipo di dati Descrizione


LADDR HW_IO Identificazione hardware
Slot UInt Numero del posto connettore
Specifier Word Indicatore di allarme

4.1.3.14 Priorità di esecuzione degli eventi e loro inserimento nella coda d'attesa
L'elaborazione della CPU è comandata da eventi Un evento attiva un OB di allarme da
eseguire. L'OB di allarme per un dato evento può essere specificato durante la creazione del
blocco o la configurazione dei dispositivi oppure mediante un'istruzione ATTACH o
DETACH. Alcuni eventi, come quelli ciclici o del ciclo del programma, si verificano con
regolarità, altri, ad es. gli eventi di avvio e di ritardo, una sola volta. Alcuni eventi, come quelli
di fronte negli ingressi o dei contatori veloci, si verificano in seguito a un evento avviato
dall'hardware. Gli eventi, come quelli di errore di diagnostica e errore temporale, si verificano
solo in seguito a un errore. Per determinare l'ordine di elaborazione degli OB di allarme si
utilizzano le priorità e le code.
La CPU elabora gli eventi in base alla loro priorità; 1 rappresenta la priorità minima e 26 la
massima. Prima della V4.0 della CPU dell'S7-1200 ogni tipo di OB apparteneva a una classe
di priorità fissa (da 1 a 26). Con la V4.0 è possibile assegnare una classe di priorità ad ogni
OB che si configura. Il numero della priorità si configura negli attributi delle proprietà dell'OB.

Modalità di esecuzione con e senza interruzioni


Gli OB (Pagina 85) vengono eseguiti nell'ordine di priorità degli eventi che li avviano. Con la
V4.0 della CPU S7-1200 si può configurare l'esecuzione degli OB con o senza interruzioni.
Tenere presente che gli OB di ciclo possono avere sempre un'interruzione ma tutti gli altri
OB possono essere configurati con o senza interruzioni.
Impostando la modalità con interruzioni, se durante l'esecuzione di un OB si verifica un
evento di priorità superiore prima che l'esecuzione dell'OB sia completata, l'OB attuale viene
interrotto per consentire l'esecuzione di quello con priorità superiore. L'evento con priorità
superiore viene eseguito e al suo completamento prosegue l'OB che era stato interrotto. Se
durante l'esecuzione di un OB con interruzioni si verificano più eventi, la CPU li esegue nel
rispettivo ordine di priorità.
Se non si imposta la modalità con interruzioni, una volta avviato un OB viene eseguito fino
alla fine, indipendentemente da qualsiasi altro evento che viene avviato durante la sua
esecuzione.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 95
Concetti base sui PLC
4.1 Esecuzione del programma utente

Si considerino i seguenti due casi in cui degli eventi di allarme avviano un OB di ciclo e uno
di allarme di ritardo. In entrambi i casi all'OB di allarme di ritardo (OB201) non è assegnata
alcuna immagine di processo parziale (Pagina 77) e viene eseguito con priorità 4. All'OB di
ciclo (OB200) è assegnata un'immagine di processo parziale IPP1 e viene eseguito con
priorità 2. Le figure seguenti mostrano la differenza di esecuzione tra la modalità con e
quella senza interruzioni:

Figura 4-1 Caso 1: esecuzione dell'OB senza interruzioni

Figura 4-2 Caso 2: esecuzione dell'OB con interruzioni

Nota
Se si configura la modalità di esecuzione dell'OB senza interruzioni, un OB di errore
temporale non può interrompere gli OB di allarme, fatta eccezione per quelli di ciclo. Prima
della V4.0 della CPU S7-1200 un OB di errore temporale poteva interrompere qualsiasi OB
in esecuzione. Con la V4.0 è necessario configurare l'esecuzione degli OB con interruzioni
per consentire a un OB di errore temporale (o qualsiasi altro OB con priorità superiore) di
interrompere gli OB in esecuzione che non sono OB di ciclo.

Priorità di esecuzione degli eventi e loro inserimento nella coda d'attesa


Il numero di eventi in attesa (messi in coda) provenienti da un'unica origine può essere
limitato utilizzando una coda diversa per ciascun tipo di evento. Quando viene raggiunto il
limite previsto per un dato tipo di eventi, l'evento successivo viene eliminato. Per maggiori
informazioni sugli overflow della coda d'attesa consultare l'argomento relativo agli OB di
errore temporale (Pagina 88).
Ogni evento della CPU è associato a una priorità. In generale la CPU elabora gli eventi in
base alla loro priorità (iniziando da quella maggiore). Gli eventi con la stessa priorità
vengono elaborati dalla CPU in base all'ordine di arrivo.

Sistema di automazione S7-1200


96 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.1 Esecuzione del programma utente

Tabella 4- 13 Eventi di OB

Evento Quantità ammessa Priorità di default


dell'OB
Ciclo del programma 1 evento di ciclo del programma 14
Più OB ammessi
Avviamento 1 evento di avvio 1 14
Più OB ammessi
Allarme di ritardo Fino a 4 eventi di tempo 3
1 OB per evento
Schedulazione orologio Fino a 4 eventi 8
1 OB per evento
Interrupt di processo Fino a 50 eventi di interrupt di processo 2 18
1 OB per evento ma è possibile utilizzare lo stesso OB per 18
più eventi
Errore temporale 1 evento (solo se configurato)3 22 o 264
Errore di diagnostica 1 evento (solo se configurato) 5
Estrazione o inserimento di 1 evento 6
moduli
Guasto del rack o della stazione 1 evento 6
Orologio Fino a 2 eventi 2
Stato 1 evento 4
Aggiornamento 1 evento 4
Profilo 1 evento 4
1 L'evento di avvio e quello di ciclo del programma non possono verificarsi contemporaneamente perché l'evento di ciclo
del programma viene avviato dopo che è terminato quello di avvio.
2 Si possono avere più di 50 eventi di interrupt di processo utilizzando le istruzioni DETACH e ATTACH.
3 Si può stabilire che la CPU rimanga in RUN se il ciclo di scansione supera il tempo di controllo del ciclo massimo
oppure si può utilizzare l'istruzione RE_TRIGR per resettare il tempo di ciclo. Tuttavia la CPU passa in STOP al
secondo superamento del tempo di controllo del ciclo massimo in un ciclo di scansione.
4 La priorità per una nuova CPU V4.0 è 22. In caso di sostituzione di una CPU V3.0 con una CPU V4.0 la priorità è 26,
quella che era valida per la V3.0. In ogni caso, il campo della priorità può essere modificato e la priorità può essere
impostata su ogni valore compreso tra 22 e 26.

Per maggiori informazioni vedere l'argomento "Sostituzione di una CPU V3.0 con una CPU
V4.0 (Pagina 1025)".
La CPU riconosce inoltre altri eventi ai quali non sono assegnati OB. La tabella seguente
descrive questi eventi e le rispettive azioni della CPU:

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 97
Concetti base sui PLC
4.1 Esecuzione del programma utente

Tabella 4- 14 Ulteriori eventi

Evento Descrizione Azione della CPU


Errore di accesso agli Errore nella lettura/scrittura diretta degli La CPU registra il primo evento nel buffer di
I/O I/O diagnostica e rimane in RUN.
Errore di tempo di ciclo La CPU supera due volte il tempo di ciclo La CPU registra l'errore nel buffer di diagnostica e
max. configurato passa in STOP.
Errore di accesso Errore di I/O durante l'aggiornamento La CPU registra il primo evento nel buffer di
periferico dell'immagine di processo diagnostica e rimane in RUN.
Errore di Errore durante l'esecuzione del Se il blocco contenente l'errore dispone della
programmazione programma gestione degli errori, aggiorna la struttura dell'errore;
in caso contrario la CPU registra l'errore nel buffer di
diagnostica e rimane in RUN.

Latenza degli allarmi


La latenza degli eventi di allarme (ovvero il tempo che trascorre dal momento in cui la CPU
notifica che un evento si è verificato fino a quando la CPU inizia a eseguire la prima
istruzione dell'OB di elaborazione dell'evento) è di circa 175 µsec, sempre che, quando si
verifica l'evento, l'OB di ciclo del programma sia l'unica routine di elaborazione attiva.

4.1.4 Controllo e configurazione del tempo di ciclo


Il tempo di ciclo è il tempo impiegato dal sistema operativo della CPU per eseguire la fase
ciclica del modo RUN. La CPU consente di utilizzare due metodi per il controllo del tempo di
ciclo:
● Tempo di controllo del ciclo
● Tempo di ciclo minimo
Il controllo del ciclo di scansione inizia quando termina l'evento di avvio. Questa funzione
può essere configurata in "Tempo di ciclo" nella finestra "Configurazione dispositivi" della
CPU.
La CPU controlla sempre il ciclo di scansione e reagisce se viene superato il relativo tempo
di controllo. Se viene superato il tempo del ciclo di scansione, viene generato un errore che
verrà gestito in uno dei seguenti modi:
● Se il programma utente non contiene un OB di allarme di errore temporale, l'evento di
errore temporale genera una voce nel buffer di diagnostica, ma la CPU rimane in RUN.
(È possibile modificare la configurazione in modo che la CPU passi in STOP quando
rileva un errore temporale, ma la configurazione di default prevede che rimanga in RUN.)
● Se il programma utente contiene un OB di allarme di errore temporale, la CPU lo esegue.
Per resettare il temporizzatore che misura il tempo di ciclo si può usare l'istruzione
RE_TRIGR (Pagina 267) (Riattiva il controllo del tempo di ciclo). Se il tempo trascorso per
l'esecuzione del ciclo di programma attuale è inferiore al decuplo del tempo di ciclo massimo
configurato, l'istruzione RE_TRIGR riattiva il controllo del tempo di ciclo e restituisce ENO =
TRUE. In caso contrario RE_TRIGR non riattiva il controllo del tempo di ciclo e restituisce
ENO = FALSE.

Sistema di automazione S7-1200


98 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.1 Esecuzione del programma utente

Generalmente il ciclo di scansione viene eseguito più rapidamente possibile e il ciclo


successivo inizia non appena temina quello in corso. La durata del ciclo di scansione può
variare da un ciclo all'altro in funzione del programma utente e dei task di comunicazione.
Per eliminare questa variazione, la CPU supporta un tempo di ciclo minimo opzionale. Se si
attiva questa opzione e si specifica un tempo di ciclo minimo in ms, una volta terminata
l'esecuzione dell'OB di ciclo del programma, prima di ripetere il ciclo la CPU attende che
trascorra il tempo di ciclo minimo.
Se la CPU conclude il ciclo di scansione normale in un tempo inferiore al tempo di ciclo
minimo specificato, utilizza il tempo rimanente per eseguire la diagnostica in runtime e/o per
elaborare le richieste di comunicazione.
Se la CPU non conclude il ciclo di scansione entro il tempo di ciclo minimo specificato, lo
porta a termine normalmente (compresa l'elaborazione della comunicazione) evitando che il
sistema reagisca al superamento del tempo di ciclo minimo. La seguente tabella definisce i
campi e i valori di default per le funzioni di controllo del tempo di ciclo.

Tabella 4- 15 Campo per il tempo di ciclo

Tempo di ciclo Campo (ms) Default


Tempo di controllo del ciclo1 Da 1 a 6000 150 ms
Tempo di ciclo minimo2 Da 1 al tempo di controllo del ciclo Disattivato
1 Il tempo di controllo del ciclo è sempre abilitato e va impostato su un valore compreso tra 1 ms e 6000 ms. Per default è
selezionato il valore 150 ms.
2 Il tempo di ciclo minimo è opzionale ed è disattivato per default. Se necessario si deve selezionare un tempo di ciclo
compreso tra 1 ms e il tempo di ciclo massimo.

Configurazione del tempo di ciclo e del carico di comunicazione


Nelle proprietà della CPU della finestra Configurazione dispositivi si possono configurare i
seguenti parametri:
● Ciclo: consente di indicare un tempo di controllo del ciclo ed eventualmente di attivare e
specificare un tempo di ciclo minimo.

● Carico di comunicazione: consente di configurare una percentuale di tempo da riservare


ai task di comunicazione.

Per maggiori informazioni sul ciclo di scansione consultare il capitolo "Controllo del tempo di
ciclo". (Pagina 98)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 99
Concetti base sui PLC
4.1 Esecuzione del programma utente

4.1.5 Memoria della CPU

Gestione della memoria


La CPU mette a disposizione le seguenti aree di memoria per il salvataggio del programma
utente, dei dati e della configurazione:
● La memoria di caricamento è non volatile e viene utilizzata per salvare il programma
utente, i dati e la configurazione. Prima che l'utente carichi un progetto nella CPU,
quest'ultima salva il programma nell'area della memoria di caricamento che può trovarsi
in una memory card (se presente) o nella CPU. La CPU mantiene il contenuto di questa
area di memoria non volatile anche se viene a mancare l'alimentazione. La memory card
ha uno spazio di memoria superiore a quello della memoria integrata nella CPU.
● La memoria di lavoro è volatile e viene utilizzata per salvare alcuni elementi del progetto
durante l'esecuzione del programma utente. La CPU copia alcuni elementi del progetto
dalla memoria di caricamento in quella di lavoro. Il contenuto di questa area volatile viene
cancellato in caso di interruzione dell'alimentazione e ripristinato dalla CPU quando
l'alimentazione viene ristabilita.
● La memoria a ritenzione è non volatile e consente di archiviare una quantità limitata di
valori della memoria di lavoro. La CPU utilizza l'area di memoria a ritenzione per salvare i
valori di locazioni di memoria utente selezionate in caso di mancanza di alimentazione. In
caso di spegnimento o interruzione dell'alimentazione la CPU ripristina i valori a
ritenzione quando viene accesa.
Per sapere come viene utilizzata la memoria in un blocco di programma compilato fare clic
con il tasto destro del mouse sul blocco nella cartella "Blocchi di programma" dell'albero del
progetto di STEP 7 e selezionare "Risorse" nel menu a comparsa. Le proprietà di
compilazione indicano la memoria di caricamento e quella di lavoro del blocco compilato.
Per visualizzare l'utilizzo della memoria nella CPU online fare doppio clic su "Online e
diagnostica" in STEP 7, espandere "Diagnostica" e selezionare "Memoria".

Sistema di automazione S7-1200


100 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.1 Esecuzione del programma utente

Memoria a ritenzione
Per evitare che alcuni dati vadono persi in caso di interruzione dell'alimentazione, li si può
impostare come dati a ritenzione. La CPU consente di configurare come dati a ritenzione
quanto segue:
● Memoria di merker (M): la larghezza precisa della memoria di merker può essere definita
nella tabella delle variabili del PLC o nell'elenco delle assegnazioni. La memoria di
merker a ritenzione inizia sempre dall'MB0 e prosegue senza interruzioni verso l'alto per il
numero di byte specificato. Il valore può essere indicato nella tabella delle variabili del
PLC o nell'elenco delle assegnazioni facendo clic sull'icona della barra degli strumenti
"Ritenzione". Immettere il numero di byte M a ritenzione a partire da MB0.
● Variabili di un blocco funzionale (FB): se un FB è stato impostato come FB "ottimizzato" il
relativo editor di interfaccia contiene la colonna "Retain", che consente di selezionare
"Retentive", "Non-retentive" o "Set in IDB" per ciascuna variabile. Questa colonna
compare anche nel DB di istanza creato durante l'inserimento dell'FB nell'editor di
programma. Lo stato di ritenzione di una variabile può essere modificato dall'editor di
interfaccia del DB solamente se è stato selezionato "Imposta nell'IDB" (IDB = blocco dati
di istanza) in Ritenzione per la variabile dell'FB ottimizzato.
Se un FB è stato creato con "Standard - compatibile con S7-300/400", il relativo editor di
interfaccia non contiene la colonna "Ritenzione". Il DB di istanza creato in seguito
all'inserimento di questo FB nell'editor di programma contiene una colonna "Retain"
modificabile. In questo caso se si seleziona l'opzione "Retain" per una variabile qualsiasi,
vengono selezionate tutte le variabili. Allo stesso modo, se si deseleziona l'opzione per
una variabile vengono deselezionate tutte le variabili. Se durante la configurazione di un
FB è stata attivata l'opzione "Standard - compatibile con S7-300/400", è possibile
modificare lo stato "a ritenzione" dall'editor dei DB di istanza, sempre tenendo conto del
fatto che tutte le variabili verranno impostate sullo stesso stato.
Una volta creato l'FB non è più possibile modificare l'opzione "Standard - compatibile con
S7-300/400". Questa può essere selezionato solo se si crea l'FB. Per determinare se un
FB è stato configurato come "Ottimizzato" o "Standard - compatibile con S7-300/400",
selezionarlo e fare clic con il tasto destro del mouse nell'albero del progetto, scegliere
"Proprietà" e quindi "Attributi". Se selezionata, la casella di spunta "Accesso ottimizzato al
blocco" indica che un blocco è ottimizzato. In caso contrario si tratta di un blocco
standard ed è compatibile con le CPU S7-300/400.
● Variabili di un blocco dati globale: riguardo all'assegnazione dello stato "a ritenzione" i DB
globali si comportano in modo simile agli FB. A seconda dell'impostazione per l'accesso
al blocco è possibile impostare lo stato "a ritenzione" per variabili singole o per tutte le
variabili di un blocco dati globale.
– Se quando si crea il DB si seleziona "Ottimizzato", si può impostare lo stato a
ritenzione per ogni singola variabile.
– Se quando si crea il DB si seleziona "Standard - compatibile con S7-300/400", lo stato
"a ritenzione" viene impostato per tutte le variabili del DB, per cui le variabili sono tutte
a ritenzione oppure tutte non a ritenzione.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 101
Concetti base sui PLC
4.1 Esecuzione del programma utente

La CPU supporta complessivamente 10240 byte di dati a ritenzione. Per sapere quanti dati a
ritenzione sono disponibili fare clic sull'icona della barra degli strumenti "Ritenzione" nella
tabella delle variabili del PLC o nell'elenco delle assegnazioni. Nonostante qui venga
specificato il campo a ritenzione della memoria M, la seconda riga indica la memoria
complessivamente disponibile sia per i merker che per i DB. Si noti che perché questo valore
sia preciso è necessario compilare tutti i blocchi dati con le variabili a ritenzione.

Nota
Il caricamento del programma non cancella né modifica i valori della memoria a ritenzione.
Per cancellare la memoria a ritenzione prima di caricare un programma riportare la CPU alle
impostazioni di fabbrica prima di procedere al caricamento.

4.1.5.1 Merker di sistema e di clock


I byte per i "merker di sistema" e i "merker di clock" possono essere abilitati nelle proprietà
della CPU. La logica del programma può indirizzare i singoli bit di queste funzioni in base ai
nomi di variabile.
● È possibile assegnare un byte di memoria M ai merker di sistema. Il byte di merker di
sistema contiene i quattro seguenti bit che possono essere indirizzati dal programma
utente in base ai seguenti nomi di variabile:
– Primo ciclo: Il bit (nome di variabile "FirstScan") viene impostato a 1 per il primo ciclo
al termine dell'esecuzione dell'OB di avvio (al termine del primo ciclo, il bit di "primo
ciclo" viene impostato a 0).
– Stato di diagnostica modificato (nome di variabile: "DiagStatusUpdate") viene
impostato a 1 per un ciclo di scansione dopo che la CPU ha registrato un evento di
diagnostica. Poiché la CPU non imposta il bit "Diagramma di diagnostica modificato"
finché non termina la prima esecuzione degli OB di ciclo, il programma utente non può
rilevare se si è verificata una modifica della diagnostica né durante l'esecuzione degli
OB di avvio, né durante la prima esecuzione degli OB di ciclo.
– Sempre 1 (high): Il bit (nome di variabile "AlwaysTRUE") è sempre impostato a 1.
– Sempre 0 (low): Il bit (nome di variabile "AlwaysFALSE") è sempre impostato a 0.
● È possibile assegnare un byte di memoria M ai merker di clock. Ogni bit del byte
configurato come merker di clock genera un impulso ad onda quadra. Il byte di merker di
clock fornisce 8 diverse frequenze comprese tra 0,5 Hz (lenta) e 10 Hz (veloce). Questi
bit possono essere utilizzati come bit di comando, in particolare per le istruzioni con i
fronti, per attivare delle azioni cicliche nel programma utente.

Sistema di automazione S7-1200


102 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.1 Esecuzione del programma utente

La CPU inizializza questi byte quando il modo di funzionamento passa da STOP a


STARTUP. Durante i modi STARTUP e RUN i merker di clock cambiano in modo sincrono
rispetto all'orologio della CPU.

CAUTELA
Rischi in caso di sovrascrittura dei bit dei merker di sistema o dei merker di clock
Se si sovrascrivono i bit dei merker di sistema o i merker di clock, i dati di queste funzioni
possono danneggiarsi e causare il funzionamento errato del programma utente provocando
danni alle apparecchiature e lesioni alle persone.
Poiché sia i merker di clock che quelli di sistema non sono riservati nella memoria M, le
istruzioni o comunicazioni possono scrivervi danneggiando i dati.
È quindi opportuno evitare di scrivere i dati in questi indirizzi, al fine di garantire la corretta
esecuzione delle funzioni, e prevedere sempre un circuito di arresto d’emergenza per il
processo o la macchina.

I merker di sistema configurano un byte contenente bit che si attivano (valore = 1) per un
evento specifico.

Tabella 4- 16 Merker di sistema

7 6 5 4 3 2 1 0
Riservati Sempre spento Sempre acceso Indicatore di stato di Indicatore di prima
Valore 0 Valore 0 Valore 1 diagnostica scansione
• 1: Cambiamento • 1: Prima scansione
• 0: Nessun dopo l'avviamento
cambiamento • 0: Nessuna prima
scansione

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 103
Concetti base sui PLC
4.1 Esecuzione del programma utente

I merker di clock configurano un byte che attiva e disattiva ciclicamente i singoli bit a
intervalli prestabiliti. Ciascun bit di clock genera un impulso ad onda quadra nel
corrispondente bit di memoria M. Questi bit possono essere utilizzati come bit di comando, in
particolare per le istruzioni con i fronti, per attivare delle azioni cicliche nel codice utente.

Tabella 4- 17 Merker di clock

Numero bit 7 6 5 4 3 2 1 0
Nome della variabile
Periodo/i 2,0 1,6 1,0 0,8 0,5 0,4 0,2 0,1
Frequenza (Hz) 0,5 0,625 1 1,25 2 2,5 5 10

Poiché i merker di clock funzionano in modo asincrono rispetto al ciclo della CPU, lo stato dei merker di clock può cambiare
molte volte durante un ciclo lungo.

4.1.6 Buffer di diagnostica


La CPU dispone di un buffer di diagnostica che contiene una voce per ciascun evento di
diagnostica. Ogni voce comprende la data e l'ora in cui si è verificato l'evento, la categoria e
una descrizione dell'evento. Le voci sono visualizzate in ordine cronologico e l'evento più
recente compare per primo. In questo log sono disponibili fino a 50 eventi tra i più recenti.
Quando il log è pieno, un eventuale nuovo evento sostituisce quello meno recente. Se viene
a mancare l'alimentazione, gli eventi vengono salvati.
Nel buffer di diagnostica vengono registrati i seguenti tipi di eventi:
● Gli eventi di diagnostica del sistema; ad esempio gli errori della CPU e dei moduli
● I cambimenti dello stato della CPU (le accensioni, le commutazioni in STOP e in RUN)
Per accedere al buffer di diagnostica (Pagina 817) è necessario essere online. Aprire il
buffer di diagnostica in "Diagnostica > Buffer di diagnostica" del menu "Online &
Diagnostica".

Sistema di automazione S7-1200


104 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.1 Esecuzione del programma utente

4.1.7 Orologio hardware


La CPU dispone di un orologio hardware. Un condensatore ad elevata capacità fornisce
l'energia necessaria per far funzionare l'orologio quando la CPU è spenta. Il condensatore si
ricarica quando la CPU è alimentata e dopo un minimo di 24 ore generalmente ha energia
sufficiente a far funzionare l'orologio per 20 giorni.
STEP 7 imposta l'orologio hardware sull'ora e la data di sistema che ha un valore di default
preconfigurato o impostato durante un reset in fabbrica. Per poter utilizzare l'orologio
hardware lo si deve impostare. La data e l'ora delle voci del buffer di diagnostica, dei file di
log di dati e delle voci del log di dati si basano sulla data e l'ora di sistema. L'ora può essere
impostata con la funzione "Imposta data e ora" (Pagina 813)della vista "Online e
diagnostica" della CPU online. STEP 7 calcola quindi l'ora di sistema aggiungendo o
sottraendo a quella impostata lo scostamento del sistema operativo Windows dall'UTC
(Coordinated Universal Time). Se si imposta l'ora sull'attuale ora locale e se il fuso orario e
l'ora legale impostati in Windows corrispondono a quelli locali, l'ora di sistema corrisponderà
all'UTC.
STEP 7 contiene istruzioni (Pagina 292) per la lettura e la scrittura dell'ora di sistema
(RD_SYS_T e WR_SYS_T), per la lettura dell'ora locale (RD_LOC_T) e per l'impostazione
del fuso orario (SET_TIMEZONE). L'istruzione RD_LOC_T calcola l'ora locale in base agli
scostamenti del fuso orario e dell'ora legale impostati nella configurazione dell'orologio nelle
proprietà generali della CPU (Pagina 146). Queste impostazioni consentono di definire il
fuso orario per l'ora locale, di attivare in opzione l'ora legale e di specificare le date di inizio e
di fine dell'ora legale. Possono essere configurate anche con le istruzioni SET_TIMEZONE.

4.1.8 Configurazione delle uscite in caso di commutazione da RUN a STOP


È possibile configurare il comportamento che verrà assunto dalle uscite digitali e analogiche
quando la CPU è in STOP. Per ogni uscita di una CPU o di un modulo SB o SM si può
indicare se dovrà essere congelata sul suo valore o se dovrà utilizzare un valore sostitutivo:
● Sostituzione di un valore di uscita specifico (default): si specifica un valore sostitutivo per
ogni (canale di) uscita della CPU o del modulo SB o SM.
Il valore sostitutivo di default per i canali di uscita digitali è OFF e quello per i canali di
uscita analogici è 0.
● Congelamento delle uscite in modo che mantengano il loro ultimo stato: le uscite
mantengono il valore che avevano quando si è verificata la commutazione da RUN a
STOP. Dopo l'accensione le uscite vengono impostate sul valore sostitutivo di default.
Il comportamento delle uscite può essere configurato in Configurazione dispositivi.
Selezionare i singoli dispositivi nella scheda "Proprietà" per configurarne le uscite.
Quando passa da RUN a STOP, la CPU mantiene l'immagine di processo e, in base alla
configurazione, scrive i valori appropriati sia per le uscite digitali che per quelle analogiche.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 105
Concetti base sui PLC
4.2 Memorizzazione dei dati, aree di memoria, I/O e indirizzamento

4.2 Memorizzazione dei dati, aree di memoria, I/O e indirizzamento

4.2.1 Accesso ai dati dell’S7-1200


STEP 7 facilita la programmazione simbolica. Vengono creati nomi simbolici o variabili per
gli indirizzi dei dati, come variabili PLC legate agli indirizzi di memoria e agli I/O oppure come
variabili locali utilizzate all'interno di un blocco di codice. Per utilizzare queste variabili nel
programma utente basta inserire il nome di una variabile nel parametro dell'istruzione.
Per permettere di comprendere meglio come la CPU struttura e indirizza le aree di memoria,
il seguente paragrafo spiega l'indirizzamento "assoluto" a cui fanno riferimento le variabili
PLC. La CPU dispone di svariate opzioni per la memorizzazione dei dati durante
l'esecuzione del programma utente:
● Memoria globale: La CPU mette a disposizione diverse aree di memoria specializzate, tra
cui gli ingressi (I), le uscite (Q) e i merker (M). La memoria è accessibile da tutti i blocchi
di codice senza alcuna limitazione.
● Tabella delle variabili del PLC: vi si possono immettere nomi simbolici per indirizzi di
memoria specifici. Queste variabili valgono in tutto il programma STEP 7 e consentono
all'utente di programmare con nomi significativi per la sua applicazione specifica.
● Blocco dati (DB): nel programma utente si possono inserire dei DB in cui salvare i dati per
i blocchi di codice. Quando termina l'esecuzione del blocco di codice associato i dati
vengono mantenuti in memoria. I DB "globali" memorizzano dati che possono essere
utilizzati da tutti i blocchi di codice mentre i DB di istanza memorizzano solo quelli per un
FB specifico e sono strutturati dai parametri dell'FB.
● Memoria temporanea: quando viene richiamato un blocco di codice il sistema operativo
della CPU assegna la memoria (L) temporanea o locale che potrà essere utilizzata
durante l'esecuzione del blocco. Al termine dell'esecuzione la CPU riassegna la memoria
locale per l'esecuzione di altri blocchi di codice.
Ogni diversa locazione di memoria ha un indirizzo univoco. Il programma utente si serve di
questi indirizzi per accedere alle informazioni contenute nella rispettiva locazione di
memoria. I riferimenti alle aree di memoria degli ingressi (I) o delle uscite (Q), come I0.3 o
Q1.7, accedono all'immagine di processo. Per accedere direttamente a un ingresso o
un'uscita fisica aggiungere ":P" al riferimento (ad es. I0.3:P, Q1.7:P o "Stop:P").

Tabella 4- 18 Aree di memoria

Area di memoria Descrizione Forzamento Ritenzione


I Viene copiata dagli ingressi fisici all'inizio del ciclo di No No
Immagine di processo degli scansione
ingressi Lettura diretta degli ingressi fisici della CPU e degli SB Sì No
I_:P 1 ed SM
(ingresso fisico)
Q Copiata nelle uscite fisiche all'inizio del ciclo di scansione No No
Immagine di processo delle Scrittura diretta nelle uscite fisiche della CPU e degli SB Sì No
uscite ed SM
Q_:P 1
(uscita fisica)

Sistema di automazione S7-1200


106 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.2 Memorizzazione dei dati, aree di memoria, I/O e indirizzamento

Area di memoria Descrizione Forzamento Ritenzione


M Memoria di comando e di dati No Sì
Memoria di merker (opzionale)
L Dati temporanei per un blocco, locali nel blocco specifico No No
Memoria temporanea
DB Memoria di dati e, nel caso degli FB, anche memoria per No Sì
Blocco dati i parametri (opzionale)
1 Per accedere direttamente (lettura o scrittura) agli ingressi e alle uscite fisiche, aggiungere una ":P" all'indirizzo o alla
variabile (ad es. I0.3:P, Q1.7:P o "Stop:P").

Ogni diversa locazione di memoria ha un indirizzo univoco. Il programma utente si serve di


questi indirizzi per accedere alle informazioni contenute nella rispettiva locazione di
memoria. L'indirizzo assoluto consiste nei seguenti elementi:
● Identificatore dell'area di memoria (come I, Q o M)
● Dimensione dei dati a cui accedere ("B" per Byte, "W" per Word o "D" per DWord)
● Indirizzo iniziale dei dati (come byte 3 o word 3)
Quando si accede a un bit nell'indirizzo di un valore booleano non è necessario inserire un
mnemonico per la dimensione, ma solo l'area di memoria, la posizione del byte e quella del
bit dei dati (ad es. I0.0, Q0.1 o M3.4).

A Identificatore dell'area di memoria E Byte dell'area di memoria


B Indirizzo del byte: byte 3 F Bit del byte selezionato
C Separatore ("byte.bit")
D Posizione del bit nel byte (bit 4 di 8)

Nell'esempio l’area di memoria e l’indirizzo del byte (M = area dei merker e 3 = Byte 3) sono
seguiti da un punto decimale (".") che separa l'indirizzo del bit (bit 4).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 107
Concetti base sui PLC
4.2 Memorizzazione dei dati, aree di memoria, I/O e indirizzamento

Accesso ai dati delle aree di memoria della CPU


STEP 7 facilita la programmazione simbolica. Generalmente le variabili vengono create nelle
variabili PLC, in un blocco dati o nell'interfaccia sopra un OB, un'FC o un FB. Le variabili
sono costituite dal nome, dal tipo di dati, dall'offset e dal commento. Nei blocchi dati si può
specificare anche un valore iniziale. Per utilizzare queste variabili mentre si programma se
ne deve specificare il nome nel parametro dell'istruzione. In opzione si può indicare
l'operando assoluto (memoria, area, dimensione e offset) nel parametro dell'istruzione. Gli
esempi riportati nei prossimi capitoli spiegano come immettere gli operandi assoluti. L'editor
di programma inserisce automaticamente il carattere % prima dell'operando assoluto. Il tipo
di visualizzazione dell'editor di programma può essere scelto tra uno dei seguenti: simbolica,
simbolica e assoluta o assoluta.
I (immagine di processo degli ingressi): la CPU campiona gli ingressi (fisici) della periferia
immediatamente prima dell'esecuzione dell'OB di ciclo di ogni ciclo di scansione e scrive i
valori rilevati nell'immagine di processo degli ingressi. L'accesso all'immagine di processo
degli ingressi può essere effettuato a bit, byte, parola e doppia parola. È consentito l'accesso
sia in scrittura che in lettura, ma generalmente gli ingressi dell'immagine di processo
vengono solo letti.

Tabella 4- 19 Indirizzo assoluto per la memoria I

Bit I[indirizzo byte].[indirizzo bit] I0.1


Byte, parola o doppia parola I[dimensione][indirizzo byte iniziale] IB4, IW5 o ID12

Aggiungendo ":P" all'indirizzo si fa in modo che gli ingressi digitali e analogici della CPU,
dell'SB o dell'SM vengano letti immediatamente. La differenza tra un accesso mediante I_:P
invece che I consiste nel fatto che i dati provengono direttamente dall'ingresso a cui si
accede invece che dall'immagine di processo degli ingressi. L'accesso I_:P è considerato
una "lettura diretta" perché i dati vengono prelevati direttamente dall'origine invece che dalla
copia dell'ultima immagine di processo degli ingressi aggiornata.
Poiché gli ingressi fisici ricevono i loro valori direttamente dall'apparecchiatura da campo a
cui sono collegati, non è consentito scrivervi. Ciò significa che gli accessi I_:P sono di sola
lettura, diversamente dagli accessi I che possono essere di lettura o di scrittura.
Gli accessi I_:P sono inoltre limitati alla dimensione degli ingressi supportati da una singola
CPU o modulo SB o SM, arrotondata al byte più vicino. Se, ad esempio, gli ingressi 2 DI / 2
DQ di un SB sono stati configurati in modo da iniziare da I4.0, vi si può accedere con I4.0:P
e I4.1:P oppure IB4:P. Gli accessi a I4.2:P - I4.7:P vengono comunque accettati ma non
hanno senso perché non vengono utilizzati. Gli accessi a IW4:P e ID4:P non sono consentiti
perché superano l'offset di byte associato all'SB.
Gli accessi con I_:P non influiscono sul valore corrispondente memorizzato nell'immagine di
processo degli ingressi.

Tabella 4- 20 Indirizzo assoluto per la memoria I (diretto)

Bit I[indirizzo byte].[indirizzo bit]:P I0.1:P


Byte, parola o doppia parola I[dimensione][indirizzo byte IB4:P, IW5:P o ID12:P
iniziale]:P

Sistema di automazione S7-1200


108 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.2 Memorizzazione dei dati, aree di memoria, I/O e indirizzamento

Q (immagine di processo delle uscite): La CPU copia nelle uscite fisiche i valori memorizzati
nell'immagine di processo delle uscite. L'accesso all'immagine di processo delle uscite può
essere effettuato a bit, byte, parola e doppia parola. È consentito l'accesso sia in lettura che
in scrittura.

Tabella 4- 21 Indirizzo assoluto per la memoria Q

Bit Q[indirizzo byte].[indirizzo bit] Q1.1


Byte, parola o doppia parola Q[dimensione][indirizzo byte QB5, QW10, QD40
iniziale]

Aggiungendo ":P" all'indirizzo si fa in modo che le uscite fisiche digitali e analogiche della
CPU, dell'SB o dell'SM vengano scritte immediatamente. La differenza tra un accesso
mediante Q_:P invece di Q consiste nel fatto che i dati vengono scritti direttamente
nell'uscita a cui si accede oltre che nell'immagine di processo delle uscite (la scrittura viene
effettuata in entrambi i punti). L'accesso Q_:P a volte viene definito "scrittura diretta" perché i
dati vengono inviati direttamente all'uscita di destinazione, che non deve quindi attendere il
successivo aggiornamento dell'immagine di processo delle uscite.
Poiché le uscite fisiche comandano direttamente le apparecchiature da campo a cui sono
collegate non è consentito leggerle. Ciò significa che gli accessi Q_:P sono di sola scrittura,
diversamente dagli accessi Q che possono essere di lettura o di scrittura.
Gli accessi Q_:P sono inoltre limitati alla dimensione delle uscite supportate da una singola
CPU o modulo SB o SM, arrotondata al byte più vicino. Se, ad esempio, le uscite 2 DI / 2 DQ
di un SB sono state configurate in modo da iniziare da Q4.0, vi si può accedere con Q4.0:P
e Q4.1:P oppure QB4:P. Gli accessi a Q4.2:P - Q4.7:P vengono comunque accettati ma non
hanno senso perché non vengono utilizzati. Gli accessi a QW4:P e QD4:P non sono
consentiti perché superano l'offset di byte associato all'SB.
Gli accessi con Q_:P influiscono sia sull'uscita fisica che sul corrispondente valore
memorizzato nell'immagine di processo delle uscite.

Tabella 4- 22 Indirizzo assoluto per la memoria Q (diretto)

Bit Q[indirizzo byte].[indirizzo bit]:P Q1.1:P


Byte, parola o doppia parola Q[dimensione][indirizzo byte QB5:P, QW10:P o QD40:P
iniziale]:P

M (area dei merker): l’area dei merker (memoria M) può essere utilizzata sia per i relè di
controllo che per i dati al fine di memorizzare lo stato intermedio di un’operazione o altre
informazioni di comando. L'accesso all'area dei merker può essere effettuato a bit, byte,
parola e doppia parola. È consentito l'accesso sia in lettura che in scrittura.

Tabella 4- 23 Indirizzo assoluto per la memoria M

Bit M[indirizzo byte].[indirizzo bit] M26.7


Byte, parola o doppia parola M[dimensione][indirizzo byte MB20, MW30, MD50
iniziale]

Temp (memoria temporanea): La CPU assegna la memoria temporanea in base alle


necessità. La CPU assegna la memoria temporanea per il blocco di codice e inizializza a 0
gli indirizzi di memoria quando avvia il blocco di codice (nel caso degli OB) o lo richiama (nel
caso delle FC o degli FB).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 109
Concetti base sui PLC
4.2 Memorizzazione dei dati, aree di memoria, I/O e indirizzamento

La memoria temporanea è simile alla memoria M con un'eccezione fondamentale: la


memoria M è "globale" mentre la memoria L è "locale":
● Memoria M: qualsiasi OB, FC o FB può accedere ai dati di questa area di memoria,
ovvero i dati sono disponibili globalmente per tutti gli elementi del programma utente.
● Memoria temporanea: la CPU limita l'accesso ai dati di questa area all'OB, l'FC o l'FB che
ha creato o dichiarato l'indirizzo di memoria temporanea. Gli indirizzi restano locali e
blocchi di codice diversi non condividono la memoria temporanea, neppure quando un
blocco di codice ne richiama un altro. Ad esempio: quando un OB richiama un'FC,
quest'ultima non può accedere alla memoria temporanea dell'OB da cui è stata
richiamata.
La CPU mette a disposizione una memoria temporanea (locale) per ciascun livello di priorità
degli OB:
● 16 Kbyte per gli OB di avvio e di ciclo compresi gli FB e le FC associati
● 6 Kbyte per ogni ulteriore thread di eventi di allarme, compresi gli FB e le FC associati
L'accesso alla memoria temporanea può essere effettuato esclusivamente tramite
indirizzamento simbolico.
DB (blocco dati): i DB possono essere utilizzati per memorizzare diversi tipi di dati, tra cui lo
stato intermedio di un'operazione o altri parametri delle informazioni di comando per gli FB e
strutture di dati per varie istruzioni, quali i temporizzatori e i contatori. L'accesso alla
memoria dei blocchi dati può essere effettuato a bit, byte, parola e doppia parola. Per i
blocchi dati di lettura/scrittura è consentito l'accesso sia in lettura che in scrittura. Per i
blocchi di sola lettura è consentito solo l'accesso in lettura.

Tabella 4- 24 Indirizzo assoluto per la memoria DB

Bit DB[numero blocco dati].DBX[indirizzo DB1.DBX2.3


byte].[indirizzo bit]
Byte, parola o doppia DB[numero blocco dati].DB DB1.DBB4, DB10.DBW2,
parola [dimensione][indirizzo byte iniziale] DB20.DBD8

Nota
Quando si specifica un indirizzo assoluto in KOP o in FUP, STEP 7 lo fa precedere da un
carattere "%" per indicare che si tratta di un indirizzo assoluto. Durante la programmazione è
possibile inserire un indirizzo assoluto sia con che senza il carattere "%" (ad esempio %I0.0
o I.0). Se omesso, STEP 7 fornisce il carattere "%".
In SCL si deve immettere il carattere "%" prima dell'indirizzo per indicare che si tratta di un
indirizzo assoluto. Se manca il "%", durante la compilazione STEP 7 genera un errore di
variabile non definita

Sistema di automazione S7-1200


110 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.3 Elaborazione di valori analogici

Configurazione degli I/O nella CPU e nelle unità di ingresso/uscita

Quando si aggiungono una CPU e dei moduli di I/O


nella schermata di configurazione, vengono
assegnati automaticamente gli indirizzi I e Q.
L'indirizzamento di default può essere modificato
selezionando il campo dell'indirizzo nella
configurazione del dispositivo e digitando nuovi
numeri.
• Gli ingressi e le uscite digitali vengono
assegnati in gruppi di 8 (1 byte), a prescindere
dal fatto che l'unità li utilizzi tutti o meno.
• Gli ingressi e le uscite analogiche vengono
assegnati in gruppi di 2 (4 byte).

La seguente figura mostra un esempio di CPU 1214C con due SM e una SB. Nell'esempio
qui raffigurato si potrebbe modificare l'indirizzo del modulo DI8 in 2 anziché 8. Il software
facilita l'operazione modificando i campi degli indirizzi che hanno una dimensione errata o
che entrano in conflitto con altri indirizzi.

4.3 Elaborazione di valori analogici


I moduli di I/O analogici forniscono segnali di ingresso o valori di uscita che rappresentano
sia un campo di tensione che un campo di corrente. Questi campi sono ± 10 V, ± 5 V, ± 2.5
V o 0 - 20 mA. I valori restituiti dai moduli sono valori interi da 0 a 27648 per il campo
nominale di corrente e da -27648 a 27648 per quello di tensione. Un valore non compreso in
questo intervallo indica un overflow o un underflow. Per maggiori informazioni vedere le
tabelle di Rappresentazione degli ingressi analogici (Pagina 946) e di Rappresentazione
delle uscite analogiche (Pagina 947).
È probabile che nel programma di comando si debbano usare questi valori nelle unità di
engineering, ad esempio per rappresentare un valore di volume, temperatura, peso o altra
misura. Per un ingresso analogico, ad es., per prima cosa occorre normalizzare il valore
analogico a un valore reale (in virgola mobile) da 0,0 a 1,0. In seguito occorre regolarlo ai
valori minimi e massimi delle unità di engineering che rappresenta. Per i valori espressi in
unità di engineering e che devono essere convertiti in un valore di uscita analogico, per
prima cosa occorre normalizzare il valore in unità di engineering in un valore compreso tra
0,0 e 1,0 e in seguito regolarlo tra 0 e 27648 oppure tra -27648 e 27648, a seconda del
campo del modulo analogico. A tal fine è possibile utilizzare le istruzioni NORM_X e
SCALE_X (Pagina 256) di STEP 7. È possibile utilizzare anche l'istruzione CALCULATE
(Pagina 234) per regolare i valori analogici. (Pagina 39).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 111
Concetti base sui PLC
4.4 Tipi di dati

4.4 Tipi di dati


I tipi di dati consentono sia di specificare la dimensione di un elemento di dati che di indicare
come vanno interpretati i dati. Ciascun parametro di un'istruzione supporta almeno un tipo di
dati e alcuni ne supportano più di uno. Posizionando il cursore sul campo del parametro di
un'istruzione si possono visualizzare i tipi di dati supportati.
Il parametro formale di un'istruzione è l'identificatore che indica la posizione dei dati che
questa deve utilizzare (ad esempio: l'ingresso IN1 di un'istruzione ADD). Il parametro attuale
corrisponde all'indirizzo di memoria (preceduto dal carattere "%") o alla costante in cui si
trovano i dati che devono essere utilizzati dall'istruzione (ad esempio %MD400
"Numero_di_oggetti"). Il tipo di dati del parametro attuale specificato dall'utente deve essere
supportato dal parametro formale specificato dall'istruzione.
Quando si specifica un parametro attuale si deve indicare una variabile (simbolo) o un
indirizzo di memoria assoluto (diretto). Le variabili associano un nome simbolico (nome della
variabile) a un tipo di dati, un'area di memoria, un offset di memoria e un commento, e
possono essere create nell'editor delle variabili PLC o nell'editor di interfaccia di un blocco
(OB, FC, FB e DB). Se si indica un indirizzo assoluto a cui non è stata associata una
variabile si deve utilizzare una dimensione appropriata al tipo di dati supportato, in modo
che, una volta immesso l'indirizzo, venga creata automaticamente una variabile di default.
Tutti i tipi di dati, tranne String, Struct, Array e DTL, sono disponibili nell'editor delle variabili
PLC e negli editor di interfaccia di blocco. String, Struct, Array e DTL sono disponibili solo
negli editor di interfaccia di blocco. Per molti parametri di ingresso si può indicare anche un
valore costante.
● Bit e sequenze di bit (Pagina 113): Bool (valore booleano o di bit), Byte (valore di byte di
8 bit), Word (valore di 16 bit), DWord (valore di doppia parola di 32 bit)
● Numero intero (Pagina 114)
– USInt (numero intero senza segno di 8 bit), SInt (numero intero con segno di 8 bit),
– UInt (numero intero senza segno di 16 bit), Int (numero intero con segno di 16 bit),
– UDInt (numero intero senza segno di 32 bit), DInt (numero intero con segno di 32 bit),
● Numero reale in virgola mobile (Pagina 114): Real (valore in virgola mobile o reale di 32
bit), LReal (valore in virgola mobile o reale di 64 bit)
● Data e ora (Pagina 115): Time (valore di ora IEC di 32 bit), Date (valore di data di 16 bit),
TOD (valore di orologio di 32 bit), DTL (valore di data e ora di 12 byte)
● Carattere e stringa (Pagina 116): Char (carattere singolo di 8 bit), String (stringa di
lunghezza variabile fino a 254 caratteri)
● Array (Pagina 118)
● Struttura dei dati (Pagina 119): Struct
● Tipo di dati PLC (Pagina 120)
● Puntatori (Pagina 121): Pointer, Any, Variant
Il seguente formato numerico BCD è supportato dalle istruzioni di conversione nonostante
non sia disponibile come tipo di dati.

Sistema di automazione S7-1200


112 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.4 Tipi di dati

Tabella 4- 25 Dimensione e campo del formato BDC

Formato Dimensione Campo numerico Esempi di costanti


(bit)
BCD16 16 Da -999 a 999 123, -123
BCD32 32 Da -9999999 a 9999999 1234567, -1234567

4.4.1 Tipi di dati Bool, Byte, Word e DWord

Tabella 4- 26 Tipi di dati bit e sequenze di bit

Tipo di Dimen Tipo di Campo Esempi di Esempi di


dati sione numero numerico costanti indirizzi
bit
Bool 1 Booleano Vero o falso Vero, 1, I1.0
Binario 0o1 0, 2#0 Q0.1
M50.7
Ottale 8#0 o 8#1 8#1 DB1.DBX2.3
Esadecimale 16#0 o 16#1 16#1 Tag_name
Byte 8 Binario 2#0 ... 2#11111111 2#00001111 IB2
Numero intero 0 ... 255 15 MB10
senza segno DB1.DBB4
Tag_name
Ottale 8#0 ... 8#377 8#17
Esadecimale B#16#0 ... B#16#FF B#16#F, 16#F
Word 16 Binario 2#0 ... 2#1111111111111111 2#1111000011110000 MW10
Numero intero 0 ... 65535 61680 DB1.DBW2
senza segno Tag_name

Ottale 8#0 ... 8#177777 8#170360


Esadecimale W#16#0 ... W#16#FFFF, W#16#F0F0, 16#F0F0
16#0 ... 16#FFFF
DWord 32 Binario 2#0 ... 2#111100001111111100 MD10
2#111111111111111111111111 001111 DB1.DBD8
11111111 Tag_name
Numero intero 0 ... 4294967295 15793935
senza segno
Ottale 8#0 ... 8#37777777777 8#74177417
Esadecimale DW#16#0000_0000 ... DW#16#F0FF0F,
DW#16#FFFF_FFFF, 16#F0FF0F
16#0000_0000 ...
16#FFFF_FFFF

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 113
Concetti base sui PLC
4.4 Tipi di dati

4.4.2 Tipi di numeri interi

Tabella 4- 27 Tipi di numeri interi (U = senza segno, S = breve, D = doppio)

Tipo di dati Dimensione Campo numerico Esempi di costanti Esempi di


bit indirizzi
USInt 8 0 ... 255 78, 2#01001110 MB0, DB1.DBB4,
SInt 8 Da -128 a 127 +50, 16#50 Tag_name

UInt 16 Da 0 a 65.535 65295, 0 MW2, DB1.DBW2,


Int 16 Da -32.768 a 32.767 30000, +30000 Tag_name
UDInt 32 Da 0 a 4042322160 MD6, DB1.DBD8,
4.294.967.295 Tag_name
DInt 32 Da -2.147.483.648 a -2131754992
2.147.483.647

4.4.3 Tipi di dati reali in virgola mobile


I numeri reali (o in virgola mobile) sono costituiti dai numeri a 32 bit a precisione singola
(Real) o dai numeri a 64 bit a precisione doppia (LReal) aventi il formato descritto nello
standard ANSI/IEEE754-1985. I numeri in virgola mobile a precisione singola sono precisi
fino a 6 cifre significative, mentre i numeri in virgola mobile a precisione doppia sono precisi
fino a 15 cifre significative. Per mantenere la precisione, quando si specificano le costanti in
virgola mobile si possono indicare al massimo 6 (Real) o 15 cifre significative (LReal).

Tabella 4- 28 Tipi di dati reali in virgola mobile (L=Lungo)

Tipo di Dimen Campo numerico Esempi di costanti Esempi di indirizzi


dati sione
bit
Real 32 -3,402823e+38 ... -1,175 495e-38, 123.456, -3.4, 1,0e-5 MD100, DB1.DBD8,
±0, Tag_name
+1,175 495e-38 ... +3,402823e+38
LReal 64 -1,7976931348623158e+308 ... 12345,123456789e40, DB_name.var_name
-2,2250738585072014e-308, 1,2E+40 Regole:
±0,
+2,2250738585072014e-308 ... • Nessun supporto di
+1,7976931348623158e+308 indirizzo diretto
• Può essere assegnato in
una tabella di interfaccia
del blocco OB, FB o FC

I calcoli che includono una lunga serie di valori con numeri molto grandi o molto piccoli
possono dare risultati imprecisi. Ciò accade se i numeri differiscono di 10 elevato alla
potenza di x, dove x > 6 (Real) o 15 (LReal). Ad esempio (Real): 100 000 000 + 1 = 100 000
000.

Sistema di automazione S7-1200


114 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.4 Tipi di dati

4.4.4 Tipi di dati di ora e data

Tabella 4- 29 Tipi di dati di ora e data

Tipo di dati Dimensio Campo Esempi di costanti


ne
Time 32 bit T#-24d_20h_31m_23s_648ms ... T#5m_30s
T#24d_20h_31m_23s_647ms T#1d_2h_15m_30s_45ms
Salvati come: -2.147.483.648 ms ... TIME#10d20h30m20s630ms
+2.147.483.647 ms 500h10000ms
10d20h30m20s630ms
Date 16 bit D#1990-1-1 ... D#2168-12-31 D#2009-12-31
DATE#2009-12-31
2009-12-31
Time_of_Day 32 bit TOD#0:0:0.0 ... TOD#23:59:59.999 TOD#10:20:30.400
TIME_OF_DAY#10:20:30.400
23:10:1
DTL 12 byte Min.: DTL#1970-01-01-00:00:00.0 DTL#2008-12-16-20:30:20.250
(Date and Time Max.: DTL#2554-12-31-23:59:59.999 999 999
Long)

Time
I dati TIME sono memorizzati come numero intero doppio con segno espresso in
millisecondi. Il formato dell'editor può usare le informazioni per giorno (d), ore (h), minuti (m),
secondi (s) e millisecondi (ms).
Non è necessario specificare tutte le unità di tempo. Ad esempio T#5h10s e 500h sono
validi.
Il valore totale di tutti i valori di unità specificati non può superare i limiti superiore o inferiore
in millisecondi per il tipo di dati Time (-2.147.483.648 ms ... +2.147.483.647 ms).

Date
I dati DATE sono memorizzati come numero intero senza segno che viene interpretato come
il numero di giorni aggiunti alla data di base 01/01/1990 per ottenere la data specificata. Il
formato dell'editor deve specificare anno, mese e giorno.

TOD
I dati TOD (TIME_OF_DAY sono memorizzati come numero intero doppio senza segno che
viene interpretato come il numero di millisecondi a partire dalla mezzanotte per l'ora del
giorno specificata (mezzanotte = 0 ms). Devono essere specificati ora (24 ore/giorno), minuti
e secondi. La specifica della frazione di secondo è opzionale.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 115
Concetti base sui PLC
4.4 Tipi di dati

DTL
Il tipo di dati DTL (Date and Time Long) utilizza una struttura a 12 byte che salva le
informazioni su data e ora. I dati DTL possono essere definiti sia nella memoria temporanea
di un blocco che in un DB. Nella colonna "Valore iniziale" dell'editor di DB deve essere
inserito un valore per tutti i componenti.

Tabella 4- 30 Dimensione e campo per DTL

Lunghezz Formato Campo di valori Esempio di valore immesso


a (byte)
12 Orologio e calendario Min.: DTL#1970-01-01-00:00:00.0 DTL#2008-12-16-20:30:20.250
Anno-Mese-Giorno:Ora:Minuto: Max.: DTL#2554-12-31-23:59:59.999
Secondo.Nanosecondi 999 999

Ogni componente del DTL contiene un diverso tipo di dati e campo di valori. Il tipo di dati di
un valore specificato deve essere uguale a quello dei relativi componenti.

Tabella 4- 31 Elementi della struttura del DTL

Byte Componente Tipo di dati Campo di valori


0 Anno UINT 1970 ... 2554
1
2 Mese USINT 1 ... 12
3 Giorno USINT 1 ... 31
4 Giorno della USINT 1 (domenica) ... 7 (sabato) 1
settimana 1
5 Ora USINT 0 ... 23
6 Minuto USINT 0 ... 59
7 Secondo USINT 0 ... 59
8 Nanosecondi UDINT 0 ... 999 999 999
9
10
11
1 Il giorno della settimana non viene considerato.

4.4.5 Tipi di dati carattere e stringa

Tabella 4- 32 Tipi di dati carattere e stringa

Tipo di dati Dimensione Campo Esempi di costanti


Char 8 bit Codici di caratteri ASCII: Da 16#00 a 16#FF 'A', 't', '@'
String n+ 2 byte n = (0 ... 254 byte di caratteri) 'ABC'

Sistema di automazione S7-1200


116 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.4 Tipi di dati

Char
Il dato Char occupa un byte di memoria e memorizza un singolo carattere codificato in
formato ASCII. La sintassi dell'editor utilizza un apostrofo prima e dopo il carattere ASCII.
Possono essere utilizzati caratteri visibili e di controllo. Nella descrizione del tipo di dati
String è riportata una tabella dei caratteri di controllo validi.

String
La CPU supporta il tipo di dati String che consente di memorizzare una sequenza di caratteri
di un byte. Questo tipo di dati contiene il numero massimo di caratteri (della stringa) e il
numero di caratteri attuali. String mette a disposizione 256 byte per memorizzare il numero
massimo di caratteri (1 byte), il numero di caratteri attuali (1 byte) e fino a un massimo di 254
caratteri, ognuno memorizzato in 1 byte.
Se si usano le virgolette singole è possibile utilizzare letterali di stringa (costanti) per i
parametri delle istruzioni di tipo IN. Ad esempio ‘ABC’ è una stringa di tre caratteri che può
essere utilizzata come ingresso per il parametro IN dell'istruzione S_CONV. È inoltre
possibile creare variabili di stringa selezionando il tipo di dati "String" negli editor di
interfaccia dei blocchi OB, FC, FB e DB. Non è possibile creare stringhe nell'editor delle
variabili PLC.
È possibile specificare la dimensione massima della stringa in byte inserendo delle parentesi
quadre dopo la parola chiave "String" (dopo aver selezionato il tipo di dati "String" dall'elenco
a discesa dei tipi di dati). Ad esempio, "MyString[10]" indica che MyString può avere una
dimensione massima di 10 byte. Se non si indicano le parentesi quadre con le dimensioni
massime, queste vengono impostate automaticamente a 254.
Il seguente esempio definisce una stringa con un numero massimo di caratteri pari a 10 e un
numero di caratteri attuali pari a 3. La stringa contiene quindi 3 caratteri di un byte, ma
potrebbe essere ingrandita fino a 10 caratteri di 1 byte.

Tabella 4- 33 Esempio di tipo di dati String

Numero massimo Numero di caratteri Carattere 1 Carattere 2 Carattere 3 ... Carattere 10


di caratteri attuali
10 3 'C' (16#43) 'A' (16#41) 'T' (16#54) ... -
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 ... Byte 11

Nei dati Char e String possono essere utilizzati i caratteri di controllo ASCII. La tabella
seguente riporta degli esempi della sintassi dei caratteri di controllo.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 117
Concetti base sui PLC
4.4 Tipi di dati

Tabella 4- 34 Caratteri di controllo ASCII validi

Caratteri di controllo Valore esa ASCII Funzione di comando Esempi


$L o $l 0A Avanzamento di linea '$LText', '$0AText'
$N o $n 0A e 0D Interruzione di linea '$NText', '$0A$0DText'
La nuova linea mostra due caratteri nella
stringa.
$P o $p 0C Avanzamento di pagina '$PText', '$0CText'
$R o $r 0D Ritorno del carrello (CR) '$RText','$0DText'
$T o $t 09 Tabulazione '$TText', '$09Text'
$$ 24 Segno del dollaro '100$$', '100$24'
$' 27 Apostrofo '$'Text$'','$27Text$27'

4.4.6 Tipo di dati dell'array

Array
È possibile creare un array che contiene più elementi dello stesso tipo di dati. Per creare gli
array si utilizzano gli editor di interfaccia dei blocchi OB, FC, FB e DB. Non è possibile
creare un array nell'editor delle variabili PLC.
Per creare un array nell'editor di interfaccia di un blocco, attribuire un nome all'array e
selezionare il tipo di dati "Array [lo .. hi] of type", quindi indicare "lo", "hi" e "type" nel
seguente modo:
● lo - l'indice iniziale (più basso) dell'array
● hi - l'indice finale (più alto) dell'array
● type - uno dei tipi di dati quali BOOL, SINT, UDINT

Sistema di automazione S7-1200


118 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.4 Tipi di dati

Tabella 4- 35 Regole del tipo di dati dell'ARRAY

Tipo di dati Sintassi dell'array


ARRAY Nome [index1_min..index1_max, index2_min..index2_max] di <tipo di dati>
• Tutti gli elementi dell'array devono avere lo stesso tipo di dati.
• L'indice può essere negativo, ma il limite inferiore deve essere minore o uguale al limite superiore.
• Gli array possono avere da una a sei dimensioni.
• Le dichiarazioni di indice multidimensionale min. e max. sono separate da virgole.
• Gli annidamenti di array, o gli array di array, non sono consentiti.
• La dimensione della memoria di un array = (dimensione di un elemento * numero totale di elementi
nell'array)

Indice dell'array Tipi di dati dell'indice ammessi Regole dell'indice dell'array


Costante o USInt, SInt, UInt, Int, UDInt, • Limiti del valore: -32768 ... +32767
variabile DInt
• Valido: costanti e variabili miste
• Valido: espressioni costanti
• Non valido: espressioni variabili

Esempio: ARRAY[1..20] of REAL Monodimensionale, 20 elementi


dichiarazioni degli ARRAY[-5..5] of INT Monodimensionale, 11 elementi
array
ARRAY[1..2, 3..4] of CHAR Bidimensionale, 4 elementi
Esempio: indirizzi ARRAY1[0] ARRAY1 elemento 0
degli array ARRAY2[1,2] ARRAY2 elemento [1,2]
ARRAY3[i,j] Se i=3 e j=4, viene indirizzato
l'ARRAY3 elemento [3, 4]

4.4.7 Tipo di dati della struttura


Per definire una struttura di dati costituita da altri tipi di dati è possibile utilizzare il tipo di dati
"Struct". Il tipo di dati Struct può essere utilizzato per gestire come un'unica unità di dati un
gruppo di dati di processo simili. Nell'editor di blocchi dati o nell'editor di interfaccia del
blocco viene assegnato un nome al tipo di dati Struct e viene dichiarata la struttura interna
dei dati.
Gli array e le strutture possono anche essere uniti in una struttura più grande. Una struttura
può essere annidata fino a otto livelli di profondità. Ad esempio è possibile creare una
struttura di strutture contenenti array.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 119
Concetti base sui PLC
4.4 Tipi di dati

4.4.8 Tipo di dati PLC


L'editor del tipo di dati PLC consente di definire le strutture di dati che possono essere
utilizzate più volte nel programma. Il tipo di dati PLC si crea aprendo il ramo "Tipi di dati
PLC" dell'albero del progetto e facendo doppio clic sulla voce "Aggiungi nuovo tipo di dati".
Sulla voce del tipo di dati PLC appena creata, fare clic due volte per rinominare il nome
predefinito e fare doppio clic per aprire l'editor del tipo di dati PLC.
Con gli stessi metodi di modifica utilizzati nell'editor di blocchi dati è possibile creare una
propria struttura del tipo di dati PLC. Aggiungere nuove righe per il numero di tipi di dati
necessari per creare la struttura di dati desiderata.
Quando si crea un nuovo tipo di dati PLC, il nome di questo nuovo tipo PLC viene
visualizzato negli elenchi a discesa del selettore del tipo di dati nell'editor di DB e nell'editor
di interfaccia del blocco di codice.
Potenziali usi dei tipi di dati PLC:
● I tipi di dati PLC possono essere utilizzati direttamente come un tipo di dati in
un'interfaccia del blocco di codice o nei blocchi dati.
● I tipi di dati PLC possono essere utilizzati come modelli per la creazione di svariati blocchi
dati globali che utilizzano la stessa struttura di dati.
Ad esempio, un tipo di dati PLC può essere una ricetta per la miscela di colori. Questo tipo di
dati PLC può quindi essere assegnato a svariati blocchi dati. Le variabili di ciascun blocco
dati possono quindi essere regolate per creare un colore specifico.

4.4.9 Tipi di dati puntatore


I tipi di dati puntatore (Pointer, Any e Variant) possono essere utilizzati nelle tabelle di
interfaccia del blocco per i blocchi di codice FB e FC. Il tipo di dati puntatore può essere
selezionato dagli elenchi a discesa dei tipi di dati di interfaccia del blocco.
Il tipo di dati Variant è utilizzato anche nei parametri di istruzione.

Sistema di automazione S7-1200


120 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.4 Tipi di dati

4.4.9.1 Il tipo di dati puntatore "Pointer"


Il tipo di dati Pointer indica una variabile particolare. Occupa 6 byte (48 bit) di memoria e può
comprendere le seguenti informazioni:
● Numero DB o 0 se il dato non è memorizzato in un DB
● Area di memorizzazione nella CPU
● Indirizzo della variabile

A seconda dell'istruzione, è possibile dichiarare i tre tipi seguenti di puntatori:


● Puntatore interno all'area: contiene i dati sull'indirizzo di una variabile
● Puntatore trasversale all'area: contiene i dati sull'area di memoria e l'indirizzo di una
variabile
● Puntatore DB: contiene il numero di un blocco dati e l'indirizzo di una variabile.

Tabella 4- 36 Tipi di puntatore:

Tipo Formato Esempio


Puntatore interno all'area P#Byte.Bit P#20.0
Puntatore trasversale all'area P#Memory_area_Byte.Bit P#M20.0
Puntatore DB P#Data_block.Data_element P#DB10.DBX20.0

È possibile inserire un parametro di tipo Pointer senza il prefisso (P #). Il parametro immesso
sarà convertito automaticamente nel formato del puntatore.

Tabella 4- 37 Codificazione dell'area di memoria nei dati Pointer:

Codice esadecimale Tipo di dati Descrizione


b#16#81 I Area di memoria in ingresso
b#16#82 Q Area di memoria in uscita
b#16#83 M Area di memoria Marker
b#16#84 DBX Blocco dati
b#16#85 DIX Blocco dati di istanza
b#16#86 L Dati locali
b#16#87 V Dati locali precedenti

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 121
Concetti base sui PLC
4.4 Tipi di dati

4.4.9.2 Tipo di dati puntatore "Any"


Il tipo di dati puntatore ANY indica l'inizio di un'area di dati e ne specifica la lunghezza. Il
puntatore ANY utilizza 10 byte di memoria e può comprendere le seguenti informazioni:
● Tipo di dati: tipo di dati degli elementi di dati
● Fattore di ripetizione: numero di elementi di dati
● Numero DB: blocco dati in cui sono memorizzati gli elementi di dati
● Area di memorizzazione: area di memoria della CPU in cui sono memorizzati gli elementi
di dati
● Indirizzo iniziale: indirizzo iniziale dei dati "Byte.Bit"
La figura seguente illustra la struttura del puntatore ANY:

Un puntatore non può rilevare le strutture ANY, ma può solo essere assegnato a variabili
locali.

Tabella 4- 38 Formato ed esempi del puntatore ANY:

Formato Esempio Descrizione


Numero tipo P#DB 11.DBX 20.0 INT 10 10 parole nel DB 11 globale a
P#Data_block.Memory_area partire da DBB 20.0
Data_address
Numero tipo P#Memory_area P#M 20.0 BYTE 10 10 byte a partire da MB 20.0
Data_address P#I 1.0 BOOL 1 Ingresso I1.0

Tabella 4- 39 Codificazione del tipo di dati nel puntatore ANY

Codice esadecimale Tipo di dati Descrizione


b#16#00 Null Puntatore Null
b#16#01 Bool Bit
b#16#02 Byte Byte, 8 Bit
b#16#03 Char Carattere di 8 bit
b#16#04 Word Parola di 16 bit
b#16#05 Int Numero intero di 16 bit

Sistema di automazione S7-1200


122 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.4 Tipi di dati

Codice esadecimale Tipo di dati Descrizione


b#16#37 SInt Numero intero di 8 bit
b#16#35 UInt Numero intero senza segno di
16 bit
b#16#34 USInt Numero intero senza segno di 8
bit
b#16#06 DWord Doppia parola di 32 bit
b#16#07 DInt Numero intero doppio di 32 bit
b#16#36 UDInt Numero intero doppio senza
segno di 32 bit
b#16#08 Real Numero in virgola mobile di 32
bit
b#16#0B Time Ora
b#16#13 String Stringa di caratteri

Tabella 4- 40 Codificazione dell'area di memoria nel puntatore ANY:

Codice esadecimale Area di memoria Descrizione


b#16#81 I Area di memoria in ingresso
b#16#82 Q Area di memoria in uscita
b#16#83 M Area di memoria Marker
b#16#84 DBX Blocco dati
b#16#85 DIX Blocco dati di istanza
b#16#86 L Dati locali
b#16#87 V Dati locali precedenti

4.4.9.3 Tipo di dati puntatore "Variant"


Il tipo di dati Variant può puntare a variabili di diversi tipi di dati o parametri. Il puntatore
Variant può puntare a strutture e singoli componenti strutturali. Il puntatore Variant non
occupa spazio nella memoria.

Tabella 4- 41 Proprietà del puntatore Variant

Lunghezza Rappresentazione Formato Esempio


(Byte)
0 Simbolica Operando MyTag
DB_name.Struct_name.element_name MyDB.Struct1.pressure1
Assoluta Operando %MW10
DB_number.Operand Type Length P#DB10.DBX10.0 INT 12

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 123
Concetti base sui PLC
4.4 Tipi di dati

4.4.10 Accesso a una "slice" di un tipo di dati con variabile


L'accesso alle variabili del PLC e a quelle dei blocchi dati può essere effettuato a livello di
bit, byte o parla in funzione della loro dimensione. La sintassi per l'accesso a una slice di dati
è la seguente:
● "<nome variabile PLC>".xn (accesso a livello di bit)
● "<nome variabile PLC>".bn (accesso a livello di byte)
● "<nome variabile PLC>".wn (accesso a livello di parola)
● "<nome blocco dati>".<nome variabile>.xn (accesso a livello di bit)
● "<nome blocco dati>".<nome variabile>.bn (accesso a livello di byte)
● "<nome blocco dati>".<nome variabile>.wn (accesso a livello di parola)
L'accesso a una variabile di doppia parola può essere effettuato tramite i bit 0 - 31, i byte 0 -
3 o le parole 0 - 1. L'accesso a una variabile di parola può essere effettuato tramite i bit 0 -
15, i byte 0 - 1 o la parola 0. L'accesso a una variabile di byte può essere effettuato tramite i
bit 0 - 7 o il byte 0. Le slice di bit, byte e parola possono essere utilizzate ogni volta che i bit,
i byte o le parole sono potenziali operandi.

Nota
I tipi di dati validi a cui si può accedere a slice sono Byte, Char, Conn_Any, Date, DInt,
DWord, Event_Any, Event_Att, Hw_Any, Hw_Device, HW_Interface, Hw_Io, Hw_Pwm,
Hw_SubModule, Int, OB_Any, OB_Att, OB_Cyclic, OB_Delay, OB_WHINT, OB_PCYCLE,
OB_STARTUP, OB_TIMEERROR, OB_Tod, Port, Rtm, SInt, Time, Time_Of_Day, UDInt,
UInt, USInt e Word. È possibile effettuare un accesso a slice alle variabili PLC di tipo Real,
ma non alle variabili di blocchi dati di tipo Real.

Sistema di automazione S7-1200


124 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.4 Tipi di dati

Esempi
Nella tabella delle variabili del PLC "DW" è una variabile dichiarata di tipo DWORD. I
seguenti esempi illustrano l'accesso a slice di bit, byte e parola:

KOP FUP SCL


Accesso a bit IF "DW".x11 THEN
...
END_IF;

Accesso a byte IF "DW".b2 = "DW".b3


THEN
...
END_IF;

Accesso alle parole out:= "DW".w0 AND


"DW".w1;

4.4.11 Accesso a una variabile con un overlay AT


La sovrapposizione AT consente di accedere alla variabile già dichiarata di un blocco con
accesso standard alla quale è stata sovrapposta una dichiarazione con tipo di dati diverso. È
ad es. possibile indirizzare singoli bit di una variabile con tipo di dati Byte, Word o DWord
con un Array di Bool.

Dichiarazione
Per sovrapporre a un parametro un tipo di dati diverso, dichiarare un altro parametro subito
dopo quello iniziale e selezionare il tipo di dati "AT". L'editor crea la sovrapposizione, quindi
consente di scegliere il tipo di dati, la struttura o l'array che si vuole utilizzare.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 125
Concetti base sui PLC
4.4 Tipi di dati

Esempio
L'esempio riportato di seguito mostra i parametri di ingresso di un FB con accesso standard.
Alla variabile di byte B1 viene sovrapposto un array di valori booleani:

Tabella 4- 42 Sovrapposizione di un array booleano a un byte

7 6 5 4 3 2 1 0
AT[0] AT[1] AT[2] AT[3] AT[4] AT[5] AT[6] AT[7]

Un altro esempio è una variabile DWord a cui è stata sovrapposta una struttura:

I tipi sovrapposti possono essere indirizzati direttamente nella logica del programma:

KOP FUP SCL


IF #AT[1] THEN
...
END_IF;

IF (#DW1_Struct.S1 =
W#16#000C) THEN
...
END_IF;

out1 := #DW1_Struct.S2;

Sistema di automazione S7-1200


126 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.5 Utilizzo della memory card

Regole
● La sovrapposizione può essere effettuata solo per le variabili dei blocchi FB ed FB con
accesso standard.
● Nel caso dei parametri la sovrapposizione è possibile per tutti i tipi di blocco e tutte le
sezioni di dichiarazione.
● I parametri per cui è stata effettuata una sovrapposizione possono essere utilizzati come
qualsiasi altro parametro di blocco.
● Non è possibile effettuare la sovrapposizione per i parametri di tipo VARIANT.
● Il parametro sovrapposto deve essere più piccolo o uguale al parametro iniziale.
● La variabile sovrapposta deve essere dichiarata subito dopo quella iniziale e identificata
con la parola chiave "AT".

4.5 Utilizzo della memory card

Nota
La CPU supporta solo memory card SIMATIC (Pagina 1009) preformattate.
Prima di copiare un programma nella memory card formattata, cancellare quelli
eventualmente già presenti.

La memory card può essere utilizzata come scheda di trasferimento o di programma. I


programmi che vi vengono copiati contengono tutti i blocchi di codice e di dati, gli oggetti
tecnologici e la configurazione dei dispositivi. Un programma copiato non contiene i valori
forzati.
● Utilizzare una scheda di trasferimento (Pagina 130) per copiare un programma nella
memoria di caricamento interna della CPU senza utilizzare STEP 7. Dopo aver inserito la
scheda di trasferimento la CPU cancella il programma utente e gli eventuali valori forzati
dalla memoria di caricamento interna e vi copia il programma della scheda. Al termine del
trasferimento si deve estrarre la scheda.
Se si perde o si dimentica la password (Pagina 139) che protegge una CPU, per
accedervi si può utilizzare una scheda di trasferimento vuota. Quando la si inserisce il
programma protetto viene cancellato dalla memoria di caricamento interna della CPU.
Quindi si può procedere al caricamento di un nuovo programma.
● La scheda di programma (Pagina 133) può essere utilizzata come memoria di
caricamento esterna della CPU. Quando la si inserisce, la memoria di caricamento
interna della CPU viene interamente cancellata (il programma utente e gli eventuali valori
forzati). La CPU esegue quindi il programma nella memoria di caricamento esterna (la
scheda). Se si effettua il caricamento in una CPU in cui è stata inserita una scheda di
programma, viene aggiornata solo la memoria di caricamento esterna (cioè la scheda).
Poiché la memoria di caricamento interna della CPU è stata cancellata quando è stata
inserita la scheda di programma, questa deve rimanere nella CPU. Se la si estrae la CPU
passa in STOP (il LED di errore lampeggia per indicare che la scheda è stata estratta).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 127
Concetti base sui PLC
4.5 Utilizzo della memory card

Il programma copiato su una memory card comprende i blocchi di codice, i blocchi dati, gli
oggetti tecnologici e la configurazione dei dispositivi. Non contiene invece i valori forzati.
Questi non fanno parte del programma e vengono memorizzati nella memoria di
caricamento oppure nella memoria interna o esterna della CPU (la scheda di programma).
Se si inserisce una scheda di programma nella CPU, STEP 7 applica i valori forzati solo alla
memoria di caricamento esterna sulla scheda di programma.
La memory card può essere utilizzata anche per caricare gli aggiornamenti del firmware
(Pagina 136).

4.5.1 Inserimento di una memory card nella CPU

ATTENZIONE
Protezione della memory card e del relativo alloggiamento dalle scariche elettrostatiche
Le scariche elettrostatiche possono danneggiare la memory card o il relativo alloggiamento
nella CPU.
Quando la si maneggia, si deve toccare una superficie metallica messa a terra e/o
indossare una fascetta di messa a terra. È inoltre necessario custodire la memory card in
un contenitore a conduzione di corrente.

Verificare che la memory card non sia protetta dalla scrittura. Sbloccare la
levetta di protezione.

AVVERTENZA
Verificare che la CPU non stia eseguendo un processo prima di inserire la memory card.
Se si inserisce una memory card (configurata come scheda di programma, di trasferimento
o di aggiornamento del firmware) in una CPU in RUN, la CPU passa immediatamente in
STOP e questo potrebbe interrompere il processo causando la morte o gravi lesione alle
persone.
Prima di inserire o estrarre una memory card accertarsi che la CPU non stia controllando
una macchina o un processo. Installare sempre un circuito di arresto d'emergenza per
l'applicazione o il processo.

Sistema di automazione S7-1200


128 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.5 Utilizzo della memory card

Nota
Non inserire schede di trasferimento del programma V3.0 nelle CPU S7-1200 V4.0.
Le schede di trasferimento del programma 3.0 non sono compatibili con le CPU S7-1200
della versione V4.0. Se vi si inserisce una memory card che contiene un programma V3.0 si
verifica un errore nella CPU.
Se si inserisce una scheda per il trasferimento del programma (Pagina 130) non valida la si
deve estrarre, portare la CPU da STOP a RUN e resettare la memoria (MRES) o spegnere e
riaccendere la CPU. Dopo aver eliminato la condizione di errore dalla CPU si può caricare
un programma valido per la CPU V4.0.
Per trasferire un programma dalla V3.0 alla V4.0 è necessario utilizzare il TIA Portal per
modificare il dispositivo nella Configurazione hardware.

Nota
Se si inserisce una memory card con la CPU in STOP, il buffer di diagnostica visualizza un
messaggio indicante l'inizializzazione della valutazione della memory card. La CPU valuta la
memory card non appena l'utente la commuta in RUN, ne resetta la memoria con una
cancellazione totale (MRES) o la riaccende.

Per inserire una memory card aprire il


coperchio sopra la CPU e inserire la
scheda nello slot. L'inserimento e
l'estrazione sono facilitate dal connettore
di tipo push-push.
La memory card è realizzata in modo tale
da impedire un inserimento errato.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 129
Concetti base sui PLC
4.5 Utilizzo della memory card

4.5.2 Configurazione del parametro di avvio della CPU prima di copiare il progetto
nella memory card
Il programma copiato in una scheda di trasferimento o di programma contiene il parametro di
avvio per la CPU. Prima di copiare il programma nella memory card verificare di aver
configurato il modo di funzionamento da impostare in seguito allo spegnimento/riaccensione
della CPU. Selezionare se la CPU si avvierà in STOP, in RUN o con il modo di
funzionamento precedente allo spegnimento/riaccensione.

4.5.3 Utilizzo della memory card come scheda di "trasferimento"

ATTENZIONE
Protezione della memory card e del relativo alloggiamento dalle scariche elettrostatiche
Le scariche elettrostatiche possono danneggiare la memory card o il relativo alloggiamento
nella CPU.
Quando la si maneggia, si deve toccare una superficie metallica messa a terra e/o
indossare una fascetta di messa a terra. È inoltre necessario custodire la memory card in
un contenitore a conduzione di corrente.

Sistema di automazione S7-1200


130 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.5 Utilizzo della memory card

Creazione di una scheda di trasferimento


Prima di copiare un programma nella scheda di trasferimento ricordarsi sempre di
configurare il parametro di avvio della CPU (Pagina 130). Per creare una scheda di
trasferimento procedere nel seguente modo:
1. Inserire una memory card SIMATIC vuota non protetta in scrittura nel dispositivo di
lettura/scrittura SD collegato al computer. (Se la scheda è protetta in scrittura sbloccare
la levetta di protezione.)
Se si riutilizza una memory card SIMATIC contenente un programma utente o un altro
aggiornamento del firmware, è necessario cancellare i file di programma prima di
riutilizzare la scheda. Utilizzare Windows Explorer per visualizzare i contenuti della
memory card e cancellare il file "S7_JOB.S7S" e cancellare anche eventuali cartelle
esistenti di "Log di dati" e di directory (come "SIMATIC.S7S" o "FWUPDATE.S7S").

ATTENZIONE
NON cancellare i file nascosti "__LOG__" e "crdinfo.bin" dalla memory card.
I file "__LOG__" e "crdinfo.bin" sono necessari per la memory card. Se vengono
cancellati questi file non è possibile utilizzare la memory card con la CPU.

2. Nell'albero del progetto (vista progetto), espandere la cartella "SIMATIC Card Reader" e
selezionare il lettore di schede.
3. Visualizzare la finestra di dialogo "Memory card" facendo clic con il tasto destro del
mouse sulla lettera del drive che corrisponde alla memory card e selezionando
"Proprietà" nel menu di riepilogo.
4. Selezionare "Trasmissione" nel menu a discesa "Card type" della finestra di dialogo
"Memory card".
A questo punto STEP 7 crea la scheda di trasferimento vuota. Se si sta creando una
scheda di trasferimento vuota, come per il ripristino in caso di perdita della password
della CPU (Pagina 139), estrarre la scheda di trasferimento dal lettore di schede.

5. Aggiungere il programma selezionando la CPU (ad es. PLC_1 [CPU 1214 DC/DC/DC])
nell'albero del progetto e trascinandola nella memory card (un altro metodo consiste nel
copiare la CPU e incollarla nella memory card). Quando si copia la CPU nella memory
card si apre la finestra di dialogo "Carica anteprima".

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 131
Concetti base sui PLC
4.5 Utilizzo della memory card

6. Fare clic sul pulsante "Carica" della finestra per copiare la CPU nella memory card.
7. Quando la finestra di dialogo visualizza un messaggio indicante che il programma della
CPU è stato caricato senza errori, fare clic sul pulsante "Fine".

Utilizzo di una scheda di trasferimento

AVVERTENZA
Verificare che la CPU non stia eseguendo attivamente un processo prima di inserire la
memory card.
L'inserimento di una memory card attiva la commutazione della CPU al modo STOP, con
possibili effetti sul funzionamento di un processo online o di una macchina. L'imprevisto
funzionamento di un processo o di una macchina può causare la morte o lesioni alle
persone e/o danni alle cose.
Prima di inserire una scheda di trasferimento assicurarsi sempre che la CPU sia in STOP e
che il processo sia in uno stato sicuro.

Nota
Non inserire schede di trasferimento del programma V3.0 nelle CPU S7-1200 V4.0.
Le schede di trasferimento del programma 3.0 non sono compatibili con le CPU S7-1200
della versione V4.0. Se vi si inserisce una memory card che contiene un programma V3.0 si
verifica un errore nella CPU.
Se si inserisce una scheda per il trasferimento del programma non valida la si deve estrarre,
portare la CPU da STOP a RUN e resettare la memoria (MRES) o spegnere e riaccendere la
CPU. Dopo aver eliminato la condizione di errore dalla CPU è possibile caricare un
programma CPU V4.0 valido

Per trasferire il programma in una CPU procedere nel seguente modo:


1. Inserire la scheda di trasferimento nella CPU (Pagina 128). Se la CPU è in RUN,
commuta in STOP Il LED di manutenzione (MAINT) lampeggia per segnalare che è
necessario valutare la memory card.
2. Spegnere e riaccendere la CPU per valutare la memory card. In alternativa, per riavviare
la CPU si può commutare da STOP a RUN o resettare la memoria (MRES) da STEP 7.
3. Dopo il riavvio e la valutazione della memory card, la CPU copia il programma nella
propria memoria di caricamento interna.
Il LED RUN/STOP lampeggia alternando una luce verde e una gialla per segnalare che si
sta eseguendo la copia del programma. Quando il LED RUN/STOP si accende (luce
gialla fissa) e il LED MAINT lampeggia, il processo di copia è terminato. Si può quindi
estrarre la memory card.
4. Riavviare la CPU (sia ripristinando l'alimentazione che mediante i metodi alternativi di
riavvio) per valutare il nuovo programma che è stato trasferito nella memoria di
caricamento interna.

Sistema di automazione S7-1200


132 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.5 Utilizzo della memory card

La CPU passa nel modo di avvio (RUN o STOP) configurato per il progetto.

Nota
Prima di portare la CPU in RUN estrarre la scheda di trasferimento.

4.5.4 Utilizzo della memory card come scheda di "programma"

ATTENZIONE
Le scariche elettrostatiche possono danneggiare la memory card o il relativo alloggiamento
nella CPU.
Quando la si maneggia, si deve toccare una superficie metallica messa a terra e/o
indossare una fascetta di messa a terra. È inoltre necessario custodire la memory card in
un contenitore a conduzione di corrente.

Verificare che la memory card non sia protetta dalla scrittura. Sbloccare la
levetta di protezione.
Prima di copiare gli elementi di un programma nella memory card,
cancellare i programmi eventualmente già presenti.

Creazione di una scheda di programma


Se utilizzata come scheda di programma, la memory card funge da memoria esterna della
CPU. Se si estrae la scheda di programma, la memoria di caricamento interna della CPU è
vuota.

Nota
Se si inserisce una memory card vuota nella CPU e la si valuta spegnendo e riaccendendo
la CPU, commutando da STOP a RUN o resettando la memoria (MRES), il programma e i
valori forzati presenti nella memoria di caricamento interna della CPU vengono copiati nella
memory card (ora la memory card è una scheda di programma). Al termine della copia il
programma nella memoria di caricamento interna della CPU viene cancellato. La CPU passa
nel modo di avvio configurato (RUN o STOP).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 133
Concetti base sui PLC
4.5 Utilizzo della memory card

Ricordarsi sempre di configurare il parametro di avvio della CPU (Pagina 130) prima di
copiare il progetto nella scheda di programma. Per creare una scheda di programma
procedere nel seguente modo:
1. Inserire una memory card SIMATIC vuota non protetta in scrittura nel dispositivo di
lettura/scrittura SD collegato al computer. (Se la scheda è protetta in scrittura sbloccare
la levetta di protezione.)
Se si riutilizza una memory card SIMATIC contenente un programma utente o un altro
aggiornamento del firmware, è necessario cancellare i file di programma prima di
riutilizzare la scheda. Utilizzare Windows Explorer per visualizzare i contenuti della
memory card e cancellare il file "S7_JOB.S7S" e cancellare anche eventuali cartelle
esistenti di "Log di dati" e di directory (come "SIMATIC.S7S" o "FWUPDATE.S7S").

ATTENZIONE
NON cancellare i file nascosti "__LOG__" e "crdinfo.bin" dalla memory card.
I file "__LOG__" e "crdinfo.bin" sono necessari per la memory card. Se vengono
cancellati questi file non è possibile utilizzare la memory card con la CPU.

2. Nell'albero del progetto (vista progetto), espandere la cartella "SIMATIC Card Reader" e
selezionare il lettore di schede.
3. Visualizzare la finestra di dialogo "Memory card" facendo clic con il tasto destro del
mouse sulla lettera del drive che corrisponde alla memory card e selezionando
"Proprietà" nel menu di riepilogo.
4. Selezionare "Programma" nel menu a discesa della finestra di dialogo "Memory card".

5. Aggiungere il programma selezionando la CPU (ad es. PLC_1 [CPU 1214 DC/DC/DC])
nell'albero del progetto e trascinandola nella memory card (un altro metodo consiste nel
copiare la CPU e incollarla nella memory card). Quando si copia la CPU nella memory
card si apre la finestra di dialogo "Carica anteprima".
6. Fare clic sul pulsante "Carica" della finestra per copiare la CPU nella memory card.
7. Quando la finestra di dialogo visualizza un messaggio indicante che il programma della
CPU è stato caricato senza errori, fare clic sul pulsante "Fine".

Sistema di automazione S7-1200


134 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.5 Utilizzo della memory card

Utilizzo di una scheda di programma come memoria di caricamento della CPU

AVVERTENZA
Rischi conseguenti all'inserimento di una scheda di programma
Verificare che la CPU non stia eseguendo attivamente un processo prima di inserire la
memory card.
L'inserimento di una memory card attiva la commutazione della CPU al modo STOP, con
possibili effetti sul funzionamento di un processo online o di una macchina. L'imprevisto
funzionamento di un processo o di una macchina può causare la morte o lesioni alle
persone e/o danni alle cose.
Prima di inserire la memory card assicurarsi sempre che la CPU sia offline e in uno stato
sicuro.

Per utilizzare una scheda di programma nella CPU procedere nel seguente modo:
1. Inserire la scheda di programma nella CPU. Se la CPU è in RUN passa in STOP. Il LED
di manutenzione (MAINT) lampeggia per segnalare che è necessario valutare la memory
card.
2. Spegnere e riaccendere la CPU per valutare la memory card. In alternativa, per riavviare
la CPU si può commutare da STOP a RUN o resettare la memoria (MRES) da STEP 7.
3. Dopo il riavvio della CPU e la valutazione della scheda di programma, la CPU cancella la
propria memoria di caricamento interna.
Quindi passa nel modo di avvio (RUN o STOP) configurato.
La scheda di programma deve rimanere nella CPU. Quando si estrae la scheda di
programma, la memoria di caricamento interna della CPU rimane senza programma.

AVVERTENZA
Rischi conseguenti all'estrazione di una scheda di programma
Se si estrae la scheda di programma la CPU perde la memoria di caricamento esterna e
genera un errore. La CPU passa in STOP e il LED di errore lampeggia.
In condizioni non sicure i dispositivi di comando possono funzionare in modo errato e
determinare un funzionamento scorretto delle apparecchiature comandate. Ciò può
causare la morte o gravi lesioni alle persone e/o danni alle apparecchiature.
È importante comprendere che quando si estrae la scheda di programma si sta togliendo il
programma dalla CPU.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 135
Concetti base sui PLC
4.5 Utilizzo della memory card

4.5.5 Aggiornamento del firmware


La memory card può essere utilizzata per aggiornare il firmware. In alternativa si può usare
la pagina di informazioni sui moduli (Pagina 632) del Web server o le funzioni online e di
diagnostica di STEP 7 (Pagina 814). Il presente capitolo descrive il metodo con la memory
card.

ATTENZIONE
Protezione della memory card e del relativo alloggiamento dalle scariche elettrostatiche
Le scariche elettrostatiche possono danneggiare la memory card o il relativo alloggiamento
nella CPU.
Quando la si maneggia, si deve toccare una superficie metallica messa a terra e/o
indossare una fascetta di messa a terra. È inoltre necessario custodire la memory card in
un contenitore a conduzione di corrente.

La memory card può essere utilizzata per caricare gli aggiornamenti del firmware
dall'assistenza clienti (http://www.siemens.com/automation/). Da questo sito web andare su
Tecnologia di automazione > Sistemi di automazione > Sistemi di automazione industriale
SIMATIC > PLC > Controllori modulari SIMATIC S7 > SIMATIC S7-1200. Da qui continuare
a navigare fino al tipo specifico di modulo da aggiornare. In "Assistenza" cliccare sul link
"Software Download" per procedere.
In alternativa, è possibile accedere direttamente alla pagina web di download dell'S7-1200
(http://support.automation.siemens.com/WW/view/it/34612486/133100).

Nota
Non è possibile aggiornare una CPU S7-1200 V3.0 o precedente in una CPU S7-1200 V4.0
mediante l'aggiornamento del firmware.

ATTENZIONE
Per riformattare la memory card non utilizzare l'applicazione per la formattazione di
Windows né un'altra applicazione simile.
Se si riformatta una memory card Siemens con l'applicazione per la formattazione di
Microsoft Windows, la CPU S7-1200 non potrà più utilizzarla.

Sistema di automazione S7-1200


136 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.5 Utilizzo della memory card

Per trasferire l'aggiornamento del firmware nella memory card procedere nel modo
seguente:
1. Inserire una memory card SIMATIC vuota non protetta in scrittura nel dispositivo di
lettura/scrittura SD collegato al computer. (Se la scheda è protetta in scrittura sbloccare
la levetta di protezione.)
È possibile riutilizzare una memory card SIMATIC contenente un programma utente o un
altro aggiornamento del firmware, ma è necessario cancellare alcuni file sulla memory
card.
Per riutilizzare una memory card è necessario cancellare il file "S7_JOB.S7S" e tutte le
cartelle "Log di dati" esistenti o tutte le cartelle (come "SIMATIC.S7S" o
"FWUPDATE.S7S") prima di caricare l'aggiornamento del firmware. Utilizzare Windows
Explorer per visualizzare i contenuti della memory card e per cancellare il file e le cartelle.

ATTENZIONE
NON cancellare i file nascosti "__LOG__" e "crdinfo.bin" dalla memory card.
I file "__LOG__" e "crdinfo.bin" sono necessari per la memory card. Se vengono
cancellati questi file non è possibile utilizzare la memory card con la CPU.

2. Selezionare il file autoestraente (.exe) per l'aggiornamento del firmware corrispondente al


proprio modulo e trasferirlo sul computer. Fare doppio clic sul file di aggiornamento,
impostare il percorso di destinazione del file come directory root della memory card
SIMATIC ed avviare il processo di estrazione. Al termine dell'estrazione la directory root
(cartella) della memory card conterrà una directory "FWUPDATE.S7S" e il file
"S7_JOB.S7S".
3. Estrarre la scheda dal dispositivo di scrittura/lettura.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 137
Concetti base sui PLC
4.5 Utilizzo della memory card

Per installare l'aggiornamento del firmware procedere nel seguente modo:

AVVERTENZA
Verificare che la CPU non stia eseguendo attivamente un processo prima di installare
l'aggiornamento del firmware.
L'installazione dell'aggiornamento del firmware attiverà la commutazione della CPU al
modo STOP con possibili effetti sul funzionamento di un processo online o di una
macchina. L'imprevisto funzionamento di un processo o di una macchina può causare la
morte o lesioni alle persone e/o danni alle cose.
Prima di inserire la memory card assicurarsi sempre che la CPU sia offline e in uno stato
sicuro.

1. Inserire la memory card nella CPU. Se la CPU è in RUN passa a STOP. Il LED di
manutenzione (MAINT) lampeggia per segnalare che è necessario valutare la memory
card.
2. Spegnere e riaccendere la CPU per avviare l'aggiornamento del firmware. In alternativa,
per riavviare la CPU è possibile eseguire una commutazione da STOP a RUN oppure
resettare la memoria (MRES) da STEP 7.

Nota
Per concludere l'aggiornamento del firmware del modulo è necessario verificare che
l'alimentazione esterna a 24 V DC del modulo rimanga attivata.

Dopo aver riavviato la CPU viene avviato l'aggiornamento del firmware. Il LED
RUN/STOP lampeggia alternando una luce verde e una gialla per segnalare che
l'aggiornamento è stato copiato. Quando il LED RUN/STOP si accende (luce gialla fissa)
e il LED MAINT lampeggia, il processo di copia è terminato. Si deve quindi estrarre la
memory card.
3. Dopo aver rimosso la memory card riavviare nuovamente la CPU (ristabilendo
l'alimentazione o utilizzando altri metodi per il riavvio) per caricare il nuovo firmware.
L'aggiornamento del firmware non influisce sul programma utente e sulla configurazione
hardware. All'accensione, la CPU entra nello stato configurato per l'avvio. (Se il modo di
avviamento della CPU è stato configurato per "Avviamento a caldo - Modo di funzionameno
prima di RETE OFF, la CPU sarà in STOP perché l'ultimo stato della CPU era STOP).

Nota
Aggiornamento di più moduli collegati alla CPU
Se la configurazione hardware contiene diversi moduli che corrispondono a un singolo file di
aggiornamento del firmware nella memory card, la CPU esegue gli aggiornamenti per tutti
questi moduli (CM, SM e SB) in ordine di configurazione, ossia per ordine crescente in base
alla posizione del modulo nella Configurazione dispositivi di STEP 7.
Se sono stati caricati sulla memory card diversi aggiornamenti del firmware per vari moduli,
la CPU li esegue nell'ordine in cui sono stati caricati.

Sistema di automazione S7-1200


138 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti base sui PLC
4.6 Ripristino in caso di perdita della password

4.6 Ripristino in caso di perdita della password


Se si perde la password con cui si è protetta una CPU si deve cancellare il programma
protetto con una scheda di trasferimento vuota. La scheda vuota cancella la memoria di
caricamento interna della CPU. Quindi si può procedere al caricamento di un nuovo
programma utente da STEP 7 nella CPU.
Per informazioni su come creare e utilizzare le schede di trasferimento vuote consultare il
paragrafo sulle schede di trasferimento (Pagina 130).

AVVERTENZA
Verificare che la CPU non stia eseguendo attivamente un processo prima di inserire la
memory card
Se si inserisce una scheda di trasferimento in una CPU in RUN, questa passa in STOP. In
condizioni non sicure i dispositivi di comando possono funzionare in modo errato e
determinare un funzionamento scorretto delle apparecchiature comandate. Ciò può
causare la morte o gravi lesioni alle persone e/o danni alle apparecchiature.
Prima di inserire una scheda di trasferimento assicurarsi sempre che la CPU sia in STOP e
che il processo sia in uno stato sicuro.

Prima di portare la CPU in RUN estrarre la scheda di trasferimento.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 139
Concetti base sui PLC
4.6 Ripristino in caso di perdita della password

Sistema di automazione S7-1200


140 Manuale di sistema, 03/2014, A5E02486684-AG
Configurazione dei dispositivi 5
Per creare la configurazione hardware del PLC si devono inserire nel progetto una CPU e
altri moduli.

① Modulo di comunicazione (CM) o processore di comunicazione (CP): fino a 3, inseriti nei posti
connettore 101, 102 e 103
② CPU: posto connettore 1
③ Porta Ethernet della CPU
④ Signal board (SB), scheda di comunicazione (CB) o scheda di batteria (BB): 1 al massimo,
inserita nella CPU
⑤ Modulo di I/O (SM) per I/O digitali e analogici: fino a 8, inseriti nei posti connettore da 2 a 9
(la CPU 1214C, la CPU 1215C e la CPU 1217C ne consentono 8, la CPU 1212C 2 e la CPU
1211C nessuno)

Per creare la configurazione è


necessario inserire un dispositivo nel
progetto.
• Selezionare "Dispositivi e reti"
nella vista portale e fare clic su
"Aggiungi nuovo dispositivo".
• Nella vista progetto fare doppio
clic su "Aggiungi nuovo
dispositivo" sotto il nome del
progetto.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 141
Configurazione dei dispositivi
5.1 Inserimento di una CPU

5.1 Inserimento di una CPU


Per creare la configurazione dei dispositivi si deve innanzitutto inserire una CPU nel
progetto. Accertarsi di aver selezionato dall'elenco il modello e la versione di firmware
corretti. Selezionando la CPU nella finestra di dialogo "Aggiungi nuovo dispositivo" vengono
creati automaticamente il telaio di montaggio e la CPU.

Finestra di dialogo "Aggiungi


nuovo dispositivo"

Vista dispositivi della


configurazione hardware

Se si seleziona la CPU nella


vista dispositivi la finestra di
ispezione ne visualizza le
proprietà.

Sistema di automazione S7-1200


142 Manuale di sistema, 03/2014, A5E02486684-AG
Configurazione dei dispositivi
5.1 Inserimento di una CPU

Nota
Poiché la CPU non dispone di un indirizzo IP preconfigurato, l'utente lo deve impostare
manualmente durante la configurazione dei dispositivi. Se la CPU è collegata al router di una
rete si deve specificare anche l'indirizzo IP del router.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 143
Configurazione dei dispositivi
5.2 Rilevamento della configurazione per una CPU non specificata

5.2 Rilevamento della configurazione per una CPU non specificata

Se si è collegati a una CPU è possibile caricarne la


configurazione, compresi tutti i moduli, nel proprio progetto.
Basta creare un nuovo progetto e selezionare la "CPU non
specificata" anziché una specifica. (È anche possibile saltare
completamente la configurazione dei dispositivi selezionando
"Crea programma PLC" dai "Primi passi". STEP 7 crea quindi
automaticamente una CPU non specificata.)
Dall'editor di programma selezionare il comando "Rilevamento
hardware" nel menu "Online".

Dall'editor della configurazione dispositivi selezionare l'opzione per il rilevamento della


configurazione del dispositivo collegato.

Dopo aver selezionato la CPU dalla finestra di dialogo online e aver fatto clic sul pulsante
Carica???, STEP 7 carica la configurazione hardware dalla CPU, compresi gli eventuali
moduli (SM, SB o CM). A questo punto è possibile configurare i parametriper la CPU e i
moduli.

Sistema di automazione S7-1200


144 Manuale di sistema, 03/2014, A5E02486684-AG
Configurazione dei dispositivi
5.3 Inserimento di moduli nella configurazione

5.3 Inserimento di moduli nella configurazione


Per aggiungere unità alla CPU si utilizza il catalogo hardware:
● L'unità di ingressi/uscite (SM) mette a disposizione I/O digitali o analogici aggiuntivi.
Vengono collegati a destra della CPU.
● La Signal Board (SB) fornisce alla CPU un numero limitato di I/O digitali o analogici. L'SB
viene installata sul lato anteriore della CPU.
● La scheda di batteria 1297 (BB) assicura un back-up a lungo termine dell'orologio in
tempo reale. La BB si installa sulla parte anteriore della CPU.
● La Communication Board (CB) offre una porta di comunicazione aggiuntiva (ad es.
RS485). La CB viene installata sul lato anteriore della CPU.
● Il Communication Module (CM) e il processore di comunicazione (CP) forniscono una
porta di comunicazione aggiuntiva, ad es. per PROFIBUS o GPRS. Questi moduli
vengono collegati a sinistra della CPU.
Per inserire un modulo nella configurazione dei dispositivi, selezionarlo nel catalogo
hardware e fare doppio clic o trascinarlo nel posto connettore selezionato. I moduli devono
essere inseriti nella configurazione dei dispositivi e per far sì che siano funzionali occorre
caricare la configurazione hardware nella CFU.

Tabella 5- 1 Inserimento di un modulo nella configurazione dispositivi

Modulo Selezione del modulo Inserimento del modulo Risultato


SM

SB, BB o
CB

CM o CP

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 145
Configurazione dei dispositivi
5.4 Modifica di un dispositivo

5.4 Modifica di un dispositivo


Il tipo di dispositivo di una CPU o di un modulo configurati può essere modificato. Dalla
Configurazione dispositivi fare clic con il tasto destro del mouse sul dispositivo e selezionare
"Modifica dispositivo" nel menu di scelta rapida. Dalla finestra di dialogo navigare alla CPU o
al modulo e selezionare quella/o da sostituire. La finestra di dialogo Modifica dispositivo
visualizza le informazioni sulla combatibilità tra i due dispositivi.

Nota
Sostituzione di un dispositivo: sostituzione di una CPU V3.0 con una CPU V4.0
Un progetto STEP 7 V12 può essere aperto in STEP 7 V13 e le CPU V3.0 possono essere
sostituite con CPU V4.0. Non è possibile sostituire CPU di versioni precedenti alla V3.0.
Quando si sostituisce una CPU V3.0 con una CPU V4.0 è necessario considerare le
differenze (Pagina 1025) esistenti nelle funzioni e nel comportamento delle due versioni e le
operazioni da eseguire.
Se un progetto prevede una versione di CPU precedente la V3.0, è possibile aggiornare
dapprima il progetto alla V3.0 e in seguito alla V4.0.

5.5 Configurazione del funzionamento della CPU

5.5.1 Panoramica
Per configurare i parametri di esercizio della CPU selezionarla nella vista dispositivi (attorno
all'unità compare un riquadro blu) e aprire la scheda "Proprietà" della finestra di ispezione.

Sistema di automazione S7-1200


146 Manuale di sistema, 03/2014, A5E02486684-AG
Configurazione dei dispositivi
5.5 Configurazione del funzionamento della CPU

Tabella 5- 2 Proprietà della CPU

Proprietà Descrizione
Interfaccia PROFINET imposta l'indirizzo IP per la sincronizzazione della CPU e dell'ora
DI, DO e AI Configura il comportamento degli I/O locali (on-board) digitali e analogici (ad esempio i tempi
di filtraggio degli ingressi digitali e la reazione delle uscite digitali allo stop della CPU).
Contatori veloci abilita e configura i contatori veloci (HSC) e i generatori di impulsi per le operazioni PTO
(Pagina 417) e generatori di (uscita di treni di impulsi) e PWM (modulazione dell'ampiezza degli impulsi).
impulsi (Pagina 372) Quando si configurano le uscite della CPU o della Signal Board come generatori di impulsi
(per l'utilizzo con le istruzioni PWM o di controllo del movimento), gli indirizzi delle uscite
corrispondenti vengono cancellati dalla memoria Q e non possono essere utilizzati per altri
scopi nel programma utente. Se il programma utente scrive un valore in un'uscita utilizzata
come generatore di impulsi, la CPU non scrive quel valore nell'uscita fisica.
Avviamento (Pagina 81) Avviamento all'accensione: seleziona il comportamento della CPU dopo una transizione off-
on, ad esempio facendo in modo che si avvii in STOP o passi in RUN dopo un avviamento a
caldo
Compatibilità hardware supportata: configura la strategia di sostituzione per tutti i
componenti del sistema (SM, SB, CM, CP e CPU):
• Consenti sostituto accettabile
• Consenti qualsiasi sostituto (default)
Ciascun modulo contiene internamente i requisiti di compatibilità di sostituzione in base a
numero di I/O, compatibilità elettrica e altri punti di confronto corrispondenti. Ad esempio, un
SM a 16 canali può essere un sostituto accettabile per un SM a 8 canali, ma un SM a 8
canali non può essere un sostituto accettabile per un SM a 16 canali. Se si seleziona
"Consenti sostituto accettabile", STEP 7 applica le regole di sostituzione, altrimenti STEP 7
consente qualsiasi sostituzione.
Tempo di parametrizzazione della periferia decentrata: configura un tempo massimo
(default: 60000 ms) per il passaggio online della periferia decentrata. (I CM e i CP ricevono
l'alimentazione e i parametri di comunicazione dalla CPU durante l'avviamento. Questo
tempo di parametrizzazione fornisce del tempo per il passaggio online della periferia I/O
collegata al CM o al CP.)
La CPU passa in RUN non appena la periferia decentrata è online a prescindere dal tempo
di parametrizzazione. Se la periferia decentrata non è stata portata online entro questo
tempo, la CPU passa comunque in RUN ma senza la periferia decentrata.
Nota: Se la propria configurazione utilizza un CM 1243-5 (master PROFIBUS), non
impostare questo parametro su un valore inferiore a 15 secondi (15000 ms) in modo da
garantire che il modulo possa essere portato online.
Ciclo (Pagina 98) definisce un tempo di ciclo massimo o un tempo di ciclo minimo fisso
Carico di comunicazione assegna la percentuale del tempo della CPU da riservare ai task di comunicazione
Merker di sistema e di clock consente di selezionare un byte per le funzioni dei "merker di sistema" e un byte per le
(Pagina 102) funzioni dei "merker di clock" (dove ogni bit si attiva e disattiva a una frequenza predefinita).
Web server (Pagina 617) abilita e configura la funzione del Web server.
Orologio seleziona il fuso orario e configura l'ora legale
Lingue dell'interfaccia seleziona la lingua per il display del Web server e della CPU in modo che corrisponda alla
utente lingua utilizzata nel progetto. L'assegnazione della lingua corrispondente per l'interfaccia del
Web server e della CPU è consentita al massimo per due lingue di progetto.
Protezione (Pagina 195) imposta la protezione in lettura/scrittura e le password per l'accesso alla CPU
Risorse di collegamento fornisce un riepilogo delle risorse di comunicazione disponibili per la CPU e il numero di
(Pagina 525) risorse di collegamento configurate.
Panoramica indirizzi fornisce un riepilogo degli indirizzi I/O configurati per la CPU.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 147
Configurazione dei dispositivi
5.5 Configurazione del funzionamento della CPU

5.5.2 Configurazione dei tempi di filtraggio degli ingressi digitali


I filtri degli ingressi digitali evitano che il programma possa reagire alle variazioni rapide
indesiderate dei segnali di ingresso, causate ad esempio dal rimbalzo dei contatti o dal
rumore elettrico. Il tempo di filtraggio di default, pari a 6,4 ms, blocca le transizioni
indesiderate dei contatti meccanici tipici. Ingressi diversi dell'applicazione possono richiedere
tempi di filtraggio inferiori per rilevare e reagire ai segnali dei sensori rapidi, oppure tempi di
filtraggio maggiori per bloccare il rimbalzo lento dei contatti o il rumore impulsivo di maggiore
durata.
Il tempo di filtraggio degli ingressi di 6,4 ms fa sì che le singole variazioni del segnale da ‘0’ a
‘1’ o da ‘1’ a ‘0’ debbano protrarsi per circa 6,4 ms per essere rilevate e che i singoli impulsi
high o low più brevi di tale tempo non vengono rilevati. Se un segnale di ingresso commuta
tra ‘0’ e ‘1’ più rapidamente del tempo di filtraggio, il valore dell'ingresso nel programma
utente può cambiare se la durata complessiva dei nuovi valori degli impulsi rispetto a quella
dei vecchi valori supera il tempo di filtraggio.
Il filtro degli ingressi digitali funziona nel seguente modo:
● quando viene immesso un "1", conta in avanti e si arresta una volta raggiunto il tempo di
filtraggio. L'ingresso del registro dell'immagine di processo cambia da "0" a "1" quando il
conteggio diventa pari al tempo di filtraggio.
● Quando viene immesso uno "0", conta indietro e si arresta a "0". L'ingresso del registro
dell'immagine di processo cambia da "1" a "0" quando il conteggio diventa pari a "0".
● Se l'ingresso cambia in un senso e nell'altro, il contatore agisce di conseguenza contando
in avanti e all'indietro. Il registro dell'immagine di processo cambia quando il totale netto
di conteggi diventa pari al tempo di filtraggio o a "0".
● Un segnale che varia rapidamente commutando più spesso a "0" che a "1" alla fine
passerà a "0", mentre se prevalgono le commutazioni a "1" alla fine il registro
dell'immagine di processo passerà a "1".

Ogni ingresso ha una singola configurazione di filtraggio adatta a tutti gli utilizzi: ingressi di
processo, interrupt, misurazione impulsi e ingressi HSC. Per configurare i tempi di filtraggio
degli ingressi selezionare "Ingressi digitali".

Sistema di automazione S7-1200


148 Manuale di sistema, 03/2014, A5E02486684-AG
Configurazione dei dispositivi
5.5 Configurazione del funzionamento della CPU

Il tempo di filtraggio di default per gli ingressi digitali è di 6,4 ms. È possibile scegliere uno
qualsiasi dei seguenti valori:

• 0,1 us • 0,05 ms
• 0,2 us • 0,1 ms
• 0,4 us • 0,2 ms
• 0,8 us • 0,4 ms
• 1,6 us • 0,8 ms
• 3,2 us • 1,6 ms
• 6,4 us • 3,2 ms
• 10,0 us • 6,4 ms
• 12,8 us • 10,0 ms
• 20,0 us • 12,8 ms
• 20,0 ms

AVVERTENZA
Rischi in caso di modifica del tempo di filtraggio di un canale di ingresso digitale
Se il tempo di filtraggio di un canale di ingresso digitale viene modificato rispetto ad
un'impostazione precedente, un nuovo valore di ingresso di livello "0" potrebbe dover
essere presentato per una durata massima accumulata di 20,0 ms prima che il filtro
risponda ai nuovi ingressi. Durante questo periodo gli eventi brevi di impulso "0" di durata
inferiore a 20,0 ms potrebbero non essere rilevati o conteggiati.
La modifica dei tempi di filtraggio può determinare il funzionamento imprevisto delle
macchine o del processo e causare la morte o gravi lesioni alle persone e/o danni alle
apparecchiature.
Per fare in modo che un tempo di filtraggio venga applicato immediatamente si deve
spegnere e accendere la CPU.

5.5.3 Misurazione degli impulsi


La CPU S7-1200 è dotata di una funzione di misurazione degli impulsi per gli ingressi
digitali. Tale funzione consente di rilevare gli impulsi alti o bassi che sono così brevi da non
essere sempre rilevabili dalla CPU nella fase di lettura degli ingressi digitali all'inizio del ciclo
di scansione.
Se la funzione è stata abilitata per un dato ingresso e questo modifica il proprio stato, la
variazione viene segnalata e mantenuta fino al successivo aggiornamento del ciclo degli
ingressi. In questo modo viene garantita la misurazione di un impulso breve che viene
mantenuto fino a quando la CPU legge gli ingressi.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 149
Configurazione dei dispositivi
5.5 Configurazione del funzionamento della CPU

La seguente figura illustra il funzionamento di base della CPU S71200 con la funzione di
misurazione impulsi attiva e disattivata:

Poiché la funzione di misurazione impulsi agisce sull'ingresso dopo che è passato attraverso
il filtro, è necessario regolare il tempo di filtraggio in modo tale che l'impulso non venga
eliminato dal filtro. La figura seguente mostra uno schema a blocchi di un circuito di ingresso
digitale:

La figura seguente mostra come la funzione di misurazione degli impulsi reagisce alle
diverse condizioni di ingresso. Se in un dato ciclo sono presenti più impulsi, viene letto solo il
primo. Se un ciclo include più impulsi, si devono usare gli eventi di interrupt di fronte di
salita/discesa:

Sistema di automazione S7-1200


150 Manuale di sistema, 03/2014, A5E02486684-AG
Configurazione dei dispositivi
5.6 Configurazione dei parametri dei moduli

5.6 Configurazione dei parametri dei moduli


Per configurare i parametri di esercizio dei moduli selezionare un modulo nella vista
dispositivi e aprire la scheda "Proprietà" della finestra di ispezione per configurare i
parametri del modulo.

Configurazione di un modulo di I/O (SM) o di una signal board (SB)


La configurazione del dispositivo per i moduli di I/O e le signal board consente di configurare
quanto segue:
● I/O digitali: gli ingressi possono essere configurati per il rilevamento del fronte di salita e
di discesa (associandoli ognuno a un evento e un interrupt di processo) o per la
"misurazione degli impulsi" (in modo che dopo un impulso istantaneo restino attivi) fino al
successivo aggiornamento dell'immagine di processo degli ingressi. Le uscite possono
utilizzare un valore congelato o di sostituzione.
● I/O analogici: consente di configurare i parametri dei singoli ingressi, ad esempio il tipo di
misura (tensione o corrente), il campo e il livellamento, e di attivare la diagnostica per il
controllo dell'underflow o dell'overflow. Le uscite analogiche dispongono di parametri per
il tipo (tensione o corrente) e la diagnostica, ad es. per i cortocircuiti (nelle uscite in
tensione) o i valori limite superiore/inferiore. I campi di ingressi e uscite analogici nelle
unità di engineering non devono essere configurati sulla finestra di dialogo delle
Proprietà, ma nella logica del programma come descritto nel capitolo "Elaborazione di
valori analogici (Pagina 111)".
● Indirizzi degli I/O: si configurano l'indirizzo iniziale del gruppo di ingressi e di uscite del
modulo. È inoltre possibile assegnare gli ingressi e le uscite a una partizione
dell'immagine di processo (PIP0, PIP1, PIP2, PIP3, PIP4), aggiornarli automaticamente o
non utilizzare la partizione dell'immagine di processo. Per informazioni sull'immagine di
processo e le relative partizioni consultare il paragrafo "Esecuzione del programma
utente" (Pagina 77).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 151
Configurazione dei dispositivi
5.6 Configurazione dei parametri dei moduli

Configurazione di un'interfaccia di comunicazione (CM, CP o CB)


La configurazione dei parametri per la rete dipende dal tipo di interfaccia di comunicazione.

Sistema di automazione S7-1200


152 Manuale di sistema, 03/2014, A5E02486684-AG
Configurazione dei dispositivi
5.7 Configurazione della CPU per la comunicazione

5.7 Configurazione della CPU per la comunicazione

5.7.1 Creazione di una connessione di rete


Nella "vista di rete" di Configurazione dispositivi si possono creare i collegamenti di rete tra i
dispositivi del progetto. Un volta creato un collegamento si possono configurare i parametri
della rete nella scheda "Proprietà" della finestra di ispezione.

Tabella 5- 3 Creazione di un collegamento di rete

Azione Risultato
Selezionare "Vista di rete" per
visualizzare i dispositivi da collegare.

Selezionare la porta di un dispositivo


e trascinare il collegamento nella
porta del secondo dispositivo.

Rilasciare il tasto del mouse per


creare il collegamento.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 153
Configurazione dei dispositivi
5.7 Configurazione della CPU per la comunicazione

5.7.2 Configurazione del percorso di collegamento locale/partner


Dopo che è stata inserita un'istruzione TSEND_C, TRCV_C o TCON nel programma utente,
quando si seleziona una parte dell'istruzione la finestra di ispezione visualizza le proprietà
del collegamento. I parametri per l'istruzione di comunicazione devono essere specificati
nella scheda "Configurazione" delle "Proprietà".

Tabella 5- 4 Configurazione del percorso di collegamento (utilizzando le proprietà dell'istruzione)

TCP, ISO on TCP e UDP Proprietà del collegamento


Per i protocolli Ethernet TCP, ISO on TCP e UDP
utilizzare le "Proprietà" dell'istruzione
(TSEND_C, TRCV_C o TCON) per configurare i
collegamenti "Locale/Partner".
La figura mostra le "Proprietà del collegamento"
della scheda "Configurazione" per un
collegamento ISO on TPC.

Nota
Quando si configurano le proprietà del collegamento di una CPU, STEP 7 permette di
selezionare un DB di collegamento specifico nella CPU partner (se esiste) oppure di crearne
uno nuovo. La CPU partner deve già essere stata creata per il progetto e non può essere
una CPU "non specificata".
Occorre ancora inserire un'istruzione TSEND_C, TRCV_C o TCON nel programma utente
della CPU partner. Quando si inserisce l'istruzione selezionare il DB di collegamento creato
durante la configurazione.

Sistema di automazione S7-1200


154 Manuale di sistema, 03/2014, A5E02486684-AG
Configurazione dei dispositivi
5.7 Configurazione della CPU per la comunicazione

Tabella 5- 5 Configurazione del percorso di collegamento per la comunicazione S7 (Configurazione dispositivi)

Comunicazione S7 (GET e PUT) Proprietà del collegamento


Per la comunicazione S7 utilizzare l'editor
"Dispositivi e reti" della rete per configurare i
collegamenti locali/partner. Si può fare clic sul
pulsante "Evidenziato: Collegamento" per
accedere alle "Proprietà".
La scheda "Generale" offre diverse proprietà:
• "Generale" (vedi figura)
• "ID locale"
• "Proprietà speciali del collegamento"
• "Dettagli dell'indirizzo" (vedi figura)

Per maggiori informazioni e per ottenere un elenco delle istruzioni di comunicazione


disposibili consultare il paragrafo"Protocolli" (Pagina 531) nel capitolo "PROFINET" oppure il
paragrafo "Creazione di un collegamento S7" (Pagina 606) nel capitolo "Comunicazione S7".

Tabella 5- 6 Parametri per il collegamento di più CPU

Parametro Definizione
Indirizzo Indirizzi IP assegnati
Dati generali Punto finale Nome assegnato alla CPU partner (ricevente)
Interfaccia Nome assegnato alle interfacce
Sottorete Nome assegnato alle sottoreti
Tipo di interfaccia Solo comunicazione S7: Tipo di interfaccia
Tipo di collegamento Tipo di protocollo Ethernet
ID del collegamento Numero di ID
Dati di collegamento Indirizzo di memoria dei dati della CPU locale e partner
Crea collegamento attivo Pulsante per la selezione della CPU locale o partner come collegamento attivo
Dettagli Punto finale Solo comunicazione S7: Nome assegnato alla CPU partner (ricevente)
dell'indirizzo Telaio di montaggio/slot Solo comunicazione S7: Posizione di telaio di montaggio e slot
Risorsa di collegamento Solo comunicazione S7: Componente del TSAP utilizzato nella configurazione
di un collegamento S7 con una CPU S7-300 o S7-400
Porta (decimale): TCP e UPD: porta della CPU partner in formato decimale

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 155
Configurazione dei dispositivi
5.7 Configurazione della CPU per la comunicazione

Parametro Definizione
ID di TSAP1 e sottorete: ISO su TCP (RFC 1006) e comunicazione S7: TSAP della CPU locale e
partner in formato ASCII ed esadecimale
1 Quando si configura un collegamento con una CPU S7-1200 tramite ISO on TCP, utilizzare solo caratteri ASCII
nell'estensione TSAP per i partner di comunicazione passivi.

TSAP (transport service access points)


Grazie all'utilizzo dei punti di accesso TSAP, l'ISO sul protocollo TCP e la comunicazione S7
consentono collegamenti multipli a un unico indirizzo IP (collegamenti fino a 64 K). I punti di
accesso TSAP identificano in modo univoco i collegamenti di questi punti finali di
comunicazione ad un indirizzo IP.
Nella sezione "Dettagli dell'indirizzo" della finestra Parametri di collegamento è possibile
definire i TSAP da utilizzare. Nel campo "TSAP locale" si inserisce il TSAP di un
collegamento nella CPU. Il TSAP assegnato al collegamento nella CPU partner viene invece
inserito nel campo "TSAP del partner".

Numeri di porta
Con i protocolli TCP e USD, la configurazione dei parametri di collegamento della CPU
locale (attiva) deve specificare l'indirizzo IP remoto e il numero di porta della CPU partner
(passiva).
Nella sezione "Dettagli dell'indirizzo" della finestra Parametri di collegamento è possibile
definire le porte da utilizzare. Nel campo "Porta locale" si inserisce la porta di un
collegamento nella CPU. La porta assegnata per il collegamento nella CPU partner viene
invece inserita nel campo "Porta del partner".

5.7.3 Parametri del collegamento PROFINET


Le istruzioni TSEND_C, TRCV_C e TCON richiedono la definizione di parametri specifici per
eseguire il collegamento al dispositivo partner. Questi parametri vengono assegnati con la
struttura TCON_Param per i protocolli TCP, ISO on TCP e UDP. Generalmente si utilizza la
scheda "Configurazione" delle "Proprietà" dell'istruzione per specificare questi parametri. Se
non è possibile accedere a questa scheda occorre definire la struttura TCON_Param a livello
di programma.

Sistema di automazione S7-1200


156 Manuale di sistema, 03/2014, A5E02486684-AG
Configurazione dei dispositivi
5.7 Configurazione della CPU per la comunicazione

TCON_Param

Tabella 5- 7 Struttura della descrizione del collegamento (TCON_Param)

Byte Parametro e tipo di dati Descrizione


0…1 block_length UInt Lunghezza: 64 byte (fissi)
2…3 id CONN_OUC Riferimento a questo collegamento: Campo di valori: 1 (default) ...
(Word) 4095. Indicare il valore di questo parametro per l'istruzione
TSEND_C, TRCV_C o TCON alla voce ID.
4 connection_type USInt Tipo di collegamento:
• 17: TCP (default)
• 18: ISO on TCP
• 19: UDP
5 active_est Bool ID del tipo di collegamento:
• TCP e ISO on TCP:
– Falso: collegamento passivo
– Vero: collegamento attivo (default)
• UDP: falso
6 local_device_id USInt ID dell'interfaccia PROFINET o Industrial Ethernet locale:
1 (default)
7 local_tsap_id_len USInt Lunghezza del parametro local_tsap_id utilizzato, in byte; valori
possibili:
• TCP: 0 (attivo, default) o 2 (passivo)
• ISO on TCP: 2 ... 16
• UDP: 2
8 rem_subnet_id_len USInt Questo parametro non viene utilizzato.
9 rem_staddr_len USInt Lunghezza dell'indirizzo del punto finale del partner, in byte:
• 0: non specificata (il parametro rem_staddr non è rilevante)
• 4 (default): indirizzo IP del parametro rem_staddr valido (solo
per TCP e ISO on TCP)
10 rem_tsap_id_len USInt Lunghezza del parametro rem_tsap_id utilizzato, in byte; valori
possibili:
• TCP: 0 (passivo) o 2 (attivo, default)
• ISO on TCP: 2 ... 16
• UDP: 0
11 next_staddr_len USInt Questo parametro non viene utilizzato.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 157
Configurazione dei dispositivi
5.7 Configurazione della CPU per la comunicazione

Byte Parametro e tipo di dati Descrizione


12 … 27 local_tsap_id Array [1..16] of Componente dell'indirizzo locale del collegamento:
Byte
• TCP e ISO on TCP: n° della porta locale (valori possibili: 1 ...
49151; valori consigliati: 2000...5000):
– local_tsap_id[1] = byte high del numero di porta in
notazione esadecimale;
– local_tsap_id[2] = byte low del numero di porta in notazione
esadecimale;
– local_tsap_id[3-16] = non rilevante
• ISO on TCP: ID del TSAP locale:
– local_tsap_id[1] = B#16#E0;
– local_tsap_id[2] = telaio di montaggio e posto connettore
dei punti finali locali (bit 0 ... 4: numero del posto
connettore, bit 5 ... 7: numero del telaio di montaggio);
– local_tsap_id[3-16] = estensione TSAP, opzionale
• UDP: Questo parametro non viene utilizzato.
Nota: assicurarsi che ogni valore di local_tsap_id sia univoco
all'interno della CPU.
28 … 33 rem_subnet_id Array [1..6] of Questo parametro non viene utilizzato.
USInt
34 … 39 rem_staddr Array [1..6] of Solo TCP e ISO on TCP: indirizzo IP del punto finale del partner.
USInt (Non rilevante per i collegamenti passivi.) Ad es. l'indirizzo IP
192.168.002.003 viene salvato nei seguenti elementi dell'array:
rem_staddr[1] = 192
rem_staddr[2] = 168
rem_staddr[3] = 002
rem_staddr[4] = 003
rem_staddr[5-6]= non rilevante
40 … 55 rem_tsap_id Array [1..16] of Componente dell'indirizzo partner del collegamento
Byte
• TCP: numero della porta partner. Campo: 1 ... 49151; valori
consigliati: 2000 ... 5000):
– rem_tsap_id[1] = byte high del numero di porta in notazione
esadecimale;
– rem_tsap_id[2] = byte low del numero di porta in notazione
esadecimale;
– rem_tsap_id[3-16] = non rilevante
• ISO on TCP: ID del TSAP partner:
– rem_tsap_id[1] = B#16#E0
– rem_tsap_id[2] = telaio di montaggio e posto connettore del
punto finale del partner (bit 0 ... 4: numero del posto
connettore, bit 5 ... 7: numero del telaio di montaggio)
– rem_tsap_id[3-16] = estensione TSAP, opzionale
• UDP: Questo parametro non viene utilizzato.
56 … 61 next_staddr Array [1..6] of Questo parametro non viene utilizzato.
Byte
62 … 63 spare Word Riservato: W#16#0000

Sistema di automazione S7-1200


158 Manuale di sistema, 03/2014, A5E02486684-AG
Configurazione dei dispositivi
5.7 Configurazione della CPU per la comunicazione

Vedere anche
Configurazione del percorso di collegamento locale/partner (Pagina 154)

5.7.4 Assegnazione degli indirizzi IP (Internet Protocol)

5.7.4.1 Assegnazione degli indirizzi IP ai dispositivi di programmazione e di rete


Se il dispositivo di programmazione utilizza una scheda adattatore on-board collegata alla
LAN dell'impianto (ed eventualmente al World Wide Web), l'ID di rete e la maschera di
sottorete dell'indirizzo IP della CPU devono essere identici a quelli della scheda adattatore.
L'ID di rete è la prima parte dell'indirizzo IP (primi tre ottetti) (ad esempio, 211.154.184.16) e
determina la rete IP sulla quale si sta lavorando. In genere la maschera di sottorete ha il
valore 255.255.255.0, ma poiché il computer fa parte della LAN di un impianto può anche
avere valori diversi (ad esempio 255.255.254.0) in modo da consentire l'impostazione di
sottoreti univoche. Quando è associata all'indirizzo IP di un dispositivo in un'operazione
matematica di tipo AND, la maschera di sottorete definisce i limiti di una sottorete IP.

Nota
Poiché i dispositivi di programmazione, i dispositivi di rete e i router IP sono collegati al Web
e comunicano con il mondo esterno è necessario utilizzare indirizzi IP univoci, in modo da
evitare possibili conflitti con altri utenti della rete. Per richiedere l'assegnazione degli indirizzi
IP rivolgersi al reparto IT dell'azienda, che conosce a fondo le reti dell'impianto.

AVVERTENZA
Accesso non autorizzato alla CPU tramite Web server
L'accesso non autorizzato alla CPU o l'impostazione delle variabili del PLC su valori non
validi possono compromettere il funzionamento del processo, causando la morte o gravi
lesioni alle persone e/o danni alle cose.
Poiché abilitando il Web server si consente agli utenti autorizzati di apportare modifiche al
modo di funzionamento, scrivere nei dati del PLC e aggiornare il firmware, Siemens
consiglia di attenersi alle seguenti norme di sicurezza:
• Abilitare l'accesso al Web server solo con il protocollo HTTPS.
• Proteggere gli ID utente del Web server (Pagina 620) mediante una password con
livello di sicurezza elevato. Le password con livello di sicurezza elevato contengono
almeno otto caratteri, lettere diverse, numeri e caratteri speciali, non corrispondono a
parole del dizionario, né a nomi o identificatori che possono essere dedotti dai dati
personali dell'utente. Tenere la password segreta e cambiarla spesso.
• Non estendere i privilegi minimi di default all'utente "tutti".
• Controllare gli eventuali errori e i range delle variabili della logica di programma perché
gli utenti delle pagine Web possono modificare le variabili del PLC impostandole su
valori non validi.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 159
Configurazione dei dispositivi
5.7 Configurazione della CPU per la comunicazione

Se il dispositivo di programmazione utilizza una scheda adattatore Ethernet-USB collegata a


una rete isolata, l'ID di rete e la maschera di sottorete dell'indirizzo IP della CPU devono
essere identici a quelli della scheda adattatore. L'ID di rete è la prima parte dell'indirizzo IP
(primi tre ottetti) (ad esempio, 211.154.184.16) e determina la rete IP sulla quale si sta
lavorando. In genere la maschera di settorete ha il valore 255.255.255.0. Quando è
associata all'indirizzo IP di un dispositivo in un'operazione matematica di tipo AND, la
maschera di sottorete definisce i limiti di una sottorete IP.

Nota
La scheda adattatore Ethernet-USB può essere utile se non si vuole che il dispositivo di
programmazione sia collegato alla LAN dell'azienda. Questa soluzione si rivela
particolarmente utile durante il collaudo iniziale o i test di messa in servizio.

Tabella 5- 8 Assegnazione degli indirizzi Ethernet

Scheda adattatore Tipo di rete Indirizzo IP (Internet Protocol) Maschera di sottorete


del dispositivo di
programmazione
Scheda adattatore Collegata alla L'ID di rete della CPU e quello della La maschera di sottorete della CPU e
on-board LAN scheda adattatore on-board del quella della scheda adattatore on-board
dell'impianto (ed dispositivo di programmazione devono essere identiche.
eventualmente devono essere identici.1 In genere la maschera di sottorete ha il
al World Wide valore 255.255.255.0, ma poiché il
Web) computer fa parte della LAN di un
impianto può anche avere valori diversi
(ad esempio 255.255.254.0) in modo da
consentire l'impostazione di sottoreti
univoche.2
Scheda adattatore Collegata a una L'ID di rete della CPU e quello della La maschera di sottorete della CPU e
da Ethernet a USB rete isolata scheda adattatore da Ethernet a USB quella della scheda adattatore da
del dispositivo di programmazione Ethernet a USB devono essere identici.
devono essere identici.1 In genere la maschera di settorete ha il
valore 255.255.255.0.2
1 L'ID di rete è la prima parte dell'indirizzo IP (primi tre ottetti) (ad esempio, 211.154.184.16) e determina la rete IP sulla
quale si sta lavorando.
2 Quando è associata all'indirizzo IP di un dispositivo in un'operazione matematica di tipo AND, la maschera di sottorete
definisce i limiti di una sottorete IP.

Sistema di automazione S7-1200


160 Manuale di sistema, 03/2014, A5E02486684-AG
Configurazione dei dispositivi
5.7 Configurazione della CPU per la comunicazione

Assegnazione o controllo dell'indirizzo IP del dispositivo di programmazione utilizzando "Risorse di


rete" (sul desktop)
Selezionando le seguenti opzioni di menu è possibile assegnare o controllare l'indirizzo IP
del dispositivo di programmazione:
● "Risorse di rete" (con il tasto destro del mouse)
● "Proprietà"
● "Connessione alla rete locale (LAN)" (con il tasto destro del mouse)
● "Proprietà"
Nella finestra di dialogo "Proprietà - Connessione alla rete locale LAN", individuare la voce
"Protocollo Internet (TCP/IP)" nel campo "La connessione utilizza i componenti seguenti:".
Fare clic su "Protocollo Internet (TCP/IP)" e quindi sul pulsante "Proprietà". Selezionare
"Ottieni automaticamente un indirizzo IP (DHCP)" o "Utilizza il seguente indirizzo IP" (per
inserire un indirizzo IP statico).

Nota
Al momento dell'accensione il Dynamic Host Configuration Protocol (DHCP), un protocollo di
configurazione dinamica degli indirizzi, assegna automaticamente al dispositivo di
programmazione l'indirizzo IP ricevuto dal server DHCP.

5.7.4.2 Controllo dell'indirizzo IP del dispositivo di programmazione


Gli indirizzi MAC e IP del dispositivo di programmazione possono essere controllati
selezionando le seguenti voci di menu:
1. Nell'albero del progetto selezionare "Accesso online".
2. Fare clic con il tasto destro del mouse sulla rete desiderata e selezionare "Proprietà".
3. Nella finestra della rete selezionare "Configurazioni" e quindi "Ethernet industriale".
Vengono quindi visualizzati gli indirizzi MAC e IP del dispositivo di programmazione.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 161
Configurazione dei dispositivi
5.7 Configurazione della CPU per la comunicazione

5.7.4.3 Assegnazione di un indirizzo IP ad una CPU online


Il sistema permette di assegnare un indirizzo IP ad un dispositivo di rete online, una
soluzione particolarmente utile durante la configurazione iniziale di un dispositivo.

1. Nell'albero del progetto,


verificare che non sia stato
assegnato un indirizzo IP alla
CPU selezionando le seguenti
voci di menu:
• "Accesso online"
• <Scheda adattatore per la rete
nella quale si trova il
dispositivo>
• "Aggiorna nodi accessibili"
NOTA: Se STEP 7 visualizza un
indirizzo MAC al posto di un
indirizzo IP, significa che non è
stato assegnato alcun indirizzo IP.
2. Nel dispositivo accessibile
richiesto fare doppio clic su
"Online & Diagnostica".
3. Selezionare le seguenti voci di
menu nella finestra di dialogo
"Online & diagnostica":
• "Funzioni"
• "Assegna indirizzo IP"

Sistema di automazione S7-1200


162 Manuale di sistema, 03/2014, A5E02486684-AG
Configurazione dei dispositivi
5.7 Configurazione della CPU per la comunicazione

4. Nel campo "Indirizzo IP"


inserire il nuovo indirizzo IP e fare
clic sul pulsante "Assegna
indirizzo IP".

5. Nell'albero del progetto,


verificare che il nuovo indirizzo IP
sia stato assegnato alla CPU
selezionando le seguenti voci di
menu:
• "Accesso online"
• <Adattatore per la rete nella
quale si trova il dispositivo>
• "Aggiorna nodi accessibili"

5.7.4.4 Configurazione di un indirizzo IP di una CPU del progetto

Configurazione dell'interfaccia PROFINET


Per configurare i parametri dell'interfaccia PROFINET, selezionare la casella verde
PROFINET sulla CPU. La scheda "Proprietà" della finestra di ispezione visualizza la porta
PROFINET.

① Porta PROFINET

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 163
Configurazione dei dispositivi
5.7 Configurazione della CPU per la comunicazione

Configurazione dell'indirizzo IP
Indirizzo Ethernet (MAC): in una rete PROFINET ciascun dispositivo è identificato da un
indirizzo MAC (acronimo di Media Access Control, ovvero controllo dell'accesso al mezzo
fisico) assegnato dal costruttore. Un indirizzo MAC è costituito da sei coppie di cifre
esadecimali separate da tratti di congiunzione (-) o da due punti (:) disposte nell'ordine di
trasmissione (ad es. 01-23-45-67-89-AB or 01:23:45:67:89:AB).
Indirizzo IP: ogni dispositivo deve avere anche un indirizzo IP (Internet Protocol) che gli
consenta di fornire i dati in reti più complesse e provviste di router.
Gli indirizzi IP sono suddivisi in segmenti di 8 bit ed espressi in formato decimale separato
da punti (ad esempio: 211.154.184.16). La prima parte dell'indirizzo IP corrisponde all'ID
della rete (in quale rete ci si trova?) e la seconda all'ID dell'host (che è unico per ciascun
dispositivo della rete). Gli indirizzi IP di tipo 192.168.x.y sono per convenzione indirizzi di reti
private che non fanno parte di Internet.
Maschera di sottorete: una sottorete è un raggruppamento logico dei dispositivi collegati ad
una rete. Nelle LAN (Local Area Network) i nodi delle sottoreti tendono a essere fisicamente
vicini. Le maschere (chiamate "maschere di sottorete" o "maschere di rete") definiscono i
limiti delle sottoreti IP.
La maschera di sottorete 255.255.255.0 è generalmente adatta a una rete locale poco
estesa. Ciò significa che tutti gli indirizzi IP della rete devono avere gli stessi 3 ottetti iniziali e
che i singoli dispositivi sono identificati dall'ultimo ottetto (campo di 8 bit). Ad esempio si
possono contrassegnare i dispositivi di una rete locale con la maschera di sottorete
255.255.255.0 e un indirizzo IP da 192.168.2.0 a 192.168.2.255.
Le diverse sottoreti sono collegate solo tramite router. Se si utilizzano le sottoreti è quindi
necessario impiegare un router IP.
Router IP: i router costituiscono il collegamento tra le LAN. Tramite il router, il computer di
una LAN può trasmettere messaggi a qualsiasi altra rete che può essere a sua volta
collegata ad altre LAN. Se la destinazione dei dati non si trova all'interno della LAN, il router
li inoltra a un'altra rete o a gruppi di reti da dove possono essere trasmessi alla destinazione.
I router utilizzano gli indirizzi IP per trasmettere e ricevere pacchetti di dati.

Sistema di automazione S7-1200


164 Manuale di sistema, 03/2014, A5E02486684-AG
Configurazione dei dispositivi
5.7 Configurazione della CPU per la comunicazione

Proprietà degli indirizzi IP:


nella finestra Proprietà,
selezionare il comando di
configurazione "Indirizzi
Ethernet". STEP 7
visualizza la finestra di
dialogo per la
configurazione dell'indirizzo
Ethernet, che consente di
associare il progetto
software all'indirizzo IP
della CPU in cui verrà
caricato il progetto.

Tabella 5- 9 Parametri dell'indirizzo IP

Parametro Descrizione
Sottorete Nome della sottorete a cui è collegato il dispositivo. Per creare una nuova sottorete fare clic sul
pulsante "Inserisci nuova sottorete". L'impostazione di default è "Non collegato in rete" Sono possibili
due tipi di collegamento:
• L'opzione "Non collegato in rete" impostata per default consente di realizzare un collegamento
locale.
• La sottorete è necessaria se la rete contiene almeno due dispositivi.
Protocollo IP Indirizzo IP Indirizzo IP assegnato alla CPU
Maschera di sottorete Maschera di sottorete assegnata
Impiega router IP Attivare la casella di controllo per indicare che si vuole utilizzare un router
IP
Indirizzo del router Indirizzo IP assegnato al router (se applicabile)

Nota
Durante la fase di caricamento vengono configurati tutti gli indirizzi IP. Se la CPU non ha un
indirizzo IP preconfigurato, occorre associare il progetto all'indirizzo MAC del dispositivo di
destinazione. Se la CPU è collegata al router di una rete si deve specificare anche l'indirizzo
IP del router.
Il pulsante "Acquisisci indirizzo IP in altro modo" consente di modificare l'indirizzo IP online
oppure utilizzando l'istruzione "T_CONFIG (Pagina 555)" dopo aver caricato il programma.
Questo metodo di assegnazione dell'indirizzo IP è possibile solo per la CPU.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 165
Configurazione dei dispositivi
5.7 Configurazione della CPU per la comunicazione

AVVERTENZA
Caricamento di una configurazione hardware con "Acquisisci indirizzo IP in altro modo"
Dopo aver caricato una configurazione hardware con l'opzione "Acquisisci indirizzo IP in
altro modo" abilitata, non è possibile commutare il modo di funzionamento della CPU da
RUN a STOP o da STOP a RUN.
Le apparecchiature utente continuano a funzionare in queste condizioni e possono causare
operazioni di macchina o di processo inattese che potrebbero provocare morte, gravi
lesioni personali o danni alle cose se non vengono prese le opportune precauzioni.
Assicurarsi che il o gli indirizzi IP della CPU siano impostati prima di utilizzare la CPU
nell'effettivo ambiente di automazione sia utilizzando il pacchetto di programmazione di
STEP 7, lo strumento S7-1200, sia un dispositivo HMI collegato unitamente all'istruzione
T_CONFIG.

AVVERTENZA
Situazione in cui PROFINET potrebbe arrestarsi
La modifica dell'indirizzo IP di una CPU online o tramite il programma utente potrebbe
causare l'arresto della rete PROFINET.
Se l'indirizzo IP di una CPU è stato modificato in un indirizzo IP non compreso nella
sottorete, la rete PROFINET perderà la comunicazione e lo scambio di dati verrà arrestato.
Le apparecchiature utente possono essere configurate in modo da continuare a funzionare
in queste condizioni. La perdita della comunicazione PROFINET può determinare
funzionamenti imprevisti delle macchine o del processo che possono causare la morte,
gravi lesioni alle persone o danni alle cose se non si prendono le opportune precauzioni.
Se si modifica manualmente un indirizzo IP assicurarsi che il nuovo indirizzo IP sia
compreso nella sottorete.

Sistema di automazione S7-1200


166 Manuale di sistema, 03/2014, A5E02486684-AG
Configurazione dei dispositivi
5.7 Configurazione della CPU per la comunicazione

5.7.5 Test della rete PROFINET


Una volta terminata la configurazione caricare il progetto (Pagina 200) nella CPU. Durante la
fase di caricamento vengono configurati tutti gli indirizzi IP.

Assegnazione di un indirizzo IP a un dispositivo online


Poiché la CPU S7-1200 non dispone di un indirizzo IP preconfigurato, lo si deve assegnare
manualmente:
● Per informazioni su come assegnare un indirizzo IP a un dispositivo online consultare il
paragrafo "Configurazione dei dispositivi: assegnazione di un indirizzo IP a una CPU
online" (Pagina 162).
● Per assegnare un indirizzo IP nel progetto lo si deve definire in Configurazione dispositivi
e quindi salvare la configurazione e caricarla nel PLC. Per maggiori informazioni
consultare il paragrafo "Configurazione dei dispositivi: configurazione di un indirizzo IP di
una CPU del progetto" (Pagina 163).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 167
Configurazione dei dispositivi
5.7 Configurazione della CPU per la comunicazione

Utilizzo della finestra "Caricamento avanzato" per verificare i dispositivi di rete collegati
Utilizzando la funzione "Caricamento nel dispositivo" della CPU S7-1200 e la relativa finestra
"Caricamento avanzato" è possibile visualizzare tutti i dispositivi di rete accessibili e
verificare se vi sono stati assegnati o meno indirizzi IP univoci. Per visualizzare tutti i
dispositivi accessibili e disponibili con i relativi indirizzi MAC e IP, selezionare la casella
"Visualizza tutti i nodi accessibili".

Se la rete desiderata non compare nell'elenco significa che per qualche motivo la
comunicazione con il dispositivo in questione si è interrotta. È quindi necessario esaminare il
dispositivo e la rete per individuare eventuali errori hardware e/o di configurazione.

5.7.6 Posizione dell'indirizzo Ethernet (MAC) sulla CPU


Nell'ambito delle reti PROFINET, un indirizzo MAC (Media Access Control) è un
identificatore usato dal produttore per identificare l'interfaccia di rete. Normalmente un
indirizzo MAC codifica il numero identificativo registrato del produttore.
Il formato standard (IEEE 802.3) per la stampa degli indirizzi MAC in formato comprensibile
all'uomo è costituito da sei gruppi di cifre esadecimali separate da trattini di congiunzione (-)
o due punti (:) e disposti nell'ordine di trasmissione (ad esempio, 01-23-45-67-89-ab o
01:23:45:67:89:ab).

Nota
Ogni CPU viene fornita con un indirizzo MAC univoco e permanente predefinito che non può
essere modificato dall'utente.

Sistema di automazione S7-1200


168 Manuale di sistema, 03/2014, A5E02486684-AG
Configurazione dei dispositivi
5.7 Configurazione della CPU per la comunicazione

L'indirizzo MAC è impresso in basso a sinistra sul lato anteriore della CPU. Si noti che per
vedere le informazioni sull'indirizzo MAC è necessario sollevare le coperture inferiori.

① Indirizzo MAC

Inizialmente la CPU non dispone di un indirizzo IP, ma solo dell'indirizzo MAC predefinito dal
produttore. Per la comunicazione PROFINET è indispensabile che ai dispositivi sia
assegnato un indirizzo IP univoco.

Utilizzando la funzione
"Caricamento nel dispositivo"
della CPU e la finestra
"Caricamento avanzato" è
possibile visualizzare tutti i
dispositivi di rete accessibili e
assicurarsi che ad ognuno di
questi sia stato assegnato un
indirizzo IP univoco. La finestra
visualizza tutti i dispositivi
accessibili e disponibili con i
corrispondenti indirizzi MAC o IP.
Gli indirizzi MAC sono
fondamentali per identificare i
dispositivi ai quali non è stato
assegnato il necessario indirizzo
IP univoco.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 169
Configurazione dei dispositivi
5.7 Configurazione della CPU per la comunicazione

5.7.7 Configurazione della sincronizzazione del Network Time Protocol

AVVERTENZA
Se un attaccante accede alle reti attraverso la sincronizzazione NTP (Network Time
Protocol) potrebbe riuscire a controllare parzialmente il processo spostando l'ora di sistema
della CPU.
La funzione client NTP della CPU S7-1200 è disattivata per default e, se attiva, consente
solo agli indirizzi IP configurati di fungere da server NTP. La CPU la disattiva per default e
la si deve configurare per consentire la correzione da remoto dell'ora di sistema della CPU.
La CPU S7-1200 supporta gli allarme dall'orologio e le istruzioni di orologio che dipendono
da un'imkpostazione precisa dell'ora di sistema della CPU. Se si configura l'NTP e si
accetta che la sincronizzazione dell'ora venga effettuata da un server ci si deve accertare
che il server sia una sorgente affidabile. Un server inaffidabile potrebbe infatti generare una
falla nel sistema di sicurezza attraverso la quale un utente sconosciuto potrebbe controllare
parzialmente il processo spostando l'ora di sistema della CPU.
Per informazioni e consigli sulla sicurezza consultare il documento "Operational Guidelines
for Industrial Security" (http://www.industry.siemens.com/topics/global/en/industrial-
security/Documents/operational_guidelines_industrial_security_en.pdf) nella pagina Web
Siemens Service & Support:

Il Network Time Protocol (NTP) è un protocollo molto diffuso per sincronizzare gli orologi dei
computer in base ai time server di Internet. Nel protocollo NTP, la CPU invia interrogazioni
dell'ora ad intervalli regolari (in modalità client) al server NTP nella sottorete (LAN).
Basandosi sulle risposte del server, viene calcolata l'ora più affidabile e precisa in base alle
quale viene quindi sincronizzata la stazione.
Il vantaggio di questo protocollo è che consente di sincronizzare l'ora tra sottoreti.
Devono essere configurati gli indirizzi IP di fino a quattro server NTP. L'intervallo di
aggiornamento definisce l'intervallo tra le interrogazioni dell'ora (in secondi). Il valore
dell'intervallo varia da 10 secondi a un giorno.
Nel protocollo NTP, viene generalmente trasferito il tempo coordinato universale (UTC) che
corrisponde al GMT (ora media di Greenwich).
Nella finestra Proprietà, selezionare il comando di configurazione "Sincronizzazione dell'ora".
STEP 7 visualizza la finestra di configurazione di sincronizzazione dell'ora:

Sistema di automazione S7-1200


170 Manuale di sistema, 03/2014, A5E02486684-AG
Configurazione dei dispositivi
5.7 Configurazione della CPU per la comunicazione

Nota
Durante la fase di caricamento vengono configurati tutti gli indirizzi IP.

Tabella 5- 10 Parametri per la sincronizzazione dell'ora

Parametro Definizione
Consente la sincronizzazione Attivare la casella di controllo per consentire la sincronizzazione
dell'ora mediante i server Network dell'ora tramite i server NTP.
Time Protocol (NTP)
Server 1 Indirizzo IP assegnato al network time server 1
Server 2 Indirizzo IP assegnato al network time server 2
Server 3 Indirizzo IP assegnato al network time server 3
Server 4 Indirizzo IP assegnato al network time server 4
Intervallo per la sincronizzazione Valore dell'intervallo (sec)
dell'ora

5.7.8 Tempo di avvio, denominazione e assegnazione degli indirizzi del dispositivo


PROFINET
PROFINET IO è in grado di aumentare il tempo di avvio del sistema (timeout configurabile).
La presenza di più dispositivi e di dispositivi lenti incide sul tempo necessario per passare a
RUN.
Con la versione V4.0, la rete PROFINET S7-1200 può contenere al massimo 16 PROFINET
IO device.
Ogni stazione (o dispositivo IO) si avvia in modo indipendente all'avvio e ciò influisce sul
tempo di avvio complessivo della CPU. Se si imposta la temporizzazione configurabile ad un
valore troppo basso, il tempo di avvio complessivo della CPU potrebbe non essere
sufficiente all'avvio completo di tutte le stazioni. Qualora si verificasse questa situazione,
apparirebbe un falso errore di stazione.
Nelle proprietà della CPU sotto "Avviamento" è possibile trovare il "Tempo di
parametrizzazione della periferia decentrata" (temporizzazione). Per default la
temporizzazione configurabile è pari a 60.000 ms (1 minuto) e l'utente può configurare
questo tempo.

Denominazione e indirizzamento del dispositivo PROFINET in STEP 7


Tutti i dispositivi PROFINET devono avere un nome del dispositivo e un indirizzo IP.
Utilizzare STEP 7 per definire i nomi dei dispositivi e configurare gli indirizzi IP. I nomi dei
dispositivi sono caricati nei dispositivi IO mediante il protocollo DCP (Discovery and
Configuration Protocol) di PROFINET.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 171
Configurazione dei dispositivi
5.7 Configurazione della CPU per la comunicazione

Assegnazione degli indirizzi PROFINET all'avvio del sistema


Il controllore trasmette i nomi dei dispositivi alla rete e i dispositivi rispondono con i loro
indirizzi MAC. Il controllore assegna quindi un indirizzo IP al dispositivo mediante il
protocollo DCP di PROFINET:
● Se l'indirizzo MAC ha un indirizzo IP configurato, allora la stazione esegue l'avvio.
● Se l'indirizzo MAC non ha un indirizzo IP configurato, STEP 7 assegna quello configurato
nel progetto e quindi la stazione esegue l'avvio.
● In caso di problemi con questo processo, si verifica un errore di stazione e l'avvio non
avviene. Questa situazione fa superare il valore di temporizzazione configurabile.

Sistema di automazione S7-1200


172 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti di programmazione 6
6.1 Istruzioni per la progettazione di un sistema PLC
Quando si progetta un sistema PLC si può scegliere tra diversi metodi e criteri. Le seguenti
istruzioni generali sono applicabili a svariati progetti. Ovviamente è necessario attenersi alle
direttive previste dalle procedure della propria azienda e alle procedure vigenti nel proprio
luogo di lavoro e di formazione.

Tabella 6- 1 Istruzioni per la progettazione di un sistema PLC

Fasi consigliate Task


Suddivisione del Suddividere il processo o l'impianto in parti che siano indipendenti l'una dall'altra. Le parti
processo o definiscono i limiti tra i controllori e influiscono sulle specifiche funzionali e l'assegnamento delle
dell'impianto risorse.
Creazione delle Descrivere il funzionamento delle singole fasi del processo o dell'impianto, quali gli I/O, la
specifiche funzionali descrizione funzionale delle fasi, gli stati da raggiungere prima di abilitare l'azione degli attuatori
(ad es. solenoidi, motori e azionamenti), la descrizione dell'interfaccia operatore e delle eventuali
interfacce con altre parti del processo o dell'impianto.
Progettazione dei Identificare le apparecchiature che richiedono un cablaggio permanente per motivi di sicurezza.
circuiti di sicurezza Considerare che i dispositivi di comando possono guastarsi e compromettere la sicurezza del
sistema, determinando l'avviamento improvviso o una variazione imprevista del funzionamento
delle macchine. Nei casi in cui il funzionamento imprevisto o scorretto delle macchine potrebbe
causare lesioni alle persone o gravi danni alle cose, è necessario prevedere dei dispositivi
elettromeccanici di esclusione (che intervengano indipendentemente dal PLC) al fine di impedire
funzionamenti pericolosi. Nella progettazione dei circuiti di sicurezza è necessario includere
quanto indicato di seguito.
• Identificare il funzionamento scorretto o imprevisto degli attuatori che potrebbe risultare
pericoloso.
• Individuare le condizioni che garantiscono un funzionamento sicuro e indicare come rilevarle
indipendentemente dal PLC.
• Cercare di prevedere come il PLC influirà sul processo in seguito all'inserimento e al
disinserimento dell'alimentazione e prevedere come e quando verranno rilevati gli errori.
Utilizzare queste informazioni solo per progettare il funzionamento in condizioni normali e in
previsione di anomalie, ma non far affidamento su questo "best case" per garantire la
sicurezza del sistema.
• Progettare dei dispositivi di esclusione manuali o elettromeccanici che, in caso di pericolo,
interrompano il funzionamento dell'impianto indipendentemente dal PLC.
• Fornire al PLC adeguate informazioni sullo stato dei circuiti indipendenti, in modo che sia il
programma che le interfacce utente dispongano dei dati necessari.
• Identificare le eventuali ulteriori norme e dispositivi di sicurezza che possono garantire un
funzionamento sicuro del sistema.
Pianificazione della Determinare quale livello di protezione (Pagina 195) è necessario per accedere al processo. Le
sicurezza del sistema CPU e i blocchi di programma possono essere protetti mediante password dall'accesso non
autorizzato.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 173
Concetti di programmazione
6.2 Strutturazione del programma utente

Fasi consigliate Task


Indicazione delle Tenendo conto dei requisiti delle specifiche funzionali, realizzare i seguenti schemi delle stazioni
stazioni operatore operatore:
• Prospetto indicante la posizione delle stazioni operatore rispetto al processo o alla macchina.
• Schema meccanico dei dispositivi per la stazione operatore, quali monitor, interruttori e
indicatori luminosi.
• Schemi elettrici con gli I/O del PLC e dei moduli di I/O.
Realizzazione dei Tenendo conto dei requisiti delle specifiche funzionali, realizzare i disegni con la configurazione
disegni della dei dispositivi di controllo:
configurazione
• Prospetto indicante la posizione dei PLC rispetto al processo o all'impianto.
• Schema meccanico del PLC e dei moduli di I/O, compresi i quadri elettrici e altri dispositivi.
• Schema elettrico dei PLC e dei moduli di I/O, compresi i codici del tipo di dispositivo, gli
indirizzi per la comunicazione e gli indirizzi di I/O.
Creazione di un elenco Fare un elenco dei nomi simbolici per gli indirizzi assoluti indicando oltre ai segnali degli I/O fisici,
dei nomi simbolici anche gli altri elementi (ad es. i nomi delle variabili) che verranno utilizzati nel programma.

6.2 Strutturazione del programma utente


Quando si scrive il programma utente per un task di automazione si inseriscono le
necessarie istruzioni in blocchi di codice:
● I blocchi organizzativo (OB) reagiscono a un evento specifico che si verifica nella CPU e
possono interrompere l'esecuzione del programma utente. L'esecuzione ciclica del
programma utente (OB 1) impostata per default costituisce la struttura base del
programma. Se si inseriscono altri OB, questi interrompono l'esecuzione dell'OB 1 ed
eseguono funzioni specifiche, ad es. per i task di avviamento, la gestione di allarmi ed
errori o l'esecuzione di uno specifico codice di programma a particolari intervalli di tempo.
● I blocchi funzionali (FB) sono sottoprogrammi la cui esecuzione viene richiamata da un
altro blocco di codice (OB, FB o FC). Il blocco richiamante passa i parametri all'FB e
identifica anche un blocco dati (DB) specifico che salva i dati per il richiamo o l'istanza di
quell'FB. La possibilità di modificare il DB di istanza consente a un FB generico di
comandare il funzionamento di un gruppo di dispositivi. Ad esempio, un unico FB può
comandare diverse pompe o valvole utilizzando diversi DB di istanza, ognuno dei quali
contiene i parametri di esercizio specifici delle varie pompe o valvole.
● Le funzioni (FC) sono sottoprogrammi la cui esecuzione viene richiamata da un altro
blocco di codice (OB, FB o FC). Le FC non sono associate a un DB di istanza e ricevono
i parametri dal blocco richiamante. I valori in uscita dalle FC devono essere scritti in un
indirizzo di memoria o un DB globale.

Sistema di automazione S7-1200


174 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti di programmazione
6.2 Strutturazione del programma utente

Scelta del tipo di struttura del programma utente


In funzione dei requisiti della propria applicazione si può decidere di creare il programma
utente con una struttura lineare o modulare:
● I programmi lineari eseguono tutte le istruzioni per i task di automazione in successione,
una dopo l'altra. Generalmente questo tipo di programmi inseriscono tutte le istruzioni
nell'OB di esecuzione ciclica (OB 1).
● I programmi modulari richiamano blocchi di codice che eseguono task specifici. Per
creare una struttura modulare si deve suddividere il task di automazione in task
subordinati, corrispondenti alle funzioni tecnologiche del processo. Ciascun blocco di
codice fornisce il segmento di programma per un task subordinato. Per strutturare il
programma si richiama uno dei blocchi di codice da un altro blocco.

Struttura lineare: Struttura modulare:

Creando blocchi di codice generici, che possono essere riutilizzati nel programma utente, si
semplifica la struttura e l'implementazione del programma utente. L'uso di blocchi di codice
generici ha i seguenti vantaggi:
● Si possono creare blocchi di codice riutilizzabili per task standard, ad esempio per
comandare una pompa o un motore. Inoltre si possono salvare i blocchi di codice
generici in una libreria che può essere utilizzata da applicazioni o soluzioni diverse.
● Scomponendo la struttura del programma utente in componenti modulari collegati a task
funzionali il programma risulta più facile da comprendere e gestire. Oltre a consentire di
standardizzare la struttura del programma, i componenti modulari permettono di
aggiornare e modificare il codice di programma in modo più rapido e semplice.
● I componenti modulari semplificano il test del programma. Strutturando il programma
come un insieme di segmenti modulari è possibile testare la funzionalità dei singoli
blocchi di codice man mano che li si sviluppa.
● Creando componenti modulari collegati a funzioni tecnologiche specifiche si semplifica e
abbrevia la messa in servizio dell'applicazione.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 175
Concetti di programmazione
6.3 Utilizzo dei blocchi per la strutturazione del programma

6.3 Utilizzo dei blocchi per la strutturazione del programma


Progettando gli FB e le FC in modo che eseguano task generici si ottengono blocchi di
codice modulari. Quindi si struttura il programma facendo in modo che tali blocchi
riutilizzabili vengano richiamati da altri blocchi di codice. Il blocco richiamante passa i
parametri specifici del dispositivo al blocco richiamato.
Quando un blocco di codice ne richiama un altro la CPU esegue il codice di programma del
blocco richiamato. Terminata l'esecuzione del blocco richiamato la CPU riprende ad
eseguire il blocco richiamante. L'elaborazione continua con l'esecuzione dell'istruzione
successiva al richiamo del blocco.

A Blocco richiamante
B Blocco richiamato (o di interruzione)
① Esecuzione del programma
② Istruzione o evento che avvia l'esecuzione di un
altro blocco
③ Esecuzione del programma
④ Fine del blocco (per tornare al blocco
richiamante)

Per ottenere una struttura più modulare si possono annidare i richiami. Nell'esempio
seguente la profondità di annidamento è 3: l'OB di ciclo del programma più 3 livelli di richiami
dei blocchi di codice.

① Avvio del ciclo


② Profondità di annidamento

Sistema di automazione S7-1200


176 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti di programmazione
6.3 Utilizzo dei blocchi per la strutturazione del programma

6.3.1 Blocco organizzativo (OB)


I blocchi organizzativi definiscono la struttura del programma e fungono da interfaccia tra il
sistema operativo e il programma utente. Gli OB sono "comandati da eventi", ovvero
vengono eseguiti dalla CPU quando si verifica un determinato evento, ad es. un allarme di
diagnostica o un intervallo di tempo. Alcuni OB dispongono di eventi di avvio e
comportamento predefiniti.
L'OB di ciclo contiene il programma principale. È possibile inserire più di un OB di ciclo nel
programma utente. In RUN vengono eseguiti gli OB di ciclo con il livello di priorità inferiore
che possono essere interrotti da tutti gli altri tipi di eventi. L'OB di avvio non interrompe l'OB
di ciclo perché la CPU lo esegue prima di passare in RUN.
Una volta elaborati gli OB di ciclo, la CPU ne riavvia subito l'esecuzione. Questa
elaborazione ciclica è quella "normale" dei controllori a logica programmabile. Per molte
applicazioni l'intero programma utente è contenuto in un OB di ciclo.
È possibile creare altri OB che eseguono funzioni specifiche, ad es. per la gestione di allarmi
ed errori o l'esecuzione di uno specifico codice di programma a particolari intervalli di tempo.
Questi OB interrompono l'esecuzione degli OB di ciclo del programma.
Per creare nuovi OB per il programma utente si utilizza la finestra di dialogo "Inserisci nuovo
blocco".

La gestione di queste
interruzioni è sempre
comandata da evento.
Quando si verifica un
evento la CPU interrompe
l'esecuzione del
programma utente e
richiama l'OB configurato
per elaborare l'evento. Una
volta eseguito l'OB la CPU
riprende l'esecuzione del
programma utente dal
punto in cui è stata
interrotta.

La CPU determina l'ordine di gestione degli eventi di allarme in base alla priorità. È possibile
assegnare più eventi di allarme alla stessa classe di priorità. Per maggiori informazioni
consultare gli argomenti relativi ai blocchi organizzativi (Pagina 85) e all'esecuzione del
programma utente (Pagina 77).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 177
Concetti di programmazione
6.3 Utilizzo dei blocchi per la strutturazione del programma

Creazione di altri OB
È possibile creare più OB per il programma utente anche all'interno degli eventi degli OB di
ciclo e di avvio. Creare un OB con la finestra di dialogo "Inserisci nuovo blocco" e
specificarne il nome.
Se si creano più OB di ciclo per il programma utente, la CPU li esegue ognuno in base al
numero, iniziando dall'OB di ciclo con il numero più basso (OB 1). Ad esempio: al termine
del primo OB di ciclo (OB1), la CPU esegue l'OB di ciclo con il numero successivo.

Configurazione delle proprietà di un OB

Le proprietà di un OB possono essere


modificate. Ad es. si può configurare il
numero dell'OB o il linguaggio di
programmazione.

Nota
Tenere presente che è possibile assegnare ad un OB un numero per l'immagine di processo
parziale come PIP0, PIP1, PIP2, PIP3 o PIP4. Inserendo un numero per l'immagine di
processo parziale, la CPU crea la relativa immagine di processo parziale. Per una
spiegazione più dettagliata sulle immagini di processo parziali consultare l'argomento
"Esecuzione del programma utente (Pagina 77)".

6.3.2 Funzione (FC)


Una funzione (FC) è un blocco di codice che generalmente esegue un'operazione specifica
su un gruppo di valori di ingresso. L'FC memorizza i risultati dell'operazione in varie locazioni
di memoria. Ad esempio utilizzare FC per eseguire operazioni standard riutilizzabili (ad es.
per eseguire calcoli matematici) o funzioni tecnologiche (ad es. per comandi individuali
tramite operazioni di combinazione logica di bit). Le FC possono essere richiamate anche
più volte in punti diversi del programma. La possibilità di riutilizzarle facilita la
programmazione dei task che ricorrono frequentemente.
L'FC non è associata a un blocco dati (DB) di istanza. ma scrivono nello stack dei dati locali i
dati temporanei per le operazioni di calcolo. I dati temporanei non vengono salvati, per
memorizzarli in modo permanente, si deve assegnare il valore di uscita a una locazione di
memoria globale, ad es. alla memoria M o a un DB globale.

Sistema di automazione S7-1200


178 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti di programmazione
6.3 Utilizzo dei blocchi per la strutturazione del programma

6.3.3 Blocco funzionale (FB)


Un blocco funzionale (FB) è un blocco di codice che si serve di un blocco dati di istanza per i
propri parametri e dati statici. Gli FB dispongono di una memoria per le variabili collocata in
un blocco dati (DB) o DB "di istanza". Il DB di istanza mette a disposizione un blocco di
memoria che è associato all'istanza (o richiamo) dell'FB e che memorizza i dati al termine
dell'esecuzione dell'FB. È possibile associare diversi DB di istanza a diversi richiami dell'FB.
Grazie ai DB di istanza è possibile utilizzare un unico FB generico per controllare più
dispositivi. Si può realizzare una struttura di programma costituita da un blocco di codice che
richiama un FB e un DB di istanza. La CPU esegue il codice di programma nell'FB e
memorizza i parametri del blocco e i dati statici locali nel DB di istanza. Quando termina
l'esecuzione dell'FB la CPU torna al blocco di codice che ha richiamato l'FB. Il DB di istanza
mantiene i valori di quella istanza dell'FB. Questi valori sono disponibili per richiamare
successivamente il blocco funzionale nello stesso ciclo di scansione o in altri cicli.

Blocchi di codice riutilizzabili associati a una memoria


Generalmente gli FB vengono utilizzati per controllare l'esecuzione di task o dispositivi che
non si esauriscono entro un ciclo di scansione. Per memorizzare i parametri di esercizio in
modo che siano rapidamente accessibili da un ciclo di scansione all'altro, ogni FB del
programma utente dispone di uno o più DB di istanza. Quando si richiama un FB si specifica
anche il DB di istanza che contiene i parametri di blocco e i dati locali statici per quel
richiamo o "istanza" dell'FB. Il DB di istanza memorizza questi valori al termine
dell'esecuzione dell'FB.
Se un FB viene progettato per task di comando generici è possibile riutilizzarlo per più
dispositivi selezionando un diverso DB di istanza per ciascun suo richiamo.
Un FB memorizza i parametri di ingresso, uscita, ingresso/uscita e statici in un DB di istanza.
È inoltre possibile modificare e caricare l'interfaccia del blocco funzionale in RUN.

Assegnazione del valore iniziale nel DB di istanza


Il DB di istanza memorizza un valore di default e un valore iniziale per ciascun parametro. Il
valore iniziale è quello che deve essere utilizzato mentre viene eseguito l'FB e può essere
modificato durante l'esecuzione del programma utente.
L'interfaccia dell'FB mette inoltre a disposizione la colonna "Valore di default" che consente
di assegnare un nuovo valore iniziale per il parametro mentre si scrive il codice di
programma. Tale valore dell'FB viene in seguito trasferito nel valore iniziale del DB di istanza
associato. Se non si assegna un nuovo valore iniziale per un dato parametro nell'interfaccia
dell'FB, il valore di default del DB di istanza viene copiato nel valore iniziale.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 179
Concetti di programmazione
6.3 Utilizzo dei blocchi per la strutturazione del programma

Utilizzo di un unico FB con i DB


La seguente figura mostra un OB che richiama per tre volte un FB utilizzando ogni volta un
diverso blocco dati. Questa struttura fa sì che un FB generico possa comandare diversi
dispositivi simili, ad es. dei motori, assegnando un diverso blocco dati di istanza a ciascun
loro richiamo. Ogni DB di istanza memorizza i dati (velocità, tempo della rampa di salita e
tempo di funzionamento complessivo) di un particolare dispositivo.

Nel presente esempio l'FB 22 controlla tre dispositivi separati e il DB 201 memorizza i dati di
esercizio per il primo dispositivo, il DB 202 quelli del secondo dispositivo e il DB 203 quelli
del terzo.

6.3.4 Blocco dati (DB)


I blocchi dati (DB) creati per il programma utente consentono di salvare i dati per i blocchi di
codice. Tutti i blocchi del programma utente possono accedere ai dati dei DB globali, mentre
i DB di istanza memorizzano i dati per blocchi funzionali (FB) specifici.
I dati salvati in un DB non vengono cancellati quando termina l'esecuzione del blocco di
codice a cui è associato. Si distinguono due tipi di DB:
● I DB globali memorizzano i dati dei blocchi di codice del programma. I dati di un DB
globale sono accessibili a qualsiasi OB, FB o FC.
● I DB di istanza memorizzano i dati per un FB specifico. La struttura dei dati di un DB di
istanza rispecchia i parametri (Input, Output e InOut) e i dati statici per l'FB (la memoria
temporanea per l'FB non viene memorizzata nel DB di istanza).

Nota
Nonostante il DB di istanza rispecchi i dati per un FB specifico, qualsiasi blocco di codice
ha la possibilità di accedere ai suoi dati.

È inoltre possibile modificare e caricare i blocchi dati in RUN (Pagina 833).

Sistema di automazione S7-1200


180 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti di programmazione
6.3 Utilizzo dei blocchi per la strutturazione del programma

Blocchi dati di sola lettura


Il DB può essere configurato come di sola lettura:
1. Fare clic con il mouse destro sul DB nella navigazione del progetto e selezionare
"Proprietà" dal menu di scelta rapida.
2. Nella finestra di dialogo "Proprietà" selezionare "Attributi".
3. Selezionare quindi l'opzione "Il blocco dati nel dispositivo è protetto in scrittura" e fare clic
su "OK".

Blocchi dati ottimizzati e standard


I blocchi dati possono essere configurati come standard o ottimizzati. Gli OB standard sono
compatibili con i tool di programmazione classici di STEP 7 e con le normali CPU S7-300 e
S7-400. I blocchi dati con accesso ottimizzato non hanno una struttura definita in modo fisso.
Gli elementi dei dati contengono solo un nome simbolico nella dichiarazione e nessun
indirizzo fisso nel blocco. La CPU memorizza automaticamente gli elementi nell'area di
memoria disponibile del blocco senza lasciare spazi vuoti, in modo da ottimizzare l'uso della
capacità di memoria.
Per impostare l'accesso ottimizzato a un blocco dati procedere nel seguente modo:
1. Espandere la cartella dei blocchi di programma nell'albero del progetto di STEP 7.
2. Fare clic con il tasto destro del mouse sul blocco dati e selezionare "Proprietà" nel menu
di scelta rapida.
3. Per gli attributi selezionare "Accesso ottimizzato al blocco".
L'accesso ottimizzato al blocco è impostato per default nei nuovi blocchi dati. Se si
deseleziona "Accesso ottimizzato al blocco" il blocco utilizza l'accesso standard.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 181
Concetti di programmazione
6.3 Utilizzo dei blocchi per la strutturazione del programma

6.3.5 Creazione di blocchi di codice riutilizzabili

Gli OB, gli FB, le FC e i DB


globali vengono creati nella
finestra di dialogo "Inserisci
nuovo blocco" di "Blocchi di
programma" nella
navigazione di progetto.
Quando si creano i blocchi
di codice si deve
selezionare il linguaggio di
programmazione, mentre
per i DB questa operazione
non è necessaria perché
svolgono solo una funzione
di memorizzazione dei dati.
Selezionando la casella di
controllo "Aggiungi nuovo e
apri" (default), nella vista
progetto si apre il blocco di
codice.

Gli oggetti che si intende riutilizzare possono essere salvati in biblioteche. Per ogni progetto
esiste una biblioteca ad esso collegata. Oltre alla biblioteca di progetto è possibile creare
un'infinità di biblioteche globali utilizzabili in diversi progetti. Poiché le biblioteche sono
compatibili tra di loro, i relativi elementi possono essere copiati e spostati da una biblioteca
all'altra.
Le biblioteche vengono utilizzate ad es. per creare dei modelli per i blocchi che vengono
dapprima inseriti nella biblioteca di progetto dove vengono successivamente sviluppati.
Infine i blocchi vengono copiati dalla biblioteca di progetto a quella globale. In seguito la
biblioteca globale viene resa accessibile agli altri colleghi che lavorano al progetto i quali
utilizzano i blocchi e li sviluppano ulteriormente in base alle esigenze individuali, se
necessario.
Per i dettagli sulle operazioni possibili con le biblioteche consultare gli argomenti sulla
biblioteca nella Guida in linea di STEP 7.

Sistema di automazione S7-1200


182 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti di programmazione
6.4 Coerenza dei dati

6.4 Coerenza dei dati


La CPU mantiene la coerenza tra tutti i dati semplici (ad es. parole o doppie parole) e le
strutture definite dal sistema (ad es. IEC_TIMERS o DTL). La lettura o scrittura dei valori non
possono essere interrotte (ad es. la CPU protegge l'accesso a un valore di doppia parola
finché i suoi quattro byte non sono stati letti o scritti). Per garantire che gli OB di ciclo e di
allarme non possano scrivere contemporaneamente nella stessa locazione di memoria, la
CPU non esegue l'OB di allarme finché non termina la lettura o la scrittura nell'OB di ciclo.
Se un OB di ciclo e un OB di allarme di un programma utente condividono gli stessi valori di
memoria, anche il programma deve garantire che i valori vengano modificati o letti in modo
coerente. Per proteggere l'accesso ai valori condivisi si possono inserire nell'OB di ciclo le
istruzioni DIS_AIRT (disabilitazione dell'allarme) ed EN_AIRT (abilitazione dell'allarme).
● Inserendo un'istruzione DIS_AIRT nel blocco di codice ci si assicura che l'OB di allarme
non possa essere eseguito durante la lettura o la scrittura.
● Inserire le istruzioni che leggono o scrivono i valori che potrebbero essere modificati da
un OB di allarme.
● Inserire un'istruzione EN_AIRT alla fine della sequenza per annullare l'istruzione
DIS_AIRT e consentire l'esecuzione dell'OB di allarme.
L'esecuzione dell'OB di ciclo può essere interrotta anche dalla richiesta di comunicazione di
un dispositivo HMI o di un'altra CPU. Le richieste di comunicazione possono inoltre creare
problemi di coerenza dei dati. La CPU garantisce che i tipi di dati semplici vengano sempre
letti e scritti in modo coerente dalle istruzioni del programma utente. Poiché il programma
utente viene interrotto periodicamente dalla comunicazione, non è possibile garantire che
l'HMI aggiorni contemporaneamente valori diversi della CPU. Ad es. i valori visualizzati nel
display di un HMI potrebbero appartenere a cicli di scansione diversi della CPU.
Le istruzioni PtP (punto a punto), le istruzioni PROFINET (ad es. TSEND_C e TRCV_C), le
istruzioni PROFINET per gli I/O distribuiti e le istruzioni PROFIBUS per gli I/O distribuiti
(Pagina 321) trasferiscono buffer di dati che potrebbero essere interrotti. Per garantire la
coerenza dei dati dei buffer si deve evitare che vengano eseguite operazioni di lettura e
scrittura nei buffer sia nell'OB di ciclo che in quello OB di allarme. Se è necessario
modificare i valori del buffer per queste istruzioni in un OB di allarme, si deve utilizzare
un'istruzione DIS_AIRT che posticipi le eventuali interruzioni (un OB di allarme o un allarme
di comunicazione da un HMI o un'altra CPU) finché non viene eseguita un'istruzione
EN_AIRT.

Nota
L'istruzione DIS_AIRT ritarda l'elaborazione degli OB di allarme finché non viene eseguita
EN_AIRT, che influisce sulla latenza (il tempo che trascorre da un dato evento
all'esecuzione dell'OB di allarme) delle interruzioni del programma utente.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 183
Concetti di programmazione
6.5 Linguaggio di programmazione

6.5 Linguaggio di programmazione


STEP 7 consente di utilizzare per l'S7-1200 i seguenti linguaggi di programmazione
standard:
● KOP (schema a contatti) è un linguaggio di programmazione grafico che consente di
rappresentare il programma sotto forma di circuiti elettrici (Pagina 184).
● FUP (schema logico) è un linguaggio di programmazione basato sui simboli grafici
dell'algebra booleana (Pagina 185).
● SCL (structured control language) è un linguaggio di programmazione evoluto basato sul
testo (Pagina 186).
Quando si crea un blocco di codice si deve selezionare il linguaggio di programmazione che
il blocco utilizzerà.
Il programma utente è in grado di utilizzare blocchi di codice creati in uno o tutti i linguaggi di
programmazione.

6.5.1 Schema a contatti (KOP)


Gli elementi dei circuiti, quali i contatti normalmente chiusi e normalmente aperti e le bobine
vengono collegati tra loro per formare dei segmenti (o "network").

Per creare la logica per le operazioni complesse si possono inserire delle diramazioni in
modo da realizzare circuiti paralleli. I rami paralleli possono essere aperti verso il basso o
collegati direttamente alla barra di alimentazione e si chiudono verso l'alto.
KOP mette a disposizione istruzioni a "box" per svariate funzioni, quali operazioni
matematiche, di temporizzazione, di conteggio e di trasferimento.
STEP 7 non limita il numero di istruzioni (righe e colonne) in un segmento KOP.

Nota
Ogni segmento KOP deve terminare con una bobina o un'istruzione a box.

Sistema di automazione S7-1200


184 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti di programmazione
6.5 Linguaggio di programmazione

Quando si crea un segmento KOP è importante tener conto delle seguenti regole:
● Non è consentito creare rami che possono determinare un'inversione del flusso della
corrente.

● Non è consentito creare rami che possono provocare un cortocircuito.

6.5.2 Schema logico (FUP)


Anche FUP, come KOP, è un linguaggio di programmazione grafico. Per la
rappresentazione della logica FUP utilizza i simboli grafici dell'algebra booleana.

Per creare la logica per le operazioni


complesse si inseriscono rami paralleli tra i
box.

Le funzioni matematiche e altre funzioni complesse possono essere rappresentate


direttamente tramite i box logici.
STEP 7 non limita il numero di istruzioni (righe e colonne) in un segmento FUP.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 185
Concetti di programmazione
6.5 Linguaggio di programmazione

6.5.3 SCL
Structured Control Language (SCL) è un linguaggio di programmazione evoluto basato su
PASCAL per le CPU SIMATIC S7. SCL supporta la struttura a blocchi di STEP 7
(Pagina 176). Il progetto può contenere blocchi di programma scritti in uno dei seguenti
linguaggi di programmazione: SCL, KOP e FUP.
Le istruzioni SCL utilizzano operatori di programmazione standard, ad es. per l'assegnazione
(:=) e le funzioni matematiche (+ per l'addizione, - per la sottrazione, * per la moltiplicazione
e / per la divisione). SCL utilizza anche operazioni standard di controllo del programma
PASCAL quali IF-THEN-ELSE, CASE, REPEAT-UNTIL, GOTO e RETURN. È possibile
utilizzare qualsiasi riferimento PASCAL per gli elementi sintattici del linguaggio di
programmazione SCL. Molte delle altre istruzioni per SCL, come temporizzatori e contatori,
corrispondono alle istruzioni KOP e FUP. Per maggiori informazioni sulle istruzioni
specifiche, consultare tali istruzioni ai capitoli Istruzioni di base (Pagina 207) eIstruzioni
avanzate (Pagina 289)
Quando si crea un blocco, indipendentemente dal tipo (OB, FB o FC), lo si può impostare in
modo che utilizzi il linguaggio di programmazione SCL. STEP 7 è dotato di un editor di
programma SCL che include i seguenti elementi:
● Un campo per l'interfaccia per la definizione dei parametri del blocco di codice
● Un campo per il codice di programma
● Un albero delle istruzioni contenente le istruzioni SCL supportate dalla CPU
Il codice SCL per l'istruzione va inserito direttamente nell'apposito campo. L'editor contiene i
pulsanti per le istruzioni di codice più comuni e i commenti. Per istruzioni più complesse
basta trascinare le istruzioni SCL dal relativo albero al programma. Per creare un
programma SCL si può utilizzare anche un qualsiasi editor di testo e importare
successivamente il file in STEP 7.

Sistema di automazione S7-1200


186 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti di programmazione
6.5 Linguaggio di programmazione

Nella sezione Interfaccia del blocco di codice SCL si possono dichiarare i seguenti tipi di
parametri:
● Input, Output, InOut e Ret_Val: questi parametri definiscono le variabili di ingresso e di
uscita e il valore di ritorno del blocco di codice. Il nome della variabile che viene inserito
qui viene utilizzato localmente durante l'esecuzione del blocco di codice. In genere non si
utilizza il nome della variabile globale nella tabella delle variabili.
● Static (solo FB, lo screenshot più sopra si riferisce a un FC): Il blocco di codice utilizza le
variabili statiche per memorizzare i risultati intermedi statici nel blocco dati di istanza. Il
blocco mantiene i dati statici finché non vengono sovrascritti, ovvero anche per diversi
cicli. Anche i nomi dei blocchi richiamati dal blocco di codice come multiistanze vengono
salvati nei dati locali statici.
● Temp: questi parametri sono le variabili temporanee utilizzate durante l'esecuzione del
blocco di codice.
Se si richiama il blocco di codice SCL da un altro blocco di codice, i relativi parametri
appaiono come ingressi o uscite.

In questo esempio le variabili per "Start" e "On" (dalla tabella delle variabili del progetto)
corrispondono a "StartStopSwitch" e "RunYesNo" nella tabella delle dichiarazioni del
programma SCL.

Costruzione di un'espressione SCL


Un'espressione SCL è una formula per il calcolo di un valore. L'espressione è composta da
operandi e operatori (come *, /, + o -). Gli operandi possono essere costituiti da variabili,
costanti o espressioni.
La valutazione dell'espressione avviene in un certo ordine definito dai fattori seguenti:
● Ogni operatore ha una priorità predefinita e l'operazione con la priorità più alta viene
eseguita per prima
● Se gli operatori hanno la stessa priorità, vengono elaborati da sinistra verso destra.
● Per designare una serie di operatori da valutare insieme vengono utilizzate delle
parentesi.
Il risultato di un'espressione può essere utilizzato per assegnare un valore ad una variabile
utilizzata dal programma, come condizione utilizzata da un'istruzione di controllo, come
parametri per un'altra istruzione SCL o per richiamare un blocco di codice.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 187
Concetti di programmazione
6.5 Linguaggio di programmazione

Tabella 6- 2 Operatori in SCL

Tipo Operazione Operatore Priorità


Parentesi (Espressione) (,) 1
Funzioni matematiche Potenza ** 2
Segno (più unario) + 3
Segno (meno unario) - 3
Moltiplicazione * 4
Divisione / 4
Modulo MOD 4
Addizione + 5
Sottrazione - 5
Confronto Minore di < 6
Minore o uguale a <= 6
Maggiore di > 6
Maggiore o uguale a >= 6
Uguale a = 7
Non uguale a <> 7
Combinazione logica di bit Negazione (unaria) NOT 3
Operazione logica AND AND o & 8
Operazione logica OR esclusiva XOR 9
Operazione logica OR OR 10
Assegnazione Assegnazione := 11

Nonostante sia un linguaggio di programmazione evoluto, SCL utilizza istruzioni standard


per i task di base:
● Istruzione di assegnazione: :=
● Funzioni matematiche: +, -, * e /
● Indirizzamento delle variabili globali (tag): "<nome variabile>" (nome di variabile o di
blocco racchiuso tra virgolette doppie)
● Indirizzamento delle variabili locali: #<nome variabile> (nome della variabile preceduto
dal simbolo "#")
Gli esempi seguenti mostrano le varie espressioni per i diversi utilizzi.

"C" := #A+#B; Assegna la somma di due variabili locali a una


variabile
"Data_block_1".Tag := #A; Assegnazione a una variabile di blocco dati
IF #A > #B THEN "C" := #A; Condizione per l'istruzione IF-THEN
"C" := SQRT (SQR (#A) + SQR (#B)); Parametri per l'istruzione SQRT
Gli operatori aritmetici possono processare vari tipi di dati numerici. Il tipo di dati del risultato
è determinato dal tipo di dati dell'operando più significativo. Ad esempio, un'operazione di
moltiplicazione che usa un operando INT e un operando REAL dà come risultato un valore
REAL.

Sistema di automazione S7-1200


188 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti di programmazione
6.5 Linguaggio di programmazione

Istruzioni di controllo
Un'istruzione di controllo è un tipo speciale di espressione SCL che esegue i seguenti task:
● Diramazione del programma
● Ripetizione delle sezioni del codice del programma SCL
● Salto ad altre parti del programma SCL
● Esecuzione condizionata
Le istruzioni di controllo SCL includono IF-THEN, CASE-OF, FOR-TO-DO, WHILE-DO,
REPEAT-UNTIL, CONTINUE, GOTO e RETURN.
In genere una sola istruzione occupa una riga di codice. Più istruzioni possono essere
inserite su una riga, oppure è possibile spezzare un'istruzione in diverse righe di codice per
facilitare la lettura del codice stesso. I separatori (quali tabulazioni, interruzioni di riga e spazi
aggiuntivi) vengono ignorati nel controllo della sintassi. Un'istruzione END termina
l'istruzione di controllo.
Gli esempi seguenti illustrano un'istruzione di controllo FOR-TO-DO. (Entrambe le forme di
codifica sono sintatticamente valide).
FOR x := 0 TO max DO sum := sum + value(x); END_FOR;
FOR x := 0 TO max DO
sum := sum + value(x);
END_FOR;
Un'istruzione di controllo può essere associata anche ad un'etichetta. Un'etichetta inizia con
due punti all'inizio dell'istruzione:
Etichetta: <Statement>;
la Guida in linea di STEP 7 fornisce informazioni complete sulla programmazione in SCL.

Condizioni
Una condizione è un'espressione di confronto o un'espressione logica il cui risultato è di tipo
BOOL (con valore sia vero che falso). L'esempio seguente illustra condizioni di vari tipi.

#Temperatura > 50 Espressione relazionale


#Contatore <= 100
#CHAR1 < 'S'
(#Alpha <> 12) AND NOT #Beta Confronto ed espressione logica
5 + #Alpha Espressione aritmetica
Una condizione può usare espressioni aritmetiche:
● La condizione dell'espressione è vera se il risultato è qualsiasi valore diverso da zero.
● La condizione dell'espressione è falsa se il risultato è pari a zero.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 189
Concetti di programmazione
6.5 Linguaggio di programmazione

Indirizzamento
Come accade con KOP e FUP, SCL consente di usare sia le variabili (indirizzamento
simbolico) che gli indirizzi assoluti nel programma utente. Inoltre SCL consente di utilizzare
una variabile come indice dell'array.

Indirizzamento assoluto
%I0.0 Gli indirizzi assoluti sono preceduti dal carattere
%MB100 "%". Se manca il "%", durante la compilazione
STEP 7 genera un errore di variabile non definita.

Indirizzamento simbolico
"PLC_Tag_1" Variabile di una tabella delle variabili PLC
"Data_block_1".Tag_1 Variabile di un blocco dati
"Data_block_1".MyArray[#i] Elemento array nell'array di un blocco dati

Indirizzamento indicizzato con le istruzioni PEEK e POKE


SCL mette a disposizione le istruzioni PEEK e POKE che consentono di leggere o scrivere
da/verso i blocchi dati, gli I/O o la memoria. Si devono specificare i parametri per gli offset di
bit o di byte specifici per il funzionamento.

Nota
Le istruzioni PEEK e POKE possono essere utilizzate solo con i blocchi dati standard (non
ottimizzati). Va inoltre ricordato che queste istruzioni trasferiscono solamente i dati e non
forniscono informazioni sui tipi e gli indirizzi.

PEEK(area:=_in_, Legge il byte a cui fa riferimento il byteOffset


dbNumber:=_in_, del blocco dati, degli I/O o dell'area di
byteOffset:=_in_); memoria indirizzati.
Esempio di indirizzamento di un blocco dati:
%MB100 := PEEK(area:=16#84,
dbNumber:=1, byteOffset:=#i);
Esempio di indirizzamento dell'ingresso IB3:
%MB100 := PEEK(area:=16#81,
dbNumber:=0, byteOffset:=#i); // when
#i = 3
PEEK_WORD(area:=_in_, Legge la parola a cui fa riferimento il
dbNumber:=_in_, byteOffset del blocco dati, degli I/O o dell'area
byteOffset:=_in_); di memoria indirizzati.
Esempio:
%MW200 := PEEK_WORD(area:=16#84,
dbNumber:=1, byteOffset:=#i);

Sistema di automazione S7-1200


190 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti di programmazione
6.5 Linguaggio di programmazione

PEEK_DWORD(area:=_in_, Legge la doppia parola a cui fa riferimento il


dbNumber:=_in_, byteOffset del blocco dati, degli I/O o dell'area
byteOffset:=_in_); di memoria indirizzati.
Esempio:
%MD300 := PEEK_DWORD(area:=16#84,
dbNumber:=1, byteOffset:=#i);
PEEK_BOOL(area:=_in_, Legge un valore booleano a cui fanno
dbNumber:=_in_, riferimento il bitOffset e il byteOffset del
byteOffset:=_in_, blocco dati, degli I/O o dell'area di memoria
bitOffset:=_in_); indirizzati.
Esempio:
%MB100.0 := PEEK_BOOL(area:=16#84,
dbNumber:=1, byteOffset:=#ii,
bitOffset:=#j);
POKE(area:=_in_, Scrive il valore (Byte, Word, o DWord) nel
dbNumber:=_in_, byteOffset indirizzato del blocco dati, degli I/O
byteOffset:=_in_, o dell'area di memoria indirizzati.
value:=_in_);
Esempio di indirizzamento di un blocco dati:
POKE(area:=16#84, dbNumber:=2,
byteOffset:=3, value:="Tag_1");
Esempio di indirizzamento dell'uscita QB3:
POKE(area:=16#82, dbNumber:=0,
byteOffset:=3, value:="Tag_1");
POKE_BOOL(area:=_in_, Scrive il valore booleano nel bitOffset e nel
dbNumber:=_in_, byteOffset indirizzati del blocco dati, degli I/O
byteOffset:=_in_, o dell'area di memoria indirizzati.
bitOffset:=_in_,
Esempio:
value:=_in_);
POKE_BOOL(area:=16#84, dbNumber:=2,
byteOffset:=3, bitOffset:=5,
value:=0);
POKE_BLK(area_src:=_in_, Scrive il "numero" di byte a partire dall'offset
dbNumber_src:=_in_, di byte indirizzato del blocco dati sorgente,
byteOffset_src:=_in_, degli I/O o dell'area di memoria indirizzati nel
area_dest:=_in_, byteOffset del blocco dati di destinazione,
dbNumber_dest:=_in_, degli I/O o dell'area di memoria indirizzati
byteOffset_dest:=_in_,
Esempio:
count:=_in_);
POKE_BLK(area_src:=16#84,
dbNumber_src:=#src_db,
byteOffset_src:=#src_byte,
area_dest:=16#84,
dbNumber_dest:=#src_db,
byteOffset_dest:=#src_byte,
count:=10);

Per i parametri "area", "area_src" e "area_dest" delle istruzioni PEEK e POKE sono
applicabili i seguenti valori. Per le aree diverse dai blocchi dati il parametro dbNumber deve
essere 0.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 191
Concetti di programmazione
6.5 Linguaggio di programmazione

16#81 I
16#82 Q
16#83 M
16#84 DB

Richiamo di altri blocchi di codice dal programma SCL


Per richiamare un altro blocco di codice nel programma utente, basta inserire il nome (o
l'indirizzo assoluto) dell'FB o dell'FC con i parametri. Nel caso degli FB occorre indicare il DB
di istanza da richiamare con l'FB.

<nome DB> (Elenco dei parametri) Richiamo come istanza singola


<nome istanza#> (Elenco dei parametri) Richiamo come multiistanza
"MyDB"(MyInput:=10, MyInOut:="Tag1");

<FC name> (Elenco dei parametri) Richiamo standard


<Operand>:=<FC name> (Elenco dei parametri) Richiamo in un'espressione
"MyFC"(MyInput:=10, MyInOut:="Tag1");
Si possono inoltre trascinare i blocchi dall'albero di navigazione nell'editor di programma
SCL e completare la parametrizzazione.

Inserimento di commenti per i blocchi del codice SCL


È possibile inserire nel codice SCL un commento di blocco specificandone il testo tra (* e *).
I caratteri (* e *) possono racchiudere un numero qualsiasi di righe. Il blocco di codice SCL
può contenere molti commenti. Per facilitare la programmazione l'editor SCL mette a
disposizione un pulsante per i commenti e le istruzioni di controllo più comuni:

Sistema di automazione S7-1200


192 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti di programmazione
6.5 Linguaggio di programmazione

6.5.4 EN ed ENO per KOP, FUP e SCL

Determinazione del "flusso di corrente" (EN e ENO) di un'istruzione


Alcune istruzioni (ad es. quelle matematiche e di trasferimento) forniscono i parametri per
EN ed ENO. Tali parametri riguardano il flusso della corrente in KOP o FUP e determinano
se l'istruzione verrà eseguita o meno durante un dato ciclo di scansione. SCL consente di
impostare anche il parametro ENO per un blocco di codice.
● EN (Enable In) è un ingresso booleano. L'istruzione a box viene eseguita quando
l'ingresso è attraversato dal flusso di corrente ( EN = 1). Se l'ingresso EN di un box KOP
è collegato direttamente a sinistra della barra di alimentazione, l'istruzione viene eseguita
sempre.
● ENO (Enable Out) è un'uscita booleana. Se l'ingresso EN del box è attraversato dal
flusso di corrente e il box esegue la propria funzione senza errori, l'uscita ENO trasmette
il flusso di corrente (ENO = 1) all'elemento successivo. Se viene rilevato un errore
durante l'esecuzione dell'istruzione a box, il flusso di corrente viene interrotto (ENO = 0)
nell'istruzione a box che lo ha generato.

Tabella 6- 3 Operandi per EN ed ENO

Editor di programma Ingressi/uscite Operandi Tipo di dati


KOP EN, ENO Flusso di corrente Bool
FUP EN I, I:P, Q, M, DB, Temp, flusso di corrente Bool
ENO Flusso di corrente Bool
SCL EN1 Vero, falso Bool
ENO2 Vero, falso Bool
1 EN è disponibile solo per gli FB.
2 L'uso di ENO con il blocco di codice SCL è opzionale. Il compilatore SCL può essere configurato per impostare ENO al
termine del codice di blocco.

Configurazione di SCL per impostare ENO


Per configurare il compilatore SCL per l'impostazione di ENO, procedere nel modo
seguente:
1. Selezionare il comando "Impostazioni" dal menu "Opzioni".
2. Aprire le proprietà della "Programmazione PLC" e selezionare "SCL (Structured Control
Language)".
3. Selezionare l'opzione "Imposta ENO automaticamente".

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 193
Concetti di programmazione
6.5 Linguaggio di programmazione

Utilizzo di ENO nel codice di programma


Nel codice di programma si può anche utilizzare ENO, ad esempio assegnandola a una
variabile PLC o valutandola in un blocco locale.
Ad esempio:
“MyFunction”
( IN1 := … ,
IN2 := … ,
OUT1 => #myOut,
ENO => #statusFlag ); // la variabile PLC statusFlag registra il
valore di ENO

“MyFunction”
( IN1 := …
IN2 := … ,
OUT1 => #myOut,
ENO => ENO ); // il flag di stato del blocco di "MyFunction"
// viene memorizzato nel blocco locale

IF ENO = TRUE THEN


// esegui il codice solo se MyFunction restituisce ENO = true

Effetto dei parametri Ret_Val o Status su ENO


Alcune istruzioni, come quelle di comunicazione o di conversione di stringhe, hanno un
parametro di uscita che contiene informazioni sulla loro elaborazione. Alcune istruzioni ad
esempio hanno il parametro Ret_Val (valore di ritorno) che generalmente è di tipo Int e
fornisce informazioni di stato entro un campo da -32768 a +32767. Altre istruzioni hanno il
parametro Status che generalmente è di tipo Word e memorizza informazioni di stato entro
un campo di valori esadecimali da 16#0000 a 16#FFFF. Il valore numerico memorizzato in
un parametro Ret_Val o Status determina lo stato di ENO dell'istruzione.
● Ret_Val: un valore da 0 a 32767 imposta ENO = 1 (o vero). Un valore da -32768 a -1
imposta ENO = 0 (o falso). Per valutare Ret_Val cambiare la rappresentazione
impostandola su "esadecimale".
● Status: un valore da 16#0000 a 16#7FFF imposta ENO = 1 (o vero). Un valore da
16#8000 a 16#FFFF imposta ENO = 0 (o falso).
Le istruzioni la cui esecuzione richiede più di un ciclo that take hanno il parametro Busy
(Bool) per segnalare che sono attive e non hanno ancora completato l'esecuzione. Queste
istruzioni spesso hanno anche il parametro Done (Bool) e Error (Bool). Done segnala che
l'istruzione è stata portata a termine senza errori e Error segnala che l'istruzione è stata
portata a termine con errori.
● Se Busy = 1 (o vero), ENO = 1 (o vero).
● Se Done = 1 (o vero), ENO = 1 (o vero).
● Se Error = 1 (o vero), ENO = 0 (o falso).

Vedere anche
Istruzioni OK (Verifica validità) e NOT_OK (Verifica invalidità) (Pagina 233)

Sistema di automazione S7-1200


194 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti di programmazione
6.6 Protezione

6.6 Protezione

6.6.1 Protezione di accesso alla CPU


La CPU fornisce quattro livelli di sicurezza per limitare l'accesso a funzioni specifiche.
Quando si configurano il livello di sicurezza e la password di una CPU si limitano le funzioni
e le aree di memoria accessibili senza password.
Ogni livello consente di accedere ad alcune funzioni senza password. Per default la CPU
non pone limiti all'accesso e non è protetta da password. Per limitare l'accesso a una CPU
se ne devono configurare le proprietà e specificare la password.
La CPU continua a essere protetta anche se la password viene immessa attraverso una
rete. La protezione mediantte password non viene applicata all'esecuzione delle istruzioni
del programma e delle funzioni di comunicazione. Immettendo la password corretta si può
accedere a tutte le funzioni del livello.
La comunicazione da PLC a PLC (mediante le istruzioni di comunicazione dei blocchi di
codice) non viene limitata dal livello di sicurezza della CPU.

Tabella 6- 4 Livelli di sicurezza della CPU

Livello di sicurezza Limitazioni dell'accesso


Accesso completo Consente l'accesso completo senza password.
(senza protezione)
Accesso in lettura Consente l'accesso HMI e tutti i tipi di comunicazione da PLC a PLC senza password.
La password è necessaria per modificare la CPU (scrivervi) e cambiarne il modo di
funzionamento (RUN/STOP).
Accesso HMI Consente l'accesso HMI e tutti i tipi di comunicazione da PLC a PLC senza password.
La password è necessaria per leggere i dati dalla CPU, modificarla (scrivervi) e cambiarne il
modo di funzionamento (RUN/STOP).
Nessun accesso Non consente l'accesso senza password.
(protezione completa) La password è necessaria per l'accesso HMI per leggere i dati dalla CPU, modificarla (scrivervi)
e cambiarne il modo di funzionamento (RUN/STOP).

Nelle password la distinzione fra lettere maiuscole e minuscole è rilevante. Per configurare il
livello di protezione e le password procedere nel seguente modo:
1. Selezionare la CPU in "Configurazione dispositivi".
2. Selezionare la scheda "Proprietà" nella finestra di ispezione.
3. Selezionare la proprietà "Protezione" per impostare il livello di protezione e immettere le
password.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 195
Concetti di programmazione
6.6 Protezione

Caricando questa configurazione nella CPU l'utente ha l'accesso HMI e può accedere alle
funzioni HMI senza una password. Per leggere i dati l'utente deve inserire la password
configurata per "Accesso in lettura" o quella per "Accesso completo (senza protezione)". Per
scrivere i dati l'utente deve inserire la password configurata per "Accesso completo (senza
protezione)".

AVVERTENZA
Accesso non autorizzato a una CPU protetta
Gli utenti con diritti di accesso completo alla CPU dispongono dei diritti per leggere e
scrivere le variabili PLC. A prescindere dal livello di accesso alla CPU, gli utenti del Web
server possono disporre dei diritti per leggere e scrivere le variabili PLC. L'accesso non
autorizzato alla CPU o l'impostazione delle variabili del PLC su valori non validi possono
compromettere il funzionamento del processo, causando la morte o gravi lesioni alle
persone e/o danni alle cose.
Gli utenti autorizzati possono apportare modifiche del modo di funzionamento, scrivere nei
dati del PLC e aggiornare il firmware. Siemens consiglia di attenersi alle seguenti norme di
sicurezza:
• Livelli di accesso alla CPU protetti da password eID utente Web server (Pagina 620)
con password sicure. Le password con livello di sicurezza elevato contengono almeno
otto caratteri, lettere diverse, numeri e caratteri speciali, non corrispondono a parole del
dizionario, né a nomi o identificatori che possono essere dedotti dai dati personali
dell'utente. Tenere la password segreta e cambiarla spesso.
• Abilitare l'accesso al Web server solo con il protocollo HTTPS.
• Non ampliare i diritti minimi di default dell'utente del Web server "Ognuno".
• Controllare gli eventuali errori e i range delle variabili della logica di programma perché
gli utenti delle pagine Web possono modificare le variabili del PLC impostandole su
valori non validi.

Sistema di automazione S7-1200


196 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti di programmazione
6.6 Protezione

Meccanismi di collegamento
Per accedere a partner del collegamento remoti con le istruzioni PUT/GET l'utente deve
disporre anche dell'autorizzazione.
Per default, l'opzione "Consenti accesso tramite comunicazione PUT/GET" non è abilitata. In
questo caso l'accesso in lettura e scrittura ai dati della CPU è possibile solo per i
collegamenti di comunicazione che richiedono la configurazione e la programmazione sia
per la CPU locale che per il partner di comunicazione. L'accesso tramite le istruzioni
BSEND/BRCV, ad es., è possibile.
Pertanto i collegamenti per i quali la CPU locale è solo un server (vale a dire che nella CPU
locale non esiste la configurazione/programmazione della comunicazione con il partner) non
sono possibili durante il funzionamento della CPU, ad es:
● Accesso PUT/GET, FETCH/WRITE o FTP attraverso moduli di comunicazione
● Accesso PUT/GET da altre CPU S7
● Accesso HMI attraverso la comunicazione PUT/GET
Per consentire l'accesso ai dati della CPU dal lato client, vale a dire che non si intende
limitare i servizi di comunicazione della CPU, occorre procedere nel modo seguente:
1. Per la protezione dell'accesso configurare un livello di protezione qualsiasi tranne
"Nessun accesso (protezione completa)".
2. Selezionare la casella di controllo "Consenti accesso tramite comunicazione PUT/GET".

Caricando questa configurazione nella CPU, la CPU consente la comunicazione PUT/GET


dai partner remoti.

6.6.2 Protezione del know-how


La protezione del know-how consente di impedire che persone non autorizzate accedano a
uno o alcuni blocchi di codice (OB, FB, FC o DB) del programma. Creando una password si
può limitare l'accesso al blocco di codice. La protezione mediante password impedisce alle
persone non autorizzate di leggere o modificare il blocco di codice. Se non si dispone della
password si possono leggere solo le seguenti informazioni sul blocco di codice:
● Titolo, commento e proprietà del blocco
● Parametri di trasferimento (IN, OUT, IN_OUT, Return)
● Struttura dei richiami del programma
● Variabili globali nei riferimenti incrociati (senza informazioni sul punto di utilizzo, le
variabili locali sono nascoste)
Se si imposta la protezione del "know-how" per un blocco, il codice che vi è contenuto
diventa accessibile solo inserendo la password.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 197
Concetti di programmazione
6.6 Protezione

Configurare la protezione del know-how del blocco di codice nella task card "Proprietà" del
blocco. Dopo aver aperto il blocco di codice selezionare "Protezione" nelle Proprietà.

1. Nelle Proprietà del blocco di codice fare


clic sul pulsante "Protezione" per
visualizzare la finestra di dialogo
"Protezione del know-how".
2. Fare clic sul pulsante "Definisci" per
inserire la password.

Una volta inserita e confermata la password


fare clic su "Ok".

Sistema di automazione S7-1200


198 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti di programmazione
6.6 Protezione

6.6.3 Protezione dalla copia


Una funzione di sicurezza aggiuntiva consente di assegnare i blocchi di programma per
l'utilizzo con una memory card o una CPU specifica. Questa funzione è particolarmente utile
per proteggere la proprietà intellettuale. Assegnando un blocco di programma a un
dispositivo specifico sei limita l'utilizzo del programma o del blocco di codice solo con una
memory card o una CPU specifica. Questa funzione consente di distribuire un programma o
un blocco di codice in forma elettronica (come via Internet o mediante e-mail) oppure
inviando un modulo di memoria. La protezione dalla copia è disponibile perOB (Pagina 177),
FB (Pagina 179) e FC (Pagina 178).
Assegnare il blocco di codice a una CPU o memory card specifica nella task card "Proprietà"
del blocco.
1. Dopo aver aperto il blocco di codice selezionare "Protezione".

2. Nell'elenco a discesa della task card "Protezione dalla copia" selezionare l'opzione per
assegnare il blocco di codice a una memory card o a una CPU specifica.

3. Selezionare il tipo di protezione dalla copia e inserire il numero di serie della memory
card o della CPU.

Nota
Nel numero di serie si distingue tra caratteri maiuscoli e minuscoli.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 199
Concetti di programmazione
6.7 Caricamento degli elementi del programma nella CPU

6.7 Caricamento degli elementi del programma nella CPU


Gli elementi del progetto possono essere caricati dal dispositivo di programmazione nella
CPU. Quando si carica un progetto la CPU salva il programma utente (OB, FC, FB e DB)
nella memoria non volatile.

Il caricamento del progetto dal dispositivo di programmazione nella CPU può essere
effettuato da una delle seguenti posizioni:
● "Albero del progetto": fare clic con il tasto destro del mouse sull'elemento del programma
quindi selezionare la voce "Carica" nel menu di scelta rapida.
● Menu "Online": fare clic sulla voce "Carica nel dispositivo".
● Barra degli strumenti: fare clic sull'icona "Carica nel dispositivo".

Nota
Il caricamento del programma non cancella né modifica i valori della memoria a ritenzione.
Per cancellare la memoria a ritenzione prima di caricare un programma riportare la CPU alle
impostazioni di fabbrica prima di procedere al caricamento.

È anche possibile caricare un progetto per gli HMI Basic Panel (Pagina 32) dal TIA Portal in
una memory inserita nella CPU S7-1200.

Sistema di automazione S7-1200


200 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti di programmazione
6.8 Caricamento dalla CPU

6.8 Caricamento dalla CPU

6.8.1 Copia di elementi del progetto


I blocchi di programma possono essere anche copiati da una CPU online o una memory
card collegata al dispositivo di programmazione.

Predisporre il progetto offline per i blocchi di programma


copiati:
1. Inserire una CPU compatibile con la CPU online.
2. Espandere una volta il nodo della CPU in modo che
compaia la cartella "Blocchi di programma".

Per caricare i blocchi di programma dalla CPU online nel


progetto offline procedere nel seguente modo:
1. Fare clic sulla cartella "Blocchi di programma" nel
progetto offline.
2. Fare clic sul pulsante "Collega online".
3. Fare clic sul pulsante "Carica nel PG".
4. Confermare la scelta nella finestra di dialogo Carica
nel PG (Pagina 810).
In alternativa al metodo precedente procedere nel
seguente modo:
1. Nella navigazione del progetto espandere il nodo
"Accesso online" per selezionare i blocchi di
programma nella CPU online:
2. Espandere il nodo della rete e fare due volte clic su
"Aggiorna nodi accessibili".
3. Espandere il nodo della CPU.
4. Trascinare la cartella "Blocchi di programma" dalla
CPU online nella cartella "Blocchi di programma" del
progetto offline.
5. Nella finestra di dialogo "Anteprima per il caricamento
del dispositivo" selezionare la casella "Continua" e fare
quindi clic su "Carica dal dispositivo".
Una volta completato il caricamento, tutti i blocchi del
programma, i blocchi tecnologici e le variabili verranno
visualizzati nell'area offline.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 201
Concetti di programmazione
6.9 Test del programma

Nota
È possibile copiare i blocchi di programma dalla CPU online in un programma esistente. La
cartella "Blocchi di programma" del progetto offline non deve essere vuota. In ogni caso, il
programma esistente verrà cancellato e sostituito dal programma utente della CPU online.

6.8.2 Utilizzo della funzione di confronto


Per rilevare le differenze tra i progetti online e offline si utilizza l'editor di confronto
(Pagina 818) di STEP 7. Può essere utile eseguire questa operazione prima di caricare il
programma dalla CPU.

6.9 Test del programma

6.9.1 Controllo e modifica dei dati nella CPU


Come illustrato nella tabella seguente, i valori nella CPU online possono essere controllati e
modificati.

Tabella 6- 5 Controllo e modifica dei dati con STEP 7

Editor Controllo Modifica Forzamento


Tabella di controllo Sì Sì No
Tabella di forzamento Sì No Sì
Editor di programma Sì Sì No
Tabella delle variabili Sì No No
Editor DB Sì No No

Sistema di automazione S7-1200


202 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti di programmazione
6.9 Test del programma

Controllo con
tabella di controllo

Controllo con editor KOP

Per maggiori informazioni su controllo e modifica dei dati nella CPU (Pagina 819) consultare
il capitolo "Online & Diagnostica".

6.9.2 Tabelle di controllo e di forzamento


Per controllare e modificare i valori del programma utente eseguito da una CPU online si
utilizzano le "tabelle di controllo". È possibile creare e salvare nel progetto diverse tabelle di
controllo per supportare svariati ambienti di test. In questo modo si possono riprodurre i test
durante la messa in servizio o a scopo di assistenza e manutenzione.
Le tabelle di controllo consentono di controllare e interagire con la CPU mentre esegue il
programma utente. È possibile visualizzare o modificare i valori non solo per le variabili dei
blocchi di codice e dei blocchi dati, ma anche per le aree di memoria della CPU, compresi gli
ingressi e le uscite (I e Q), gli ingressi della periferia (I:P), i merker (M) e i blocchi dati (DB).
La tabella di controllo consente di abilitare le uscite fisiche (Q:P) di una CPU in STOP. La si
può usare, ad esempio, per assegnare valori specifici alle uscite mentre si effettua il test del
cablaggio per la CPU.
STEP 7 mette a disposizione anche una tabella di forzamento per "forzare" una variabile su
un valore specifico. Per maggiori informazioni sul forzamento vedere il paragrafo relativo al
forzamento dei valori nella CPU (Pagina 827) nel capitolo "Online e diagnostica".

Nota
I valori forzati sono memorizzati nella CPU e non nella tabella di controllo.
Non è possibile forzare un ingresso (o un indirizzo "I"). Tuttavia, è possibile forzare un
ingresso della periferia. Per forzare un ingresso della periferia aggiungere una :P all'indirizzo
(ad esempio: "On:P").

STEP 7 consente inoltre di tracciare e registrare le variabili del programma in base a delle
condizioni di trigger (Pagina 838).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 203
Concetti di programmazione
6.9 Test del programma

6.9.3 Riferimenti incrociati per illustrare l'utilizzo


La finestra di ispezione visualizza le informazioni dei riferimenti incrociati sulle modalità di
utilizzo di un oggetto selezionato nell'intero progetto, ad es. nel programma utente, nella
CPU e in un qualsiasi dispositivo HMI. La scheda "Riferimenti incrociati" visualizza le istanze
in cui l'oggetto selezionato viene utilizzato e gli oggetti che lo utilizzano. La finestra di
ispezione include anche i blocchi che sono disponibili soltanto online nei riferimenti incrociati.
Per visualizzare i riferimenti incrociati selezionare il comando "Visualizza riferimenti
incrociati" (nella vista progetto i riferimenti incrociati si trovano nel menu "Strumenti").

Nota
Per vedere le informazioni dei riferimenti incrociati non è necessario chiudere l'editor.

Le voci dei riferimenti incrociati possono essere ordinate a piacere. L'elenco dei riferimenti
incrociati fornisce una panoramica dell'utilizzo degli indirizzi di memoria e delle variabili
all'interno del programma utente.
● Quando si crea e modifica un programma grazie a questo elenco si ha sempre una
panoramica degli operandi, delle variabili e dei richiami di blocco utilizzati.
● Dai riferimenti incrociati si può saltare direttamente al punto di applicazione di operandi e
variabili.
● Durante l'esecuzione di test del programma o nel corso dei tentativi di risoluzione di
eventuali problemi viene segnalato quale locazione di memoria viene elaborata da un
determinato comando in determinato blocco, quale variabile viene utilizzata in una
determinata pagina e quale blocco viene richiamato da un determinato blocco.

Tabella 6- 6 Elementi del riferimento incrociato

Colonna Descrizione
Oggetto Nome dell'oggetto che utilizza gli oggetti di livello subordinato o che viene utilizzato
da essi.
Quantità Numero di utilizzi
Punto di Ogni punto di utilizzo, ad es. la rete
applicazione
Proprietà Proprietà particolari degli oggetti indirizzati, ad es. i nomi delle variabili nelle
dichiarazioni di multistanza.
Come Mostra informazioni aggiuntive sull'oggetto, ad es. se un DB di istanza è utilizzato
come modello o come un'istanza multipla.
Accesso Tipo di accesso, se l'accesso all'operando è in lettura (R) e/o in scrittura (W).
Indirizzo Indirizzo dell'operando
Tipo Informazione sul tipo e sul linguaggio utilizzati per la creazione dell'oggetto
Percorso Percorso dell'oggetto nell'albero del progetto

Sistema di automazione S7-1200


204 Manuale di sistema, 03/2014, A5E02486684-AG
Concetti di programmazione
6.9 Test del programma

6.9.4 Struttura di richiamo per esaminare la gerarchia di richiamo


La struttura di richiamo descrive la gerarchia di richiamo del blocco all'interno del programma
utente. Essa fornisce una panoramica dei blocchi utilizzati, dei richiami di altri blocchi, delle
relazioni tra blocchi, dei dati richiesti per ogni blocco e dello stato dei blocchi. Dalla struttura
di richiamo è possibile aprire l'editor di programma e modificare i blocchi.
La struttura di richiamo permette di visualizzare i blocchi utilizzati nel programma utente.
STEP 7 evidenzia il primo livello della struttura di richiamo e visualizza ogni blocco che non
viene richiamato da un altro blocco nel programma. Il primo livello della struttura di richiamo
visualizza gli OB, le FC, gli FB e i DB che non vengono richiamati da un OB. Se un blocco di
codice richiama un altro blocco, il blocco richiamato viene rappresentato come una tacca
sotto al blocco richiamante. La struttura di richiamo visualizza solo i blocchi richiamati da un
blocco di codice.
È possibile selezionare di visualizzare solo i blocchi che causano conflitti all'interno della
struttura di richiamo. I conflitti possono essere causati dalle seguenti condizioni:
● Blocchi che eseguono qualsiasi richiamo con data e ora più o meno recenti.
● Blocchi che richiamano un bocco con interfaccia modificata.
● Blocchi che utilizzano una variabile con indirizzo e/o tipo di dati modificato.
● Blocchi che non vengono richiamati né direttamente né indirettamente da un OB.
● Blocchi che richiamano un blocco inesistente o mancante.
Più richiami di blocco e blocchi dati possono essere riuniti in un gruppo. L'elenco a discesa
permette di visualizzare i link alle varie locazioni dei richiami.
È anche possibile eseguire una verifica della coerenza per mostrare i conflitti di data e ora.
La modifica alla data e all'ora di un blocco nel corso o al termine della creazione del
programma può causare conflitti che a loro volta provocano incoerenze tra i blocchi
richiamanti e richiamati.
● La maggior parte dei conflitti di data e ora e di interfaccia può essere risolta ricompilando
i blocchi di codice.
● Se con la compilazione le incoerenze non vengono corrette, andare all'origine del
problema nell'editor di programma utilizzando il link nella colonna "Dettagli" ed eliminare
quindi le incoerenze manualmente.
● I blocchi evidenziati in rosso devono essere ricompilati.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 205
Concetti di programmazione
6.9 Test del programma

Sistema di automazione S7-1200


206 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base 7
7.1 Operazioni di combinazione logica di bit

7.1.1 Operazioni di combinazione logica di bit


KOP e FUP sono molto efficaci nella gestione della logica booleana. Mentre SCL è
particolarmente efficace nel calcolo matematico complesso e nelle strutture di controllo del
progetto, SCL può essere usato per la logica booleana.

Contatti KOP

Tabella 7- 1 Contatti normalmente chiusi e normalmente aperti

KOP SCL Descrizione


IF in THEN Contatti normalmente chiusi e normalmente aperti: È possibile collegare
Statement; contatti con altri contatti e realizzare delle combinazioni logiche. Se il bit
ELSE di ingresso specificato utilizza l'ID di memoria I (ingresso) o Q (uscita), ne
Statement; viene letto il valore dal registro dell'immagine di processo. I segnali dei
END_IF; contatti fisici del processo di comando sono collegati ai morsetti I del
IF NOT (in) THEN PLC. La CPU effettua la scansione dei segnali degli ingressi collegati e
aggiorna ininterrottamente i corrispondenti valori di stato nel registro
Statement;
dell'immagine di processo degli ingressi.
ELSE
Statement; Inserendo ":P" dopo la I è possibile fare in modo che un dato ingresso
fisico venga letto direttamente (ad esempio: "%I3.4:P"). In caso di lettura
END_IF;
diretta, i valori di dati a bit vengono letti direttamente dall'ingresso fisico
invece che dall'immagine di processo. La lettura diretta non implica
l'aggiornamento dell'immagine di processo.

Tabella 7- 2 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


IN Bool Bit assegnato

● Il contatto normalmente aperto è chiuso (ON) quando il valore di bit assegnato è uguale a
1.
● Il contatto normalmente chiuso è chiuso (ON) quando il valore di bit assegnato è uguale a
0.
● I contatti collegati in serie creano segmenti logici AND.
● I contatti collegati in parallelo creano segmenti logici OR.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 207
Istruzioni di base
7.1 Operazioni di combinazione logica di bit

Box FUP, AND, OR e XOR


Nell programmazione FUP i contatti KOP vengono convertiti in segmenti costituiti da box
AND (&), OR (>=1) e OR esclusivo (x), nei quali l'utente può specificare i valori di bit per gli
ingressi e le uscite. Collegando i box logici con altri box si possono creare le proprie
combinazioni logiche. Una volta inserito un box in un segmento si possono aggiungere altri
ingressi con il tool "Inserisci ingresso" (selezionarlo nella barra degli strumenti "Preferiti" o
nell'albero delle istruzioni e trascinarlo nel lato di ingresso del box). In alternativa si può fare
clic con il tasto destro del mouse sul connettore di ingresso del box e selezionare "Inserisci
ingresso".
Gli ingressi e le uscite di un box possono essere collegati a un altro box logico oppure, se un
ingresso non è collegato, si può specificare un indirizzo o un nome simbolico a bit. Quando
l'istruzione a box viene eseguita, gli stati di ingresso attuali vengono applicati alla logica
binaria dei box e, se "veri", sarà vera anche l'uscita del box.

Tabella 7- 3 Box AND, OR e XOR

FUP SCL1 Descrizione


out := in1 AND Perché l'uscita di un box AND sia vera devono essere veri tutti
in2; gli ingressi.

out := in1 OR in2; Perché l'uscita di un box OR sia vera deve essere vero un
ingresso qualsiasi.

out := in1 XOR Perché l'uscita di un box XOR sia vera deve essere vero un
in2; numero dispari di ingressi.

1 Per SCL: Il risultato dell'operazione deve essere assegnato ad una variabile da usare per un'altra istruzione.

Tabella 7- 4 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


IN1, IN2 Bool Bit di ingresso

Sistema di automazione S7-1200


208 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.1 Operazioni di combinazione logica di bit

Invertitore logico NOT

Tabella 7- 5 Inverti RLO (risultato logico)

KOP FUP SCL Descrizione


NOT Nella programmazione in FUP si può selezionare il tool
"Nega ingresso binario" nella barra degli strumenti "Preferiti"
o nell'albero delle istruzioni e trascinarlo su un ingresso o
un'uscita per crearvi un invertitore logico.
Il contatto NOT KOP inverte lo stato logico dell'ingresso del
flusso di corrente.
• Se non c'è flusso di corrente in ingresso al contatto NOT,
c'è flusso di corrente in uscita.
• Se c'è flusso di corrente in ingresso al contatto NOT, non
c'è flusso di corrente in uscita.

Bobina di uscita e box di assegnazione


L'istruzione bobina di uscita scrive il valore per un bit di uscita. Se il bit di uscita specificato
utilizza l'ID di memoria Q, la CPU lo attiva o disattiva nel registro dell'immagine di processo
in modo che sia uguale allo stato del flusso di corrente. I segnali di uscita per gli attuatori di
comando sono collegati ai morsetti Q della CPU In RUN la CPU scansiona ininterrottamente
i segnali di ingresso, elabora gli stati degli ingressi in base alla logica del programma e
reagisce impostando nuovi valori per gli stati delle uscite nel registro di uscita dell'immagine
di processo. La CPU trasferisce i nuovi stati delle uscite salvati nel registro dell'immagine di
processo nei morsetti di uscita cablati.

Tabella 7- 6 Assegnazione e negazione assegnazione

KOP FUP SCL Descrizione


out := Nella programmazione FUP, le bobine KOP vengono
<espressione trasformate in box di assegnazione (= e /=) nei quali si
booleana>; specifica un indirizzo di bit per l'uscita. È possibile
collegare gli ingressi e le uscite dei box alla logica degli
out := NOT altri box o specificare un indirizzo di bit.
<espressione Inserendo ":P" dopo la Q è possibile specificare che
booleana>; un'uscita fisica venga scritta direttamente (ad esempio:
"%Q3.4:P"). In caso di scrittura diretta i valori di dati di bit
vengono scritti nell'immagine di processo delle uscite e
direttamente nell'uscita fisica.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 209
Istruzioni di base
7.1 Operazioni di combinazione logica di bit

Tabella 7- 7 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


OUT Bool Bit assegnato

● Se una bobina di uscita è attraversata dal flusso di corrente o è abilitato un box "=" FUP,
il bit di uscita viene impostato a 1.
● Se una bobina di uscita non è attraversata dal flusso di corrente o non è abilitato un box
di assegnazione "=" FUP, il bit di uscita viene impostato a 0.
● Se una bobina di uscita invertita è attraversata dal flusso di corrente o è abilitato un box
"/=" FUP, il bit di uscita viene impostato a 0.
● Se una bobina di uscita invertita non è attraversata dal flusso di corrente o non è abilitato
un box "/=" FUP, il bit di uscita viene impostato a 1.

7.1.2 Istruzioni di impostazione e reset

Imposta e Resetta 1 bit

Tabella 7- 8 Istruzioni S e R

KOP FUP SCL Descrizione


Non disponibile Imposta uscita:
Quando S (Imposta) è attivata il valore di dati nell'indirizzo
OUT viene impostato a 1. Quando S è disattivata OUT resta
invariato.
Non disponibile Resetta uscita:
quando R (resetta) è attivata, il valore di dati nell'indirizzo OUT
viene impostato a 0. Quando R è disattivata OUT resta
invariato.
1 Per KOP e FUP: Queste istruzioni possono essere inserite in qualsiasi punto del segmento.
2 Per SCL: Per ripetere questa funzione all'interno dell'applicazione è necessario scrivere il codice.

Tabella 7- 9 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


IN (o collegamento ai contatti/porte Bool Variabile di bit dell'indirizzo da controllare
logiche)
OUT Bool Variabile di bit dell'indirizzo da impostare o resettare

Sistema di automazione S7-1200


210 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.1 Operazioni di combinazione logica di bit

Imposta e Resetta campo di bit

Tabella 7- 10 Istruzioni SET_BF e RESET_BF

KOP1 FUP SCL Descrizione


Non disponibile Imposta campo di bit:
quando SET_BF è attivata viene assegnato il valore di dati 1 a
"n" bit a partire dall'indirizzo OUT. Quando SET_BF è
disattivata, OUT resta invariato.

Non disponibile Resetta campo di bit:


RESET_BF scrive il valore di dati 0 in "n" bit a partire dalla
variabile di indirizzo OUT. Quando RESET_BF è disattivata,
OUT resta invariato.

1 Per KOP e FUP: Queste istruzioni devono essere inserite nell'ultima posizione a destra del ramo.
2 Per SCL: Per ripetere questa funzione all'interno dell'applicazione è necessario scrivere il codice.

Tabella 7- 11 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


OUT Bool Elemento iniziale di un campo di bit da impostare o resettare
(esempio: #MyArray[3])
n Costante (UInt) Numero di bit da scrivere

Flipflop con set e reset dominante

Tabella 7- 12 Istruzioni RS e SR

KOP / FUP SCL Descrizione


Non disponibile Flipflop di resettaggio/impostazione:
RS è un latch in cui è dominante il segnale di impostazione. Se i segnali di
impostazione (S1) e di reset (R) sono entrambi veri, il valore nell'indirizzo
INOUT sarà 1.

Non disponibile Flipflop di impostazione/resettaggio:


SR è un latch in cui è dominante il segnale di reset. Se i segnali di impostazione
(S) e di reset (R1) sono entrambi veri, il valore nell'indirizzo INOUT sarà 0.

1 Per KOP e FUP: Queste istruzioni devono essere inserite nell'ultima posizione a destra del ramo.
2 Per SCL: Per ripetere questa funzione all'interno dell'applicazione è necessario scrivere il codice.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 211
Istruzioni di base
7.1 Operazioni di combinazione logica di bit

Tabella 7- 13 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


S, S1 Bool Ingresso di impostazione (set); 1 indica che è dominante
R, R1 Bool Ingresso di reset; 1 indica che è dominante
INOUT Bool Variabile di bit assegnata "INOUT"
Q Bool Segue lo stato del bit "INOUT"

La variabile "INOUT" assegna l'indirizzo di bit che viene impostato o resettato. L'uscita
opzionale Q rispecchia lo stato del segnale dell'indirizzo "INOUT".

Istruzione S1 R Bit "INOUT"


RS 0 0 Stato precedente
0 1 0
1 0 1
1 1 1
S R1
SR 0 0 Stato precedente
0 1 0
1 0 1
1 1 0

Sistema di automazione S7-1200


212 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.1 Operazioni di combinazione logica di bit

7.1.3 Istruzioni di fronte di salita e di discesa

Tabella 7- 14 Rilevamento di transizione positiva e negativa

KOP FUP SCL Descrizione


Non disponibile Interroga il fronte di salita del segnale di un operando.
1
KOP: Lo stato di questo contatto è vero quando viene rilevata una
transizione positiva (da OFF a ON) nel bit assegnato "IN". Lo stato
logico del contatto viene quindi combinato con lo stato del flusso di
corrente in ingresso per impostare lo stato del flusso di corrente in
uscita. Il contatto P può essere inserito in qualsiasi punto del segmento
tranne che alla fine del ramo.
FUP: Lo stato logico dell'uscita è vero quando viene rilevata una
transizione positiva (da OFF a ON) nel bit di ingresso assegnato. Il box
P può essere inserito solo all'inizio di un ramo.
Non disponibile Interroga il fronte di discesa del segnale di un operando.
1
KOP: Lo stato di questo contatto è vero quando viene rilevata una
transizione negativa (da ON a OFF) nel bit di ingresso assegnato. Lo
stato logico del contatto viene quindi combinato con lo stato del flusso
di corrente in ingresso per impostare lo stato del flusso di corrente in
uscita. Il contatto N può essere inserito in qualsiasi punto del segmento
tranne che alla fine del ramo.
FUP: Lo stato logico dell'uscita è vero quando viene rilevata una
transizione negativa (da ON a OFF) nel bit di ingresso assegnato. Il
box N può essere inserito solo all'inizio di un ramo.
Non disponibile Imposta operando in caso di fronte di salita del segnale.
1
KOP: Il bit assegnato "OUT" è vero quando viene rilevata una
transizione positiva (da OFF a ON) nel flusso di corrente in ingresso
alla bobina. Lo stato del flusso di corrente in ingresso passa sempre
attraverso la bobina come il flusso di corrente in uscita. La bobina P
può essere inserita in qualsiasi punto del segmento.
FUP: Il bit assegnato "OUT" è vero quando viene rilevata una
transizione positiva (da OFF a ON) nello stato logico della connessione
di ingresso del box oppure, se il box si trova all'inizio del ramo,
nell'assegnazione del bit di ingresso. Lo stato logico dell'ingresso
passa sempre attraverso il box come lo stato logico dell'uscita. Il box
P= può essere inserito in qualsiasi punto del ramo.
Non disponibile Imposta operando in caso di fronte di discesa del segnale.
1
KOP: Il bit assegnato "OUT" è vero quando viene rilevata una
transizione negativa (da ON a OFF) nel flusso di corrente in ingresso
alla bobina. Lo stato del flusso di corrente in ingresso passa sempre
attraverso la bobina come il flusso di corrente in uscita. La bobina N
può essere inserita in qualsiasi punto del segmento.
FUP: Il bit assegnato "OUT" è vero quando viene rilevata una
transizione negativa (da ON a OFF) nello stato logico della
connessione di ingresso del box oppure, se il box si trova all'inizio del
ramo, nell'assegnazione del bit di ingresso. Lo stato logico dell'ingresso
passa sempre attraverso il box come lo stato logico dell'uscita. Il box
N= può essere inserito in qualsiasi punto del ramo.
1 Per SCL: Per ripetere questa funzione all'interno dell'applicazione è necessario scrivere il codice.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 213
Istruzioni di base
7.1 Operazioni di combinazione logica di bit

Tabella 7- 15 P_TRIG e N_TRIG

KOP / FUP SCL Descrizione


Non disponibile 1 Interroga il fronte di salita del segnale del RLO (risultato dell'operazione
logica).
Il flusso di corrente o lo stato logico dell'uscita Q sono veri quando
viene rilevata una transizione positiva (da OFF a ON) nello stato
dell'ingresso CLK (FUP) o nel flusso di corrente in ingresso CLK (KOP).
In KOP l'istruzione P_TRIG non può essere inserita all'inizio o alla fine
di un segmento. In FUP l'istruzione P_TRIG può essere inserita in
qualsiasi punto tranne che alla fine di un ramo.
Non disponibile 1 Interroga il fronte di discesa del segnale del RLO.
Il flusso di corrente o lo stato logico dell'uscita Q sono veri quando
viene rilevata una transizione negativa (da ON a OFF)) nello stato
dell'ingresso CLK (FUP) o nel flusso di corrente in ingresso CLK (KOP).
In KOP l'istruzione N_TRIG non può essere inserita all'inizio o alla fine
di un segmento. In FUP l'istruzione N_TRIG può essere inserita in
qualsiasi punto tranne che alla fine di un ramo.
1 Per SCL: Per ripetere questa funzione all'interno dell'applicazione è necessario scrivere il codice.

Tabella 7- 16 Istruzioni R_TRIG e F_TRIG

KOP / FUP SCL Descrizione


"R_TRIG_DB" (CLK:= Imposta variabile con fronte di salita del segnale.
_in_, Q=> _out_ Il DB di istanza assegnato viene utilizzato per memorizzare lo stato
precedente dell'ingresso CLK. Il flusso di corrente o lo stato logico
dell'uscita Q sono veri quando viene rilevata una transizione positiva (da
OFF a ON) nello stato dell'ingresso CLK (FUP) o nel flusso di corrente
in ingresso CLK (KOP).
In KOP l'istruzione R_TRIG non può essere inserita all'inizio o alla fine
di un segmento. In FUP l'istruzione R_TRIG può essere inserita in
qualsiasi punto tranne che alla fine di un ramo.
"F_TRIG_DB" (CLK:= Imposta variabile con fronte di discesa del segnale.
_in_, Q=> _out_ Il DB di istanza assegnato viene utilizzato per memorizzare lo stato
precedente dell'ingresso CLK. Il flusso di corrente o lo stato logico
dell'uscita Q sono veri quando viene rilevata una transizione negativa
(da ON a OFF)) nello stato dell'ingresso CLK (FUP) o nel flusso di
corrente in ingresso CLK (KOP).
In KOP l'istruzione F_TRIG non può essere inserita all'inizio o alla fine di
un segmento. In FUP l'istruzione F_TRIG può essere inserita in
qualsiasi punto tranne che alla fine di un ramo.

Nel caso di R_TRIG e F_TRIG, quando si inserisce l'istruzione nel programma compare
automaticamente la finestra di dialogo "Opzioni di richiamo", che consente di definire
se il merker del fronte verrà memorizzato nel rispettivo blocco dati (istanza singola) o come
variabile locale (istanza multipla) nell'interfaccia
del blocco. Se si crea un blocco dati separato lo si ritrova in "Blocchi di programma > Blocchi
di sistema" nella cartella "Risorse del programma"
dell'albero del progetto.

Sistema di automazione S7-1200


214 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.1 Operazioni di combinazione logica di bit

Tabella 7- 17 Tipi di dati per i parametri (contatti/bobine P e N, P=, N=, P_TRIG and N_TRIG)

Parametro Tipo di dati Descrizione


M_BIT Bool Merker in cui è stato salvato lo stato precedente dell'ingresso
IN Bool Bit di ingresso di cui viene rilevato il fronte di transizione
OUT Bool Bit di uscita che indica che è stato rilevato un fronte di transizione
CLK Bool Bit di flusso di corrente o di ingresso di cui viene rilevato il fronte di
transizione
Q Bool Uscita che indica che è stato rilevato un fronte

Tutte le istruzioni di fronte utilizzano un merker (M_BIT: contatti/bobine P/N,


P_TRIG/N_TRIG) o (bit del DB di istanza: R_TRIG, F_TRIG) per memorizzare lo stato
precedente del segnale di ingresso controllato. Il fronte viene rilevato confrontando lo stato
dell'ingresso con quello precedente. Se gli stati indicano che l'ingresso è cambiato nella
direzione rilevante, viene rilevato un fronte e l'uscita diventa vera. In caso contrario l'uscita
diventa falsa.

Nota
Le istruzioni con i fronti valutano i valori dell'ingresso e del merker ad ogni esecuzione,
compresa la prima. Quando si progetta il programma è necessario tener conto degli stati
dell'ingresso e del merker per consentire o meno il rilevamento dei fronti nel primo ciclo di
scansione.
Poiché il merker deve essere mantenuto in memoria da un'esecuzione all'altra, si deve
utilizzare un univoco bit per ciascuna istruzione di fronte e non utilizzare lo stesso bit in altri
punti del programma. Si deve inoltre evitare di usare la memoria temporanea e le aree di
memoria che possono essere influenzate da altre funzioni di sistema, ad es. da un
aggiornamento degli I/O. Per l'assegnazione degli M_BIT (in un DB di istanza) utilizzare solo
la memoria M, i DB globali o la memoria statica.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 215
Istruzioni di base
7.2 Funzionamento del temporizzatore

7.2 Funzionamento del temporizzatore


Le istruzioni di temporizzazione vengono utilizzate per creare ritardi programmati. Il numero
di temporizzatori utilizzabili nel programma utente è limitato unicamente dalla quantità di
memoria disponibile nella CPU. Ogni temporizzatore utilizza una struttura di DB del tipo di
dati IEC_Timer di 16 byte per memorizzare i dati del temporizzatore specificati nella parte
superiore del box o dell'istruzione della bobina. STEP 7 crea automaticamente il DB
all'inserimento dell'istruzione.

Tabella 7- 18 Istruzioni di temporizzazione

Box KOP/FUP Bobine SCL Descrizione


KOP
"IEC_Timer_0_DB".TP( Il temporizzatore TP genera un impulso con una
IN:=_bool_in_, durata preimpostata.
PT:=_time_in_,
Q=>_bool_out_,
ET=>_time_out_);
"IEC_Timer_0_DB".TON ( Il temporizzatore TON imposta l'uscita Q su ON al
IN:=_bool_in_, termine di un tempo di ritardo preimpostato.
PT:=_time_in_,
Q=>_bool_out_,
ET=>_time_out_);

"IEC_Timer_0_DB".TOF ( Il temporizzatore TOF resetta l'uscita Q su OFF al


IN:=_bool_in_, termine di un tempo di ritardo preimpostato.
PT:=_time_in_,
Q=>_bool_out_,
ET=>_time_out_);
"IEC_Timer_0_DB".TONR ( Il temporizzatore TONR imposta l'uscita Q su ON
IN:=_bool_in_, al termine di un tempo di ritardo preimpostato. Il
R:=_bool_in_ tempo trascorso viene accumulato per più periodi
PT:=_time_in_, di temporizzazione finché non viene resettato
Q=>_bool_out_, dall'ingresso R.
ET=>_time_out_);

Solo FUP: (Nessun equivalente SCL) La bobina PT (preimposta temporizzatore) carica


un nuovo valore temporale PRESET
nell'IEC_Timer specificato.

Solo FUP: (Nessun equivalente SCL) La bobina RT (resetta temporizzatore) resetta


l'IEC_Timer specificato.

1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.


2 Negli esempi SCL "IEC_Timer_0_DB" è il nome del DB di istanza.

Sistema di automazione S7-1200


216 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.2 Funzionamento del temporizzatore

Tabella 7- 19 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


Box: IN Bool TP, TON e TONR:
Bobina: Flusso di corrente Box: 0=disabilita temporizzatore, 1=abilita temporizzatore
Bobina: Nessun flusso di corrente=disabilita temporizzatore, Flusso di
corrente=abilita temporizzatore
TOF:
Box: 0=abilita temporizzatore, 1=disabilita temporizzatore
Bobina: Nessun flusso di corrente=abilita temporizzatore, Flusso di
corrente=disabilita temporizzatore
R Bool Solo box TONR:
0=nessun reset
1=resetta tempo trascorso e bit Q a 0
Box: PT Time Box o bobina del temporizzatore: ingresso tempo preimpostato
Bobina: "PRESET_Tag"
Box: Q Bool Box del temporizzatore: uscita del box Q o bit Q nei dati DB del
Bobina: DBdata.Q temporizzatore
Bobina del temporizzatore: nei dati DB del temporizzatore è possibile
indirizzare solo il bit Q
Box: ET Time Box del temporizzatore: l'uscita del box ET (tempo preimpostato) o il valore
Bobina: DBdata.ET di tempo ET dei dati DB del temporizzatore
Bobina del temporizzatore: nei dati DB del temporizzatore si può indirizzare
solo il valore di tempo ET.

Tabella 7- 20 Conseguenze delle variazioni del valore dei parametri PT e IN

Temporizzatore Variazioni dei parametri dei box PT e IN e dei parametri delle bobine corrispondenti
TP • La variazione di PT non ha alcuna conseguenza durante l'esecuzione del temporizzatore.
• La variazione di IN non ha alcuna conseguenza durante l'esecuzione del temporizzatore.
TON • La variazione di PT non ha alcuna conseguenza durante l'esecuzione del temporizzatore.
• Se IN diventa falso durante l'esecuzione del temporizzatore il temporizzatore viene resettato e
arrestato.
TOF • La variazione di PT non ha alcuna conseguenza durante l'esecuzione del temporizzatore.
• Se IN diventa vero durante l'esecuzione del temporizzatore il temporizzatore viene resettato e
arrestato.
TONR • La variazione di PT non ha alcuna conseguenza durante l'esecuzione del temporizzatore, ma ne ha
quando l'esecuzione riprende.
• Se IN diventa falso durante l'esecuzione del temporizzatore il temporizzatore viene arrestato ma non
resettato. Se IN diventa di nuovo vero il temporizzatore avvia la temporizzazione a partire dal valore
di tempo accumulato.

I valori di PT (tempo preimpostato) ed ET (tempo trascorso) vengono memorizzati nei dati


del DB IEC_Timer come numeri interi con segno che rappresentano i millisecondi. I dati di
TIME utilizzano l'ID T# e possono essere specificati come unità di tempo semplice (T#200ms
o 200) o composta come T#2s_200ms.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 217
Istruzioni di base
7.2 Funzionamento del temporizzatore

Tabella 7- 21 Dimensione e campo del tipo di dati TIME

Tipo di dati Dimensione Campi numerici validi1


TIME 32 bit, salvati T#-24d_20h_31m_23s_648ms ... T#24d_20h_31m_23s_647ms
come dati DInt Salvati come -2.147.483.648 ms ... +2.147.483.647 ms
1 Il campo negativo del tipo di dati TIME sopra indicato non è utilizzabile con le istruzioni di temporizzazione. I valori PT
(tempo preimpostato) negativi vengono impostati a zero quando viene eseguita l'istruzione di temporizzazione. ET
(tempo preimpostato) è sempre un valore positivo.

Esempio di bobina del temporizzatore


Le bobine dei temporizzatori (TP), (TON), (TOF) e (TONR) devono essere l'ultima istruzione
in un segmento KOP. Come mostra l'esempio di un temporizzatore, un'istruzione di contatto
in un segmento successivo valuta il bit Q in dati del DB IEC_Timer della bobina del
temporizzatore. Alla stesso modo, è necessario indirizzare l'elemento ELAPSED nei dati del
DB IEC_Timer per poter utilizzare nel programma utente il valore del tempo trascorso.

Il temporizzatore di impulso viene avviato durante la commutazione da 0 a 1 del valore di bit


Tag_Input. Il temporizzatore viene eseguito per il tempo specificato dal valore temporale
Tag_Time.

Finché il temporizzatore viene eseguito, DB1.MyIEC_Timer.Q=1 e Tag_Output value=1. Una


volta trascorso il valore Tag_Time, DB1.MyIEC_Timer.Q=0 e Tag_Output value=0.

Bobine RT (resetta temporizzatore) e PT (preimposta temporizzatore)


Queste istruzioni delle bobine possono essere utilizzate con temporizzatori a box o a bobina
e possono situarsi in posizione centrale. Lo stato del flusso di corrente nell'uscita della
bobina è sempre lo stesso dell'ingresso. Quando è attivata la bobina (RT), l'elemento
ELAPSED nei dati del DB IEC_Timer specificato è resettato a 0. Quando è attivata la bobina
(PT), l'elemento PRESET nei dati del DB IEC_Timer specificato viene caricato con il valore
di durata assegnato.

Nota
Quando si inseriscono le istruzioni di temporizzazione in un FB si può scegliere l'opzione
"Blocco dati di multiistanza". I nomi delle strutture dei temporizzatori possono essere diversi
e contrassegnare strutture di dati diverse, ma i dati di temporizzazione sono contenuti in un
unico blocco dati, per cui non è necessario creare un blocco dati separato per ogni
temporizzatore. Si riduce così il tempo di elaborazione e la memoria di dati necessaria per la
gestione dei temporizzatori. Le strutture dei dati del temporizzatore contenute nel DB di
multiistanza condiviso non interagiscono tra loro.

Sistema di automazione S7-1200


218 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.2 Funzionamento del temporizzatore

Funzionamento dei temporizzatori

Tabella 7- 22 Tipi di temporizzatori IEC

Temporizzatore Diagramma di temporizzazione


TP: Genera impulso
Il temporizzatore TP genera un impulso con una durata
preimpostata.

TON: Genera ritardo all'inserzione


Il temporizzatore TON imposta l'uscita Q su ON al
termine di un tempo di ritardo preimpostato.

TOF: Genera ritardo alla disinserzione


Il temporizzatore TOF resetta l'uscita Q su OFF al
termine di un tempo di ritardo preimpostato.

TONR: Accumulatore temporale


Il temporizzatore TONR imposta l'uscita Q su ON al
termine di un tempo di ritardo preimpostato. Il tempo
trascorso viene accumulato per più periodi di
temporizzazione finché non viene resettato dall'ingresso
R.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 219
Istruzioni di base
7.2 Funzionamento del temporizzatore

Nota
Nella CPU non viene assegnata alcuna risorsa dedicata ad un'istruzione di temporizzazione
specifica. Ogni temporizzatore utilizza, infatti, la sua propria struttura nella memoria DB e un
temporizzatore sempre in funzione all'interno della CPU per eseguire la temporizzazione.

Quando viene avviato un temporizzatore in seguito ad un cambio di fronte sull'ingresso di


un'istruzione TP, TON, TOF o TONR, il valore del temporizzatore sempre in funzione
all'interno della CPU viene copiato nell'elemento START della struttura DB assegnata a
questa istruzione di temporizzazione. Questo valore di avvio rimane invariato mentre il
temporizzatore continua a funzionare e viene utilizzato successivamente ad ogni
aggiornamento del temporizzatore. Ad ogni nuovo avvio del temporizzatore, nella struttura
del temporizzatore viene caricato un nuovo valore di avvio dal temporizzatore all'interno
della CPU.
Quando si aggiorna un temporizzatore, il valore di avvio di cui sopra viene sottratto dal
valore corrente del temporizzatore all'interno della CPU per determinare il tempo trascorso. Il
tempo trascorso viene quindi confrontato con quello preimpostato per determinare lo stato
del bit Q del temporizzatore. Gli elementi ELAPSED e Q vengono quindi aggiornati nella
struttura DB assegnata a questo temporizzatore. Il tempo trascorso è bloccato al valore
preimpostato, ovvero il temporizzatore non continua ad accumulare il tempo trascorso oltre il
valore preimpostato.
Il temporizzatore viene aggiornato solo e se:
● Viene eseguita un'istruzione di temporizzazione (TP, TON, TOF o TONR)
● L'elemento "ELAPSED" della struttura del temporizzatore nel DB è indirizzato
direttamente da un'istruzione
● L'elemento "Q" della struttura del temporizzatore nel DB è indirizzato direttamente da
un'istruzione

Sistema di automazione S7-1200


220 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.2 Funzionamento del temporizzatore

Programmazione del temporizzatore


Quando si programma e si crea un programma utente occorre tener conto delle seguenti
conseguenze del funzionamento del temporizzatore:
● Nella stessa scansione è possibile avere più aggiornamenti di un temporizzatore. Il
temporizzatore si aggiorna ogni volta che viene eseguita un'istruzione di temporizzazione
(TP, TON, TOF, TONR) e ogni volta che l'elemento ELAPSED o Q della struttura del
temporizzatore viene utilizzato come parametro di un'altra istruzione eseguita. Ciò
costituisce un vantaggio se si desidera disporre degli ultimi dati del temporizzatore
(fondamentalmente una lettura diretta del temporizzatore). Tuttavia, se si desidera avere
dei valori coerenti nel corso di una scansione del programma, occorre inserire l'istruzione
di temporizzazione prima di tutte le altre istruzioni che necessitano di questi valori e
utilizzare le variabili dalle uscite Q ed ET dell'istruzione di temporizzazione invece degli
elementi ELAPSED e Q della struttura DB del temporizzatore.
● È possibile avere delle scansioni durante le quali non avviene nessun aggiornamento del
temporizzatore. È possibile avviare il temporizzazione con una funzione e quindi smettere
di richiamare quella funzione per una o più scansioni. Se non vengono eseguite altre
istruzioni che fanno riferimento agli elementi ELAPSED o Q della struttura del
temporizzatore, allora il temporizzatore non si aggiorna. Non si verifica un nuovo
aggiornamento fino a quando non viene nuovamente eseguita l'istruzione del
temporizzatore o qualche altra istruzione che utilizza l'elemento ELAPSED o Q dalla
struttura del temporizzatore come parametro.
● Sebbene in genere non avvenga, è possibile assegnare la stessa struttura DB del
temporizzatore a più istruzioni di temporizzazione. In generale, per evitare interazioni non
desiderate, utilizzare solo un'istruzione di temporizzazione (TP, TON, TOF, TONR) per
struttura DB del temporizzatore.
● I temporizzatori con autoreset possono essere utilizzati per attivare delle azioni che
devono svolgersi periodicamente. In genere i temporizzatori con autoreset si realizzano
con un contatto normalmente chiuso che indirizza il bit del temporizzatore davanti
all'istruzione di temporizzazione. Questo segmento del temporizzatore si trova
generalmente sopra uno o più segmenti dipendenti che utilizzano il bit del temporizzatore
per attivare le azioni. Quando il temporizzatore raggiunge il valore previsto (viene
raggiunto il tempo trascorso) il bit del temporizzatore è su ON per una scansione,
consentendo così l'esecuzione della logica del segmento dipendente controllata dal bit
del temporizzatore. Alla successiva esecuzione del segmento del temporizzatore il
contatto normalmente chiuso è su OFF, quindi il temporizzatore si resetta e il bit del
temporizzatore viene eliminato. Alla scansione successiva il contatto normalmente chiuso
è su ON, quindi si riavvia il temporizzatore. Quando si realizzano dei temporizzatori con
autoreset simili, non utilizzare l'elemento "Q" della struttura DB del temporizzatore come
parametro per il contatto normalmente chiuso davanti all'istruzione di temporizzazione.
Utilizzare invece la variabile collegata all'uscita "Q" dell'istruzione di temporizzazione. Il
motivo per cui si preferisce evitare di accedere all'elemento Q della struttura DB del
temporizzatore è che questo provoca un aggiornamento del temporizzatore e se il
temporizzatore viene aggiornato a causa del contatto normalmente chiuso, allora il
contatto resetta immediatamente l'istruzione di temporizzazione. L'uscita Q dell'istruzione
di temporizzazione non è su ON per una scansione e non vengono eseguiti i segmenti
dipendenti.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 221
Istruzioni di base
7.2 Funzionamento del temporizzatore

Ritenzione dei dati di temporizzazione dopo una commutazione RUN-STOP-RUN o un ciclo di


spegnimento/accensione della CPU
Se una sessione in modo RUN termina in STOP o in seguito ad un ciclo di
spegnimento/accensione della CPU viene avviata una nuova sessione RUN, i dati di
temporizzazione memorizzati nel modo RUN precedente vanno persi, a meno che la
struttura dei dati del temporizzatore non sia indicata come a ritenzione (temporizzatori TP,
TON, TOF e TONR).
Se si accettano i valori predefiniti nella finestra delle opzioni di richiamo dopo aver inserito
un'istruzione di temporizzazione nell'editor di programma, viene assegnato automaticamente
un DB di istanza che non può essere a ritenzione. Per fare sì che i dati del proprio
temporizzatore siano a ritenzione occorre invece utilizzare un DB globale o un DB di
multiistanza.

Assegnare un DB globale per memorizzare i dati di temporizzazione come dati a ritenzione


Questa opzione funziona indipendentemente dal punto in cui si trova il temporizzatore (OB,
FC o FB).
1. Creare un DB globale:
– Fare doppio clic su "Inserisci nuovo blocco" dall'albero del progetto
– Fare clic su blocco dati (DB)
– Come tipo, scegliere DB globale
– Se si desidera poter selezionare degli elementi di dati singoli in questo DB come a
ritenzione, assicurarsi che sia spuntata la casella di tipo DB "Ottimizzato". L'altra
opzione di tipo DB "Standard - compatibile con S7-300/400" consente solo di
impostare tutti gli elementi di dati DB a ritenzione o non a ritenzione.
– Fare clic su OK
2. Aggiungere la o le strutture del temporizzatore al DB:
– Nel nuovo DB globale aggiungere una nuova variabile statica utilizzando l'IEC_Timer
del tipo di dati.
– Nella colonna "Retain", selezionare la casella in modo che questa struttura risulti a
ritenzione.
– Ripetere il processo per creare strutture per tutti i temporizzatori che si desidera
memorizzare in questo DB. È possibile inserire ogni struttura di temporizzazione in un
DB unico globale oppure inserire più strutture di temporizzazione nello stesso DB
globale. Inoltre è possibile inserire altre variabili statiche accanto ai temporizzatori in
questo DB globale. Inserendo più strutture di temporizzazione nello stesso DB globale
è possibile ridurre il numero complessivo di blocchi.
– Rinominare le strutture di temporizzazione, se desiderato.
3. Aprire il blocco di programma per modificare il punto in cui inserire un temporizzatore a
ritenzione (OB, FC o FB).
4. Inserire l'istruzione di temporizzazione nel punto desiderato.

Sistema di automazione S7-1200


222 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.2 Funzionamento del temporizzatore

5. Quando compare la finestra delle opzioni di richiamo, fare clic sul pulsante Annulla.
6. Nella parte superiore della nuova istruzione di temporizzazione, inserire il nome (non
usare l'aiuto per scorrere) del DB globale e della struttura di temporizzazione creata
come descritto in precedenza (esempio: "Data_block_3.Static_1").

Assegnare un DB di multiistanza per memorizzare i dati di temporizzazione come dati a ritenzione


Questa opzione funziona solo se si inserisce il temporizzatore in un FB e
varia a seconda che le proprietà dell'FB comprendano o meno "Accesso ottimizzato al
blocco" (consente solo l'accesso simbolico). Per verificare com'è configurato l'attributo di
accesso ad un FB esistente, fare clic con il tasto destro del mouse sull'FB nell'albero del
progetto, scegliere Proprietà e quindi scegliere Attributi.
Se l'FB ha la proprietà "Accesso ottimizzato al blocco" (consente solo l'accesso simbolico):
1. Aprire l'FB per apportare le modifiche.
2. Inserire l'istruzione di temporizzazione nel punto desiderato nell'FB.
3. Quando compare la finestra delle opzioni di richiamo fare clic sull'icona di multiistanza.
L'opzione di multiistanza è disponibile solo se l'istruzione è inserita in un FB.
4. Nella finestra delle opzioni di richiamo, rinominare il temporizzatore, se desiderato.
5. Fare clic su OK. L'istruzione di temporizzazione compare nell'editor e la struttura
dell'IEC_TIMER compare nell'interfaccia dell'FB sotto Statica.
6. Se necessario, aprire l'editor di interfaccia dell'FB (potrebbe essere necessario fare clic
sulla freccia per ingrandire la vista).
7. In Statica, individuare la struttura di temporizzazione appena creata.
8. Nella colonna Retain della struttura di temporizzazione, modificare la selezione in
"Retain". Ogniqualvolta questo FB viene successivamente richiamato da un altro blocco
di programma, viene creato un DB di istanza con questa definizione di interfaccia che
contiene la struttura di temporizzazione definita a ritenzione.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 223
Istruzioni di base
7.2 Funzionamento del temporizzatore

Se l'FB non ha la proprietà "Accesso ottimizzato al blocco", l'accesso al blocco è di tipo


standard; è quindi compatibile con le configurazioni classiche di S7-300/400 e consente
l'accesso simbolico e diretto. Per assegnare un DB di multiistanza a un FB con accesso
standard procedere nel seguente modo:
1. Aprire l'FB per apportare le modifiche.
2. Inserire l'istruzione di temporizzazione nel punto desiderato nell'FB.
3. Quando compare la finestra delle opzioni di richiamo, fare clic sull'icona di multiistanza.
L'opzione di multiistanza è disponibile solo se l'istruzione è inserita in un FB.
4. Nella finestra delle opzioni di richiamo, rinominare il temporizzatore, se desiderato.
5. Fare clic su OK. L'istruzione di temporizzazione compare nell'editor e la struttura
dell'IEC_TIMER compare nell'interfaccia dell'FB sotto Statica.
6. Aprire il blocco che utilizzerà questo FB.
7. Inserire questo FB nel punto desiderato. In questo modo si crea un blocco dati di istanza
per questo FB.
8. Aprire il blocco dati di istanza creato dopo aver inserito l'FB nell'editor.
9. In Statica, individuare la struttura di temporizzazione di interesse. Nella colonna Retain
per questa struttura di temporizzazione, spuntare la casella per far sì che questa struttura
sia a ritenzione.

Sistema di automazione S7-1200


224 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.3 Funzionamento del contatore

7.3 Funzionamento del contatore

Tabella 7- 23 Istruzioni di conteggio

KOP / FUP SCL Descrizione


"IEC_Counter_0_DB".CTU Le istruzioni di conteggio consentono di contare gli eventi interni del
( programma e quelli esterni del processo. Per salvare i propri dati
CU:=_bool_in, ciascun contatore utilizza una struttura memorizzata in un blocco dati
R:=_bool_in, che viene assegnato quando si inserisce l'istruzione nell'editor.
PV:=_int_in, • CTU è un contatore con conteggio in avanti
Q=>_bool_out,
• CTD è un contatore con conteggio all'indietro
CV=>_int_out);
• CTUD è un contatore con conteggio in avanti e all'indietro
"IEC_Counter_0_DB".CTD
(
CD:=_bool_in,
LD:=_bool_in,
PV:=_int_in,
Q=>_bool_out,
CV=>_int_out);
"IEC_Counter_0_DB".CTU
D(
CU:=_bool_in,
CD:=_bool_in,
R:=_bool_in,
LD:=_bool_in,
PV:=_int_in,
QU=>_bool_out,
QD=>_bool_out,
CV=>_int_out);
1 Per KOP e FUP: Selezionare il tipo di dati del valore di conteggio nell'elenco a discesa sotto al nome dell'istruzione.
2 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.
3 Negli esempi SCL "IEC_Counter_0_DB" è il nome del DB di istanza.

Tabella 7- 24 Tipi di dati per i parametri

Parametro Tipo di dati1 Descrizione


CU, CD Bool Conta in avanti o indietro di uno
R (CTU, CTUD) Bool Resetta a zero il valore di conteggio
LD (CTD, CTUD) Bool Carica il controllo per il valore preimpostato
PV SInt, Int, DInt, USInt, UInt, UDInt Valore di conteggio preimpostato
Q, QU Bool Vero se CV >= PV
QD Bool Vero se CV <= 0
CV SInt, Int, DInt, USInt, UInt, UDInt Valore di conteggio attuale
1 Il campo numerico dei valori di conteggio varia in funzione del tipo di dati selezionato. Se il valore è un numero intero
senza segno è possibile contare all'indietro fino a zero o in avanti fino al limite del campo. Se il valore è un numero
intero con segno è possibile contare all'indietro fino al limite negativo del campo e in avanti fino al limite positivo.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 225
Istruzioni di base
7.3 Funzionamento del contatore

Il numero di contatori utilizzabili nel programma utente è limitato unicamente dalla quantità di
memoria disponibile nella CPU. I contatori utilizzano il seguente spazio di memoria:
● Per i tipi di dati SInt o USInt l'istruzione di conteggio utilizza 3 byte.
● Per i tipi di dati Int o UInt l'istruzione di conteggio utilizza 6 byte.
● Per i tipi di dati DInt o UDInt l'istruzione di conteggio utilizza 12 byte.
Queste istruzioni utilizzano contatori software la cui velocità massima di conteggio è limitata
dalla velocità di esecuzione dell'OB in cui sono stati inseriti. L'OB in cui si trovano le
istruzioni deve essere eseguito abbastanza spesso da rilevare tutte le transizioni degli
ingressi CU o CD. Per informazioni sulle operazioni di conteggio veloce, vedere l'istruzione
CTRL_HSC (Pagina 417).

Nota
Quando si inseriscono le istruzioni di conteggio in un FB si può scegliere l'opzione DB di
multiistanza; in questo modo i nomi delle strutture dei contatori possono essere diversi e
contrassegnare strutture di dati diverse, ma i dati di conteggio sono contenuti in un unico
DB, per cui non è necessario creare un DB separato per ogni contatore. Si riduce così il
tempo di elaborazione e la memoria dei dati necessaria per i contatori. Le strutture dei dati di
conteggio contenute nel DB di multiistanza condiviso non interagiscono tra loro.

Funzionamento dei contatori

Tabella 7- 25 Funzionamento di CTU (conteggio in avanti)

Contatore Funzionamento
Il contatore CTU conta in avanti di 1 quando il valore del parametro CU
cambia da 0 a 1. Il diagramma di temporizzazione del CTU mostra il
funzionamento con un valore di conteggio costituito da un numero intero
senza segno (dove PV = 3).
• Se il valore del parametro CV (valore di conteggio attuale) è
maggiore o uguale al valore del parametro PV (valore di conteggio
preimpostato), il parametro di uscita del contatore Q = 1.
• Se il valore del parametro di reset R cambia da 0 a 1, il valore di
conteggio attuale viene resettato a 0.

Sistema di automazione S7-1200


226 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.3 Funzionamento del contatore

Tabella 7- 26 Funzionamento di CTD (conteggio all'indietro)

Contatore Funzionamento
Il contatore CTD conta indietro di 1 quando il valore del
parametro CD cambia da 0 a 1. Il diagramma di
temporizzazione del CTD mostra il funzionamento con un
valore di conteggio costituito da un numero intero senza segno
(dove PV = 3).
• Se il valore del parametro CV (valore di conteggio attuale)
è inferiore o uguale a 0, il parametro di uscita del contatore
Q = 1.
• Se il valore del parametro LOAD cambia da 0 a 1, il valore
del parametro PV (valore preimpostato) viene caricato nel
contatore come nuovo CV (valore di conteggio attuale).

Tabella 7- 27 Funzionamento di CTUD (conteggio in avanti e all'indietro)

Contatore Funzionamento
Il contatore CTUD conta in
avanti e all'indietro di 1 quando
gli ingressi di conteggio in avanti
(CU) o all'indietro (CD) passano
da 0 a 1. Il diagramma di
temporizzazione del CTUD
mostra il funzionamento con un
valore di conteggio costituito da
un numero intero senza segno
(dove PV = 4).
• Se il valore del parametro CV
è maggiore o uguale al
valore del parametro PV, il
parametro di uscita del
contatore QU = 1.
• Se il valore del parametro CV
è minore o uguale a zero, il
parametro di uscita del
contatore QD = 1.
• Se il valore del parametro
LOAD cambia da 0 a 1, il
valore del parametro PV
viene caricato nel contatore
come nuovo CV.
• Se il valore del parametro di
reset R cambia da 0 a 1, il
valore di conteggio attuale
viene resettato a 0.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 227
Istruzioni di base
7.3 Funzionamento del contatore

Ritenzione dei dati di conteggio dopo una commutazione RUN-STOP-RUN o un ciclo di


spegnimento/accensione della CPU
Se una sessione in RUN termina in STOP o in seguito a un ciclo di spegnimento/accensione
della CPU viene avviata una nuova sessione in RUN, i dati di conteggio memorizzati nella
precedente sessione RUN vanno persi, a meno che la struttura dei dati di conteggio non sia
a ritenzione (contatori CTU, CTD e CTUD).
Se si accettano i valori di default nella finestra delle opzioni di richiamo dopo aver inserito
un'istruzione di conteggio nell'editor di programma, viene assegnato automaticamente un DB
di istanza che non può essere a ritenzione. Per fare sì che i dati del proprio contatore siano
a ritenzione occorre invece utilizzare un DB globale o un DB di multiistanza.

Assegnare un DB globale per memorizzare i dati di conteggio come dati a ritenzione


Questa opzione funziona indipendentemente da dove si trova il contatore (OB, FC o FB).
1. Creare un DB globale:
– Fare doppio clic su "Inserisci nuovo blocco" dall'albero del progetto
– Fare clic su blocco dati (DB)
– Come tipo, scegliere DB globale
– Se si desidera poter selezionare singoli dati di questo DB come a ritenzione,
assicurarsi che sia spuntata la casella per il tipo indirizzabile soltanto simbolicamente.
– Fare clic su OK
2. Aggiungere la o le strutture del contatore al DB:
– Nel nuovo DB globale aggiungere una nuova variabile statica utilizzando uno dei tipi di
dati di conteggio. Assicurarsi di considerare il tipo che si desidera utilizzare per i valori
preimpostati e di conteggio.
– Nella colonna "Retain", selezionare la casella in modo che questa struttura risulti a
ritenzione.
– Ripetere il processo per creare strutture per tutti i contatori che si desidera
memorizzare in questo DB. È possibile inserire ogni struttura di conteggio in un DB
unico globale oppure inserire più strutture di conteggio nello stesso DB globale. Inoltre
è possibile inserire altre variabili statiche accanto ai contatori in questo DB globale.
Inserendo più strutture di conteggio nello stesso DB globale è possibile ridurre il
numero complessivo di blocchi.
– Rinominare le strutture di conteggio, se desiderato.
3. Aprire il blocco di programma per modificare il punto in cui inserire un contatore a
ritenzione (OB, FC o FB).
4. Inserire l'istruzione di conteggio nel punto desiderato.

Sistema di automazione S7-1200


228 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.3 Funzionamento del contatore

5. Quando compare la finestra delle opzioni di richiamo, fare clic sul pulsante Annulla. Ora
si dovrebbe visualizzare una nuova istruzione di conteggio con "???", sia appena sopra
che appena sotto il nome dell'istruzione.
6. Nella parte superiore della nuova istruzione di conteggio, inserire il nome (non usare
l'aiuto per scorrere) del DB globale e della struttura di conteggio creata come descritto in
precedenza (esempio: "Data_block_3.Static_1"). Ciò consente di inserire il tipo di valore
preimpostato e di conteggio (ad esempio: UInt per una struttura IEC_UCounter).

Tipo di dati di conteggio Tipo corrispondente dei valori preimpostati e


di conteggio
IEC_Counter INT
IEC_SCounter SINT
IEC_DCounter DINT
IEC_UCounter UINT
IEC_USCounter USINT
IEC_UDCounter UDINT

Assegnare un DB di multiistanza per memorizzare i dati di conteggio come dati a ritenzione


Questa opzione funziona solo se si inserisce il contatore in un FB e
varia a seconda che le proprietà dell'FB comprendano o meno "Accesso ottimizzato al
blocco" (consente solo l'accesso simbolico). Per verificare com'è configurato l'attributo di
accesso ad un FB esistente, fare clic con il tasto destro del mouse sull'FB nell'albero del
progetto, scegliere Proprietà e quindi scegliere Attributi.
Se l'FB ha la proprietà "Accesso ottimizzato al blocco" (consente solo l'accesso simbolico):
1. Aprire l'FB per apportare le modifiche.
2. Inserire l'istruzione di conteggio nel punto desiderato nell'FB.
3. Quando compare la finestra delle opzioni di richiamo, fare clic sull'icona di multiistanza.
L'opzione di multiistanza è disponibile solo se l'istruzione è inserita in un FB.
4. Nella finestra delle opzioni di richiamo, rinominare il contatore, se desiderato.
5. Fare clic su OK. L'istruzione di conteggio compare nell'editor con il tipo INT per i valori
preimpostati e di conteggio, e la struttura IEC_COUNTER compare nell'interfaccia dell'FB
sotto Statica.
6. Se desiderato, modificare il tipo nell'istruzione di conteggio da INT ad uno degli altri tipi.
La struttura di conteggio si modificherà di conseguenza.
7. Se necessario, aprire l'editor di interfaccia dell'FB (potrebbe essere necessario fare clic
sulla freccia per ingrandire la vista).
8. In Statica, individuare la struttura di conteggio appena creata.
9. Nella colonna Retain di questa struttura di conteggio, modificare la selezione in "Retain".
Ogniqualvolta questo FB viene successivamente richiamato da un altro blocco di
programma, viene creato un DB di istanza con questa definizione di interfaccia che
contiene la struttura di conteggio definita a ritenzione.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 229
Istruzioni di base
7.3 Funzionamento del contatore

Se l'FB non ha la proprietà "Accesso ottimizzato al blocco", l'accesso al blocco è di tipo


standard; è quindi compatibile con le configurazioni classiche di S7-300/400 e consente
l'accesso simbolico e diretto. Per assegnare un DB di multiistanza a un FB con accesso
standard procedere nel seguente modo:
1. Aprire l'FB per apportare le modifiche.
2. Inserire l'istruzione di conteggio nel punto desiderato nell'FB.
3. Quando compare la finestra delle opzioni di richiamo, fare clic sull'icona di multiistanza.
L'opzione di multiistanza è disponibile solo se l'istruzione è inserita in un FB.
4. Nella finestra delle opzioni di richiamo, rinominare il contatore, se desiderato.
5. Fare clic su OK. L'istruzione di conteggio compare nell'editor con il tipo INT per i valori
preimpostati e di conteggio, e la struttura IEC_COUNTER compare nell'interfaccia dell'FB
sotto Statica.
6. Se desiderato, modificare il tipo nell'istruzione di conteggio da INT ad uno degli altri tipi.
La struttura di conteggio si modificherà di conseguenza.
7. Aprire il blocco che utilizzerà questo FB.
8. Inserire questo FB nel punto desiderato. In questo modo si crea un blocco dati di istanza
per questo FB.
9. Aprire il blocco dati di istanza creato dopo aver inserito l'FB nell'editor.
10.In Statica, individuare la struttura di conteggio di interesse. Nella colonna Retain di
questa struttura di conteggio, spuntare la casella per far sì che questa struttura sia a
ritenzione.

Tipo indicato nell'istruzione di conteggio (per Struttura del tipo corrispondente indicata
valori preimpostati e di conteggio) nell'interfaccia dell'FB
INT IEC_Counter
SINT IEC_SCounter
DINT IEC_DCounter
UINT IEC_UCounter
USINT IEC_USCounter
UDINT IEC_UDCounter

Sistema di automazione S7-1200


230 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.4 Operazioni di confronto

7.4 Operazioni di confronto

7.4.1 Istruzioni di confronto di valori

Tabella 7- 28 Istruzioni di confronto

KOP FUP SCL Descrizione


out := in1 = in2; Confronta due valori dello stesso tipo di dati. Se il
or confronto del contatto KOP è vero il contatto viene
IF in1 = in2 attivato. Se il confronto del box FUP è vero l'uscita del
THEN out := 1; box è vera.
ELSE out := 0;
END_IF;
1 Per KOP e FUP: fare clic sul nome dell'istruzione (ad es. "==") per modificare il tipo di confronto nell'elenco a discesa.
Fare clic su "???" e selezionare il tipo di dati nell'elenco a discesa.

Tabella 7- 29 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


IN1, IN2 SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, String, Char, Valori da confrontare
Time, DTL, costante

Tabella 7- 30 Descrizioni del confronto

Tipo di relazione Il confronto è vero se...


= IN1 è uguale a IN2
<> IN1 è diverso da IN2
>= IN1 è maggiore di o uguale a IN2
<= IN1 è inferiore o uguale a IN2
> IN1 è maggiore di IN2
< IN1 è inferiore a IN2

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 231
Istruzioni di base
7.4 Operazioni di confronto

7.4.2 Istruzioni IN_Range (Valore compreso nel campo) e OUT_Range (Valore fuori
campo)

Tabella 7- 31 Istruzioni Valore compreso nel campo e Valore fuori campo

KOP / FUP SCL Descrizione


out := IN_RANGE(min, Verifica se un valore di ingresso si trova entro o al di fuori di un
val, max); campo di valori specificato.
Se il confronto è vero l'uscita del box è vera.

out := OUT_RANGE(min,
val, max);

1 Per KOP e FUP: fare clic su "???" e selezionare il tipo di dati nell'elenco a discesa.

Tabella 7- 32 Tipi di dati per i parametri

Parametro Tipo di dati1 Descrizione


MIN, VAL, MAX SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Ingressi del comparatore
Costante
1 I parametri di ingresso MIN, VAL e MAX devono avere lo stesso tipo di dati.

● Il confronto IN_RANGE è vero se: MIN <= VAL <= MAX


● Il confronto OUT_RANGE è vero se: VAL < MIN o VAL > MAX

Sistema di automazione S7-1200


232 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.4 Operazioni di confronto

7.4.3 Istruzioni OK (Verifica validità) e NOT_OK (Verifica invalidità)

Tabella 7- 33 Istruzioni OK (Verifica validità) e Not OK (Verifica invalidità)

KOP FUP SCL Descrizione


Non disponibile Verifica se un riferimento ai dati di ingresso è o meno un
numero reale valido secondo la specifica IEEE 754.

Non disponibile

1 Per KOP e FUP: Se il confronto del contatto KOP è vero il contatto viene attivato e fa passare il flusso di corrente. Se il
box FUP è vero l'uscita del box è vera.

Tabella 7- 34 Tipi di dati per il parametro

Parametro Tipo di dati Descrizione


IN Real, LReal Dati di ingresso

Tabella 7- 35 Funzionamento

Istruzione Il test del numero Real è vero se:


OK Il valore di ingresso è un numero reale valido 1
NOT_OK Il valore di ingresso non è un numero reale valido 1
1 Un valore Real o LReal non è valido se è +/- INF (infinito), NaN (non è un numero) o se è un valore denormalizzato. Un
valore denormalizzato è un numero molto vicino allo zero. Nei calcoli la CPU lo sostituisce con uno zero.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 233
Istruzioni di base
7.5 Funzioni matematiche

7.5 Funzioni matematiche

7.5.1 Istruzione CALCULATE (Calcola)

Tabella 7- 36 Istruzione CALCULATE

KOP / FUP SCL Descrizione


per creare L'istruzione CALCULATE consente di creare una funzione matematica
l'equazione che agisce sugli ingressi (IN1, IN2, .. INn) ed emette il risultato in OUT
utilizzare sulla base dell'equazione definita.
l'espressione
• Selezionare innanzitutto un tipo di dati. Tutti gli ingressi e le uscite
matematica SCL
devono avere lo stesso tipo di dati.
standard.
• Per inserire un altro ingresso, fare clic sul simbolo sull'ultimo
ingresso.

Tabella 7- 37 Tipi di dati per i parametri

Parametro Tipo di dati1


IN1, IN2, ..INn SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord
OUT SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord
1 I parametri IN e OUT devono avere lo stesso tipo di dati (con conversioni implicite dei parametri di ingresso). Ad
esempio: il valore SINT di un ingresso verrebbe convertito in un valore INT o REAL se OUT è un valore INT o REAL.

Fare clic sul simbolo della calcolatrice per aprire la finestra in cui definire la funzione
matematica. Inserire l'espressione sotto forma di ingressi (ad es. IN1 e IN2) e operazioni.
Facendo clic su "OK" per salvare la funzione, la finestra di dialogo crea automaticamente gli
ingressi per l'istruzione CALCULATE.
In basso nell'editor compare un esempio e un elenco delle possibili operazioni matematiche
inseribili.

Sistema di automazione S7-1200


234 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.5 Funzioni matematiche

Nota
Anche per ogni costante nella funzione deve essere creato un ingresso. Il valore costante
verrebbe quindi inserito nell'ingresso collegato per l'istruzione CALCULATE.
L'inserimento delle costanti sottoforma di ingressi permette di copiare l'istruzione
CALCULATE in altre posizioni all'interno del programma senza dover modificare la funzione.
I valori o le variabili degli ingressi per l'istruzione possono quindi essere modificati senza
conseguenze sulla funzione.

Se CALCULATE è stata eseguita e tutte le singole operazioni di calcolo sono concluse


correttamente, ENO = 1. In caso contrario, ENO = 0.

7.5.2 Istruzioni Somma, Sottrai, Moltiplica e Dividi

Tabella 7- 38 Istruzioni Somma, Sottrai, Moltiplica e Dividi

KOP / FUP SCL Descrizione


out := in1 + in2; • ADD: somma (IN1 + IN2 = OUT)
out := in1 - in2;
• SUB: sottrazione (IN1 - IN2 = OUT)
out := in1 * in2;
out := in1 / in2; • MUL: moltiplicazione (IN1 * IN2 = OUT)
• DIV: divisione (IN1 / IN2 = OUT)
Le divisioni di numeri interi troncano la parte frazionaria del quoziente per
fornire un numero intero in uscita.
1 Per KOP e FUP: fare clic su "???" e selezionare un tipo di dati nel menu a discesa.

Tabella 7- 39 Tipi di dati per i parametri (KOP e FUP)

Parametro Tipo di dati1 Descrizione


IN1, IN2 SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, costante Ingressi dell'operazione
matematica
OUT SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal Uscita dell'operazione
matematica
1 I parametri IN1, IN2 e OUT devono avere lo stesso tipo di dati.

Per aggiungere un ingresso ADD o MUL, fare clic sul simbolo "Crea" oppure fare
clic con il tasto destro del mouse sul connettore dell'ingresso di uno dei
parametri IN disponibili e selezionare il comando "Inserisci ingresso".
Per eliminare un ingresso, fare clic con il tasto destro del mouse sul connettore dell'ingresso
di uno dei parametri IN (se sono presenti più ingressi oltre ai due originali) disponibili e
selezionare il comando "Cancella".

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 235
Istruzioni di base
7.5 Funzioni matematiche

Se attiva (EN = 1) la funzione matematica esegue l'operazione specificata sui valori di


ingresso (IN1 e IN2) e salva il risultato nell'indirizzo di memoria specificato dal parametro di
uscita (OUT). Una volta eseguita correttamente l'operazione, l'istruzione imposta ENO = 1.

Tabella 7- 40 Stato di ENO

ENO Descrizione
1 Nessun errore
0 Il risultato dell'operazione matematica non è compreso entro il campo numerico valido del tipo di dati
selezionato. Viene restituita la parte meno significativa del risultato corrispondente alla dimensione di
destinazione.
0 Divisione per 0 (IN2 = 0): Il risultato non è definito e viene restituito zero.
0 Real/LReal: se uno dei valori di ingresso è NAN (non è un numero) viene restituito NAN.
0 ADD Real/LReal: se entrambi i valori IN sono INF con segni diversi l'operazione non è valida e viene
restituito NaN.
0 SUB Real/LReal: se entrambi i valori IN sono INF con lo stesso segno l'operazione non è valida e viene
restituito NaN.
0 MUL Real/LReal: se un valore IN è zero e l'altro è INF l'operazione non è valida e viene restituito NaN.
0 DIV Real/LReal: se entrambi i valori IN sono zero o INF l'operazione non è valida e viene restituito NaN.

7.5.3 Istruzione MOD (Rileva il resto della divisione)

Tabella 7- 41 Istruzione Modulo (Rileva il resto della divisione)

KOP / FUP SCL Descrizione


out := in1 MOD in2; L'istruzione MOD può essere utilizzata per ottenere il resto di
un'operazione di divisione di numeri interi. Il valore dell'ingresso IN1
viene diviso per il valore dell'ingresso IN2, ottenendo il resto nell'uscita
OUT.

1 Per KOP e FUP: fare clic su "???" e selezionare un tipo di dati nel menu a discesa.

Tabella 7- 42 Tipi di dati per i parametri

Parametro Tipo di dati1 Descrizione


IN1 e IN2 SInt, Int, DInt, USInt, UInt, UDInt, Costante Ingressi del modulo
OUT SInt, Int, DInt, USInt, UInt, UDInt Uscita del modulo
1 I parametri IN1, IN2 e OUT devono avere lo stesso tipo di dati.

Sistema di automazione S7-1200


236 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.5 Funzioni matematiche

Tabella 7- 43 Valori ENO

ENO Descrizione
1 Nessun errore
0 Valore IN2 = 0, ad OUT viene assegnato il valore zero

7.5.4 Istruzione NEG (Crea complemento a due)

Tabella 7- 44 Istruzione NEG (Crea complemento a due)

KOP / FUP SCL Descrizione


-(in); L'istruzione NEG inverte il segno aritmetico del valore nel parametro IN e salva il
risultato nel parametro OUT.

1 Per KOP e FUP: fare clic su "???" e selezionare un tipo di dati nel menu a discesa.

Tabella 7- 45 Tipi di dati per i parametri

Parametro Tipo di dati1 Descrizione


IN SInt, Int, DInt, Real, LReal, costante Ingresso dell'operazione matematica
OUT SInt, Int, DInt, Real, LReal Uscita dell'operazione matematica
1 I parametri IN e OUT devono avere lo stesso tipo di dati.

Tabella 7- 46 Stato di ENO

ENO Descrizione
1 Nessun errore
0 Il valore risultante non è compreso entro il campo numerico valido del tipo di dati selezionato.
Esempio per SInt: NEG (-128) dà come risultato +128 che è maggiore del valore massimo consentito per il
tipo di dati.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 237
Istruzioni di base
7.5 Funzioni matematiche

7.5.5 Istruzioni INC (Incrementa) e DEC (Decrementa)

Tabella 7- 47 Istruzioni INC e DEC

KOP / FUP SCL Descrizione


in_out := in_out + 1; Incrementa il valore di un numero intero con o senza segno:
Valore IN_OUT +1 = valore IN_OUT

in_out := in_out - 1; Decrementa il valore di un numero intero con o senza segno:


Valore IN_OUT - 1 = valore IN_OUT

1 Per KOP e FUP: fare clic su "???" e selezionare un tipo di dati nel menu a discesa.

Tabella 7- 48 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


IN/OUT SInt, Int, DInt, USInt, UInt, UDInt Ingresso e uscita dell'operazione matematica

Tabella 7- 49 Stato di ENO

ENO Descrizione
1 Nessun errore
0 Il valore risultante non è compreso entro il campo numerico valido del tipo di dati selezionato.
Esempio per SInt: INC (+127) dà come risultato +128 che è maggiore del valore massimo consentito per il
tipo di dati.

7.5.6 Istruzione ABS (Genera valore assoluto)

Tabella 7- 50 Istruzione ABS (Valore assoluto)

KOP / FUP SCL Descrizione


out := ABS(in); Calcola il valore assoluto di un numero intero o reale con segno nel parametro
IN e salva il risultato nel parametro OUT.

1 Per KOP e FUP: fare clic su "???" e selezionare un tipo di dati nel menu a discesa.

Sistema di automazione S7-1200


238 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.5 Funzioni matematiche

Tabella 7- 51 Tipi di dati per i parametri

Parametro Tipo di dati1 Descrizione


IN SInt, Int, DInt, Real, LReal Ingresso dell'operazione matematica
OUT SInt, Int, DInt, Real, LReal Uscita dell'operazione matematica
1 I parametri IN e OUT devono avere lo stesso tipo di dati.

Tabella 7- 52 Stato di ENO

ENO Descrizione
1 Nessun errore
0 Il risultato dell'operazione matematica non è compreso entro il campo numerico valido del tipo di dati
selezionato.
Esempio per SInt: ABS (-128) dà come risultato +128 che è maggiore del valore massimo consentito per il
tipo di dati.

7.5.7 Istruzioni MIN (Rileva valore min.) e MAX (Rileva valore max.)

Tabella 7- 53 Istruzioni MIN (Rileva valore min.) e MAX (Rileva valore max.)

KOP / FUP SCL Descrizione


out:= MIN( L'istruzione MIN confronta il valore di due parametri IN1 e IN2 e
in1:=_variant_in_, assegna il valore minimo (il più basso) al parametro OUT.
in2:=_variant_in_
[,...in32]);

out:= MAX( L'istruzione MAX confronta il valore di due parametri IN1 e IN2 e
in1:=_variant_in_, assegna il valore massimo (il più alto) al parametro OUT.
in2:=_variant_in_
[,...in32]);

1 Per KOP e FUP: fare clic su "???" e selezionare un tipo di dati nel menu a discesa.

Tabella 7- 54 Tipi di dati per i parametri

Parametro Tipo di dati1 Descrizione


IN1, IN2 SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Costante Ingressi dell'operazione matematica (fino
[...IN32] a 32 ingressi)
OUT SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal Uscita dell'operazione matematica
1 I parametri IN1, IN2 e OUT devono avere lo stesso tipo di dati.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 239
Istruzioni di base
7.5 Funzioni matematiche

Per aggiungere un ingresso, fare clic su "Crea" oppure fare clic con il tasto
destro del mouse sul connettore dell'ingresso di uno dei parametri IN disponibili
e selezionare il comando "Inserisci ingresso".
Per eliminare un ingresso, fare clic con il tasto destro del mouse sul connettore dell'ingresso
di uno dei parametri IN (se sono presenti più ingressi oltre ai due originali) disponibili e
selezionare il comando "Cancella".

Tabella 7- 55 Stato di ENO

ENO Descrizione
1 Nessun errore
0 Solo per il tipo di dati Real:
• Almeno un ingresso non è un numero reale (NaN).
• L'OUT risultante è +/- INF (infinito).

7.5.8 Istruzione LIMIT (Imposta valore limite)

Tabella 7- 56 Istruzione LIMIT (Imposta valore limite)

KOP / FUP SCL Descrizione


LIMIT(MN:=_variant_in_, L'istruzione Limit verifica se il valore del parametro IN è compreso
IN:=_variant_in_, entro il campo di valori specificato dai parametri MIN e MAX and if
MX:=_variant_in_, not, clamps the value at MIN or MAX.
OUT:=_variant_out_);

1 Per KOP e FUP: fare clic su "???" e selezionare un tipo di dati nel menu a discesa.

Tabella 7- 57 Tipi di dati per i parametri

Parametro Tipo di dati1 Descrizione


MN, IN e MX SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Costante Ingressi dell'operazione
matematica
OUT SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal Uscita dell'operazione
matematica
1 I parametri MN, IN, MX e OUT devono avere lo stesso tipo di dati.

Se il valore del parametro IN è compreso entro il campo specificato, il valore di IN viene


salvato nel parametro OUT. Se il valore del parametro IN non è compreso entro il campo
specificato, il valore OUT corrisponde al valore del parametro MIN (se il valore di IN è
inferiore a quello di MIN) oppure al valore del parametro MAX (se il valore di IN è superiore a
quello di MAX).

Sistema di automazione S7-1200


240 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.5 Funzioni matematiche

Tabella 7- 58 Stato di ENO

ENO Descrizione
1 Nessun errore
0 Real: se uno o alcuni valori per MIN, IN e MAX non è un numero (NaN) viene restituito NaN.
0 Se MIN è maggiore di MAX il valore di IN viene assegnato a OUT.

Esempi SCL:
● MyVal := LIMIT(MN:=10,IN:=53, MX:=40); // Risultato: MyVal = 40
● MyVal := LIMIT(MN:=10,IN:=37, MX:=40); // Risultato: MyVal = 37
● MyVal := LIMIT(MN:=10,IN:=8, MX:=40); // Risultato: MyVal = 10

7.5.9 Istruzioni esponente, logaritmo e trigonometria


Le funzioni matematiche in virgola mobile consentono di programmare le operazioni
matematiche utilizzando il tipo di dati Real o LReal:
● SQR: Genera quadrato (IN 2 = OUT)
● SQRT: Genera radice quadrata (√IN = OUT)
● LN: Genera logaritmo naturale (LN(IN) = OUT)
● EXP: Genera valore esponenziale (e IN =OUT), dove la base e =
2,71828182845904523536
● EXPT: Calcola la potenza (IN1 IN2 = OUT)
I parametri EXPT IN1 e OUT devono sempre avere lo stesso tipo di dati, quindi occorre
selezionare Real o LReal. Il tipo di dati per il parametro dell'esponente IN2 può essere
selezionato tra molti tipi di dati.
● FRAC: Rileva i decimali (parte frazionale di un numero in virgola mobile IN = OUT)
● SIN: Forma valore del seno (sin(radianti IN) = OUT)
● ASIN: Forma valore dell'arcoseno (arcsine(IN) = radianti OUT), dove sin(radianti OUT) =
IN
● COS: Genera coseno (cos(radianti IN) = OUT)
● ACOS: Genera arcocoseno (arccos(IN) = radianti OUT), dove cos(radianti OUT) = IN
● TAN: Genera tangente (tan(radianti IN) = OUT)
● ATAN: Genera arcotangente (arctan(IN) = radianti OUT), dove tan(radianti OUT) = IN

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 241
Istruzioni di base
7.5 Funzioni matematiche

Tabella 7- 59 Esempi di istruzioni di operazioni matematiche in virgola mobile

KOP / FUP SCL Descrizione


out := SQR(in); Quadrato: IN 2 = OUT
o Ad esempio: Se IN = 9, allora OUT = 81.
out := in * in;

out := in1 ** in2; Esponenziale generale: IN1 IN2 = OUT


Ad esempio: Se IN1 = 3 e IN2 = 2, allora OUT = 9.

1 Per KOP e FUP: fare clic su "???" (accanto al nome dell'istruzione) e selezionare il tipo di dati nel menu a discesa.
2 Per SCL: Per creare le espressioni matematiche è possibile utilizzare anche gli operatori matematici SCL di base.

Tabella 7- 60 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


IN, IN1 Real, LReal, costante Ingressi
IN2 SInt, Int, DInt, USInt, UInt,UDInt, Real, LReal, costante Ingresso esponenziale EXPT
OUT Real, LReal Uscite

Tabella 7- 61 Stato di ENO

ENO Istruzione Condizione Risultato (OUT)


1 Tutti Nessun errore Risultato valido
0 SQR Il risultato è maggiore del campo Real/LReal valido +INF
IN è +/- NaN (non è un numero) +NaN
SQRT IN è negativo -NaN
IN è +/- INF (infinito) o +/- NaN +/- INF o +/- NaN
LN IN è 0.0, negativo, -INF o -NaN -NaN
IN è +INF o +NaN +INF o +NaN
EXP Il risultato è maggiore del campo Real/LReal valido +INF
IN è +/- NaN +/- NaN
SIN, COS, TAN IN è +/- INF o +/- NaN +/- INF o +/- NaN
ASIN, ACOS IN non è compreso nel campo valido da -1,0 a +1,0 +NaN
IN è +/- NaN +/- NaN
ATAN IN è +/- NaN +/- NaN
FRAC IN è +/- INF o +/- NaN +NaN
EXPT IN1 è +INF e IN2 non è -INF +INF
IN1 è negativo o -INF +NaN se IN2 è Real/LReal,
-INF negli altri casi
IN1 o IN2 è +/- NaN +NaN

Sistema di automazione S7-1200


242 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.6 Operazioni di trasferimento

ENO Istruzione Condizione Risultato (OUT)


IN1 è 0,0 e IN2 è Real/LReal (solamente) +NaN

7.6 Operazioni di trasferimento

7.6.1 Istruzioni MOVE (Copia valore), MOVE_BLK (Copia area) e UMOVE_BLK


(Copia area senza interruzione)
Le istruzioni di trasferimento consentono di copiare degli elementi di dati in un nuovo
indirizzo di memoria e di convertirli da un tipo di dati in un altro. Il trasferimento non
determina la modifica dei dati di origine.
● L'istruzione MOVE copia un unico elemento di dati dall'indirizzo di origine specificato dal
parametro IN nell'indirizzo di destinazione specificato dal parametro OUT.
● Le istruzioni MOVE_BLK e UMOVE_BLK hanno anche un parametro COUNT che
specifica quanti elementi di dati vengono copiati. Il numero di byte copiati per elemento
dipende dal tipo di dati assegnati ai nomi delle variabili dei parametri IN e OUT nella
tabella delle variabili PLC.

Tabella 7- 62 Istruzioni MOVE, MOVE_BLK e UMOVE_BLK

KOP / FUP SCL Descrizione


out1 := in; Copia in un nuovo indirizzo o in più indirizzi un elemento di dati
memorizzato in un indirizzo specificato.1

MOVE_BLK( Trasferimento con interruzione che copia un blocco di elementi


in:=_variant_in, di dati in un nuovo indirizzo.
count:=_uint_in,
out=>_variant_out);

UMOVE_BLK( Trasferimento senza interruzione che copia un blocco di


in:=_variant_in, elementi di dati in un nuovo indirizzo.
count:=_uint_in,
out=>_variant_out);

1 Istruzione MOVE: per inserire un'altra uscita in KOP e FUP, fare clic sul simbolo "Crea" accanto al parametro di uscita.
Per SCL utilizzare varie istruzioni di assegnazione. È anche possibile utilizzare una delle costruzioni di loop.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 243
Istruzioni di base
7.6 Operazioni di trasferimento

Tabella 7- 63 Tipi di dati per l'istruzione MOVE

Parametro Tipo di dati Descrizione


IN SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, Indirizzo di origine
DWord, Char, Array, Struct, DTL, Time
OUT SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, Indirizzo di destinazione
DWord, Char, Array, Struct, DTL, Time

Per aggiungere le uscite MOVE, fare clic sul simbolo "Crea" oppure fare clic con
il tasto destro del mouse sul connettore dell'uscita di uno dei parametri OUT
disponibili e selezionare il comando "Inserisci uscita".
Per eliminare un'uscita, fare clic con il tasto destro del mouse sul connettore dell'uscita di
uno dei parametri OUT (se sono presenti più uscite oltre alle due originali) disponibili e
selezionare il comando "Cancella".

Tabella 7- 64 Tipi di dati per le istruzioni MOVE_BLK e UMOVE_BLK

Parametro Tipo di dati Descrizione


IN SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal Byte, Word, Indirizzo iniziale di origine
DWord
COUNT UInt Numero di elementi di dati da
copiare
OUT SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, Indirizzo iniziale di destinazione
DWord

Nota
Regole per le operazioni di copia dei dati
• Per copiare il tipo di dati Bool, utilizzare SET_BF, RESET_BF, R, S o la bobina di uscita
(KOP) Hotspot text (Pagina 210)
• Per copiare un unico tipo di dati semplice, utilizzare MOVE
• Per copiare un array di tipi di dati semplici, utilizzare MOVE_BLK o UMOVE_BLK
• Per copiare una struttura, utilizzare MOVE
• Per copiare una stringa, utilizzare S_MOVE (Pagina 299)
• Per copiare il carattere di una stringa, utilizzare MOVE
• Le istruzioni MOVE_BLK e UMOVE_BLK non consentono di copiare array o strutture
nelle aree di memoria I, Q o M.

Sistema di automazione S7-1200


244 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.6 Operazioni di trasferimento

Le istruzioni MOVE_BLK e UMOVE_BLK si differenziano per la modalità di gestione degli


allarmi:
● Durante l'esecuzione di MOVE_BLK gli eventi di allarme vengono messi in coda ed
elaborati. Utilizzare l'istruzione MOVE_BLK nei casi in cui i dati contenuti nell'indirizzo di
destinazione non vengono usati in un sottoprogramma di OB di allarme oppure, in casi di
utilizzo, se non è necessario che siano coerenti. Se l'operazione MOVE_BLK viene
interrotta, l'ultimo elemento di dati trasferito nell'indirizzo di destinazione è completo e
coerente. L'operazione MOVE_BLK viene ripresa al termine dell'esecuzione dell'OB di
allarme.
● Gli eventi di allarme vengono messi in coda ma non elaborati finché non termina
l'esecuzione di UMOVE_BLK. Utilizzare l'istruzione UMOVE_BLK nei casi in cui, per poter
eseguire un sottoprogramma di OB di allarme, è necessario che l'operazione di
trasferimento sia terminata e che i dati di destinazione siano coerenti. Per maggiori
informazioni consultare il capitolo sulla coerenza dei dati (Pagina 183).
Dopo l'esecuzione dell'istruzione MOVE, ENO è sempre vera.

Tabella 7- 65 Stato di ENO

ENO Condizione Risultato


1 Nessun errore Tutti gli elementi COUNT sono stati copiati
correttamente.
0 Il campo di origine (IN) o di destinazione (OUT) sono Gli elementi con le dimensioni adatte vengono
maggiori dell'area di memoria disponibile. copiati. Gli elementi parziali non vengono
copiati.

7.6.2 Istruzioni FieldRead (Leggi campo) e FieldWrite (Scrivi nel campo)

Nota
STEP 7 V10.5 non supportava un riferimento variabile come un indice dell'array o array
multidimensionali. Le istruzioni FieldRead e FieldWrite erano utilizzate per operazioni
dell'indice dell'array variabile per un array monodimensionale. STEP 7 V11 e le versioni
successive supportano una variabile come un indice dell'array e array multidimensionali.
FieldRead e FieldWrite sono comprese in STEP 7 V11 e successive per la retrocompatibilità
con i programmi che hanno utilizzato queste istruzioni.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 245
Istruzioni di base
7.6 Operazioni di trasferimento

Tabella 7- 66 Istruzioni FieldRead e FieldWrite

KOP / FUP SCL Descrizione


value := FieldRead legge l'elemento dell'array con il valore
member[index]; dell'indice INDEX dall'array il cui primo elemento è
specificato nel parametro MEMBER. Il valore
dell'elemento dell'array viene trasferito nella
posizione specificata nel parametro VALUE.

member[index] := FieldWrite trasferisce il valore nella posizione


value; specificata dal parametro VALUE all'array il cui primo
elemento è specificato dal parametro MEMBER. Il
valore viene trasferito all'elemento dell'array il cui
indice dell'array è specificato dal parametro INDEX.

1 Per KOP e FUP: fare clic su "???" e selezionare un tipo di dati nel menu a discesa.

Tabella 7- 67 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


Index Ingresso DInt Il numero di indice dell'elemento dell'array da
leggere o scrivere
Member 1 Ingresso Tipi di elementi dell'array: Posizione del primo elemento in un array
Bool, Byte, Word, DWord, monodimensionale definito in un blocco dati globale
Char, SInt, Int, DInt, USInt, o un'interfaccia del blocco.
UInt, UDInt, Real, LReal Ad esempio: se l'indice dell'array è specificato come
[-2..4], allora l'indice del primo elemento è -2 e non
0.
Value 1 Uscita Bool, Byte, Word, DWord, Posizione in cui viene copiato l'elemento dell'array
Char, SInt, Int, DInt, USInt, specificato (FieldRead)
UInt, UDInt, Real, LReal Posizione del valore che è copiato nell'elemento
dell'array specificato (FieldWrite)
1 Il tipo di dati dell'elemento dell'array specificato dal parametro MEMBER e dal parametro VALUE devono avere lo
stesso tipo di dati.

L'uscita di abilitazione ENO = 0, in presenza di una delle condizioni seguenti:


● L'ingresso EN ha lo stato del segnale "0"
● L'elemento dell'array specificato nel parametro INDEX non è definito nell'array indicato
nel parametro MEMBER
● Durante l'elaborazione si verificano errori quali un overflow

Sistema di automazione S7-1200


246 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.6 Operazioni di trasferimento

Accesso ai dati mediante indicizzazione degli array


Per accedere agli elementi di un array mediante una variabile basta utilizzare quest'ultima
come indice di array nella logica del programma. Ad es. il segmento sotto riportato imposta
un'uscita in base al valore booleano di un array di valori booleani nel blocco "Data_block_1"
che è indirizzato dalla variabile del PLC "Index".

La logica con l'indice di array variabile è uguale al metodo precedente che utilizzava
un'istruzione FieldRead:

le istruzioni FieldWrite e FieldRead possono essere sostituite con la logica che usa una
variabile come indice dell'array.
SCL non dispone di istruzioni FieldRead o FieldWrite ma consente l'indirizzamento indiretto
degli array con una variabile:
#Tag_1 := "Data_block_1".Bool_Array[#Index];

7.6.3 FILL_BLK (Inserisci dati nell'area) e UFILL_BLK (Inserisci area senza


interruzione)

Tabella 7- 68 Istruzioni FILL_BLK e UFILL_BLK

KOP / FUP SCL Descrizione


FILL_BLK( Istruzione Inserisci i dati nell'area: inserisce copie di un elemento di dati
in:=_variant_in, specificato in un'area di indirizzi
count:=int,
out=>_variant_out);

UFILL_BLK( Istruzione Inserisci area senza interruzione: inserisce copie di un


in:=_variant_in, elemento di dati specificato in un'area di indirizzi
count:=int
out=>_variant_out);

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 247
Istruzioni di base
7.6 Operazioni di trasferimento

Tabella 7- 69 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


IN SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, Indirizzo di origine dei dati
DWord
COUNT USInt, UInt Numero di elementi di dati da copiare
OUT SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, Indirizzo di destinazione dei dati
DWord

Nota
Regole per le operazioni di predefinizione della memoria
• Per effettuare la predefinizione con il tipo di dati BOOL, utilizzare SET_BF, RESET_BF,
R, S o la bobina di uscita (KOP)
• Per effettuare la predefinizione con un unico tipo di dati semplice, utilizzare MOVE
• Per predefinire un array con un tipo di dati semplici, utilizzare FILL_BLK o UFILL_BLK
• Per predefinire il carattere di una stringa, utilizzare MOVE
• Le istruzioni FILL_BLK e UFILL_BLK non consentono di predefinire array nelle aree di
memoria I, Q o M.

Le istruzioni FILL_BLK e UFILL_BLK copiano l'elemento dati di origine IN nella destinazione


in cui l'indirizzo iniziale è specificato dal parametro OUT. L'operazione di copia viene ripetuta
e un blocco ininterrotto di indirizzi viene predefinito finché il numero di copie non diventa
uguale al parametro COUNT.
Le istruzioni FILL_BLK e UFILL_BLK si differenziano per la modalità di gestione degli allarmi:
● Durante l'esecuzione di FILL_BLK gli eventi di allarme vengono messi in coda ed
elaborati. Utilizzare l'istruzione FILL_BLK nei casi in cui i dati contenuti nell'indirizzo di
destinazione non vengono usati in un sottoprogramma di OB di allarme oppure, in casi di
utilizzo, se non è necessario che siano coerenti.
● Gli eventi di allarme vengono messi in coda ma non elaborati finché non termina
l'esecuzione di UFILL_BLK. Utilizzare l'istruzione UFILL_BLK nei casi in cui, per poter
eseguire un sottoprogramma di OB di allarme, è necessario che l'operazione di
trasferimento sia terminata e che i dati di destinazione siano coerenti.

Tabella 7- 70 Stato di ENO

ENO Condizione Risultato


1 Nessun errore L'elemento IN è stato copiato correttamente
in tutte le destinazioni COUNT.
0 Il campo di destinazione (OUT) è Gli elementi con le dimensioni adatte
maggiore dell'area di memoria vengono copiati. Gli elementi parziali non
disponibile vengono copiati.

Sistema di automazione S7-1200


248 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.6 Operazioni di trasferimento

7.6.4 Istruzione SWAP (Modifica disposizione byte)

Tabella 7- 71 Istruzione SWAP

KOP / FUP SCL Descrizione


out := SWAP(in); Inverte l'ordine dei byte all'interno di elementi di dati costituiti da due o quattro
byte. lasciando tuttavia invariato l'ordine dei bit nei byte. Dopo l'esecuzione
dell'istruzione SWAP ENO è sempre vero.

1 Per KOP e FUP: fare clic su "???" e selezionare un tipo di dati nel menu a discesa.

Tabella 7- 72 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


IN Word, DWord Byte di dati IN disposti in ordine
OUT Word, DWord Byte di dati OUT disposti in ordine inverso

Esempio 1 Parametro IN = MB0, Parametro OUT = MB4,


(prima dell'esecuzione) (dopo l'esecuzione)
Indirizzo MW0 MB1 MW4 MB5
W#16#1234 12 34 34 12
WORD MSB LSB MSB LSB

Esempio 2 Parametro IN = MB0, Parametro OUT = MB4,


(prima dell'esecuzione) (dopo l'esecuzione)
Indirizzo MD0 MB1 MB2 MB3 MD4 MB5 MB6 MB7
DW#16# 12 34 56 78 78 56 34 12
12345678
DWORD MSB LSB MSB LSB

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 249
Istruzioni di base
7.7 Operazioni di conversione

7.7 Operazioni di conversione

7.7.1 Istruzione CONV (Converti valore)

Tabella 7- 73 Istruzione CONV (converti valore)

KOP / FUP SCL Descrizione


out := <data type in>_TO_<data type out>(in); Converte un elemento di dati da un
tipo di dati in un altro.

1 Per KOP e FUP: fare clic su "???" e selezionare i tipi di dati nel menu a discesa.
2 Per SCL: Creare l'istruzione di conversione identificando il tipo di dati per il parametro di ingresso (in) e quello di uscita
(out). Ad esempio DWORD_TO_REAL converte un valore DWord in un valore Real.

Tabella 7- 74 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


IN Stringa di tipo Bit1, SInt, USInt, Int, UInt, DInt, UDInt, Real, Valore di ingresso
LReal, BCD16, BCD32
OUT Stringa di tipo Bit1, SInt, USInt, Int, UInt, DInt, UDInt, Real, Valore di ingresso convertito in un nuovo
LReal, BCD16, BCD32 tipo di dati
1 Questa istruzione non consente di selezionare stringhe di tipo Bit (Byte, Word, DWord). Per immettere un operando con
tipo di dati Byte, Word o DWord per il parametro di un'istruzione selezionare un numero intero senza segno con la
stessa lunghezza di bit. Ad es. selezionare USInt per un Byte, UInt per una Word o UDInt per una DWord.

Dopo che è stato selezionato il tipo di dati (da convertire) l'elenco a discesa (dei tipi in cui
convertire) visualizza una lista di possibili conversioni. Le conversioni da e verso BCD16
sono limitate al tipo di dati Int. Le conversioni da e verso BCD32 sono limitate al tipo di dati
DInt.

Tabella 7- 75 Stato di ENO

ENO Descrizione Risultato (OUT)


1 Nessun errore Risultato valido
0 IN è +/- INF o +/- NaN +/- INF o +/- NaN
0 Il risultato è maggiore del campo valido per il tipo di OUT viene impostato sul valore IN
dati OUT

Sistema di automazione S7-1200


250 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.7 Operazioni di conversione

7.7.2 Istruzioni di conversione per SCL

Istruzioni di conversione per SCL

Tabella 7- 76 Conversione da Bool, Byte, Word o DWord

Tipo di dati Istruzione Risultato


Bool BOOL_TO_BYTE, BOOL_TO_WORD, Il valore è trasferito al bit meno significativo del tipo di
BOOL_TO_DWORD, BOOL_TO_INT, dati di destinazione.
BOOL_TO_DINT
Byte BYTE_TO_BOOL Il bit meno significativo viene trasferito nel tipo di dati di
destinazione.
BYTE_TO_WORD, BYTE_TO_DWORD Il valore è trasferito al byte meno significativo del tipo di
dati di destinazione.
BYTE_TO_SINT, BYTE_TO_USINT Il valore è trasferito al tipo di dati di destinazione.
BYTE_TO_INT, BYTE_TO_UINT, Il valore è trasferito al byte meno significativo del tipo di
BYTE_TO_DINT, BYTE_TO_UDINT dati di destinazione.
Word WORD_TO_BOOL Il bit meno significativo viene trasferito nel tipo di dati di
destinazione.
WORD_TO_BYTE Il byte meno significativo del valore di origine è trasferito
al tipo di dati di destinazione.
WORD_TO_DWORD Il valore è trasferito nella parola meno significativa del
tipo di dati di destinazione.
WORD_TO_SINT, WORD_TO_USINT Il byte meno significativo del valore di origine è trasferito
al tipo di dati di destinazione.
WORD_TO_INT, WORD_TO_UINT Il valore è trasferito al tipo di dati di destinazione.
WORD_TO_DINT, WORD_TO_UDINT Il valore è trasferito nella parola meno significativa del
tipo di dati di destinazione.
DWord DWORD_TO_BOOL Il bit meno significativo viene trasferito nel tipo di dati di
destinazione.
DWORD_TO_BYTE, DWORD_TO_WORD, Il byte meno significativo del valore di origine è trasferito
DWORD_TO_SINT al tipo di dati di destinazione.
DWORD_TO_USINT, DWORD_TO_INT, La parola meno significativa del valore di origine viene
DWORD_TO_UINT trasferita nel tipo di dati di destinazione.
DWORD_TO_DINT, DWORD_TO_UDINT, Il valore è trasferito al tipo di dati di destinazione.
DWORD_TO_REAL

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 251
Istruzioni di base
7.7 Operazioni di conversione

Tabella 7- 77 Conversione da un numero intero corto (SInt o USInt)

Tipo di dati Istruzione Risultato


SInt SINT_TO_BOOL Il bit meno significativo viene trasferito nel tipo di dati di
destinazione.
SINT_TO_BYTE Il valore è trasferito al tipo di dati di destinazione.
SINT_TO_WORD, SINT_TO_DWORD Il valore è trasferito al byte meno significativo del tipo di
dati di destinazione.
SINT_TO_INT, SINT_TO_DINT, Il valore è convertito.
SINT_TO_USINT, SINT_TO_UINT,
SINT_TO_UDINT, SINT_TO_REAL,
SINT_TO_LREAL, SINT_TO_CHAR,
SINT_TO_STRING
USInt USINT_TO_BOOL Il bit meno significativo viene trasferito nel tipo di dati di
destinazione.
USINT_TO_BYTE Il valore è trasferito al tipo di dati di destinazione.
USINT_TO_WORD, USINT_TO_DWORD, Il valore è trasferito al byte meno significativo del tipo di
USINT_TO_INT, USINT_TO_UINT, dati di destinazione.
USINT_TO_DINT, USINT_TO_UDINT
USINT_TO_SINT, USINT_TO_REAL, Il valore è convertito.
USINT_TO_LREAL, USINT_TO_CHAR,
USINT_TO_STRING

Tabella 7- 78 Conversione da un numero intero (Int o UInt)

Tipo di dati istruzione Risultato


Int INT_TO_BOOL Il bit meno significativo viene trasferito nel tipo di dati di
destinazione.
INT_TO_BYTE, INT_TO_DWORD, Il valore è convertito.
INT_TO_SINT, INT_TO_USINT,
INT_TO_UINT, INT_TO_UDINT,
INT_TO_REAL, INT_TO_LREAL,
INT_TO_CHAR, INT_TO_STRING
INT_TO_WORD Il valore è trasferito al tipo di dati di destinazione.
INT_TO_DINT Il valore è trasferito al byte meno significativo del tipo di
dati di destinazione.
UInt UINT_TO_BOOL Il bit meno significativo viene trasferito nel tipo di dati di
destinazione.
UINT_TO_BYTE, UINT_TO_SINT, Il valore è convertito.
UINT_TO_USINT, UINT_TO_INT,
UINT_TO_REAL, UINT_TO_LREAL,
UINT_TO_CHAR, UINT_TO_STRING
UINT_TO_WORD, UINT_TO_DATE Il valore è trasferito al tipo di dati di destinazione.
UINT_TO_DWORD, UINT_TO_DINT, Il valore è trasferito al byte meno significativo del tipo di
UINT_TO_UDINT dati di destinazione.

Sistema di automazione S7-1200


252 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.7 Operazioni di conversione

Tabella 7- 79 Conversione da un numero intero doppio (Dint o UDInt)

Tipo di dati Istruzione Risultato


DInt DINT_TO_BOOL Il bit meno significativo viene trasferito
nel tipo di dati di destinazione.
DINT_TO_BYTE, DINT_TO_WORD, DINT_TO_SINT, Il valore è convertito.
DINT_TO_USINT, DINT_TO_INT, DINT_TO_UINT,
DINT_TO_UDINT, DINT_TO_REAL, DINT_TO_LREAL,
DINT_TO_CHAR, DINT_TO_STRING
DINT_TO_DWORD, DINT_TO_TIME Il valore è trasferito al tipo di dati di
destinazione.
UDInt UDINT_TO_BOOL Il bit meno significativo viene trasferito
nel tipo di dati di destinazione.
UDINT_TO_BYTE, UDINT_TO_WORD, UDINT_TO_SINT, Il valore è convertito.
UDINT_TO_USINT, UDINT_TO_INT, UDINT_TO_UINT,
UDINT_TO_DINT, UDINT_TO_REAL, UDINT_TO_LREAL,
UDINT_TO_CHAR, UDINT_TO_STRING
UDINT_TO_DWORD, UDINT_TO_TOD Il valore è trasferito al tipo di dati di
destinazione.

Tabella 7- 80 Conversione da un numero reale (Real o LReal)

Tipo di dati Istruzione Risultato


Real REAL_TO_DWORD, REAL_TO_LREAL Il valore è trasferito al tipo di dati di
destinazione.
REAL_TO_SINT, REAL_TO_USINT, REAL_TO_INT, Il valore è convertito.
REAL_TO_UINT, REAL_TO_DINT, REAL_TO_UDINT,
REAL_TO_STRING
LReal LREAL_TO_SINT, LREAL_TO_USINT, LREAL_TO_INT, Il valore è convertito.
LREAL_TO_UINT, LREAL_TO_DINT, LREAL_TO_UDINT,
LREAL_TO_REAL, LREAL_TO_STRING

Tabella 7- 81 Conversione da Time, DTL, TOD o Date

Tipo di dati Istruzione Risultato


Time TIME_TO_DINT Il valore è trasferito al tipo di dati di
destinazione.
DTL DTL_TO_DATE, DTL_TO_TOD Il valore è convertito.
TOD TOD_TO_UDINT Il valore è convertito.
Date DATE_TO_UINT Il valore è convertito.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 253
Istruzioni di base
7.7 Operazioni di conversione

Tabella 7- 82 Conversione da Char o String

Tipo di dati Istruzione Risultato


Char CHAR_TO_SINT, CHAR_TO_USINT, Il valore è convertito.
CHAR_TO_INT, CHAR_TO_UINT,
CHAR_TO_DINT, CHAR_TO_UDINT
CHAR_TO_STRING Il valore è trasferito al primo carattere della
stringa.
String STRING_TO_SINT, STRING_TO_USINT, Il valore è convertito.
STRING_TO_INT, STRING_TO_UINT,
STRING_TO_DINT, STRING_TO_UDINT,
STRING_TO_REAL, STRING_TO_LREAL
STRING_TO_CHAR Il primo carattere della stringa è copiato in Char.

7.7.3 Istruzioni ROUND (Arrotonda) e TRUNC (Genera numero intero)

Tabella 7- 83 Istruzioni ROUND e TRUNC

KOP / FUP SCL Descrizione


out := ROUND (in); Converte un numero reale in un numero intero. In KOP/FUP si può
selezionare il tipo di dati dell'uscita, ad esempio "DInt", facendo clic su
"???" nel box dell'istruzione.
In SCL l'uscita dell'istruzione ROUND ha per default il tipo di dati DINT. Per
arrotondare a un altro tipo di dati dell'uscita specificare il nome
dell'istruzione con il nome esplicito del tipo di dati, ad esempio
ROUND_REAL o ROUND_LREAL.
I decimali del numero reale vengono arrotondati al numero intero
successivo (IEEE - round to nearest). Se la cifra decimale del numero è
esattamente la metà della differenza tra due numeri interi (ad es. 10,5), il
numero viene arrotondato all'intero pari. Ad esempio:
• ROUND (10.5) = 10
• ROUND (11.5) = 12
out := TRUNC(in); TRUNC converte un numero reale in numero intero. La parte frazionaria del
numero reale viene troncata a zero (IEEE - round to zero).

1 Per KOP e FUP: fare clic su "???" (accanto al nome dell'istruzione) e selezionare il tipo di dati nel menu a discesa.

Tabella 7- 84 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


IN Real, LReal Ingresso in virgola mobile
OUT SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal Uscita arrotondata o troncata

Sistema di automazione S7-1200


254 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.7 Operazioni di conversione

Tabella 7- 85 Stato di ENO

ENO Descrizione Risultato (OUT)


1 Nessun errore Risultato valido
0 IN è +/- INF o +/- NaN +/- INF o +/- NaN

7.7.4 Istruzioni CEIL e FLOOR (Genera da un numero in virgola mobile il numero


intero superiore e inferiore)

Tabella 7- 86 Istruzioni CEIL e FLOOR

KOP / FUP SCL Descrizione


out := CEIL(in); Converte un numero reale (Real o LReal) nel più vicino
numero intero maggiore o uguale al numero reale selezionato
(IEEE "round to +infinity").

out := FLOOR(in); Converte un numero reale (Real o LReal) nel più vicino
numero intero minore o uguale al numero reale selezionato
(IEEE "round to -infinity").

1 Per KOP e FUP: fare clic su "???" (accanto al nome dell'istruzione) e selezionare il tipo di dati nel menu a discesa.

Tabella 7- 87 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


IN Real, LReal Ingresso in virgola mobile
OUT SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal Uscita convertita

Tabella 7- 88 Stato di ENO

ENO Descrizione Risultato (OUT)


1 Nessun errore Risultato valido
0 IN è +/- INF o +/- NaN +/- INF o +/- NaN

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 255
Istruzioni di base
7.7 Operazioni di conversione

7.7.5 Istruzioni SCALE_X (Riporta in scala) e NORM_X (Normazione)

Tabella 7- 89 Istruzioni SCALE_X e NORM_X

KOP / FUP SCL Descrizione


out :=SCALE_X(min:=_in_, Riporta in scala il parametro VALUE, costituito da
value:=_in_, un numero reale normalizzato, dove ( 0,0 <=
max:=_in_); VALUE <= 1,0 ) nel tipo di dati e nel campo di
valori specificati dai parametri MIN e MAX:
OUT = VALUE (MAX - MIN) + MIN

out :=NORM_X(min:=_in_, Normalizza il parametro VALUE entro il campo di


value:=_in_, valori specificato dai parametri MIN e MAX:
max:=_in_); OUT = (VALUE - MIN) / (MAX - MIN),
dove ( 0,0 <= OUT <= 1,0 )

1 Per KOP e FUP: fare clic su "???" e selezionare un tipo di dati nel menu a discesa.

Tabella 7- 90 Tipi di dati per i parametri

Parametro Tipo di dati1 Descrizione


MIN SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal Valore di ingresso minimo per il campo
VALUE SCALE_X: Real, LReal Valore di ingresso da riportare in scala o
NORM_X: SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal normalizzare
MAX SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal Valore di ingresso massimo per il campo
OUT SCALE_X: SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal Valore di uscita riportato in scala o
NORM_X: Real, LReal normalizzato

1 Per SCALE_X: I parametri MIN, MAX e OUT devono avere lo stesso tipo di dati.
Per NORM_X: I parametri MIN, VALUE e MAX devono avere lo stesso tipo di dati.

Sistema di automazione S7-1200


256 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.7 Operazioni di conversione

Nota
Il parametro VALUE di SCALE_X deve essere limitato a ( 0,0 <= VALUE <= 1,0 )
Se il parametro VALUE è inferiore a 0,0 o superiore a 1,0:
• L'operazione di messa in scala lineare può generare valori OUT inferiori al valore del
parametro MIN o superiori al valore del parametro MAX, che tuttavia rientrano nel campo
consentito per il tipo di dati OUT. In questi casi l'esecuzione di SCALE_X imposta ENO =
vero.
• È possibile generare valori in scala che non rientrano nel campo del tipo di dati OUT. In
questi casi il parametro OUT viene impostato su un valore intermedio uguale alla parte
meno significativa del numero reale riportato in scala prima della conversione finale nel
tipo di dati OUT. In questo caso l'esecuzione di SCALE_X imposta ENO = falso.
Il parametro VALUE di NORM_X deve essere limitato a ( MIN <= VALUE <= MAX )
Se il parametro VALUE è inferiore a MIN o superiore a MAX, l'operazione di messa in scala
lineare può generare valori OUT normalizzati inferiori a 0,0 o superiori a 1,0. In questo caso
l'esecuzione di NORM_X imposta ENO = vero.

Tabella 7- 91 Stato di ENO

ENO Condizione Risultato (OUT)


1 Nessun errore Risultato valido
0 Il risultato è maggiore del campo valido per il Risultato intermedio: la parte meno significativa di un
tipo di dati OUT numero reale prima della conversione finale nel tipo di dati
OUT.
0 Parametri MAX <= MIN SCALE_X: la parte meno significativa del numero reale
VALUE fino a raggiungere la dimensione di OUT.
NORM_X: VALUE nel tipo di dati di VALUE fino a
raggiungere le dimensioni di una doppia parola.
0 Parametro VALUE = +/- INF o +/- NaN VALUE è scritto in OUT

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 257
Istruzioni di base
7.7 Operazioni di conversione

Esempio (KOP): normalizzazione e messa in scala di un valore di ingresso analogico


Il campo valido di valori di un ingresso analogico da un modulo di I/O analogico o una signal
board che utilizza un ingresso per corrente va da 0 a 27648. Supponiamo che un ingresso
analogico rappresenti una temperatura in cui il valore 0 dell'ingresso analogico rappresenta -
30,0 gradi C e 27648 rappresenta 70,0 gradi C.
Per trasformare il valore analogico nelle unità di engineering corrispondenti, normalizzare
l'ingresso ad un valore compreso tra 0,0 e 1,0 e quindi metterlo in scala tra -30,0 e 70,0. Il
valore risultante è la temperatura rappresentata dall'ingresso analogico in gradi C:

Notare che se l'ingresso analogico provenisse da un modulo di I/O analogico o una signal
board per tensione, il valore MIN dell'istruzione NORM_X sarebbe -27648 invece di 0.

Esempio (KOP): normalizzazione e messa in scala di un valore di ingresso analogico


Il campo valido di valori di un'uscita analogica in un modulo di I/O analogico o una signal
board che utilizza un'uscita per corrente va da 0 a 27648. Supponiamo che un'uscita
analogica rappresenti un'impostazione di temperatura in cui il valore 0 dell'ingresso
analogico rappresenta -30,0 gradi C e 27648 rappresenta 70,0 gradi C. Per convertire un
valore di temperatura in memoria compreso tra -30,0 e 70,0 in un valore per l'uscita
analogica nel campo da 0 a 27648, occorre normalizzare il valore in unità di engineering ad
una valore compreso tra 0,0 e 1,0 e quindi metterlo in scala nel campo dell'uscita analogica,
da 0 a 27648:

Notare che se l'uscita analogica fosse prevista per un modulo di I/O analogico o una signal
board per tensione, il valore MIN dell'istruzione SCALE_X sarebbe -27648 invece di 0.
Per ulteriori informazioni sulle rappresentazioni degli ingressi analogici (Pagina 946) e le
rappresentazioni delle uscite analogiche (Pagina 947) per tensione e corrente, consultare i
dati tecnici.

Sistema di automazione S7-1200


258 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.8 Operazioni di controllo del programma

7.8 Operazioni di controllo del programma

7.8.1 Istruzioni JMP (Salta se RLO = 1), JMPN (Salta se RLO = 0) e Etichetta
(Etichetta di salto)

Tabella 7- 92 Istruzione JMP, JMPN e LABEL

KOP FUP SCL Descrizione


Vedere l'istruzione GOTO Salta se RLO (risultato dell'operazione logica) = 1:
(Pagina 279). se c'è flusso di corrente in ingresso alla bobina JMP
(KOP) o se l'ingresso del box JMP è vero (FUP),
l'esecuzione del programma prosegue con la prima
istruzione successiva all'etichetta specificata.
Salta se RLO = 0:
Se non c'è flusso di corrente in ingresso alla bobina
JMPN (KOP) o se l'ingresso del box JMPN è falso
(FUP), l'esecuzione del programma prosegue con la
prima istruzione successiva all'etichetta specificata.
etichetta di destinazione per le istruzioni JMP e
JMPN.

1 I nomi delle etichette possono essere digitati direttamente nell'istruzione LABEL. Utilizzare l'icona di aiuto del parametro
per selezionare i nomi delle etichette disponibili per l'apposito campo delle istruzioni JMP e JMPN. Inoltre il nome
dell'etichetta può essere digitato direttamente nell'istruzione JMP o JMPN.

Tabella 7- 93 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


Label_name Identificatore dell'etichetta Identificatore per le istruzioni di salto e la corrispondente etichetta
di destinazione del programma

● Ogni etichetta deve essere univoca all'interno di un blocco di codice.


● È possibile saltare all'interno di un blocco di codice, ma non è possibile saltare da un
blocco di codice ad un altro.
● Il salto può essere in avanti o indietro.
● È possibile saltare alla stessa etichetta da più di un punto nello stesso blocco di codice.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 259
Istruzioni di base
7.8 Operazioni di controllo del programma

7.8.2 Istruzione JMP_LIST (Definisci elenco di salti)

Tabella 7- 94 Istruzione JMP_LIST

KOP / FUP , SCL Descrizione


CASE k OF L'istruzione JMP_LIST funge da distributore dei salti di programma per
0: GOTO dest0; controllare l'esecuzione delle parti del programma. Il salto all'etichetta di
1: GOTO dest1; programma corrispondente dipende dal valore dell'ingresso K.
2: GOTO dest2; L'esecuzione del programma continua con le istruzioni del programma
[n: GOTO destn;] successive all'etichetta di destinazione del salto. Se il valore
END_CASE; dell'ingresso K supera il numero di etichette - 1, non si verifica nessun
salto e l'elaborazione continua con il segmento di programma
successivo.

Tabella 7- 95 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


K UInt Valore di controllo del distributore di salti
DEST0, DEST1, .., Etichette di programma Etichette di destinazione del salto corrispondenti a valori del parametro K
DESTn. specifici:
se il valore di K è uguale a 0, allora si salta all'etichetta di programma
assegnata all'uscita DEST0. Se il valore di K è uguale a 1, allora si salta
all'etichetta di programma assegnata all'uscita DEST1, e così via. Se il
valore dell'ingresso K supera il (numero di etichette - 1), non si verifica
alcun salto e l'elaborazione continua con il segmento di programma
successivo.

Sistema di automazione S7-1200


260 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.8 Operazioni di controllo del programma

Per KOP e FUP: Quando il box JMP_LIST viene inserito nel programma, presenta due
uscite di etichette di salto. È possibile inserire o cancellare destinazioni di salto.
Fare clic su "Crea" all'interno del box (a sinistra dell'ultimo parametro DEST)
per inserire nuove uscite per le etichette di salto.

• Fare clic con il tasto destro del mouse sul connettore dell'uscita e
selezionare il comando "Inserisci uscita".
• Fare clic con il tasto destro del mouse sul connettore dell'uscita e
selezionare il comando "Cancella".

7.8.3 Istruzione SWITCH (Distributore di salto)

Tabella 7- 96 Istruzione SWITCH

KOP / FUP SCL Descrizione


Non disponibile L'istruzione SWITCH funge da distributore dei salti di programma
per controllare l'esecuzione delle parti del programma. A seconda
del risultato dei confronti tra il valore dell'ingresso K e i valori
assegnati agli ingressi di confronto specificati, si salta all'etichetta
di programma che corrisponde alla prima prova di confronto che
risulta essere vera. Se nessun confronto risulta essere vero, allora
si salta all'etichetta assegnata a ELSE. L'esecuzione del
programma continua con le istruzioni del programma successive
all'etichetta di destinazione del salto.
1 Per KOP e FUP: Fare clic sotto il nome del box e selezionare il tipo di dati nel menu a discesa.
2 Per SCL: Utilizzare un set di confronti IF-THEN.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 261
Istruzioni di base
7.8 Operazioni di controllo del programma

Tabella 7- 97 Tipi di dati per i parametri

Parametro Tipo di dati1 Descrizione


K SInt, Int, DInt, USInt, UInt, UDInt, Real, Ingresso di valore di confronto comune
LReal, Byte, Word, DWord, Time,
TOD, Date
==, <>, <, <=, >. >= SInt, Int, DInt, USInt, UInt, UDInt, Real, Ingressi di valori di confronto separati per tipi di confronto
LReal, Byte, Word, DWord, Time, specifici
TOD, Date
DEST0, DEST1, .., Etichette di programma Etichette di destinazione del salto corrispondenti a confronti
DESTn. ELSE specifici:
l'ingresso di confronto sotto e accanto all'ingresso K viene
elaborato per primo e provoca un salto all'etichetta
assegnata a DEST0, se il confronto tra il valore K e questo
ingresso è vero. La successiva prova di confronto utilizza
l'ingresso successivo sottostante e provoca il salto
all'etichetta assegnata a DEST1, se il confronto è vero. I
restanti confronti vengono elaborati allo stesso modo e se
nessun confronto risulta essere vero, allora si salta
all'etichetta assegnata a ELSE.
1 L'ingresso K e gli ingressi di confronto (==, <>, <, <=, >, >=) devono avere lo stesso tipo di dati.

Inserimento e cancellazione di ingressi e specifica dei tipi di confronto


La prima volta che il box SWITCH KOP e FUP viene inserito nel programma, presenta due
ingressi di confronto. È possibile assegnare tipi di confronto e inserire ingressi/destinazioni di
salto come illustrato di seguito.

Fare clic su un operatore di confronto all'interno del box e selezionare


un nuovo operatore dall'elenco a discesa.

Fare clic su "Crea" all'interno del box (a sinistra dell'ultimo parametro


DEST) per inserire nuovi parametri di confronto e destinazione.

• Fare clic con il tasto destro del mouse sul connettore dell'ingresso
e selezionare il comando "Inserisci ingresso".
• Fare clic con il tasto destro del mouse sul connettore dell'ingresso
e selezionare il comando "Cancella".

Sistema di automazione S7-1200


262 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.8 Operazioni di controllo del programma

Tabella 7- 98 Selezione del tipo di dati del box SWITCH e operazioni di confronto ammesse

Tipo di dati Confronto Sintassi dell'operatore


Byte, Word, DWord Uguale ==
Non uguale <>
SInt, Int, DInt, USInt, UInt, Uguale ==
UDInt, Real, LReal, Time, TOD, Non uguale <>
Date
Maggiore di o uguale >=
Minore di o uguale <=
Maggiore di >
Minore di <

Regole di inserimento del box SWITCH


● Non è ammesso alcun collegamento dell'istruzione KOP/FUP davanti all'ingresso di
confronto.
● Non è presente nessuna uscita ENO, quindi in un segmento è ammessa una sola
istruzione SWITCH e l'istruzione SWITCH deve essere l'ultima operazione di un
segmento.

7.8.4 Istruzione RET (Salta indietro)


L'istruzione RET è opzionale e consente di concludere l'esecuzione del blocco attuale. Se è
presente il flusso di corrente nella bobina RET (KOP) o se l'ingresso RET del box è vero
(FUP), l'esecuzione del blocco attuale termina in quel punto e le istruzioni successive a RET
non vengono eseguite. Se il blocco attuale è un OB, il parametro "Return_Value" viene
ignorato. Se il blocco attuale è un'FC o un FB, il valore del parametro "Return_Value" viene
restituito alla routine richiamante come valore ENO del box richiamato.
Non è necessario inserire l'istruzione RET per ultima nel blocco perché questa operazione
viene effettuata automaticamente. È possibile inserire più istruzioni RET nello stesso blocco.
Per SCL vedere l'istruzione RETURN (Pagina 279).

Tabella 7- 99 Istruzione Return_Value (RET) di controllo dell'esecuzione

KOP FUP SCL Descrizione


RETURN; Conclude l'esecuzione del blocco attuale

Tabella 7- 100 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


Return_Value Bool Il parametro "Return_value" dell'istruzione RET viene assegnato all'uscita ENO del
box di richiamo blocco contenuto nel blocco richiamante.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 263
Istruzioni di base
7.8 Operazioni di controllo del programma

Di seguito è illustrato un esempio di operazioni per l'utilizzo dell'istruzione RET in un blocco


di codice FC:
1. Creare un nuovo progetto e inserirvi un'FC
2. Modificare l'FC:
– Inserire istruzioni prelevandole dall'albero delle istruzioni.
– Inserire un'istruzione RET, specificando quanto segue per il parametro
"Return_Value":
Vero, falso o una locazione di memoria che specifichi il valore di ritorno richiesto.
– Inserire altre istruzioni.
3. Richiamare l'FC da MAIN [OB1].
Per avviare l'esecuzione dell'FC l''ingresso EN del box FC nel blocco di codice MAIN deve
essere vero.
Il valore specificato dall'istruzione RET nell'FC sarà presente nell'uscita ENO del box FC nel
blocco di codice MAIN che segue l'FC per la quale è vero il flusso di corrente verso
l'istruzione RET.

7.8.5 Istruzione ENDIS_PW (Limita e abilita autenticazione della password)

Tabella 7- 101 Istruzione ENDIS_PW

KOP / FUP SCL Descrizione


ENDIS_PW( L'istruzione ENDIS_PW consente di
req:=_bool_in_, abilitare o disabilitare i collegamenti del
f_pwd:=_bool_in_, client alla CPU S7-1200 anche quando il
full_pwd:=_bool_in_, client è in grado di fornire la password
r_pwd:=_bool_in_, corretta.
hmi_pwd:=_bool_in_, Questa istruzione non disabilita le
f_pwd_on=>_bool_out_, password del Web server.
full_pwd_on=>_bool_out_,
r_pwd_on=>_bool_out_,
hmi_pwd_on=>_bool_out_,

Tabella 7- 102 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool Esegue la funzione se REQ=1
F_PWD IN Bool Password failsafe: abilita (=1) o disabilita (=0)
FULL_PWD IN Bool Password di accesso completo: abilita (=1) o disabilita (=0)
R_PWD IN Bool Password di accesso in lettura: abilita (=1) o disabilita (=0)
HMI_PWD IN Bool Password HMI: abilita (=1) o disabilita (=0)
F_PWD_ON OUT Bool Stato della password failsafe: abilitata (=1) o disabilitata (=0)

Sistema di automazione S7-1200


264 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.8 Operazioni di controllo del programma

Parametro e tipo Tipo di dati Descrizione


FULL_PWD_ON OUT Bool Stato della password di accesso completo: abilitata (=1) o disabilitata (=0)
R_PWD_ON OUT Bool Stato della password di sola lettura: abilitata (=1) o disabilitata (=0)
HMI_PWD_ON OUT Bool Stato della password HMI: abilitata (=1) o disabilitata (=0)
Ret_Val OUT Word Risultato della funzione

Richiamando ENDIS_PW con REQ=1 si disabilitano i tipi di password nei quali il parametro
di ingresso per la password è FALSE. Ogni tipo di password può essere abilitato e
disabilitato separatamente. Ad esempio, abilitando la password fail safe e disabilitando le
altre, si può limitare l'accesso alla CPU a un gruppo ristretto di persone.
ENDIS_PW viene eseguita in modo sincrono in un ciclo del programma e i parametri di
uscita della password indicano sempre lo stato attuale di abilitazione della password, a
prescindere dal REQ del parametro di ingresso. Tutte le password abilitate devono poter
essere reimpostate su abilitata/disabilitata. In caso contrario viene restituito un messaggio di
errore e vengono abilitate tutte le password che lo erano prima dell'esecuzione di
ENDIS_PW. Ciò significa che in una CPU standard (dove la password failsafe non è
configurata) F_PWD deve sempre essere impostato a 1 per ottenere un valore di ritorno di 0.
In questo casoF_PWD_ON è sempre 1.

Nota
• Se la password HMI è disabilitata l'esecuzione di ENDIS_PW può bloccare l'accesso dei
dispositivi HMI.
• Le sessioni del client che erano state autorizzate prima dell'esecuzione di ENDIS_PW
non vengono modificate dall'istruzione.

Dopo l'avviamento l'accesso alla CPU è limitato da password precedentemente definite nella
configurazione della protezione della CPU. La possibilità di disabilitare una password valida
deve essere ristabilita eseguendo nuovamente ENDIS_PW. Tuttavia, se si esegue
immediatamente ENDIS_PW e si disabilitano password necessarie, è possibile che
l'accesso al TIA Portal venga bloccato. Esiste la possibilità di utilizzare un'istruzione di
temporizzazione per ritardare l'esecuzione di ENDIS_PW dando così il tempo di inserire le
password prima che vengano disabilitate.

Nota
Ripristino di una CPU che blocca la comunicazione con il TIA Portal
Per maggiori dettagli sulle modalità di cancellazione della memoria di caricamento interna di
un PLC utilizzando una memory card consultare l'argomento sul recupero di una password
persa (Pagina 139).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 265
Istruzioni di base
7.8 Operazioni di controllo del programma

Il passaggio al modo di funzionamento STOP provocato da errori, dall'esecuzione di STP o


da STEP 7 non elimina la protezione. La protezione è valida fino a quando si riavvia la CPU.
Vedere la tabella seguente per i dettagli.

Azione Modo di funzionamento Controllo password con


ENDIS_PW
Dopo il reset della memoria da STOP Attiva: le password disabilitate
STEP 7 rimangono tali.
Dopo l'avviamento o la STOP Off: le password non vengono
sostituzione di una memory card disabilitate.
Dopo l'esecuzione di STARTUP, RUN Attiva: le password vengono
ENDIS_PW in un OB di ciclo del disabiltate secondo i parametri
programma o di avvio ENDIS_PW.
Dopo il passaggio del modo di STOP Attiva: le password disabilitate
funzionamento da RUN o rimangono tali.
STARTUP a STOP causato
dall'istruzione STP, da un errore
o da STEP 7

Nota
Livelli di accesso alla CPU protetti da password sicure. Le password con livello di sicurezza
elevato contengono almeno otto caratteri, lettere diverse, numeri e caratteri speciali, non
corrispondono a parole del dizionario, né a nomi o identificatori che possono essere dedotti
dai dati personali dell'utente. Tenere la password segreta e cambiarla spesso.

Tabella 7- 103 Codici delle condizioni di errore

RET_VAL Descrizione
(W#16#...)
0000 Nessun errore
80D0 La password failsafe non è configurata.
80D1 La password per l'accesso in lettura/scrittura non è configurata.
80D2 La password per l'accesso in lettura non è configurata.
80D3 La password per l'accesso HMI non è configurata.

Sistema di automazione S7-1200


266 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.8 Operazioni di controllo del programma

7.8.6 Istruzione RE_TRIGR (Riavvia tempo di controllo del ciclo)

Tabella 7- 104 Istruzione RE_TRIGR

KOP / FUP SCL Descrizione


RE_TRIGR(); RE_TRIGR (Riavvia watchdog del tempo di ciclo) consente di aumentare il
tempo massimo che può trascorrere prima che il temporizzatore di controllo del
tempo di ciclo generi un errore.

L'istruzione RE_TRIGR consente di riavviare il temporizzatore del tempo di ciclo durante un


singolo ciclo. In questo modo il tempo di ciclo massimo consentito viene aumentato di un
tempo di ciclo massimo a partire dall'ultima esecuzione della funzione RE_TRIGR.

Nota
Prima della CPU versione firmware 2.2 dell'S7-1200, RE_TRIGR era limitata all'esecuzione
da un OB di ciclo del programma e poteva essere utilizzata per aumentare all'infinito il tempo
di ciclo del PLC. ENO = falso e il temporizzatore di controllo del tempo di ciclo non viene
resettato quando RE_TRIGR viene eseguita da un OB di avvio, un OB di allarme o un OB di
errore.
Dalla versione firmware 2.2 in poi, RE_TRIGR può essere eseguita da un qualsiasi OB
(compreso OB di avvio, di allarme e di errore). Tuttavia, la scansione del PLC può essere
aumentata solo di un massimo di 10 volte il tempo di ciclo massimo configurato.

Impostazione del tempo di ciclo massimo del PLC


Il valore del tempo del ciclo massimo può essere configurato con "Tempo di ciclo" nella
finestra Configurazione dispositivi.

Tabella 7- 105 Valori del tempo di ciclo

Controllo del tempo di Valore minimo Valore massimo Valore di default


ciclo
Tempo di ciclo 1 ms 6000 ms 150 ms
massimo

Timeout del watchdog


Se il temporizzatore di controllo del tempo di ciclo raggiunge il suo valore prima che sia
terminato il ciclo di scansione, viene generato un errore. Se il programma utente contiene un
OB di allarme di errore temporale (OB 80) la CPU esegue l'OB, che può comprendere la
logica di programma per generare una reazione speciale.
Se il programma utente non contiene un OB di allarme di errore temporale, la prima
condizione di timeout viene ignorata e la CPU resta in RUN. Se si verifica un secondo
timeout del tempo di ciclo massimo durante lo stesso ciclo di programma (il doppio del
valore di tempo di ciclo massimo), viene attivato un errore che commuta la CPU in STOP.
In STOP l'esecuzione del programma si arresta mentre la comunicazione e la diagnostica di
sistema della CPU restano attive.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 267
Istruzioni di base
7.8 Operazioni di controllo del programma

7.8.7 Istruzione STP (Chiudi programma)

Tabella 7- 106 Istruzione STP

KOP / FUP SCL Descrizione


STP(); STP porta la CPU in STOP. Quando la CPU è in STOP, l'esecuzione del
programma e gli aggiornamenti fisici dell'immagine di processo si arrestano.

Per maggiori informazioni vedere: Configurazione delle uscite in caso di commutazione da


RUN a STOP (Pagina 105).
Se EN = vero, la CPU passa in STOP, l'esecuzione del programma si arresta e lo stato di
ENO diventa non rilevante. Negli altri casi EN = ENO = 0.

7.8.8 Istruzioni GET_ERROR e GET_ERROR_ID (Interroga errori e ID di errore


localmente)
Le istruzioni di lettura degli errori forniscono informazioni sugli errori di esecuzione dei
blocchi di programma. Se si inserisce un'istruzione GET_ERROR o GET_ERROR_ID è
possibile gestire gli errori del programma all'interno del blocco.

GET_ERROR

Tabella 7- 107 Istruzione GET_ERROR

KOP / FUP SCL Descrizione


GET_ERROR(_out_); Indica che si è verificato un errore di esecuzione di un blocco di
programma locale e inserisce informazioni dettagliate sull'errore in
una struttura di dati di errore predefinita.

Tabella 7- 108 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


ERROR ErrorStruct Struttura dei dati dell'errore: È possibile modificare il nome della
struttura ma non quello dei suoi membri.

Tabella 7- 109 Elementi della struttura di dati ErrorStruct

Componenti della struttura Tipo di dati Descrizione


ERROR_ID Word ID dell'errore
FLAGS Byte Mostra se si è verificato un errore durante il richiamo di un blocco.
• 16#01: errore durante il richiamo di un blocco.
• 16#00: nessun errore durante il richiamo di un blocco.

Sistema di automazione S7-1200


268 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.8 Operazioni di controllo del programma

Componenti della struttura Tipo di dati Descrizione


REACTION Byte Reazione predefinita:
• 0: Ignora (scrivi errore),
• 1: Continua con valore sostitutivo "0" (leggi errore),
• 2: Salta istruzione (errore di sistema)
CODE_ADDRESS CREF Informazioni sull'indirizzo e il tipo di blocco
BLOCK_TYPE Byte Tipo di blocco in cui si è verificato l'errore:
• 1: OB
• 2: FC
• 3: FB
CB_NUMBER UInt Numero del blocco di codice
OFFSET UDInt Riferimento alla memoria interna
MODE Byte Modalità di accesso: a seconda del tipo di accesso, possono essere
fornite le informazioni seguenti:
Modo (A) (B) (C) (D) (E)
0
1 Offset
2 Area
3 Punto di Campo Numero
applicazi d'azione
one
4 Area Offset
5 Area N° DB Offset
6 N° porta Area N° DB Offset
/Acc
7 N° porta N° slot / Area N° DB Offset
/Acc Campo
OPERAND_NUMBER UInt Numero operando del comando della macchina
POINTER_NUMBER_ UInt (A) Puntatore interno
LOCATION
SLOT_NUMBER_SCOPE UInt (B) Area di memorizzazione nella memoria interna
DATA_ADDRESS NREF Informazioni sull'indirizzo di un operando
AREA Byte (C) Area di memoria:
• L: 16#40 – 4E, 86, 87, 8E, 8F, C0 – CE
• I: 16#81
• Q: 16#82
• M: 16#83
• DB: 16#84, 85, 8A, 8B
DB_NUMBER UInt (D) Numero del blocco dati
OFFSET UDInt (E) Indirizzo relativo dell'operando

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 269
Istruzioni di base
7.8 Operazioni di controllo del programma

GET_ERROR_ID

Tabella 7- 110 Istruzione GetErrorID

KOP / FUP SCL Descrizione


GET_ERR_ID(); Indica che si è verificato un errore di esecuzione di un blocco di
programma e ne specifica l'ID (codice identificativo).

Tabella 7- 111 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


ID Word valori dell'ID dell'errore per il membro ERROR_ID di ErrorStruct

Tabella 7- 112 Valori Error_ID

ERROR_ID ERROR_ID decimale Errore di esecuzione del blocco di programma


esadecimale
0 0 Nessun errore
2520 9504 Stringa danneggiata
2522 9506 Errore di lettura di operando fuori campo
2523 9507 Errore di scrittura di operando fuori campo
2524 9508 Errore di lettura di un'area non valida
2525 9509 Errore di scrittura di un'area non valida
2528 9512 Errore di lettura dell'allineamento dei dati (allineamento errato dei bit)
2529 9513 Errore di scrittura dell'allineamento dei dati (allineamento errato dei bit)
252C 9516 Errore di puntatore non inizializzato
2530 9520 DB protetto dalla scrittura
253A 9530 DB globale non presente
253C 9532 Versione errata o FC non presente
253D 9533 Istruzione non presente
253E 9534 Versione errata o FB non presente
253F 9535 Istruzione non presente
2575 9589 Errore di profondità di annidamento del programma
2576 9590 Errore di assegnazione dei dati locali
2942 10562 Ingresso fisico non presente
2943 10563 Uscita fisica non presente

Sistema di automazione S7-1200


270 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.8 Operazioni di controllo del programma

Funzionamento
Per default la CPU reagisce all'errore di esecuzione di un blocco registrando un errore nel
buffer di diagnostica. Se tuttavia si inseriscono una o più istruzioni GET_ERROR o
GET_ERROR_ID all'interno di un blocco di codice, si fa in modo che questo gestisca gli
errori al suo interno. In questo caso la CPU non registra l'errore nel buffer di diagnostica. Le
informazioni di errore vengono invece riportate nell'uscita dell'istruzione GET_ERROR o
GET_ERROR_ID. Si può scegliere se leggere tutte le informazioni di errore con l'istruzione
GET_ERROR o se leggere solo l'ID dell'errore con l'istruzione GET_ERROR_ID.
Generalmente il primo errore è quello più importante mentre quelli successivi sono una sua
conseguenza.
La prima esecuzione di un'istruzione GET_ERROR o GET_ERROR_ID all'interno di un
blocco restituisce il primo errore rilevato durante l'esecuzione del blocco. Questo errore
avrebbe potuto verificarsi in qualsiasi momento tra l'inizio del blocco e l'esecuzione di
GET_ERROR o GET_ERROR_ID. Le esecuzioni successive di GET_ERROR o
GET_ERROR_ID restituiscono il primo errore successivo alla loro precedente esecuzione.
La cronologia degli errori non viene salvata e l'esecuzione di un'istruzione riabilita il sistema
PLC al rilevamento dell'errore successivo.
Il tipo di dati ErrorStruct utilizzato dall'istruzione GET_ERROR può essere aggiunto
nell'editor di blocchi dati e negli editor di interfaccia dei blocchi in modo da consentire alla
logica del programma di accedere ai valori di questo tipo. Per aggiungere questa struttura,
selezionare ErrorStruct nell'elenco a discesa dei tipi di dati. È possibile creare più elementi
ErrorStruct definendoli con nomi univoci. I membri di un ErrorStruct non possono essere
rinominati.

Condizione di errore indicata da ENO


Se EN = vero e viene eseguita GET_ERROR o GET_ERROR_ID, allora:
● ENO = vero indica che si è verificato un errore di esecuzione del blocco di codice e che
sono presenti dati di errore
● ENO = falso indica che non si è verificato alcun errore di esecuzione del blocco di codice
È possibile collegare a ENO della logica di programma che reagisca all'errore; ENO si
attiverà dopo che si è verificato un errore. Se è presente un errore il parametro di uscita ne
salva i dati in un punto a cui il programma può accedere.
GET_ERROR e GET_ERROR_ID possono essere utilizzate per trasmettere informazioni di
errore dal blocco in esecuzione (blocco richiamato) al blocco richiamante Inserire l'istruzione
nell'ultimo segmento del blocco richiamato in modo che ne rilevi lo stato di esecuzione finale.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 271
Istruzioni di base
7.8 Operazioni di controllo del programma

7.8.9 Istruzioni di controllo del programma per SCL

7.8.9.1 Panoramica delle istruzioni di controllo del programma per SCL


Structured Control Language (SCL) fornisce tre tipi di istruzioni di controllo del programma
per strutturare il programma utente:
● Istruzioni selettive: un'istruzione selettiva consente di dirigere l'esecuzione del
programma in sequenze di istruzioni alternate.
● Loop: l'esecuzione del loop è controllata mediante istruzioni di iterazione. Un'istruzione di
iterazione specifica quali parti di un programma debbano essere iterate a seconda di
certe condizioni.
● Salti di programma: un salto di programma significa un salto diretto ad una destinazione
specificata e quindi ad un'istruzione diversa all'interno dello stesso blocco.
Queste istruzioni di controllo del programma utilizzano la sintassi del linguaggio di
programmazione PASCAL.

Tabella 7- 113 Tipi di istruzioni di controllo del programma per SCL

Istruzione di controllo del programma Descrizione


Selettiva Istruzione IF-THEN Consente di dirigere l'esecuzione del programma in uno dei due rami
(Pagina 273) alternati a seconda che la condizione sia vera o falsa
Istruzione CASE Consente l'esecuzione selettiva in 1 dei rami alternati n in base al
(Pagina 274) valore di una variabile
Loop Istruzione FOR Ripete una sequenza di istruzioni per tutto il tempo in cui la variabile di
(Pagina 275) controllo rimane entro il campo di valori specificato
Istruzione WHILE-DO Ripete una sequenza di istruzioni mentre una condizione di esecuzione
(Pagina 276) continua ad essere soddisfatta
Istruzione REPEAT- Ripete una sequenza di istruzioni fino a che viene soddisfatta una
UNTIL (Pagina 277) condizione di conclusione
Salto di programma Istruzione CONTINUE Interrompe l'esecuzione di un'iterazione di loop corrente
(Pagina 278)
Istruzione EXIT Esce da un loop in qualsiasi punto indipendentemente dal fatto che la
(Pagina 278) condizione di conclusione sia soddisfatta o meno
Istruzione GOTO Fa sì che il programma salti immediatamente ad un'etichetta specificata
(Pagina 279)
Istruzione RETURN Fa sì che il programma esca dal blocco attualmente in esecuzione e
(Pagina 279) ritorni al blocco richiamante

Sistema di automazione S7-1200


272 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.8 Operazioni di controllo del programma

7.8.9.2 Istruzione IF-THEN


L'istruzione IF_THEN è un'istruzione condizionale che controlla il flusso di programma
eseguendo un gruppo di istruzioni in base alla valutazione di un valore Bool di
un'espressione logica. Per annidare o strutturare l'esecuzione di più istruzioni IF-THEN è
possibile utilizzare anche delle parentesi.

Tabella 7- 114 Elementi dell'istruzione IF-THEN

SCL Descrizione
IF "condition" THEN Se la "condition" è vera o 1, allora esegue le istruzioni seguenti fino
statement_A; all'istruzione END-IF.
statement_B; Se la "condition" è falsa o 0, allora salta all'istruzione END_IF (a meno il
statement_C; programma non comprenda istruzioni ELSIF o ELSE opzionali).
;
[ELSIF "condition-n" THEN L'istruzione opzionale ELSEIF1 fornisce condizioni supplementari da
statement_N; valutare. Ad esempio: se la "condition" nell'istruzione IF-THEN è falsa,
;] allora il programma valuta "condition-n". Se la "condition-n" è vera, allora
esegue "statement_N".
[ELSE L'istruzione opzionale ELSE fornisce delle istruzioni da eseguire quando la
statement_X; "condition" dell'istruzione IF-THEN è falsa.
;]
END_IF; L'istruzione END_IF conclude l'istruzione IF-THEN.
1 All'interno di un'istruzione IF-THEN è possibile comprendere più istruzioni ELSIF.

Tabella 7- 115 Variabili dell'istruzione IF-THEN

Variabili Descrizione
"condition" Richiesta. L'espressione logica è vera (1) o falsa (0).
"statement_A" Opzionale. Una o più istruzioni da eseguire quando la "condition" è vera.
"condition-n" Opzionale. L'espressione logica da valutare dall'istruzione ELSIF opzionale.
"statement_N" Opzionale. Una o più istruzioni da eseguire quando la "condition-n" dell'istruzione ELSIF è
vera.
"statement_X" Opzionale. Una o più istruzioni da eseguire quando la "condition" dell'istruzione IF-THEN è
falsa.

Un'istruzione IF viene eseguita nel rispetto delle regole seguenti:


● Viene eseguita la prima sequenza di istruzioni la cui espressione logica = vera. Le
sequenze di istruzioni restanti non vengono eseguite.
● Se nessuna espressione booleana = vera, viene eseguita la sequenza di istruzioni
presentate da ELSE (oppure nessuna sequenza di istruzioni se il ramo ELSE non esiste).
● Le istruzioni ELSIF possono esistere in qualsiasi numero.

Nota
L'utilizzo di uno o più rami ELSIF ha il vantaggio che le espressioni logiche che seguono
un'espressione valida non vengono più valutate in contrasto con una sequenza di
istruzioni IF. Il runtime di un programma può quindi essere ridotto.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 273
Istruzioni di base
7.8 Operazioni di controllo del programma

7.8.9.3 Istruzione CASE

Tabella 7- 116 Elementi dell'istruzione CASE

SCL Descrizione
CASE "Test_Value" OF L'istruzione CASE esegue uno dei diversi
"ValueList": Statement[; Statement, ...] gruppi di istruzioni a seconda del valore di
"ValueList": Statement[; Statement, ...] un'espressione.
[ELSE
Else-statement[; Else-statement, ...]]
END_CASE;

Tabella 7- 117 Parametri

Parametro Descrizione
"Test_Value" Richiesto. Qualsiasi espressione numerica del tipo di dati Int
"ValueList" Richiesto. Un valore unico o un elenco di valori separati da una virgola o campi di valori.
(Usare due punti per definire un campo di valori: 2..8) L'esempio seguente illustra le diverse
versioni dell'elenco di valori:
1: Statement_A;
2, 4: Statement _B;
3, 5..7,9: Statement _C;
Statement Richiesto. Una o più istruzioni che vengono eseguite quando il "Test_Value" corrisponde a
qualsiasi valore nell'elenco di valori
Else-statement Opzionale. Una o più istruzioni che vengono eseguite se non c'è corrispondenza con un
valore delle corrispondenze indicate nel "ValueList"

Un'istruzione CASE viene eseguita nel rispetto delle seguenti regole:


● L'espressione Test_value deve restituire un valore del tipo Int.
● Quando viene elaborata un'istruzione CASE, il programma verifica se il valore
dell'espressione Test_value è contenuto all'interno di un elenco di valori specificato. Se
non viene trovata alcuna corrispondenza, viene eseguito il componente dell'istruzione
assegnato all'elenco.
● Se non viene trovata alcuna corrispondenza, viene eseguita la parte di programma
successiva a ELSE oppure, se il ramo ELSE non esiste non viene eseguita nessuna
istruzione.

Sistema di automazione S7-1200


274 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.8 Operazioni di controllo del programma

Le istruzioni CASE possono essere annidate. Ogni istruzione CASE annidata deve avere
un'istruzione END_CASE associata.

CASE "var1" OF
1 : #var2 := 'A';
2 : #var2 := 'B';
ELSE
CASE "var3" OF

65..90: #var2 := 'UpperCase';


97..122: #var2 := 'LowerCase';
ELSE

#var2:= 'SpecialCharacter';
END_CASE;
END_CASE;

7.8.9.4 Istruzione FOR

Tabella 7- 118 Elementi dell'istruzione FOR

SCL Descrizione
FOR "control_variable" := "begin" TO "end" L'istruzione FOR viene utilizzata per ripetere una
[BY "increment"] DO sequenza di istruzioni fin tanto che la variabile di
statement; controllo si trova entro il campo di valori
; specificato. La definizione di un loop con FOR
END_FOR; comprende la specifica di un valore iniziale e uno
finale. Entrambi i valori devono essere dello
stesso tipo della variabile di controllo.
I loop FOR possono essere annidati. L'istruzione
END_FOR si riferisce all'ultima istruzione FOR
eseguita.

Tabella 7- 119 Parametri

Parametro Descrizione
"control_variable" Richiesto. Un numero intero (Int o DInt) che funge da contatore loop
"begin" Richiesto. Espressione semplice che specifica il valore iniziale delle variabili di controllo
"end" Richiesto. Espressione semplice che determina il valore finale delle variabili di controllo
"increment" Opzionale. Variazione di una "control_variable" dopo ogni loop. "increment" ha lo stesso tipo
di dati di "control_variable". Se il valore di "increment" non è specificato, il valore delle
variabili verrà incrementato di 1 dopo ogni loop. "increment" non può essere modificato
durante l'esecuzione dell'istruzione FOR.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 275
Istruzioni di base
7.8 Operazioni di controllo del programma

L'istruzione FOR esegue quanto segue:


● All'inizio del loop la variabile di controllo viene impostata sul valore iniziale (assegnazione
iniziale), che ad ogni iterazione del loop viene aumentato dell'incremento specificato
(incremento positivo) o ridotto (incremento negativo) fino a raggiungere il valore finale.
● Dopo ogni loop viene verificata la condizione (valore finale raggiunto) per stabilire se è
stata o meno soddisfatta. Se la condizione di fine non viene soddisfatta la sequenza delle
istruzioni viene ripetuta, altrimenti il loop termina e l'esecuzione continua con l'istruzione
successiva al loop.
Regole per la formulazione delle istruzioni FOR:
● La variabile di controllo può essere solo dei tipo di dati Int o DInt.
● L'istruzione BY [incremento] può essere omessa. Se non è specificato nessun
incremento, si presume automaticamente che sia +1.
Per concludere il loop indipendentemente dallo stato dell'espressione "condition", utilizzare
Istruzione EXIT (Pagina 278). L'istruzione EXIT esegue l'istruzione immediatamente dopo
l'istruzione END_FOR.
Utilizzare l'istruzione Istruzione CONTINUE (Pagina 278) per saltare le istruzioni successive
di un loop FOR e continuare il loop verificando se la condizione per la conclusione è
soddisfatta.

7.8.9.5 Istruzione WHILE-DO

Tabella 7- 120 Istruzione WHILE

SCL Descrizione
WHILE "condition" DO L'istruzione WHILE esegue una serie di istruzioni finché una data condizione risulta
Statement; vera.
Statement; I loop WHILE possono essere annidati. L'istruzione END_WHILE si riferisce all'ultima
...; istruzione WHILE eseguita.
END_WHILE;

Tabella 7- 121 Parametri

Parametro Descrizione
"condition" Richiesto. Un'espressione logica che risulta vera o falsa. (Una condizione "null" è interpretata
come falsa).
Statement Opzionale. Una o più istruzioni che sono eseguite fino a che la condizione risulta vera.

Nota
L'istruzione WHILE valuta lo stato della "condition" prima di eseguire qualsiasi istruzione. Per
eseguire le istruzioni almeno una volta indipendentemente dallo stato della "condition",
utilizzare l'istruzione REPEAT (Pagina 277).

Sistema di automazione S7-1200


276 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.8 Operazioni di controllo del programma

Un'istruzione WHILE viene eseguita nel rispetto delle regole seguenti:


● La condizione di esecuzione viene valutata prima di ogni iterazione del corpo del loop.
● Il corpo del loop in seguito a DO si ripete finché la condizione di esecuzione risulta vera.
● Se risulta falsa, il loop viene saltato e viene eseguita l'istruzione successiva al loop.
Per concludere il loop indipendentemente dallo stato dell'espressione "condition", utilizzare
Istruzione EXIT (Pagina 278). L'istruzione EXIT esegue l'istruzione immediatamente dopo
l'istruzione END_WHILE.
Utilizzare l'istruzione CONTINUE per saltare le istruzioni successive di un loop WHILE e
continuare il loop verificando se la condizione per la conclusione è soddisfatta.

7.8.9.6 Istruzione REPEAT-UNTIL

Tabella 7- 122 Istruzione REPEAT

SCL Descrizione
REPEAT L'istruzione REPEAT esegue un gruppo di istruzioni finché una data condizione risulta
Statement; vera.
; I loop REPEAT possono essere annidati. L'istruzione END_REPEAT si riferisce sempre
UNTIL "condition" all'ultima istruzione REPEAT eseguita.
END_REPEAT;

Tabella 7- 123 Parametri

Parametro Descrizione
Statement Opzionale. Una o più istruzioni che sono eseguite fino a che la condizione risulta vera.
"condition" Richiesto. Una o più espressioni dei due modi seguenti: un'espressione numerica o
un'espressione di stringa che risulta vera o falsa. Una condizione "null" è interpretata come
falsa.

Nota
Prima di valutare lo stato della "condition", l'istruzione REPEAT esegue le istruzioni nella
prima iterazione del loop (anche se la "condition" è falsa). Per rivedere lo stato della
"condition" prima dell'esecuzione delle istruzioni, utilizzare l'istruzione WHILE (Pagina 276).

Per concludere il loop indipendentemente dallo stato dell'espressione "condition", utilizzare


Istruzione EXIT (Pagina 278). L'istruzione EXIT esegue l'istruzione immediatamente dopo
l'istruzione END_REPEAT.
Utilizzare l'istruzione Istruzione CONTINUE (Pagina 278) per saltare le istruzioni successive
di un loop REPEAT e continuare il loop verificando se la condizione per la conclusione è
soddisfatta.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 277
Istruzioni di base
7.8 Operazioni di controllo del programma

7.8.9.7 Istruzione CONTINUE

Tabella 7- 124 Istruzione CONTINUE

SCL Descrizione
CONTINUE L'istruzione CONTINUE salta le istruzioni successive di un loop di programma (FOR,
Statement; WHILE, REPEAT) e continua il loop verificando se la condizione per la conclusione è
; soddisfatta. In caso contrario, il loop continua.

Un'istruzione CONTINUE viene eseguita nel rispetto delle regole seguenti:


● Questa istruzione conclude immediatamente l'esecuzione del corpo di un loop.
● A seconda che la condizione di ripetizione del loop sia soddisfatta o meno, il corpo viene
eseguito ancora oppure l'istruzione di iterazione viene abbandonata e viene eseguita
l'istruzione immediatamente successiva.
● In un'istruzione FOR la variabile di controllo viene aumentata dell'incremento specificato
immediatamente dopo un'istruzione CONTINUE.
Utilizzare l'istruzione CONTINUE solo all'interno di un loop. Nei loop CONTINUE annidati si
fa sempre riferimento al loop che la comprende immediatamente. CONTINUE viene
generalmente utilizzata insieme ad un'istruzione IF.
Se il loop deve essere abbandonato indipendentemente dal test di conclusione, utilizzare
l'istruzione EXIT.
L'esempio seguente illustra l'uso dell'istruzione CONTINUE per evitare un errore di divisione
per 0 durante il calcolo della percentuale di un valore:
FOR i := 0 TO 10 DO
IF value[i] = 0 THEN CONTINUE; END_IF;
p := part / value[i] * 100;
s := INT_TO_STRING(p);
percent := CONCAT(IN1:=s, IN2:="%");
END_FOR;

7.8.9.8 Istruzione EXIT

Tabella 7- 125 Istruzione EXIT

SCL Descrizione
EXIT; L'istruzione EXIT viene utilizzata per uscire da un loop (FOR, WHILE o REPEAT) in qualsiasi punto,
indipendentemente dal fatto che la condizione di conclusione sia soddisfatta o meno.

Un'istruzione EXIT viene eseguita nel rispetto delle regole seguenti:


● Questa istruzione fa sì che l'istruzione di ripetizione che circonda direttamente l'istruzione
di uscita sia abbandonata immediatamente.
● L'esecuzione del programma continua dopo la fine del loop (ad esempio dopo
END_FOR).

Sistema di automazione S7-1200


278 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.8 Operazioni di controllo del programma

Utilizzare l'istruzione EXIT all'interno di un loop. Nei loop annidati, l'istruzione EXIT fa sì che
l'elaborazione ritorni al successivo livello di annidamento superiore.
FOR i := 0 TO 10 DO
CASE value[i, 0] OF
1..10: value [i, 1]:="A";
11..40: value [i, 1]:="B";
41..100: value [i, 1]:="C";
ELSE
EXIT;
END_CASE;
END_FOR;

7.8.9.9 Istruzione GOTO

Tabella 7- 126 Istruzione GOTO

SCL Descrizione
GOTO JumpLabel; L'istruzione GOTO salta le istruzioni passando ad un'etichetta nello stesso blocco.
Statement; L'etichetta di salto ("JumpLabel") e l'istruzione GOTO devono trovarsi nello stesso
... ; blocco. Il nome di un'etichetta di salto può essere assegnato solo una volta
JumpLabel: Statement; all'interno di un blocco. Ogni etichetta di salto può essere la destinazione di diverse
istruzioni GOTO.

Non è possibile saltare ad una parte di loop (FOR, WHILE o REPEAT), mentre è possibile
saltare dall'interno di un loop.
Nell'esempio seguente a seconda del valore dell'operando "Tag_value" l'esecuzione del
programma riprende nel punto definito dalla relativa etichetta di salto. Se "Tag_value" = 2,
l'esecuzione del programma riprende nell'etichetta di salto "MyLabel2" e salta "MyLabel1".
CASE "Tag_value" OF
1 : GOTO MyLabel1;
2 : GOTO MyLabel2;
ELSE GOTO MyLabel3;
END_CASE;
MyLabel1: "Tag_1" := 1;
MyLabel2: "Tag_2" := 1;
MyLabel3: "Tag_4" := 1;

7.8.9.10 Istruzione RETURN

Tabella 7- 127 Istruzione RETURN

SCL Descrizione
RETURN; L'istruzione RETURN esce dal blocco di codice in esecuzione senza condizioni. L'esecuzione del
programma ritorna al blocco richiamante o al sistema operativo (quando si esce da un OB).

Esempio di istruzione RETURN:


IF "Errore" <> 0 THEN
RETURN;
END_IF;

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 279
Istruzioni di base
7.9 Combinazioni logiche a parola

Nota
Dopo aver eseguito l'ultima istruzione, il blocco di codice ritorna automaticamente al blocco
richiamante. Non inserire un'istruzione RETURN al termine del blocco di codice.

7.9 Combinazioni logiche a parola

7.9.1 Istruzioni delle operazioni logiche AND, OR e XOR

Tabella 7- 128 Istruzioni delle operazioni logiche AND, OR e XOR

KOP / FUP SCL Descrizione


out := in1 AND in2; AND: AND logico

out := in1 OR in2; OR: OR logico


out := in1 XOR in2; XOR: OR esclusivo logico

1 Per KOP e FUP: fare clic su "???" e selezionare un tipo di dati nel menu a discesa.

Per aggiungere un ingresso, fare clic su "Crea" oppure fare clic con il tasto destro
del mouse sul connettore dell'ingresso di uno dei parametri IN disponibili e
selezionare il comando "Inserisci ingresso".
Per eliminare un ingresso, fare clic con il tasto destro del mouse sul connettore dell'ingresso
di uno dei parametri IN (se sono presenti più ingressi oltre ai due originali) disponibili e
selezionare il comando "Cancella".

Tabella 7- 129 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


IN1, IN2 Byte, Word, DWord Ingressi logici
OUT Byte, Word, DWord Uscita logica
1 I parametri IN1, IN2 e OUT vengono impostati tutti sul tipo di dati selezionato.

I corrispondenti valori di bit di IN1 e IN2 vengono combinati logicamente per generare un
risultato logico booleano nel parametro OUT. Dopo l'esecuzione di queste istruzioni ENO è
sempre vero.

Sistema di automazione S7-1200


280 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.9 Combinazioni logiche a parola

7.9.2 Istruzione INV (Crea complemento a uno)

Tabella 7- 130 Istruzione INV

KOP / FUP SCL Descrizione


Non disponibile Calcola il complemento a uno del parametro IN invertendo i valori dei
singoli bit del parametro IN (modificando gli 0 in 1 e gli 1 in 0). Dopo
l'esecuzione dell'istruzione ENO è sempre vero.

1 Per KOP e FUP: fare clic su "???" e selezionare un tipo di dati nel menu a discesa.

Tabella 7- 131 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


IN SInt, Int, DInt, USInt, UInt, UDInt, Byte, Word, DWord Elemento di dati da invertire
OUT SInt, Int, DInt, USInt, UInt, UDInt, Byte, Word, DWord Uscita negata

7.9.3 Istruzioni DECO (Decodifica) e ENCO (Codifica)

Tabella 7- 132 Istruzione ENCO e DECO

KOP / FUP SCL Descrizione

out := ENCO(_in_); Codifica un pattern di bit in un numero binario


L'istruzione ENCO converte il parametro IN nel numero binario
corrispondente alla posizione del bit impostato meno significativo
del parametro IN e restituisce il risultato nel parametro OUT. Se il
parametro IN è 0000 0001 o 0000 0000, viene restituito in OUT il
valore 0. Se il valore del parametro IN è 0000 0000, ENO viene
impostato su falso.
out := DECO(_in_); Decodifica un numero binario in un pattern di bit
L'istruzione DECO decodifica il numero binario fornito dal
parametro IN impostando a 1 la corrispondente posizione di bit
nel parametro OUT (gli altri bit vengono impostati a 0). Dopo
l'esecuzione dell'istruzione DECO ENO è sempre vero.
Nota: Il tipo di dati di default per l'istruzione DECO è DWORD. In
SCL, cambiare il nome dell'istruzione in DECO_BYTE o
DECO_WORD per decodificare un valore di byte o di parola, e
assegnare scheda o indirizzo a un byte o parola.
1 Per KOP e FUP: fare clic su "???" e selezionare un tipo di dati nel menu a discesa.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 281
Istruzioni di base
7.9 Combinazioni logiche a parola

Tabella 7- 133 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


IN ENCO: Byte, Word, DWord ENCO: pattern di bit da codificare
DECO: UInt DECO: valore da decodificare
OUT ENCO: Int ENCO: valore codificato
DECO: Byte, Word, DWord DECO: pattern di bit decodificato

Tabella 7- 134 Stato di ENO

ENO Condizione Risultato (OUT)


1 Nessun errore Numero di bit valido
0 IN è zero OUT viene impostato a zero

Il tipo di dati del parametro OUT dell'istruzione DECO, che può essere Byte, Word o DWord,
limita il campo utile del parametro IN. Se il valore del parametro IN è maggiore del campo
utile, viene eseguita un'operazione "Modulo" per estrarre i bit meno significativi sotto indicati.
Campo del parametro IN di DECO:
● Vengono utilizzati 3 bit (valori 0-7) IN per impostare 1 posizione di bit in un Byte OUT
● Vengono utilizzati 4 bit (valori 0-15) IN per impostare 1 posizione di bit in un Word OUT
● Vengono utilizzati 5 bit (valori 0-31) IN per impostare 1 posizione di bit in un DWord OUT

Tabella 7- 135 Esempi

Valore IN di DECO Valore OUT di DECO (decodifica di una posizione di bit)


Byte OUT Min. IN 0 00000001
8 bit Max. IN 7 10000000
Word OUT Min. IN 0 0000000000000001
16 bit Max. IN 15 1000000000000000
DWord OUT Min. IN 0 00000000000000000000000000000001
32 bit Max. IN 31 10000000000000000000000000000000

Sistema di automazione S7-1200


282 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.9 Combinazioni logiche a parola

7.9.4 Istruzioni SEL (Seleziona), MUX (Multiplexaggio) e DEMUX (Demultiplexaggio)

Tabella 7- 136 Istruzione SEL (seleziona)

KOP / FUP SCL Descrizione


out := SEL( In funzione del valore assunto dal parametro G, SEL assegna al
g:=_bool_in, parametro OUT uno dei due valori di ingresso forniti.
in0:-_variant_in,
in1:=_variant_in);

1 Per KOP e FUP: fare clic su "???" e selezionare un tipo di dati nel menu a discesa.

Tabella 7- 137 Tipi di dati per l'istruzione SEL

Parametro Tipo di dati1 Descrizione


G Bool • 0 seleziona IN0
• 1 seleziona IN1
IN0, IN1 SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord, Ingressi
Time, Char
OUT SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord, Uscita
Time, Char
1 Le variabili di ingresso e la variabile di uscita devono avere lo stesso tipo di dati.

Codici delle condizioni di errore: ENO è sempre vero dopo l'esecuzione dell'istruzione SEL.

Tabella 7- 138 IstruzioneMUX (multiplexaggio)

KOP / FUP SCL Descrizione


out := MUX( In funzione del valore assunto dal parametro K, MUX copia nel
k:=_unit_in, parametro OUT uno dei diversi valori di ingresso forniti. Se il valore
in1:=variant_in, del parametro K supera (INn - 1), allora il valore del parametro ELSE
in2:=variant_in, viene copiato nel parametro OUT.

[...in32:=variant_in,]
inelse:=variant_in);

1 Per KOP e FUP: fare clic su "???" e selezionare un tipo di dati nel menu a discesa.

Per aggiungere un ingresso, fare clic su "Crea" oppure fare clic con il tasto
destro del mouse sul connettore dell'ingresso di uno dei parametri IN
disponibili e selezionare il comando "Inserisci ingresso".
Per eliminare un ingresso, fare clic con il tasto destro del mouse sul connettore dell'ingresso
di uno dei parametri IN (se sono presenti più ingressi oltre ai due originali) disponibili e
selezionare il comando "Cancella".

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 283
Istruzioni di base
7.9 Combinazioni logiche a parola

Tabella 7- 139 Tipi di dati per l'istruzione MUX

Parametro Tipo di dati Descrizione


K UInt • 0 seleziona IN1
• 1 seleziona IN2
• n seleziona INn
IN0, IN1, .. INn SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord, Ingressi
Time, Char
ELSE SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord, Valore di ingresso sostitutivo
Time, Char (opzionale)
OUT SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord, Uscita
Time, Char
1 Le variabili di ingresso e la variabile di uscita devono avere lo stesso tipo di dati.

Tabella 7- 140 IstruzioneDEMUX (demultiplexaggio)

KOP / FUP SCL Descrizione


DEMUX( DEMUX copia il valore della posizione assegnata al parametro IN in
k:=_unit_in, una delle molte uscite. Il valore del parametro K seleziona quale
in:=variant_in, uscita è stata selezionata come destinazione del valore IN. Se il
out1:=variant_in, valore di K è maggiore del numero (OUTn - 1), allora il valore IN
out2:=variant_in, viene copiato nella posizione assegnata al parametro ELSE.

[...out32:=variant_in,]

outelse:=variant_in);
1 Per KOP e FUP: fare clic su "???" e selezionare un tipo di dati nel menu a discesa.

Per inserire un ingresso, fare clic su "Crea" oppure fare clic con il tasto destro
del mouse sul connettore dell'uscita di uno dei parametri OUT disponibili e
selezionare il comando "Inserisci uscita".
Per eliminare un'uscita, fare clic con il tasto destro del mouse sul connettore dell'uscita di
uno dei parametri OUT (se sono presenti più uscite oltre alle due originali) disponibili e
selezionare il comando "Cancella".

Sistema di automazione S7-1200


284 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.9 Combinazioni logiche a parola

Tabella 7- 141 Tipi di dati per l'istruzione DEMUX

Parametro Tipo di dati1 Descrizione


K UInt Valore del selettore:
• 0 seleziona OUT1
• 1 seleziona OUT2
• n seleziona OUTn
IN SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, Ingresso
DWord, Time, Char
OUT0, OUT1, .. SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, Uscite
OUTn DWord, Time, Char
ELSE SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, Uscita sostitutiva quando K è maggiore di
DWord, Time, Char (OUTn - 1)
1 La variabile di ingresso e le variabili di uscita devono avere lo stesso tipo di dati.

Tabella 7- 142 Stato ENO per le istruzioni MUX e DEMUX

ENO Condizione Risultato (OUT)


1 Nessun errore MUX: il valore IN selezionato viene
copiato in OUT
DEMUX: il valore IN viene copiato
nell'OUT selezionata
0 MUX: K è maggiore del numero di ingressi -1 • Nessuna ELSE presente: OUT resta
invariata,
• ELSE presente, valore ELSE
assegnato in OUT
DEMUX: K è maggiore del numero di uscite -1 • Nessuna ELSE presente: le uscite
restano invariate,
• ELSE presente, valore IN copiato in
ELSE

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 285
Istruzioni di base
7.10 Spostamento e rotazione

7.10 Spostamento e rotazione

7.10.1 Istruzioni SHR (Sposta verso destra) e SHL (Sposta verso sinistra)

Tabella 7- 143 Istruzioni SHR e SHL

KOP / FUP SCL Descrizione


out := SHR( Utilizzare le istruzioni di scorrimento (SHL e SHR) per scorrere il
in:=_variant_in_, pattern di bit del parametro IN. Il risultato viene assegnato al
n:=_uint_in); parametro OUT. Il parametro N specifica il numero di posizioni di
out := SHL( bit fatte scorrere:
in:=_variant_in_, • SHR: fa scorrere un pattern di bit verso destra
n:=_uint_in);
• SHL: fa scorrere un pattern di bit verso sinistra

1 Per KOP e FUP: fare clic su "???" e selezionare i tipi di dati nel menu a discesa.

Tabella 7- 144 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


IN Byte, Word, DWord Pattern di bit da far scorrere
N UInt Numero di posizioni di bit da far scorrere
OUT Byte, Word, DWord Pattern di bit dopo l'operazione di scorrimento

● Se N=0 lo scorrimento non viene effettuato e il valore IN viene assegnato a OUT.


● Gli zeri vengono fatti scorrere nelle posizioni di bit liberate dall'operazione.
● Se il numero di posizioni da far scorrere (N) è maggiore di quello dei bit nel valore di
destinazione (8 per Byte, 16 per Word, 32 per DWord), i valori di bit originali vengono fatti
scorrere fuori e sostituiti con zeri (a OUT viene assegnato zero).
● Dopo l'esecuzione delle istruzioni di scorrimento ENO è sempre vero.

Tabella 7- 145 Esempio di SHL con dati Word

Scorrimento dei bit di un Word verso sinistra inserendo gli zeri da destra (N = 1)
IN 1110 0010 1010 1101 Valore di OUT prima del primo 1110 0010 1010 1101
scorrimento:
Dopo il primo scorrimento verso sinistra: 1100 0101 0101 1010
Dopo il secondo scorrimento verso sinistra: 1000 1010 1011 0100
Dopo il terzo scorrimento verso sinistra: 0001 0101 0110 1000

Sistema di automazione S7-1200


286 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di base
7.10 Spostamento e rotazione

7.10.2 Istruzioni ROR (Fai ruotare verso destra) e ROL (Fai ruotare verso sinistra)

Tabella 7- 146 Istruzioni ROR e ROL

KOP / FUP SCL Descrizione


out := ROL( Le istruzioni di rotazione (ROR e ROL) consentono di far ruotare il
in:=_variant_in_, pattern di bit del parametro IN. Il risultato viene assegnato al
n:=_uint_in); parametro OUT. Il parametro N specifica il numero di posizioni di bit
out := ROR( fatte ruotare.
in:=_variant_in_, • ROR: fa ruotare un pattern di bit verso destra
n:=_uint_in);
• ROL: fa ruotare un pattern di bit verso sinistra

1 Per KOP e FUP: fare clic su "???" e selezionare i tipi di dati nel menu a discesa.

Tabella 7- 147 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


IN Byte, Word, DWord Pattern di bit da far ruotare
N UInt Numero di posizioni di bit da far ruotare
OUT Byte, Word, DWord Pattern di bit dopo l'operazione di rotazione

● Se N=0 la rotazione non viene effettuata e e il valore IN viene assegnato a OUT.


● I dati di bit fatti ruotare e uscire da un lato del valore di destinazione vengono reinseriti dal
lato opposto, in modo da mantenere tutti i valori di bit originali.
● La rotazione viene eseguita anche se il numero di posizioni di bit da far ruotare (N) è
superiore a quello del valore di destinazione (8 Byte, 16 per Word, 32 per DWord).
● Dopo l'esecuzione delle istruzioni di rotazione ENO è sempre vero.

Tabella 7- 148 Esempio di ROR con dati Word

Rotazione dei bit che escono da destra e vengono reinseriti da sinistra (N = 1)


IN 0100 0000 0000 0001 Valore di OUT prima della prima rotazione: 0100 0000 0000 0001
Dopo la prima rotazione verso destra: 1010 0000 0000 0000
Dopo la seconda rotazione verso destra: 0101 0000 0000 0000

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 287
Istruzioni di base
7.10 Spostamento e rotazione

Sistema di automazione S7-1200


288 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate 8
8.1 Funzioni di data, ora e orologio

8.1.1 Istruzioni di data e ora


Le istruzioni di data e ora consentono di eseguire operazioni di calcolo della data e dell'ora.
● T_CONV converte un valore in o da (tipi di dati di data e ora) e (tipi di dati byte, word e
dword)
● T_ADD somma i valori Time e DTL: (Time + Time = Time) o (DTL + Time = DTL)
● T_SUB sottrae i valori Time e DTL: (Time - Time = Time) o (DTL - Time = DTL)
● T_DIFF fornisce la differenza tra i due valori DTL come valore Time: DTL - DTL = Time
● T_COMBINE combina un valore Date e un valore Time_and_Date per creare un valore
DTL
Per informazioni sul formato dei dati DTL e Time, consultare il capitolo sui Tipi di dati di data
e ora (Pagina 115).

Tabella 8- 1 Istruzione T_CONV (Estrai e converti tempi)

KOP / FUP Esempio SCL Descrizione


out := DINT_TO_TIME( T_CONV converte un valore in o da (tipi di dati di data e ora) e (tipi di
in:=_variant_in); dati byte, word e dword).

out := TIME_TO_DINT(
in:=_variant_in);
1 Per i box KOP e FUP: fare clic su "???" e selezionare i tipi di dati di origine/destinazione nel menu a discesa.
2 Per SCL: trascinare T_CONV dall'albero delle istruzioni e inserirla nell'editor di programma, quindi selezionare i tipi di
dati di origine/destinazione.

Tabella 8- 2 Tipi di dati validi per le conversioni T_CONV

Tipo di dati IN (o OUT) Tipi di dati OUT (o IN)


TIME (millisecondi) DInt, Int, SInt, UDInt, UInt, USInt, TOD
Solo SCL: Byte, Word, Dword
DATE (numero di giorni dal 1° gennaio 1990) DInt, Int, SInt, UDInt, UInt, USInt, DTL
Solo SCL: Byte, Word, Dword
TOD (millisecondi dalla mezzanotte 24:00:00.000) DInt, Int, SInt, UDInt, UInt, USInt, TIME, DTL
Solo SCL: Byte, Word, Dword

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 289
Istruzioni avanzate
8.1 Funzioni di data, ora e orologio

Nota
Utilizzo di T_CONV per convertire una dimensione di dati maggiore in una dimensione
inferiore
Quando si converte un tipo di dati di dimensioni maggiori (che comprende più byte) in un tipo
di dati più piccolo (che comprende meno byte) può succedere che i valori di dati vengano
troncati. Se si verifica questo errore ENO viene impostata a 0.

Conversione nel/dal tipo di dati DTL


DTL (Date and Time Long) contiene i dati dell'anno, del mese, della data e dell'ora. I dati
DTL possono essere convertiti nei/dai tipi di dati DATE e TOD.
La conversione tra DTL e DATE riguarda tuttavia solo i valori relativi all'anno, al mese e al
giorno. La conversione tra DTL e TOD riguarda invece i valori relativi all'ora, ai minuti e ai
secondi.
Quando T_CONV effettua la conversione in DTL, gli elementi di dati in formato DTL che
sono esclusi dalla conversione restano invariati.

Tabella 8- 3 Istruzioni T_ADD (Somma tempi) e T_SUB (Sottrai tempi)

KOP / FUP SCL Descrizione


out := T_ADD( T_ADD somma il valore dell'ingresso IN1 (tipi di dati DTL o Time) con
in1:=_variant_in, quello dell'ingresso Time IN2. Il parametro OUT fornisce il risultato
in2:=_time_in); come valore DTL o Time. È possibile eseguire due operazioni con i
tipi di dati:
• Time + Time = Time
• DTL + Time = DTL
out := T_SUB( T_SUB sottrae il valore Time in IN2 da IN1 (valore DTL o Time). Il
in1:=_variant_in, parametro OUT fornisce un valore differenziale con tipo di dati DTL o
in2:=_time_in); Time. È possibile eseguire due operazioni con i tipi di dati:
• Time - Time = Time
• DTL - Time = DTL

1 Per KOP e FUP: fare clic su "???" e selezionare i tipi di dati nel menu a discesa.

Tabella 8- 4 Tipi di dati per i parametri T_ADD e T_SUB

Parametro e tipo Tipo di dati Descrizione


IN11 IN DTL, Time Valore DTL o Time
IN2 IN Time Valore Time da sommare o sottrarre
OUT OUT DTL, Time Somma o differenza DTL DTL o Time
1 Selezionare il tipo di dati IN1 nell'elenco a discesa sotto il nome dell'istruzione. Selezionando il tipo di dati IN1 viene
impostato automaticamente il tipo di dati del parametro OUT.

Sistema di automazione S7-1200


290 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.1 Funzioni di data, ora e orologio

Tabella 8- 5 Istruzione T_DIFF (differenza di data e ora)

KOP / FUP SCL Descrizione


out := T_DIFF( T_DIFF sottrae il valore DTL (IN2) dal valore DTL (IN1). Il parametro
in1:=_DTL_in, OUT fornisce un valore differenziale con tipo di dati Time.
in2:=_DTL_in); • DTL - DTL = Time

Tabella 8- 6 Tipi di dati per i parametri T_DIFF

Parametro e tipo Tipo di dati Descrizione


IN1 IN DTL Valore DTL
IN2 IN DTL Valore DTL da sottrarre
OUT OUT Time Differenza Time

Codici delle condizioni di errore: ENO = 1 significa che non si è verificato alcun errore. ENO
= 0 e parametro OUT = 0 errori:
● Valore DTL non valido
● Valore Time non valido

Tabella 8- 7 Istruzione T_COMBINE (Combina tempi)

KOP / FUP SCL Descrizione


out := T_COMBINE combina un valore Date e un valore
CONCAT_DATE_TOD( Time_of_Day per creare un valore DTL.
In1 := _date_in,
In2 := _tod_in);

1 L'istruzione avanzata T_COMBINE equivale alla funzione CONCAT_DATE_TOD di SCL.

Tabella 8- 8 Tipi di dati per i parametri T_COMBINE

Parametro e tipo Tipo di dati Descrizione


IN1 IN Date Il valore Date da combinare deve essere compreso tra
DATE#1990-01-01 e DATE#2089-12-31
IN2 IN Time_of_Day Valori Time_of_Day da combinare
OUT OUT DTL Valore DTL

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 291
Istruzioni avanzate
8.1 Funzioni di data, ora e orologio

8.1.2 Funzioni di orologio

AVVERTENZA
Se un attaccante accede alle reti attraverso la sincronizzazione NTP (Network Time
Protocol) potrebbe riuscire a controllare parzialmente il processo spostando l'ora di sistema
della CPU.
La funzione client NTP della CPU S7-1200 è disattivata per default e, se attiva, consente
solo agli indirizzi IP configurati di fungere da server NTP. La CPU la disattiva per default e
la si deve configurare per consentire la correzione da remoto dell'ora di sistema della CPU.
La CPU S7-1200 supporta gli allarme dall'orologio e le istruzioni di orologio che dipendono
da un'imkpostazione precisa dell'ora di sistema della CPU. Se si configura l'NTP e si
accetta che la sincronizzazione dell'ora venga effettuata da un server ci si deve accertare
che il server sia una sorgente affidabile. Un server inaffidabile potrebbe infatti generare una
falla nel sistema di sicurezza attraverso la quale un utente sconosciuto potrebbe controllare
parzialmente il processo spostando l'ora di sistema della CPU.
Per informazioni e consigli sulla sicurezza consultare il documento "Operational Guidelines
for Industrial Security" (http://www.industry.siemens.com/topics/global/en/industrial-
security/Documents/operational_guidelines_industrial_security_en.pdf) nella pagina Web
Siemens Service & Support:

Sistema di automazione S7-1200


292 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.1 Funzioni di data, ora e orologio

Le istruzioni di orologio consentono di impostare e leggere l'orologio di sistema della CPU.


Per i valori di data e ora viene utilizzato il tipo di dati DTL (Pagina 115).

Tabella 8- 9 Istruzioni di data e ora di sistema

KOP / FUP SCL Descrizione


ret_val := WR_SYS_T (Imposta ora) imposta l'ora della CPU con valore
WR_SYS_T( DTL al parametro IN. Questo valore non comprende gli offset
per il fuso orario e l'ora legale.
in:=_DTL_in_);
ret_val := RD_SYS_T (Leggi ora) legge dalla CPU l'ora di sistema attuale.
RD_SYS_T( Questo valore non comprende gli offset per il fuso orario e l'ora
legale.
out=>_DTL_out);
ret_val := RD_LOC_T (Leggi ora locale) fornisce l'ora locale attuale della
RD_LOC_T( CPU indicandola con il tipo di dati DTL. Questo valore di data e
ora riflette il fuso orario adeguatamente regolato per l'ora legale
out=>_DTL_out); (se configurato).
ret_val := WR_LOC_T (Scrivi ora locale) imposta la data e l'ora
WR_LOC_T( dell'orologio della CPU. Le informazioni relative alla data e all'ora
vengono assegnate come tempo locale in LOCTIME con il tipo di
LOCTIME:=DTL_in_, dati DTL. Per calcolare la data e l'ora di sistema l'istruzione
DST:_in_; utilizza la struttura di DB "TimeTransformationRule
(Pagina 295)". La precisione della data e dell'ora locale e di
quella di sistema è specifica del prodotto e non deve essere
inferiore a un millisecondo. I valori in ingresso al parametro
LOCTIME inferiori a quelli supportati dalla CPU vengono
arrotondati durante il calcolo della data e dell'ora di sistema.
Nota: Per impostare le proprietà dell'ora (fuso orario, attivazione
DST, inizio DST e fine DST) si utilizza la finestra Configurazione
del dispositivo della CPU. In caso contrario WR_LOC_T non
riesce a interpretare il cambio dell'ora DST (ora legale).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 293
Istruzioni avanzate
8.1 Funzioni di data, ora e orologio

Tabella 8- 10 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


IN IN DTL Ora da impostare nell'orologio di sistema della CPU
OUT OUT DTL RD_SYS_T: ora di sistema attuale della CPU
RD_LOC_T: ora locale attuale, comprese eventuali regolazioni
per l'ora legale, se configurate
LOCTIME IN DTL WR_LOC_T: ora locale
DST IN BOOL WR_LOC_T: Daylight Saving Time viene valutata solo durante
"il doppio orario" quando gli orologi passano all'ora legale.
• TRUE = ora legale (prima ora)
• FALSE = ora solare (seconda ora)
RET_VAL OUT Int Codice della condizione di esecuzione

● La data e l'ora locale vengono calcolate sulla base degli offset per il fuso orario e l'ora
legale impostati dall'utente nei parametri "Ora" della scheda generale della
configurazione dei dispositivi.
● La configurazione del fuso orario indica un offset rispetto all'UTC o al GMT.
● La configurazione dell'ora legale specifica il mese, la settimana, il giorno e l'ora di inizio
dell'ora legale.
● Anche la configurazione dell'ora solare specifica il mese, la settimana, il giorno e l'ora di
inizio dell'ora solare.
● L'offset del fuso orario viene applicato al valore dell'ora di sistema. L'offset dell'ora legale
viene applicato solo quando è in vigore l'ora legale.

Nota
Configurazione dell'inizio dell'ora solare e dell'ora legale
La proprietà della configurazione dispositivi della CPU per l'inizio dell'ora solare e dell'ora
legale deve essere espressa nell'ora locale.

Codici delle condizioni di errore: ENO = 1 significa che non si è verificato alcun errore. ENO
= 0 significa che si è verificato un errore di esecuzione e l'uscita RET_VAL fornisce il codice
della relativa condizione.

RET_VAL (W#16#....) Descrizione


0000 l'ora locale attuale è l'ora solare
0001 l'ora solare è stata configurata e corrisponde all'ora locale attuale
8080 l'ora locale non è disponibile o il valore LOCTIME non è valido
8081 il valore dell'anno non è ammesso o l'ora assegnata dal parametro LOCTIME non è valida
8082 il valore del mese non è ammesso (byte 2 del formato DTL)
8083 il valore del giorno non è ammesso (byte 3 del formato DTL)
8084 il valore dell'ora non è ammesso (byte 5 del formato DTL)
8085 il valore dei minuti non è ammesso (byte 6 del formato DTL)
8086 il valore dei secondi non è ammesso (byte 7 del formato DTL)
8087 il valore dei nanosecondi non è ammesso (i byte da 8 a 11 del formato DTL)

Sistema di automazione S7-1200


294 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.1 Funzioni di data, ora e orologio

RET_VAL (W#16#....) Descrizione


8089 il valore dell'ora non esiste (l'ora è già trascorsa in seguito al passaggio all'ora legale)
80B0 L'orologio hardware non funziona correttamente
80B1 la struttura "TimeTransformationRule" non è stata definita

8.1.3 Struttura di dati TimeTransformationRule

Descrizione
Le regole per il passaggio all'ora solare e a quella legale sono definite nella struttura
TimeTransformationRule. La struttura è come segue:

Nome Tipo di dati Descrizione


TimeTransformationRule STRUCT
Bias INT Differenza di tempo tra ora locale e UTC [min]
DaylightBias INT Differenza di tempo tra l'ora legale e quella solare [min]
DaylightStartMonth USINT Mese della conversione all'ora legale
DaylightStartWeek USINT Settimana della conversione all'ora legale
1 = primo evento del giorno della settimana nel mese, ...,
5 = ultimo evento del giorno della settimana del mese
DaylightStartWeekday USINT Giorno della settimana del passaggio all'ora legale:
1 = domenica
DaylightStartHour USINT Ora del passaggio all'ora legale
DaylightStartMinute USINT Minuti del passaggio all'ora legale
StandardStartMonth USINT Mese della conversione all'ora solare
StandardStartWeek USINT Settimana della conversione all'ora solare
1 = primo evento del giorno della settimana nel mese, ...,
5 = ultimo evento del giorno della settimana del mese
StandardStartWeekday USINT Giorno della settimana del passaggio all'ora solare:
1 = domenica
StandardStartHour USINT Ora del passaggio all'ora solare
StandardStartMinute USINT Minuti del passaggio all'ora solare
TimeZoneName STRING[80] Nome del fuso orario: "(GMT+01:00) Amsterdam, Berlino, Berna, Roma,
Stoccolma, Vienna"

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 295
Istruzioni avanzate
8.1 Funzioni di data, ora e orologio

8.1.4 Istruzione SET_TIMEZONE (Imposta fuso orario)

Tabella 8- 11 Istruzione SET_TIMEZONE

KOP / FUP SCL Descrizione


"SET_TIMEZONE_DB"( Imposta i parametri di fuso orario e ora
REQ:=_bool_in, legale utilizzati per trasformare l'ora del
Timezone:=_struct_in, sistema della CPU in ora locale.
DONE=>_bool_out_,
BUSY=>_bool_out_,
ERROR=>_bool_out_,
STATUS=>_word_out_);

1 Nell'esempio SCL "SET_TIMEZONE_DB" è il nome del DB di istanza.

Tabella 8- 12 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool REQ=1: esegue la funzione
Timezone IN TimeTransformationRule Regole per la trasformazione da ora di sistema a ora
locale
DONE OUT Bool Funzione completa
BUSY OUT Bool Funzione occupata
ERROR OUT Bool Errore rilevato
STATUS OUT Word Risultato della funzione / messaggio di errore

Per modificare manualmente i parametri del fuso orario nella CPU utilizzare le proprietà
dell'orologio nella scheda "Generale" della configurazione dispositivi.
Utilizzare l'istruzione SET_TIMEZONE per impostare a livello di programma la
configurazione dell'ora locale. I parametri della struttura "TimeTransformationRule
(Pagina 295)" assegnano il fuso orario locale e la temporizzazione del passaggio automatico
tra ora solare e ora legale.
Codici delle condizioni di errore: ENO = 1 significa che non si è verificato alcun errore. ENO
= 0 significa che si è verificato un errore di esecuzione e l'uscita STATUS fornisce il codice
della relativa condizione.

STATUS Descrizione
(W#16#....)
0 Nessun errore
7000 Nessun ordine in corso di elaborazione
7001 Avvio dell'elaborazione dell'ordine. Parametro BUSY = 1, DONE = 0
7002 Richiamo intermedio (REQ non rilevante): Istruzione già attiva; BUSY ha il valore "1".
808x Errore nel componente x-th: Ad esempio 8084 indica che DaylightStartWeekif non è un valore compreso
tra 1 e 5.

Sistema di automazione S7-1200


296 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.1 Funzioni di data, ora e orologio

8.1.5 Istruzione RTM (Contatore ore di esercizio)

Tabella 8- 13 Istruzione RTM

KOP / FUP SCL Descrizione


RTM(NR:=_uint_in_, L'istruzione RTM (Contatore ore di esercizio) può impostare,
MODE:=_byte_in_, avviare, arrestare e leggere i contatori delle ore di esercizio nella
PV:=_dint_in_, CPU.
CQ=>_bool_out_,
CV=>_dint_out_);

Tabella 8- 14 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


NR IN UInt Numero del contatore delle ore di esercizio: (valori possibili: 0..9)
MODE IN Byte Numero di modalità di esecuzione RTM:
• 0 = Recupero valori (lo stato viene quindi scritto nella CQ e il
valore attuale nella CV)
• 1 = Avvia (all'ultimo valore del contatore)
• 2 = Arresta
• 4 = Imposta (al valore specificato in PV)
• 5 = Imposta (al valore specificato in PV) e quindi avvia
• 6 = Imposta (al valore specificato in PV) e quindi arresta
• 7 = Salva tutti i valori RTM della CPU nella MC (Memory
Card)
PV IN DInt Preimposta il valore delle ore per il contatore delle ore di
esercizio specificato
RET_VAL OUT Int Risultato della funzione / messaggio di errore
CQ OUT Bool Stato del contatore delle ore di esercizio (1 = in funzione)
CV OUT DInt Valore attuale delle ore di esercizio per il contatore specificato

La CPU gestisce fino a dieci contatori delle ore di esercizio per tracciare le ore di esercizio
dei sottosistemi di controllo critici. I singoli contatori devono essere avviati con un'esecuzione
RTM per ogni temporizzatore. Tutti i contatori delle ore di esercizio vengono arrestati quando
la CPU passa da RUN a STOP. I singoli temporizzatori possono essere arrestati anche con
un'esecuzione RTM di modo 2.
Quando una CPU passa da STOP a RUN, occorre riavviare i temporizzatori con
un'esecuzione RTM per ogni temporizzatore avviato. Dopo che un contatore delle ore di
esercizio ha superato 2147483647 ore, il conteggio si interrompe e viene inviato l'errore di
"Overflow". Per resettare o modificare il temporizzatore, l'istruzione RTM deve essere
eseguita una volta per ciascun temporizzatore.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 297
Istruzioni avanzate
8.1 Funzioni di data, ora e orologio

Un'interruzione dell'alimentazione della CPU o un ciclo di spegnimento/accensione provoca


un processo di spegnimento che salva i valori attuali del contatore delle ore di esercizio nella
memoria a ritenzione. Alla riaccensione della CPU, i valori del contatore delle ore di
esercizio memorizzati vengono ricaricati nei temporizzatori e le ore totali di utilizzo
precedenti non vengono perse. I contatori delle ore di esercizio devono essere riavviati per
accumulare ulteriori ore di esercizio.
Il programma può utilizzare anche il modo di esecuzione RTM 7 per salvare i valori del
contatore delle ore di esercizio in una memory card. Gli stati di tutti i temporizzatori
nell'istante di esecuzione del modo RTM 7 vengono memorizzati nella memory card. Con il
passare del tempo questi valori memorizzati possono diventare non corretti, dal momento
che i temporizzatori vengono avviati ed arrestati durante una sessione del programma. I
valori della memory card devono essere aggiornati periodicamente per acquisire eventi di
tempo di utilizzo importanti. Il vantaggio della memorizzazione dei valori RTM nella memory
card è che può essere inserita in una CPU sostitutiva quando il programma e i valori RTM
salvati sono disponibili. Se i valori RTM non venissero salvati nella memory card, i valori del
temporizzatore andrebbero persi (in una CPU sostitutiva).

Nota
Evitare troppi richiami del programma per le operazioni di scrittura nella memory card
Ridurre al minimo le operazioni di scrittura nella memory card di memoria flash per avere
una maggiore durata della stessa.

Tabella 8- 15 Codici delle condizioni di errore

RET_VAL (W#16#....) Descrizione


0 Nessun errore
8080 Numero errato del contatore delle ore di esercizio
8081 Al parametro PV è stato trasmesso un valore negativo
8082 Overflow del contatore delle ore di funzionamento
8091 Il parametro di ingresso MODE contiene un valore non valido
80B1 I valori non possono essere salvati nella memory card (MODO=7)

Sistema di automazione S7-1200


298 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.2 Stringa e carattere

8.2 Stringa e carattere

8.2.1 Descrizione dei dati String

Tipo di dati String


I dati String vengono salvati come intestazione di 2 byte seguita da max. 254 byte di caratteri
ASCII. L'intestazione String contiene due lunghezze. Il primo byte corrisponde alla
lunghezza massima indicata tra parentesi quadre durante l'inizializzazione della stringa
oppure è impostato per default a 254. Il secondo byte dell'intestazione corrisponde alla
lunghezza attuale ovvero al numero di caratteri validi della stringa. La lunghezza attuale
deve essere inferiore o uguale alla lunghezza massima. Il numero di byte memorizzati per il
formato String è superiore di 2 byte alla lunghezza massima.

Inizializzazione dei dati String


Per poter eseguire un'istruzione con le stringhe è innanzitutto necessario inizializzare i dati di
ingresso e di uscita String come stringhe valide nella memoria.

Dati String validi


Una stringa valida deve avere una lunghezza massima superiore a zero e inferiore a 255. La
lunghezza attuale deve essere inferiore o uguale alla lunghezza massima.
Le stringhe non possono essere assegnate alle aree di memoria I o Q.
Per maggiori informazioni vedere: Formato del tipo di dati String (Pagina 116).

8.2.2 Istruzione S_MOVE (Sposta stringa di caratteri)

Tabella 8- 16 Istruzione di trasferimento stringa

KOP / FUP SCL Descrizione


out := in; Copia la stringa IN di origine in una posizione OUT. L'esecuzione di S_MOVE non
influisce sul contenuto della stringa di origine.

Tabella 8- 17 Tipi di dati per i parametri

Parametro Tipo di dati Descrizione


IN String Stringa di origine
OUT String Indirizzo di destinazione

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 299
Istruzioni avanzate
8.2 Stringa e carattere

Se la lunghezza attuale della stringa all'ingresso IN è superiore alla lunghezza massima


della stringa memorizzata all'uscita OUT, allora viene copiata la parte della stringa IN che
può essere inserita nella stringa OUT.

8.2.3 Istruzioni di conversione di stringhe

8.2.3.1 Istruzioni S_CONV, STRG_VAL e VAL_STRG (Converti in/da stringa di caratteri e


valore numerico)
Le seguenti istruzioni consentono di convertire stringhe di caratteri numerici in valori
numerici o valori numerici in stringhe di caratteri numerici:
● S_CONV effettua una conversione (stringa numerica in valore numerico) o (valore
numerico in stringa numerica)
● STRG_VAL converte una stringa numerica in valore numerico con opzioni per il formato
● VAL_STRG converte un valore numerico in una stringa numerica con opzioni per il
formato

S_CONV (Converti stringa di caratteri)

Tabella 8- 18 Istruzione di conversione di stringhe

KOP / FUP SCL Descrizione


out := Converte una stringa di caratteri nel valore corrispondente o un
<Type>_TO_<Type>(in); valore nella corrispondente stringa di caratteri. L'istruzione
S_CONV non dispone di funzioni di formattazione dell'uscita, è
quindi più semplice ma meno flessibile delle istruzioni STRG_VAL
e VAL_STRG.
1 Per KOP / FUP: fare clic su "???" e selezionare il tipo di dati nell'elenco a discesa.
2 Per SCL: seleziona S_CONV dalle istruzioni avanzate e risponde alle richieste dei tipi di dati per la conversione.
STEP 7 fornisce quindi l'istruzione di conversione adeguata.

Tabella 8- 19 Tipi di dati (da stringa in valore)

Parametro e tipo Tipo di dati Descrizione


IN IN String Stringa di caratteri in
ingresso
OUT OUT String, Char, SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal Valore numerico in uscita

La conversione del parametro di stringa IN inizia dal primo carattere e continua fino alla fine
della stringa o fino al primo carattere diverso da "0" ... "9", "+", "-", o ".". Il valore del risultato
viene fornito nella posizione specificata nel parametro OUT. Se il valore numerico in uscita
non rientra nel campo del tipo di dati OUT, il parametro OUT viene impostato a 0 e ENO
viene impostato su falso. In caso contrario il parametro OUT contiene il risultato valido e
ENO viene impostato su vero.

Sistema di automazione S7-1200


300 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.2 Stringa e carattere

Regole per il formato della stringa in ingresso:


● Come separatore decimale della stringa IN si deve utilizzare il carattere ".".
● Le virgole "," come separatore delle migliaia a sinistra del separatore decimale sono
consentite e ignorate.
● Gli spazi iniziali vengono ignorati.

S_CONV (conversione da valore in stringa)

Tabella 8- 20 Tipi di dati (da valore in stringa)

Parametro e tipo Tipo di dati Descrizione


IN IN String, Char, SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal Valore numerico in ingresso
OUT OUT String Stringa di caratteri in uscita

Un numero intero, un numero intero senza segno o un valore IN in virgola mobile vengono
convertiti nella corrispondente stringa di caratteri in OUT. Perché la conversione sia
possibile il parametro OUT deve far riferimento a una stringa valida. Una stringa valida è
costituita dalla lunghezza massima della stringa nel primo byte, da quella attuale nel
secondo byte e dai caratteri attuali della stringa nei byte successivi. La stringa convertita
sostituisce i caratteri nella stringa OUT, a partire dal primo, e adegua il byte della lunghezza
attuale della stringa OUT. Il byte della lunghezza massima della stringa OUT resta invariato.
Il numero di caratteri che vengono sostituiti varia in funzione del tipo di dati e del valore
numerico del parametro IN. Il numero di caratteri sostituiti deve essere compreso entro la
lunghezza di stringa del parametro OUT. La lunghezza massima (primo byte) della stringa
OUT deve essere maggiore o uguale al numero massimo di caratteri convertiti previsto. La
seguente tabella riporta alcuni esempi di conversione da valore in stringa con S_CONV.
Regole per il formato della stringa in uscita:
● I valori scritti nel parametro OUT non sono preceduti dal segno "+".
● Viene utilizzata la rappresentazione in virgola fissa (non la notazione esponenziale).
● Come separatore decimale per il parametro IN con tipo di dati Real viene utilizzato il
punto ".".
● I valori sono allineati a destra nella stringa di uscita e sono preceduti da caratteri di
spaziatura che riempiono le posizioni vuote.

Tabella 8- 21 Lunghezza massima delle stringhe per ciascun tipo di dati

Tipo di dati Posizioni per Esempio di stringa convertita1 Lunghezza complessiva della stringa compresi i bye
IN i caratteri della lunghezza massima e di quella attuale
allocate da
S_CONV
USInt 4 "x255" 6
SInt 4 "-128" 6
UInt 6 "x65535" 8
Int 6 "-32768" 8
UDInt 11 "x4294967295" 13

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 301
Istruzioni avanzate
8.2 Stringa e carattere

Tipo di dati Posizioni per Esempio di stringa convertita1 Lunghezza complessiva della stringa compresi i bye
IN i caratteri della lunghezza massima e di quella attuale
allocate da
S_CONV
DInt 11 "-2147483648" 13
Real 14 "x-3,402823E+38" 16
"x-1,175495E-38"
"x+1,175495E-38"
"x+3,402823E+38"
LReal 21 "-1,7976931348623E+308" 23
"-2,2250738585072E-308"
"+2,2250738585072E-308"
"+1,7976931348623E+308"
1 I caratteri "x" sono caratteri di spaziatura che riempiono le posizioni vuote nel campo allineato a destra assegnato al
valore convertito.

STRG_VAL (Converti stringa di caratteri in un valore numerico)

Tabella 8- 22 Istruzione da stringa in valore

KOP / FUP SCL Descrizione


"STRG_VAL"( Converte una stringa di caratteri numerici nel
in:=_string_in, corrispondente numero intero o numero in virgola
format:=_word_in, mobile.
p:=uint_in,
out=>_variant_out);

1 Per KOP / FUP: fare clic su "???" e selezionare il tipo di dati nell'elenco a discesa.

Tabella 8- 23 Tipi di dati per l'istruzione STRG_VAL

Parametro e tipo Tipo di dati Descrizione


IN IN String Stringa di caratteri ASCII da convertire
FORMAT IN Word Opzioni per il formato di uscita
P IN UInt, Byte, USInt IN: indice che punta al primo carattere da convertire
(primo carattere = 1)
OUT OUT SInt, Int, DInt, USInt, UInt, UDInt, Valore numerico convertito
Real, LReal

La conversione inizia nella stringa IN, a partire dall'offset di caratteri P, e continua fino alla
fine della stringa o fino al primo carattere diverso da "+", "-", ".", ",", "e", "E" o "0" ... "9". Il
risultato viene scritto nella posizione specificata nel parametro OUT.
Per poter essere eseguiti come stringa valida nella memoria, i dati String devono essere
inizializzati.
Qui di seguito viene definito il parametro FORMAT dell'istruzione STRG_VAL. Le posizioni di
bit inutilizzate devono essere impostate a zero.

Sistema di automazione S7-1200


302 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.2 Stringa e carattere

Tabella 8- 24 Formato dell'istruzione STRG_VAL

Bit Bit 8 Bit 7 Bit 0


16
0 0 0 0 0 0 0 0 0 0 0 0 0 0 f r

f = formato di notazione 1= notazione esponenziale


0 = notazione in virgola fissa
r = formato del separatore 1 = "," (virgola)
decimale 0 = "." (punto)

Tabella 8- 25 Valori del parametro FORMAT

FORMAT (W#16#) Formato di notazione Separatore decimale


0000 (default) Virgola fissa "."
0001 ","
0002 Esponenziale "."
0003 ","
Da 0004 a FFFF Valori non ammessi

Regole per la conversione STRG_VAL:


● Se si utilizza il punto "." come separatore decimale, le virgole "," alla sua sinistra vengono
interpretate come caratteri di separazione delle migliaia. Queste virgole sono ammesse e
ignorate.
● Se si utilizza la virgola "," come separatore decimale, i punti "." alla sua sinistra vengono
interpretati come caratteri di separazione delle migliaia. I punti sono ammessi e ignorati.
● Gli spazi iniziali vengono ignorati.

VAL_STRG (Converti valore numerico in una stringa di caratteri)

Tabella 8- 26 Conversione da valore in stringa

KOP / FUP SCL Descrizione


"VAL_STRG"( Converte un numero intero, un numero intero senza
in:=_variant_in, segno o un valore in virgola mobile nella corrispondente
size:=_usint_in, stringa di caratteri.
prec:=_usint_in,
format:=_word_in,
p:=uint_in,
out=>_string_out);

1 Per KOP / FUP: fare clic su "???" e selezionare il tipo di dati nell'elenco a discesa.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 303
Istruzioni avanzate
8.2 Stringa e carattere

Tabella 8- 27 Tipi di dati per l'istruzione VAL_STRG

Parametro e tipo Tipo di dati Descrizione


IN IN SInt, Int, DInt, USInt, UInt, Valore da convertire
UDInt, Real, LReal
SIZE IN USInt Numero di caratteri da scrivere nella stringa OUT
PREC IN USInt Precisione o dimensione della parte frazionaria. Il
separatore decimale non è compreso.
FORMAT IN Word Opzioni per il formato di uscita
P IN UInt, Byte, USInt IN: indice che punta al primo carattere di stringa OUT da
sostituire (primo carattere = 1)
OUT OUT String Stringa convertita

Il valore rappresentato dal parametro IN viene convertito in una stringa indirizzata dal
parametro OUT. Perché la conversione sia possibile il parametro OUT deve essere una
stringa valida.
La stringa convertita sostituirà i caratteri della stringa OUT a partire dall'offset P fino al
numero di caratteri specificato dal parametro SIZE. Il numero di caratteri in SIZE deve
essere compreso entro la lunghezza della stringa OUT, a partire della posizione P. Questa
istruzione è utile per inserire caratteri numerici nelle stringhe di testo. È ad esempio possibile
immettere il numero "120" nella stringa "Pressione pompa = 120 psi".
Il parametro PREC specifica la precisione o il numero di cifre della parte frazionaria della
stringa. Se il valore del parametro IN è un numero intero, PREC specifica la posizione del
separatore decimale. Se, ad esempio, il valore di dati è 123 e PREC = 1, il risultato sarà
"12,3". La precisione massima supportata per il tipo di dati Real è di 7 cifre.
Se il parametro P è maggiore della dimensione attuale della stringa OUT, vengono aggiunti
degli spazi fino alla posizione P e il risultato viene aggiunto alla fine della stringa. La
conversione termina quando viene raggiunta la lunghezza di stringa massima in OUT.
Qui di seguito viene definito il parametro FORMAT dell'istruzione VAL_STRG. Le posizioni di
bit inutilizzate devono essere impostate a zero.

Tabella 8- 28 Formato dell'istruzione VAL_STRG

Bit Bit 8 Bit 7 Bit 0


16
0 0 0 0 0 0 0 0 0 0 0 0 0 s f r

s = segno del numero 1= utilizzare il segno "+" e "-"


0 = utilizzare solo il segno "-"
f = formato di notazione 1= notazione esponenziale
0 = notazione in virgola fissa
r = formato del separatore 1 = "," (virgola)
decimale 0 = "." (punto)

Sistema di automazione S7-1200


304 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.2 Stringa e carattere

Tabella 8- 29 Valori del parametro FORMAT

FORMAT (WORD) Carattere del segno del Formato di notazione Separatore decimale
numero
W#16#0000 Solo "-" Virgola fissa "."
W#16#0001 ","
W#16#0002 Esponenziale "."
W#16#0003 ","
W#16#0004 "+" e "-" Virgola fissa "."
W#16#0005 ","
W#16#0006 Esponenziale "."
W#16#0007 ","
Da W#16#0008 a Valori non ammessi
W#16#FFFF

Regole per il formato della stringa nel parametro OUT:


● Se la stringa convertita non raggiunge la lunghezza specificata vi vengono aggiunti degli
spazi introduttivi.
● Se il bit di segno del parametro FORMAT è falso, i valori di numero intero senza segno e
con segno vengono scritti nel buffer di uscita senza il segno "+" iniziale. Il segno "-" viene
utilizzato se necessario.
<spazi iniziali><cifre senza zeri iniziali>'.'<cifre di PREC>
● Se il bit di segno è vero, i valori di numero intero senza segno e con segno vengono
scritti nel buffer di uscita preceduti dal segno.
<spazi iniziali><segno><cifre senza zeri iniziali>'.'<cifre di PREC>
● Se FORMAT viene impostato su "notazione esponenziale", i valori con tipo di dati Real
vengono scritti nel buffer di uscita nel seguente modo:
<spazi iniziali><segno><cifra> '.' <cifre di PREC>'E' <segno><cifre senza zero iniziale>
● Se FORMAT viene impostato su "notazione in virgola fissa", i numeri interi, i numeri interi
senza segno e i numeri con tipo di dati REAL vengono scritti nel buffer di uscita nel
seguente modo:
<spazi iniziali><segno><cifre senza zeri iniziali>'.'<cifre di PREC>
● Gli zeri iniziali a sinistra del separatore decimale (ad eccezione della cifra che lo segue
direttamente) vengono eliminati.
● I valori a destra del separatore decimale vengono arrotondati in modo da rientrare nel
numero di cifre a destra del separatore specificato nel parametro PREC.
● La dimensione della stringa deve essere di almeno tre byte superiore al numero di cifre a
destra del separatore.
● I valori della stringa sono giustificati a destra.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 305
Istruzioni avanzate
8.2 Stringa e carattere

Condizioni di errore rilevate da ENO


Se si verifica un errore durante la conversione vengono restituiti i seguenti risultati:
● ENO viene impostato a 0.
● OUT viene impostato a 0 o come indicato negli esempi di conversione da stringa in
valore.
● OUT resta invariato o viene impostato come indicato negli esempi in cui OUT è una
stringa.

Tabella 8- 30 Stato di ENO

ENO Descrizione
1 Nessun errore
0 Parametro non ammesso o non valido; ad esempio l'accesso a un DB che non esiste
0 Stringa non ammessa: la lunghezza massima della stringa sia 0 o 255
0 Stringa non ammessa: la lunghezza attuale è maggiore di quella massima
0 Il valore numerico convertito è troppo grande per il tipo di dati OUT specificato.
0 La dimensione massima indicata nel parametro OUT deve essere sufficiente a contenere il numero
di caratteri specificato dal parametro SIZE, a partire dalla posizione indicata dal parametro P.
0 Valore P non ammesso: P=0 o P è maggiore della lunghezza attuale della stringa
0 Il parametro SIZE deve essere maggiore del parametro PREC.

Tabella 8- 31 Esempi di conversione da stringa in valore S_CONV

Stringa IN Tipo di dati OUT Valore OUT ENO


"123" Int o DInt 123 Vero
"-00456" Int o DInt -456 Vero
"123.45" Int o DInt 123 Vero
"+2345" Int o DInt 2345 Vero
"00123AB" Int o DInt 123 Vero
"123" Real 123.0 Vero
"123.45" Real 123.45 Vero
"1.23e-4" Real 1.23 Vero
"1.23E-4" Real 1.23 Vero
"12,345.67" Real 12345.67 Vero
"3.4e39" Real 3.4 Vero
"-3.4e39" Real -3.4 Vero
"1,17549e-38" Real 1,17549 Vero
"12345" SInt 0 Falso
"A123" N/A 0 Falso
"" N/A 0 Falso
"++123" N/A 0 Falso
"+-123" N/A 0 Falso

Sistema di automazione S7-1200


306 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.2 Stringa e carattere

Tabella 8- 32 Esempi di conversione da valore in stringa S_CONV

Tipo di dati Valore IN Stringa OUT 1 ENO


UInt 123 "xxx123" Vero
UInt 0 "xxxxx0" Vero
UDInt 12345678 "xxx12345678" Vero
Real +9123,456 "xx+9,123456E+3" Vero
LReal +9123,4567890123 "xx+9,1234567890123 Vero
E+3"
Real -INF "xxxxxxxxxxxINF" Falso
Real +INF "xxxxxxxxxxxINF" Falso
Real NaN "xxxxxxxxxxxNaN" Falso
1 I caratteri "x" sono caratteri di spaziatura che riempiono le posizioni vuote nel campo allineato a
destra assegnato al valore convertito.

Tabella 8- 33 Esempi di conversione STRG_VAL

Stringa IN FORMAT Tipo di dati OUT Valore OUT ENO


(W#16#....)
"123" 0000 Int o DInt 123 Vero
"-00456" 0000 Int o DInt -456 Vero
"123.45" 0000 Int o DInt 123 Vero
"+2345" 0000 Int o DInt 2345 Vero
"00123AB" 0000 Int o DInt 123 Vero
"123" 0000 Real 123.0 Vero
"-00456" 0001 Real -456.0 Vero
"+00456" 0001 Real 456.0 Vero
"123.45" 0000 Real 123.45 Vero
"123.45" 0001 Real 12345.0 Vero
"123.45" 0000 Real 12345.0 Vero
"123.45" 0001 Real 123.45 Vero
".00123AB" 0001 Real 123.0 Vero
"1.23e-4" 0000 Real 1.23 Vero
"1.23E-4" 0000 Real 1.23 Vero
"1.23E-4" 0002 Real 1.23E-4 Vero
"12,345.67" 0000 Real 12345.67 Vero
"12,345.67" 0001 Real 12.345 Vero
"3.4e39" 0002 Real +INF Vero
"-3.4e39" 0002 Real -INF Vero
"1,1754943e-38" 0002 Real 0.0 Vero
(e inferiore)
"12345" N/A SInt 0 Falso
"A123" N/A N/A 0 Falso
"" N/A N/A 0 Falso

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 307
Istruzioni avanzate
8.2 Stringa e carattere

Stringa IN FORMAT Tipo di dati OUT Valore OUT ENO


(W#16#....)
"++123" N/A N/A 0 Falso
"+-123" N/A N/A 0 Falso

Gli esempi seguenti di conversioni VAL_STRG fanno riferimento a una stringa OUT
inizializzata come indicato di seguito:
"Current Temp = xxxxxxxxxx C"
dove il carattere "x" rappresenta gli spazi riservati al valore convertito.

Tabella 8- 34 Esempi di conversione VAL_STRG

Tipo di dati Valore IN P SIZE FORMAT PREC Stringa OUT ENO


(W#16#....)
UInt 123 16 10 0000 0 Current Temp = Vero
xxxxxxx123 C
UInt 0 16 10 0000 2 Current Temp = Vero
xxxxxx0.00 C
UDInt 12345678 16 10 0000 3 Current Temp = Vero
x12345.678 C
UDInt 12345678 16 10 0001 3 Current Temp = Vero
x12345,678 C
Int 123 16 10 0004 0 Current Temp = Vero
xxxxxx+123 C
Int -123 16 10 0004 0 Current Temp = Vero
xxxxxx-123 C
Real -0.00123 16 10 0004 4 Current Temp = xxx- Vero
0.0012 C
Real -0.00123 16 10 0006 4 Current Temp = - Vero
1.2300E-3 C
Real -INF 16 10 N/A 4 Current Temp = Falso
xxxxxx-INF C
Real +INF 16 10 N/A 4 Current Temp = Falso
xxxxxx+INF C
Real NaN 16 10 N/A 4 Current Temp = Falso
xxxxxxxNaN C
UDInt 12345678 16 6 N/A 3 Current Temp = Falso
xxxxxxxxxx C

8.2.3.2 Istruzioni Strg_TO_Chars e Chars_TO_Strg (Converti in/da stringa di caratteri e Array


of CHAR)
Strg_TO_Chars copia una stringa di caratteri ASCII in un array di byte di caratteri.
Chars_TO_Strg copia un array di byte di caratteri ASCII in una stringa di caratteri.

Nota
Sono ammessi solo i tipi di array a base zero (Array [0..n] of Char) o (Array [0..n] of Byte),
come il parametro di ingresso Chars per l'istruzione Chars_TO_Strg o come il parametro
IN_OUT Chars per l'istruzione Strg_TO_Chars .

Sistema di automazione S7-1200


308 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.2 Stringa e carattere

Tabella 8- 35 Istruzione Strg_TO_Chars

KOP / FUP SCL Descrizione


Strg_TO_Chars( L'intera stringa in ingresso Strg viene copiata in un array di
Strg:=_string_in_, caratteri nel parametro IN_OUT Chars.
pChars:=_dint_in_, Questa operazione sovrascrive i byte a partire dal numero
Cnt=>_uint_out_, dell'elemento array specificato nel parametro pChars.
Possono essere utilizzate stringhe di tutte le lunghezze
Chars:=_variant_inout_); massime supportate (1 ... 254).
Il delimitatore finale non è scritto, è responsabilità
dell'utente impostarlo. Se si desidera impostarlo subito
dopo l'ultimo carattere scritto dell'array, utilizzare il
successivo numero dell'elemento array [pChars+Cnt].

Tabella 8- 36 Tipi di dati per i parametri (Strg_TO_Chars)

Parametro e tipo Tipo di dati Descrizione


Strg IN String Stringa di origine
pChars IN DInt Numero dell'elemento array per il primo carattere della
stringa scritto nell'array di destinazione
Chars IN_OUT Variant Il parametro Chars è un puntatore a un array a base zero
[0..n] di caratteri copiati dalla stringa in ingresso. L'array può
essere dichiarato in un DB oppure come variabili locali
nell'interfaccia del blocco.
Esempio: "DB1".MyArray punta ai valori dell'elemento
MyArray [0..10] of Char in DB1.
Cnt OUT UInt Conteggio dei caratteri copiati

Tabella 8- 37 Istruzione Chars_TO_Strg

KOP / FUP SCL Descrizione


Chars_TO_Strg( L'intero array di caratteri o una parte di esso viene copiato in
Chars:=_variant_in_, una stringa.
pChars:=_dint_in_, Prima di eseguire l'istruzione Chars_TO_Strg è necessario
Cnt:=_uint_in_, dichiarare la stringa in uscita. La stringa viene quindi
Strg=>_string_out_); sovrascritta dall'istruzione Chars_TO_Strg.
Possono essere utilizzate stringhe di tutte le lunghezze
massime supportate (1 ... 254).
Il valore della lunghezza massima di una stringa non viene
modificato dall'istruzione Chars_TO_Strg . Una volta raggiunta
la lunghezza massima consentita per la stringa la copia
dall'array alla stringa si interrompe.
Il valore '$00' o 16#00 del carattere nul nell'array di caratteri
funge da delimitatore e termina la copia dei caratteri nella
stringa.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 309
Istruzioni avanzate
8.2 Stringa e carattere

Tabella 8- 38 Tipi di dati per i parametri (Chars_TO_Strg)

Parametro e tipo Tipo di dati Descrizione


Chars IN Variant Il parametro Chars è un puntatore all'array a base zero [0..n] di
caratteri da convertire in una stringa. L'array può essere
dichiarato in un DB oppure come variabili locali nell'interfaccia
del blocco.
Esempio: "DB1".MyArray punta ai valori dell'elemento MyArray
[0..10] of Char in DB1.
pChars IN Dint Numero dell'elemento del primo carattere nell'array da copiare.
Il valore di default è l'elemento array [0].
Cnt IN UInt Conteggio dei caratteri da copiare: 0 sta per tutti
Strg OUT String Stringa di destinazione

Tabella 8- 39 Stato di ENO

ENO Descrizione
1 Nessun errore
0 Chars_TO_Strg: tentativo di copia nella stringa in uscita di un numero di byte di caratteri superiore alla
lunghezza massima consentita nella dichiarazione della stringa
0 Chars_TO_Strg: il valore (16#00) del carattere nul è stato trovato nell'array di byte di caratteri in ingresso.
0 Strg_TO_Chars: tentativo di copia nella stringa in uscita di un numero di byte di caratteri superiore a quello
consentito dal limite del numero degli elementi

8.2.3.3 Istruzioni ATH e HTA (Converti in/da stringa di caratteri ASCII e numero esadecimale)
Utilizzare le istruzioni ATH (da ASCII a esadecimale) e HTA (da esadecimale ad ASCII) per
le conversioni tra i byte di caratteri ASCII (solo caratteri da 0 e 9 e maiuscola da A a F) e i
corrispondenti nibbli esadecimali a 4 bit.

Tabella 8- 40 Istruzione ATH

KOP / FUP SCL Descrizione


ret_val := ATH( Converte i caratteri ASCII in un pacchetto di cifre esadecimali.
in:=_variant_in_,
n:=_int_in_,

out=>_variant_out_);

Tabella 8- 41 Tipi di dati per l'istruzione ATH

Tipo di parametro Tipo di dati Descrizione


IN IN Variant Puntatore all'array di byte di caratteri ASCII
N IN UInt Numero di byte di caratteri ASCII da convertire
RET_VAL OUT Word Codice della condizione di esecuzione
OUT OUT Variant Puntatore all'array di byte esadecimali convertiti

Sistema di automazione S7-1200


310 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.2 Stringa e carattere

La conversione inizia nella posizione specificata dal parametro IN e continua per N byte. Il
risultato viene scritto nella posizione specificata nel parametro OUT. Possono essere
convertiti solo caratteri ASCII validi da 0 a 9, lettere minuscole dalla a alla f e lettere
maiuscole da A a F. Qualsiasi altro carattere sarà convertito in zero.
I caratteri codificati ASCII a 8 bit vengono convertiti in nibbli esadecimali a 4 bit. Due
caratteri ASCII possono essere convertiti in un singolo byte contenente due nibbli
esadecimali di 4 bit.
I parametri IN e OUT specificano gli array di byte e i dati String non esadecimali. I caratteri
ASCII vengono convertiti e inseriti nell'uscita esadecimale nello stesso ordine in cui sono
letti. Se il numero di caratteri ASCII è dispari, allora gli zeri vengono inseriti nel nibblo più a
destra dell'ultima cifra esadecimale convertita.

Tabella 8- 42 Esempi di conversione da ASCII a esadecimale (ATH)

Byte di caratteri IN N Valore OUT ENO


'0a23' 4 W#16#0A23 Vero
'123AFx1a23' 10 16#123AF01023 Falso
'a23' 3 W#16#A230 Vero

Tabella 8- 43 Istruzione HTA

KOP / FUP SCL Descrizione


ret_val := HTA( Converte un pacchetto di cifre esadecimali nei corrispondenti byte
in:=_variant_in_, di caratteri ASCII.
n:=_uint_in_,
out=>_variant_out_);

Tabella 8- 44 Tipi di dati per l'istruzione HTA

Parametro e tipo Tipo di dati Descrizione


IN IN Variant Puntatore all'array di byte di ingresso
N IN UInt Numero di byte da convertire (ogni byte di ingresso ha due nibbli a 4 bit e
produce caratteri ASCII 2N)
RET_VAL OUT Word Codice della condizione di esecuzione
OUT OUT Variant Puntatore all'array di byte di caratteri ASCII

La conversione inizia nella posizione specificata dal parametro IN e continua per N byte.
Ogni nibblo a 4 bit converte un solo carattere ASCII a 8 bit e produce byte di caratteri ASCII
2N in uscita. Tutti i byte 2N in uscita vengono scritti come caratteri ASCII da 0 a 9 e con
maiuscola da A a F. Il parametro OUT specifica un array di byte e non una stringa.
Ogni nibblo del byte esadecimale viene convertito in un carattere nello stesso ordine in cui
viene letto (viene convertito per primo il nibblo più a sinistra di una cifra decimale, seguito dal
nibblo più a destra di quello stesso byte).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 311
Istruzioni avanzate
8.2 Stringa e carattere

Tabella 8- 45 Esempi di conversione da esadecimale ad ASCII (HTA)

Valore IN N Byte di caratteri OUT ENO (ENO è sempre vero dopo l'esecuzione di HTA)
W#16#0123 2 '0123' Vero
DW#16#123AF012 4 '123AF012' Vero

Tabella 8- 46 Codici delle condizioni ATH and HTA

RET_VAL Descrizione ENO


(W#16#....)
0000 Nessun errore Vero
0007 Carattere di ingresso ATH non valido: è stato trovato un carattere che non era un Falso
carattere ASCII 0-9, né una lettera minuscola dalla a alla f, né una lettera maiuscola
dalla A alla F
8101 Puntatore di ingresso non ammesso o non valido, ad esempio l'accesso a un DB che Falso
non esiste
8120 Stringa di ingresso in formato non valido, ovvero max= 0, max=255, corrente>max o Falso
lunghezza grant nel puntatore < max
8182 Buffer di ingresso troppo piccolo per N Falso
8151 Tipo di dati non ammesso per il buffer di ingresso Falso
8301 Puntatore di uscita non ammesso o non valido, ad esempio l'accesso a un DB che Falso
non esiste
8320 Stringa di uscita in formato non valido, ovvero max= 0, max=255, corrente>max o Falso
lunghezza grant nel puntatore < max
8382 Buffer di uscita troppo piccolo per N Falso
8351 Tipo di dati non ammesso per il buffer di uscita Falso

Sistema di automazione S7-1200


312 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.2 Stringa e carattere

8.2.4 Istruzioni con le stringhe


Il programma di comando può utilizzare le seguenti istruzioni con le stringhe e i caratteri per
creare messaggi visualizzabili dall'operatore e log di processo.

8.2.4.1 Istruzione MAX_LEN (Lunghezza massima di una stringa)

Tabella 8- 47 Istruzione Lunghezza massima

KOP / FUP SCL Descrizione


out := MAX_LEN (Lunghezza massima della stringa) fornisce il valore della
MAX_LEN(in); lunghezza massima assegnato alla stringa IN nell'uscita OUT. Se si verificano
errori durante l'esecuzione dell'istruzione viene fornita in uscita una lunghezza
di stringa vuota.
Il tipo di dati STRING contiene due lunghezze: il primo byte indica la lunghezza
massima e il secondo quella attuale (che corrisponde al numero attuale di
caratteri validi).
• La lunghezza massima della stringa di caratteri viene assegnata per
ciascuna definizione STRING tra parentesi quadre. Il numero di byte
occupati da una stringa è superiore di 2 byte alla lunghezza massima.
• La lunghezza attuale corrisponde al numero di posizioni attualmente
occupate da caratteri. La lunghezza attuale deve essere inferiore o uguale
alla lunghezza massima.
L'istruzione MAX_LEN iconsente di leggere la lunghezza massima di una
stringa di caratteri e LEN quella attuale.

Tabella 8- 48 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


IN IN String Stringa di ingresso
OUT OUT DInt Numero massimo di caratteri consentito per una
stringa IN

8.2.4.2 LEN (Lunghezza attuale di una stringa)

Tabella 8- 49 Istruzione di lunghezza

KOP / FUP SCL Descrizione


out := LEN(in); LEN (lunghezza stringa) fornisce la lunghezza attuale della stringa IN all'uscita
OUT. Le stringhe vuote hanno lunghezza zero.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 313
Istruzioni avanzate
8.2 Stringa e carattere

Tabella 8- 50 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


IN IN String Stringa di ingresso
OUT OUT Int, DInt, Real, LReal Numero di caratteri validi della stringa IN

Tabella 8- 51 Stato di ENO

ENO Condizione OUT


1 Nessuna condizione di stringa non valida Lunghezza di stringa valida
0 La lunghezza attuale di IN supera la lunghezza massima di IN La lunghezza attuale viene
La lunghezza massima di IN non è compresa entro il campo di memoria impostata a 0
assegnato
La lunghezza massima di IN è 255 (lunghezza non ammessa)

8.2.4.3 Istruzione CONCAT (Concatena stringhe)

Tabella 8- 52 Istruzione Concatena stringhe

KOP / FUP SCL Descrizione


out := CONCAT(in1, in2); CONCAT (concatena stringhe) unisce i parametri di stringa IN1 e
IN2 in modo da formare una stringa che viene fornita in OUT.
Dopo la concatenazione la stringa IN1 costituisce la parte sinistra
e la stringa IN2 la parte destra della stringa combinata.

Tabella 8- 53 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


IN1 IN String Stringa di ingresso 1
IN2 IN String Stringa di ingresso 2
OUT OUT String Stringa combinata (stringa 1 + stringa 2)

Sistema di automazione S7-1200


314 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.2 Stringa e carattere

Tabella 8- 54 Stato di ENO

ENO Condizione OUT


1 Nessun errore rilevato Caratteri validi
0 La stringa risultante dalla concatenazione supera la lunghezza massima I caratteri della stringa risultante
della stringa OUT vengono copiati fino a
raggiungere la lunghezza
massima di OUT
La lunghezza attuale di IN1 supera la lunghezza massima di IN1, la La lunghezza attuale viene
lunghezza attuale di IN2 supera la lunghezza massima di IN2 oppure la impostata a 0
lunghezza attuale di OUT supera la lunghezza massima di OUT (stringa
non valida)
La lunghezza massima di IN1, IN2 o OUT non è compresa entro il campo
di memoria assegnato
La lunghezza massima di IN1 o IN2 è 255 oppure la lunghezza massima di
OUT è 0 o 255

8.2.4.4 Istruzioni LEFT, RIGHT e MID (Leggi sottostringhe in una stringa)

Tabella 8- 55 Operazioni di sottostringhe sinistra, destra e centrale

KOP / FUP SCL Descrizione


out := LEFT(in, L); LEFT(sottostringa sinistra) fornisce una sottostringa costituita dai primi
caratteri L del parametro di stringa IN.
• Se L è maggiore della lunghezza attuale della stringa IN, viene
restituita in OUT l'intera stringa IN.
• Se la stringa in ingresso è vuota, in OUT viene restituita una stringa
vuota.
out := MID(in, L, p); MID (sottostringa centrale) fornisce la parte centrale di una stringa. La
sottostringa centrale ha una lunghezza di L caratteri e inizia nella
posizione P (compresa).
Se la somma di L e P supera la lunghezza attuale del parametro di
stringa IN, viene restituita una sottostringa che inizia nella posizione P
e continua fino alla fine della stringa IN.
out := RIGHT(in, L); RIGHT (sottostringa destra) fornisce gli ultimi caratteri L di una stringa.
• Se L è maggiore della lunghezza attuale della stringa IN, viene
restituita in OUT l'intera stringa IN.
• Se la stringa in ingresso è vuota, in OUT viene restituita una stringa
vuota.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 315
Istruzioni avanzate
8.2 Stringa e carattere

Tabella 8- 56 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


IN IN String Stringa di ingresso
L IN Int Lunghezza della sottostringa da creare:
• LEFT utilizza il numero di caratteri più a sinistra di caratteri
nella stringa
• RIGHT utilizza il numero di caratteri più a destra di caratteri
nella stringa
• MID utilizza il numero di caratteri a partire dalla posizione P
all'interno della stringa
P IN Int Solo MID: posizione del primo carattere di sottostringa da copiare
P= 1, per la posizione iniziale del carattere della stringa IN
OUT OUT String Stringa di uscita

Tabella 8- 57 Stato di ENO

ENO Condizione OUT


1 Nessun errore rilevato Caratteri validi
0 • L o P è inferiore o uguale a 0 La lunghezza attuale viene
impostata a 0
• P è maggiore della lunghezza massima di IN
• La lunghezza attuale di IN supera la lunghezza massima di IN oppure
la lunghezza attuale di OUT supera la lunghezza massima di OUT
• La lunghezza massima di IN o OUT non è compresa entro il campo di
memoria assegnato
• La lunghezza massima di IN o OUT è 0 o 255
La lunghezza della sottostringa (L) da copiare è maggiore della lunghezza I caratteri vengono copiati fino a
massima della stringa OUT. raggiungere la lunghezza
massima di OUT
Solo MID: L o P è inferiore o uguale a 0 La lunghezza attuale viene
Solo MID: P è maggiore della lunghezza massima di IN impostata a 0

La lunghezza attuale di IN1 supera la lunghezza massima di IN1 oppure la La lunghezza attuale viene
lunghezza attuale di IN2 supera la lunghezza massima di IN2 (stringa non impostata a 0
valida)
La lunghezza massima di IN1, IN2 o OUT non è compresa entro il campo
di memoria assegnato
La lunghezza massima di IN1, IN2 o OUT è 0 o 255 (lunghezza non
ammessa)

Sistema di automazione S7-1200


316 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.2 Stringa e carattere

8.2.4.5 Istruzione DELETE (Cancella caratteri nella stringa)

Tabella 8- 58 Istruzione Cancella sottostringa

KOP / FUP SCL Descrizione


out := DELETE(in, L, p); Cancella i caratteri L dalla stringa IN. La cancellazione dei
caratteri inizia dalla posizione P (compresa) e la restante
sottostringa viene fornita al parametro OUT.
• Se L è uguale a zero la stringa in ingresso viene restituita in
OUT.
• Se la somma di L e P è maggiore della lunghezza della stringa
in ingresso, la stringa viene cancellata fino alla fine.

Tabella 8- 59 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


IN IN String Stringa di ingresso
L IN Int Numero di caratteri da cancellare
P IN Int Posizione del primo carattere da cancellare: il primo carattere della
stringa IN occupa la posizione numero 1
OUT OUT String Stringa di uscita

Tabella 8- 60 Stato di ENO

ENO Condizione OUT


1 Nessun errore rilevato Caratteri validi
0 P è maggiore della lunghezza attuale di IN IN viene copiato in OUT e non
viene cancellato alcun carattere
La stringa ottenuta dopo la cancellazione dei caratteri supera la lunghezza I caratteri della stringa risultante
massima della stringa OUT vengono copiati fino a
raggiungere la lunghezza
massima di OUT
L è inferiore a 0 oppure P è inferiore o uguale a 0 La lunghezza attuale viene
La lunghezza attuale di IN supera la lunghezza massima di IN oppure la impostata a 0
lunghezza attuale di OUT supera la lunghezza massima di OUT
La lunghezza massima di IN o OUT non è compresa entro il campo di
memoria assegnato
La lunghezza massima di IN o OUT è 0 o 255

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 317
Istruzioni avanzate
8.2 Stringa e carattere

8.2.4.6 Istruzione INSERT (Inserisci caratteri nella stringa)

Tabella 8- 61 Istruzione Inserisci sottostringa

KOP / FUP SCL Descrizione


out := INSERT(in1, in2, p); Inserisce la stringa IN2 nella stringa IN1. L'inserimento inizia
dopo il carattere nella posizione P.

Tabella 8- 62 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


IN1 IN String Stringa di ingresso 1
IN2 IN String Stringa di ingresso 2
P IN Int Ultima posizione dei caratteri nella stringa IN1 prima del punto di
inserimento della stringa IN2
Il primo carattere della stringa IN1 occupa la posizione numero 1.
OUT OUT String Stringa risultante

Tabella 8- 63 Stato di ENO

ENO Condizione OUT


1 Nessun errore rilevato Caratteri validi
0 P è maggiore della lunghezza di IN1 IN2 viene concatenato a IN1 subito dopo
l'ultimo carattere IN1
P è inferiore a 0 La lunghezza attuale viene impostata a 0
La stringa ottenuta dopo l'inserimento supera la lunghezza I caratteri della stringa risultante vengono
massima della stringa OUT copiati fino a raggiungere la lunghezza
massima di OUT
La lunghezza attuale di IN1 supera la lunghezza massima di IN1, la La lunghezza attuale viene impostata a 0
lunghezza attuale di IN2 supera la lunghezza massima di IN2
oppure la lunghezza attuale di OUT supera la lunghezza massima
di OUT (stringa non valida)
La lunghezza massima di IN1, IN2 o OUT non è compresa entro il
campo di memoria assegnato
La lunghezza massima di IN1 o IN2 è 255 oppure la lunghezza
massima di OUT è 0 o 255

Sistema di automazione S7-1200


318 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.2 Stringa e carattere

8.2.4.7 Istruzione REPLACE (Sostituisci caratteri nella stringa)

Tabella 8- 64 Istruzione Sostituisci sottostringa

KOP / FUP SCL Descrizione


out := REPLACE( Sostituisce i caratteri L nel parametro di stringa IN1. La
in1:=_string_in_, sostituzione inizia dalla posizione P (compresa) della stringa IN1 e i
in2:=_string_in_, caratteri sostitutivi vengono forniti dal parametro di stringa IN2.
L:=_int_in_,
p:=_int_in);

Tabella 8- 65 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


IN1 IN String Stringa di ingresso
IN2 IN String Stringa di caratteri sostitutivi
L IN Int Numero di caratteri da sostituire
P IN Int Posizione del primo carattere da sostituire
OUT OUT String Stringa risultante

Se il parametro L è uguale a zero, la stringa IN2 viene inserita nella posizione P della stringa
IN1 senza che vengano cancellati caratteri dalla stringa IN1.
Se P è uguale a uno, i primi caratteri L della stringa IN1 vengono sostituiti con i caratteri
della stringa IN2.

Tabella 8- 66 Stato di ENO

ENO Condizione OUT


1 Nessun errore rilevato Caratteri validi
0 P è maggiore della lunghezza di IN1 IN2 viene concatenato a IN1 subito dopo
l'ultimo carattere IN1
P punta all'interno di IN1, ma in IN1 rimane un numero di caratteri IN2 sostituisce i caratteri finali di IN1 a
inferiore a quelli di L partire dalla posizione P
La stringa ottenuta dopo la sostituzione supera la lunghezza I caratteri della stringa risultante vengono
massima della stringa OUT copiati fino a raggiungere la lunghezza
massima di OUT
La lunghezza massima di IN1 è 0 IN2 vengono copiati in OUT
L è inferiore a 0 oppure P è inferiore o uguale a 0 La lunghezza attuale viene impostata a 0
La lunghezza attuale di IN1 supera la lunghezza massima di IN1, la
lunghezza attuale di IN2 supera la lunghezza massima di IN2
oppure la lunghezza attuale di OUT supera la lunghezza massima
di OUT
La lunghezza massima di IN1, IN2 o OUT non è compresa entro il
campo di memoria assegnato
La lunghezza massima di IN1 o IN2 è 255 oppure la lunghezza
massima di OUT è 0 o 255

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 319
Istruzioni avanzate
8.2 Stringa e carattere

8.2.4.8 Istruzione FIND (Trova caratteri nella stringa)

Tabella 8- 67 Istruzione Trova sottostringa

KOP / FUP SCL Descrizione


out := FIND( Fornisce la posizione della sottostringa specificata da IN2 all'interno
in1:=_string_in_, della stringa IN1. La ricerca inizia da sinistra. La posizione del primo
in2:=_string_in); elemento IN2 trovato nella stringa viene restituita in OUT. Se la stringa
IN2 non viene trovata nella stringa IN1, viene restituito il valore zero.

Tabella 8- 68 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


IN1 IN String Cerca nella stringa
IN2 IN String Cerca la stringa
OUT OUT Int Posizione del primo elemento corrispondente ai criteri di ricerca
all'interno della stringa IN1

Tabella 8- 69 Stato di ENO

ENO Condizione OUT


1 Nessun errore rilevato Posizione dei caratteri valida
0 IN2 è maggiore di IN1 La posizione dei caratteri viene
La lunghezza attuale di IN1 supera la lunghezza massima di IN1 oppure impostata a 0
la lunghezza attuale di IN2 supera la lunghezza massima di IN2 (stringa
non valida)
La lunghezza massima di IN1 o IN2 non è compresa entro il campo di
memoria assegnato
La lunghezza massima di IN1 o IN2 è 255

Sistema di automazione S7-1200


320 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.3 Periferia decentrata (PROFINET, PROFIBUS o AS-i)

8.3 Periferia decentrata (PROFINET, PROFIBUS o AS-i)

8.3.1 Istruzioni per gli I/O distribuiti


Le seguenti istruzioni per la periferia decentrata possono essere utilizzate con PROFINET,
PROFIBUS o AS-i:
● Istruzione RDREC (Pagina 322): lettura di un record di dati con il numero INDEX da un
modulo o dispositivo.
● Istruzione WRREC (Pagina 322): trasferimento di un record di dati con il numero INDEX
a un modulo o dispositivo definito da ID.
● Istruzione RALRM (Pagina 325): ricezione di un allarme con tutte le relative informazioni
da un modulo o dispositivo e inoltro di queste informazioni ai parametri di uscita.
● Istruzione DPRD_DAT (Pagina 333): con l'istruzione DPRD_DAT si devono leggere aree
di dati coerenti maggiori di 64 byte da un modulo o dispositivo.
● Istruzione DPWR_DAT (Pagina 333): con l'istruzione DPWR_DAT si devono scrivere
aree di dati coerenti maggiori di 64 byte da un modulo o dispositivo.

L'istruzione DPNRM_DG (Pagina 335) può essere utilizzata solo con PROFIBUS. lettura dei
dati di diagnostica attuali di uno slave DP nel formato specificato dalla norma EN 50 170,
volume 2, PROFIBUS.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 321
Istruzioni avanzate
8.3 Periferia decentrata (PROFINET, PROFIBUS o AS-i)

8.3.2 Istruzioni RDREC e WRREC (Leggi/scrivi set di dati)


Le seguenti istruzioni RDREC (Leggi set di dati) e WRREC (Scrivi set di dati) possono
essere utilizzate con PROFINET, PROFIBUS e AS-i.

Tabella 8- 70 Istruzioni RDREC e WRREC

KOP / FUP SCL Descrizione


"RDREC_DB"( Utilizzare l'istruzione RDREC per leggere
req:=_bool_in_, un record di dati con il numero INDEX da
ID:=_word_in_, un componente indirizzato dall'ID, ad es.
index:=_dint_in_, un telaio di montaggio centrale o un
mlen:=_uint_in_, componente distribuito (PROFIBUS DP o
valid=>_bool_out_, PROFINET IO). Assegnare il numero
massimo di byte da leggere in MLEN. La
busy=>_bool_out_,
lunghezza selezionata dell'area di
error=>_bool_out_,
destinazione RECORD deve avere
status=>_dword_out_, almeno una lunghezza di byte MLEN.
len=>_uint_out_,

record:=_variant_inout_);
"WRREC_DB"( Utilizzare l'istruzione WRREC per
req:=_bool_in_, trasferire un RECORD di dati con il
ID:=_word_in_, numero di record INDEX in uno slave DP
index:=_dint_in_, / un componente di dispositivo
len:=_uint_in_, PROFINET IO indirizzato dall'ID, ad es. il
done=>_bool_out_, modulo di un telaio di montaggio centrale
o un componente distribuito (PROFIBUS
busy=>_bool_out_,
DP o PROFINET IO).
error=>_bool_out_,
status=>_dword_out_, Assegnare la lunghezza di byte del
record di dati da trasmettere. La
lunghezza selezionata dell'area d'origine
record:=_variant_inout_);
RECORD deve quindi avere almeno una
lunghezza di byte LEN.
1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.
2 Nell'esempio SCL "RDREC_DB" e "WRREC_DB" sono i nomi dei DB di istanza.

Sistema di automazione S7-1200


322 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.3 Periferia decentrata (PROFINET, PROFIBUS o AS-i)

Tabella 8- 71 Tipi di dati RDREC e WRREC per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool REQ = 1: trasferimento di record di dati
ID IN HW_IO (Word) Indirizzo logico dello slave DP / componente di dispositivo
PROFINET IO (modulo o sottomodulo):
• Per un modulo di uscita, occorre impostare il bit 15 (ad
esempio, per l'indirizzo 5: ID:= DW#16#8005).
• Per un modulo di combinazione, deve essere specificato il
più piccolo dei due indirizzi.
Nota: in V3.0 l'ID del dispositivo può essere determinato nei due
modi seguenti:
• Selezionando le seguenti opzioni nella "Vista di rete":
– Dispositivo (box grigio)
– "Proprietà" del dispositivo
– "Identificazione HW"
Nota: non tutti i dispositivi visualizzano la propria
identificazione HW.
• Selezionando le seguenti opzioni nel menu "Navigazione del
progetto":
– Variabili PLC
– Tabella delle variabili standard
– Tabella delle costanti di sistema
Vengono visualizzate tutte le identificazioni HW dei
dispositivi configurate.
Nota: in V4.0 l'ID del dispositivo (identificazione hardware) per il
modulo di interfaccia è determinata localizzando il parametro
"Nome dispositivo [INTESTAZIONE]" in Costanti di sistema nella
tabella delle variabili.
INDEX IN Byte, Word, USInt, Numero del record di dati
UInt, SInt, Int, DInt
MLEN IN Byte, USInt, UInt Lunghezza massima in byte dell'informazione del record di dati
da recuperare (RDREC)
VALID OUT Bool Il nuovo record di dati è stato ricevuto ed è valido (RDREC). Il bit
VALID è vero per un ciclo di scansione se l'ultima richiesta si è
conclusa senza errori.
DONE OUT Bool Il record di dati è stato trasferito (WRREC). Il bit DONE è vero
per un ciclo di scansione se l'ultima richiesta si è conclusa
senza errori.
BUSY OUT Bool • BUSY = 1: il processo di lettura (RDREC) o scrittura
(WRREC) non si è ancora concluso.
• BUSY = 0: la trasmissione dei record di dati è stata
completata.
ERROR OUT Bool ERROR = 1: si è verificato un errore di lettura (RDREC) o di
scrittura (WRREC). Il bit ERROR è vero per un ciclo di
scansione se l'ultima richiesta si è conclusa con un errore. Il
valore del codice di errore nel parametro STATUS è valido solo
durante l'unico ciclo di scansione in cui ERROR = TRUE.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 323
Istruzioni avanzate
8.3 Periferia decentrata (PROFINET, PROFIBUS o AS-i)

Parametro e tipo Tipo di dati Descrizione


STATUS OUT DWord Stato del blocco o informazione di errore
LEN OUT (RDREC) UInt • Lunghezza dell'informazione del record di dati recuperata
IN (WRREC) (RDREC)
• Lunghezza massima del byte del record di dati da trasferire
(WRREC)
RECORD IN_OUT Variant • Area di destinazione per i record di dati recuperati (RDREC)
• Record di dati (WRREC)

Le istruzioni RDREC e WRREC funzionano in modo asincrono, ovvero l'elaborazione copre


diversi richiami delle istruzioni. Iniziare richiamando RDREC o WRREC con REQ = 1.
Lo stato dell'ordine viene indicato dal parametro di uscita BUSY e dai due byte centrali del
parametro di uscita STATUS. Il trasferimento del record di dati termina quando il parametro
di uscita BUSY è stato impostato su FALSE
Un valore TRUE (solo per un ciclo di scansione) sul parametro di uscita VALID (RDREC) o
DONE (WRREC) verifica se il set di dati è stato trasferito correttamente nell'area di
destinazione RECORD (RDREC) o nel dispositivo di destinazione (WRREC). Nel caso di
RDREC, il parametro di uscita LEN contiene la lunghezza dei dati recuperati in byte.
Il parametro di uscita ERROR (solo per un ciclo di scansione se ERROR = TRUE) indica che
si è verificato un errore nella trasmissione dei set di dati. In questo caso, il parametro di
uscita STATUS (solo per un ciclo di scansione se ERROR = TRUE) contiene l'informazione
di errore.
I set di dati sono definiti dal produttore del dispositivo hardware. Per maggiori dettagli sui set
di dati consultare la documentazione sul dispositivo hardware fornita dal produttore.

Nota
Se si configura uno slave DPV1 mediante un file GSD (GSD rev. 3 e superiori) e l'interfaccia
DP del master DP è impostata su "compatibile con S7", nel programma utente non si
possono leggere record di dati dai moduli di I/O con "RDREC" né si può scrivere nei moduli
di I/O con "WRREC". In questo caso il master DP indirizza lo slot errato (slot configurato +
3).
Soluzione: impostare l'interfaccia del master DP su "DPV1".

Nota
Le interfacce delle istruzioni "RDREC" e "WRREC" sono identiche agli FB "RDREC" e
"WRREC" definiti in "PROFIBUS Guideline - PROFIBUS Communication and Proxy Function
Blocks according to IEC 61131-3".

Nota
Se si usa "RDREC" o "WRREC" per leggere o scrivere un record di dati per PROFINET IO, i
valori negativi nei parametri INDEX, MLEN e LEN vengono interpretati come numeri interi di
16 bit senza segno.

Sistema di automazione S7-1200


324 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.3 Periferia decentrata (PROFINET, PROFIBUS o AS-i)

8.3.3 Istruzione RALRM (Ricevi allarme)


L'istruzione RALRM (ricevi allarme) può essere utilizzata con PROFINET e PROFIBUS.

Tabella 8- 72 Istruzione RALRM

KOP / FUP SCL Descrizione


"RALRM_DB"( Utilizzare l'istruzione RALRM (leggi allarme) per leggere le
mode:=_int_in_, informazioni degli allarmi di diagnostica dai moduli/dispositivi
f_ID:=_word_in_, PROFIBUS o PROFINET I/O.
mlen:=_uint_in_, Le informazioni nei parametri di uscita contengono le
new=>_bool_out_, informazioni di avvio dell'OB richiamato nonché le informazioni
status=>_dword_out_, della sorgente di allarme.
ID=>_word_out_, Richiamare RALRM in un OB di allarme per inviare le
len=>_uint_out_, informazioni relative al o agli eventi che hanno provocato
tinfo:=_variant_inout_, l'allarme. L'S7-1200 supporta i seguenti OB di allarme di
ainfo:=_variant_inout_); diagnostica: stato, aggiornamento, profilo, allarme di errore di
diagnostica, estrazione o inserimento dei moduli, guasto del
telaio o della stazione
1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.
2 Nell'esempio SCL "RALRM_DB" è il nome del DB di istanza.

Tabella 8- 73 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


MODE IN Byte, USInt, SInt, Int Modo di funzionamento
F_ID IN HW_IO (Word) Indirizzo logico iniziale del componente (modulo) da cui devono essere
ricevuti gli allarmi
Nota: l'ID del dispositivo può essere determinato nei due modi seguenti:
• Selezionando le seguenti opzioni nella "Vista di rete":
– Dispositivo (box grigio)
– "Proprietà" del dispositivo
– "Identificazione HW"
Nota: Non tutti i dispositivi visualizzano le proprie identificazioni
HW.
• Selezionando le seguenti opzioni nel menu "Navigazione del
progetto":
– Variabili PLC
– Tabella delle variabili standard
– Tabella delle costanti di sistema
– Vengono visualizzate tutte le identificazioni HW dei dispositivi
configurate.
MLEN IN Byte, USInt, UInt Lunghezza massima in byte delle informazioni di allarme dati da
ricevere. MLEN di 0 consente di ricevere tante informazioni di allarme
dati quante sono disponibili nell'area di destinazione AINFO.
NEW OUT Bool È stato ricevuto un nuovo allarme.
STATUS OUT DWord Stato dell'istruzione RALRM. Per maggiori informazioni vedere il
"Parametro STATUS per RDREC, WRREC e RALRM" (Pagina 329).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 325
Istruzioni avanzate
8.3 Periferia decentrata (PROFINET, PROFIBUS o AS-i)

Parametro e tipo Tipo di dati Descrizione


ID OUT HW_IO (Word) Identificazione HW del modulo I/O che ha provocato l'allarme di
diagnostica
Nota: per una descrizione delle modalità di definizione dell'ID del
dispositivo vedere il parametro F_ID .
LEN OUT DWord, UInt, UDInt, Lunghezza delle informazioni di allarme AINFO ricevute
DInt, Real, LReal
TINFO IN_OUT Variant Informazione dei task: campo di destinazione delle informazioni relative
ad avvio e gestione degli OB. La lunghezza TINFO è sempre 32 byte.
AINFO IN_OUT Variant Informazione di allarme: area di destinazione dell'informazione
dell'intestazione e di informazioni di allarme supplementari Per AINFO,
fornire una lunghezza di almeno MLEN byte, se MLEN è maggiore di 0.
La lunghezza AINFO è variabile.

Nota
Se si richiama "RALRM" in un OB il cui evento di avvio non è un allarme della periferia,
l'istruzione fornisce nelle uscite un'informazione corrispondentemente ridotta.
Quando si richiama "RALRM" in OB diversi utilizzare DB di istanza differenti. Se si valutano i
dati derivati da un richiamo di "RALRM" all'esterno dell'OB di interrupt a cui è associato, si
deve utilizzare un DB di istanza separato per ciascun evento di avvio dell'OB.

Nota
L'interfaccia dell'istruzione "RALRM" è identica all'FB "RALRM" definito in "PROFIBUS
Guideline - PROFIBUS Communication and Proxy Function Blocks according to IEC 61131-
3".

Sistema di automazione S7-1200


326 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.3 Periferia decentrata (PROFINET, PROFIBUS o AS-i)

Richiamo di RALRM
L'istruzione RALRM può essere richiamata in tre diversi modi di funzionamento (MODE).

Tabella 8- 74 Modi di funzionamento dell'istruzione RALRM

MODO Descrizione
0 • ID contiene l'identificazione HW del modulo I/O che ha attivato l'allarme.
• Il parametro di uscita NEW è impostato su vero.
• LEN produce un'uscita di 0.
• AINFO e TINFO non sono aggiornati con nessuna informazione.
1 • ID contiene l'identificazione HW del modulo I/O che ha attivato l'allarme.
• Il parametro di uscita NEW è impostato su vero.
• LEN produce un'uscita della quantità di byte di dati AINFO che vengono restituiti.
• AINFO e TINFO sono aggiornati con informazioni relative agli allarmi.
2 Se l'identificazione HW assegnata al parametro di ingresso F_ID ha attivato l'allarme, allora:
• ID contiene l'identificazione HW del modulo I/O che ha attivato l'allarme. Deve avere lo stesso valore di
F_ID.
• Il parametro di uscita NEW è impostato su vero.
• LEN produce un'uscita della quantità di byte di dati AINFO che vengono restituiti.
• AINFO e TINFO sono aggiornati con informazioni relative agli allarmi.

Nota
Se si assegna un'area di destinazione di TINFO o AINFO che è troppo piccola, RALRM non
riesce a restituire le informazioni complete.
MLEN può limitare la quantità di dati AINFO che vengono restituiti.
Vedere i parametri AINFO e i parametri TINFO del sistema di informazioni online di STEP 7
per ottenere informazioni su come interpretare i dati TINFO e AINFO.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 327
Istruzioni avanzate
8.3 Periferia decentrata (PROFINET, PROFIBUS o AS-i)

Dati TInfo del blocco organizzativo


La seguente tabella illustra la disposizione dei dati TInfo per l'istruzione RALRM:

Lo stesso per gli OB: stato, 0 SI_Format OB_Class OB_Nr


aggiornamento, profilo, allarme di errore
di diagnostica, estrazione o inserimento
dei moduli, guasto del telaio o della
stazione
4 LADDR

OB TI_Submodule: stato, aggiornamento, 4 Slot


profilo
8 Specificatore 0

OB TI_DiagnosticInterrupt: allarme di 4 IO_State


errore di diagnostica
8 Canale MultiError 0

OB TI_PlugPullModule: Estrazione o 4 Event_Class Fault_ID


inserimento dei moduli
8 0 0

OB TI_StationFailure: Guasto del telaio o 4 Event_Class Fault_ID


della stazione
8 0 0

Lo stesso per gli OB: stato, 12 0


aggiornamento, profilo, allarme di errore
di diagnostica, estrazione o inserimento
dei moduli, guasto del telaio o della
stazione
16
20 indirizzo slv_prfl intr_type
24 flags1 flags2 id
281 produttore istanza
1 I byte 28 - 31 (produttore e istanza) non vengono utilizzati con PROFIBUS.

Nota
Per maggiori informazioni sui dati TINFO consultare il sistema di informazioni online di STEP
7.

Sistema di automazione S7-1200


328 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.3 Periferia decentrata (PROFINET, PROFIBUS o AS-i)

8.3.4 Parametro STATUS per RDREC, WRREC e RALRM


Il parametro di uscita STATUS contiene informazioni di errore interpretate come
ARRAY[1...4] OF BYTE con la seguente struttura:

Tabella 8- 75 Array di uscita STATUS

Elemento Array Nome Descrizione


STATUS[1] Function_Num • B#16#00, se senza errori
• ID della funzione da DPV1-PDU: se si verifica un errore , B#16#80 viene
combinato tramite OR (per Leggi set di dati: B#16#DE; per Scrivi set di dati:
B#16#DF). Se non viene utilizzato nessun elemento del protocollo DPV1, viene
emesso B#16#C0 .
STATUS[2] Error_Decode Posizione dell'ID dell'errore
STATUS[3] Error_Code_1 ID dell'errore
STATUS[4] Error_Code_2 Ampliamento dell'ID dell'errore specifico del produttore

Tabella 8- 76 Valori di STATUS[2]

Error_decode Origine Descrizione


(B#16#....)
Da 00 a 7F CPU Nessun errore o nessuna avvertenza
80 DPV1 Errore secondo IEC 61158-6
Da 81 a 8F CPU B#16#8x mostra un errore nel parametro di richiamo "x-esimo" dell'istruzione.
FE, FF Profilo DP Errore specifico del profilo

Tabella 8- 77 Valori di STATUS[3]

Error_decode Error_code_1 Spiegazione (DVP1) Descrizione


(B#16#....) (B#16#....)
00 00 Nessun errore, nessuna avvertenza
70 00 Riservato, respinto Richiamo iniziale; nessun trasferimento di record di dati
attivo
01 Riservato, respinto Richiamo iniziale; il trasferimento di record di dati ha
avuto inizio
02 Riservato, respinto Richiamo intermedio; il trasferimento di record di dati è
attivo
80 90 Riservato, superato Indirizzo logico iniziale non ammesso
92 Riservato, superato Tipo di puntatore Variant non ammesso
93 Riservato, superato Il componente DP indirizzato mediante ID o F_ID non è
configurato.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 329
Istruzioni avanzate
8.3 Periferia decentrata (PROFINET, PROFIBUS o AS-i)

Error_decode Error_code_1 Spiegazione (DVP1) Descrizione


(B#16#....) (B#16#....)
96 L'istruzione "RALRM (Pagina 325)" non può fornire le
informazioni di avvio, gestione e intestazione degli OB o
ulteriori informazioni di allarme.
Per i seguenti OB è possibile utilizzare l'istruzione
"DPNRM_DG (Pagina 335)" per leggere in modo
asincrono il frame del messaggio di diagnostica attuale
dello slave DP rilevante (informazioni sull'indirizzo
dall'informazione di avvio dell'OB):
• Interrupt di processo (Pagina 87)
• Stato (Pagina 94), aggiornamento (Pagina 94) o
profilo (Pagina 95)
• Allarme di errore di diagnostica (Pagina 90)
• Estrazione o inserimento dei moduli (Pagina 92)
A0 Errore di lettura Conferma negativa durante la lettura dal modulo
A1 Errore di scrittura Conferma negativa durante la scrittura nel modulo
A2 Guasto del modulo Errore del protocollo DP al livello 2 (ad esempio, guasto
dello slave o problemi di bus)
A3 Riservato, superato • PROFIBUS DP: errore del protocollo DP con
mappatore di collegamento dati diretto e utente-
interfaccia/utente
• PROFINET IO: errore CM generale
A4 Riservato, superato Comunicazione disturbata sul bus di comunicazione
A5 Riservato, superato -
A7 Riservato, superato Slave o moduli DP occupati (errore temporaneo).
A8 Conflitto di versioni Slave o modulo DP con versioni non compatibili.
A9 Funzione non Funzione non supportata da slave o modulo DP
supportata
Da AA ad AF Specifico dell'utente Slave o modulo DP con errore specifico del produttore
nell'applicazione. Verificare la documentazione del
produttore dello slave o modulo DP.
B0 Indice non valido Set di dati sconosciuto nel modulo; numero di set di dati
≥ 256 non ammesso
B1 Errore di lunghezza di La lunghezza specificata nel parametro RECORD è
scrittura errata.
• Con "RALRM": errore di lunghezza in AINFO

Nota: per un accesso diretto alle informazioni sulle


modalità di interpretazione dei buffer restituiti
"AINFO", consultare il sistema di informazione online
di STEP 7.
• Con "RDREC (Pagina 322)" e "WRREC
(Pagina 322)": errore di lunghezza in "MLEN"
B2 Slot non valido Lo slot configurato non è occupato.
B3 Conflitto di tipi Il tipo di modulo attuale non corrisponde al tipo di modulo
specificato.
B4 Area non valida Slave o modulo DP con accesso ad un'area non valida.

Sistema di automazione S7-1200


330 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.3 Periferia decentrata (PROFINET, PROFIBUS o AS-i)

Error_decode Error_code_1 Spiegazione (DVP1) Descrizione


(B#16#....) (B#16#....)
B5 Conflitto di stati Slave o modulo DP non pronto
B6 Accesso negato Slave o modulo DP con accesso negato.
B7 Campo non valido Slave o modulo DP con campo non valido per un
parametro o un valore.
B8 Parametro non valido Slave o modulo DP con parametro non valido.
B9 Tipo non valido Slave o modulo DP con tipo non valido:
• Con "RDREC (Pagina 322)": buffer troppo piccolo
(impossibile leggere i sottoinsiemi)
• Con "WRREC (Pagina 322)": buffer troppo piccolo
(impossibile scrivere nei sottoinsiemi)
Da BA a BF Specifico dell'utente Slave o modulo DP con errore specifico del produttore
durante l'accesso. Verificare la documentazione del
produttore dello slave o modulo DP.
C0 Conflitto di vincoli di • Con "WRREC (Pagina 322)": i dati possono essere
lettura scritti solo quando la CPU è in STOP.
Nota: questo significa che i dati non possono essere
scritti dal programma utente. I dati possono essere
scritti solo online con un PG/PC.
• Con "RDREC (Pagina 322)": il modulo avvia il set di
dati, ma non sono presenti dati oppure i dati possono
essere letti solo quando la CPU è in STOP.
Nota: se i dati possono essere letti solo quando la
CPU è in STOP, non è possibile alcuna valutazione
dal programma utente. In questo caso i dati possono
essere letti solo online con un PG/PC.
C1 Conflitto di vincoli di I dati della precedente richiesta di scrittura nel modulo
scrittura per lo stesso record di dati non sono ancora stati
elaborati dal modulo.
C2 Risorsa occupata Il modulo sta attualmente elaborando il numero massimo
di ordini possibili per una CPU.
C3 Risorsa non disponibile Le risorse richieste per il funzionamento sono
attualmente occupate.
C4 Errore temporaneo interno. L'ordine non ha potuto essere
evaso.
Ripetere l'ordine. Se questo errore si verifica spesso,
verificare se nell'impianto sono presenti fonti di
interferenza elettrica.
C5 Slave o modulo DP non disponibile
C6 Il trasferimento del record di dati è stato annullato in
seguito all'annullamento della classe di priorità.
C7 Ordine interrotto a causa del riavvio a caldo o a freddo
del master DP.
Da C8 a CF Slave o modulo DP con errore specifico del produttore
per le risorse. Verificare la documentazione del
produttore dello slave o modulo DP.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 331
Istruzioni avanzate
8.3 Periferia decentrata (PROFINET, PROFIBUS o AS-i)

Error_decode Error_code_1 Spiegazione (DVP1) Descrizione


(B#16#....) (B#16#....)
Dx Specifico dell'utente Specifico dello slave SP. Consultare la descrizione dello
slave DP.
81 Da 00 a FF Errore nel primo parametro di richiamo (con "RALRM
(Pagina 325)": MODE)
00 Modo di funzionamento non ammesso
82 Da 00 a FF Errore nel secondo parametro di richiamo
88 Da 00 a FF Errore nell'ottavo parametro di richiamo (con "RALRM
(Pagina 325)": TINFO)
Nota: per un accesso diretto alle informazioni sulle
modalità di interpretazione dei buffer restituiti "TINFO",
consultare il sistema di informazione online di STEP 7.
01 ID della sintassi errato
23 Numero consentito superato o area di destinazione
troppo piccola
24 ID del campo errato
32 Numero di DB/DI fuori campo utente
3A Il numero di DB/DI è zero per l'ID dell'area DB/DI oppure
il DB/DI specificato non esiste.
89 Da 00 a FF Errore nel nono parametro di richiamo (con "RALRM
(Pagina 325)": AINFO)
Nota: per un accesso diretto alle informazioni sulle
modalità di interpretazione dei buffer restituiti "AINFO",
consultare il sistema di informazione online di STEP 7.
01 ID della sintassi errato
23 Numero consentito superato o area di destinazione
troppo piccola
24 ID del campo errato
32 Numero di DB/DI fuori campo utente
3A Il numero di DB/DI è zero per l'ID dell'area DB/DI oppure
il DB/DI specificato non esiste.
8A Da 00 a FF Errore nel decimo parametro di richiamo
8F Da 00 a FF Errore nel quindicesimo parametro di richiamo
FE, FF Da 00 a FF Errore specifico del profilo

Elemento array STATUS[4]


Con errori DPV1, il master DP passa a STATUS[4] della CPU e dell'istruzione. Senza un
errore DPV1, questo valore è impostato a 0, con le seguenti eccezioni per RDREC:
● STATUS[4] contiene la lunghezza dell'area di destinazione da RECORD, se MLEN è >
della lunghezza dell'area di destinazione da RECORD.
● STATUS[4]=MLEN, se la lunghezza attuale del set di dati è < MLEN < la lunghezza
dell'area di destinazione da RECORD.
● STATUS[4]=0, se STATUS[4] > 255; dovrebbe essere impostato
In PROFINET IO, STATUS[4] ha il valore 0.

Sistema di automazione S7-1200


332 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.3 Periferia decentrata (PROFINET, PROFIBUS o AS-i)

8.3.5 Istruzioni DPRD_DAT e DPWR_DAT (Leggi/Scrivi dati coerenti di uno slave DP


standard)
Le istruzioni DPRD_DAT (leggi dati coerenti di uno slave DP standard) e DPWR_DAT (scrivi
dati coerenti di uno slave DP standard) possono essere utilizzate con PROFINET e
PROFIBUS.

Tabella 8- 78 Istruzioni DPRD_DAT e DPWR_DAT

KOP / FUP SCL Descrizione


ret_val := DPRD_DAT( Utilizzare l'istruzione DPRD_DAT per leggere i dati
laddr:=_word_in_, coerenti di uno slave DP standard o un dispositivo
PROFINET IO. Se non si verificano errori durante il
record=>_variant_out_); trasferimento dei dati, i dati letti sono inseriti nell'area di
destinazione impostata dal parametro RECORD. L'area di
destinazione deve avere la stessa lunghezza di quella
configurata con STEP 7 per il modulo selezionato.
Quando si richiama l'istruzione DPRD_DAT si ha accesso
solo ai dati di un modulo o identificazione IP all'indirizzo di
avvio configurato.
ret_val := DPWR_DAT( Utilizzare l'istruzione DPWR_DAT per trasferire i dati in
laddr:=_word_in_, RECORD in modo coerente allo slave DP standard o al
dispositivo PROFINET IO indirizzato. L'area d'origine
record:=_variant_in_); deve avere la stessa lunghezza di quella configurata con
STEP 7 per il modulo selezionato.

La CPU supporta fino a 64 byte di dati coerenti. Per le aree di dati coerenti superiori a 64
byte, devono essere utilizzate le istruzioni DPRD_DAT e DPWR_DAT. Se necessario,
queste istruzioni possono essere utilizzate per le aree di dati di 1 byte o più grandi. Se
l'accesso è respinto, compare il codice di errore W#16#8090.

Nota
Se si utilizzano le istruzioni DPRD_DAT e DPWR_DAT con dati coerenti, occorre rimuovere
questi dati coerenti dall'aggiornamento automatico dell'immagine di processo. Per maggiori
informazioni consultare il paragrafo "Concetti base sui PLC: esecuzione del programma
utente" (Pagina 77).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 333
Istruzioni avanzate
8.3 Periferia decentrata (PROFINET, PROFIBUS o AS-i)

Tabella 8- 79 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


LADDR IN HW_IO (Word) • Indirizzo di avvio configurato dall'area "I" del modulo da cui saranno
letti i dati (DPRD_DAT)
• Indirizzo di avvio configurato dall'area di uscita dell'immagine del
processo del modulo in cui saranno scritti i dati (DPWR_DAT)
Gli indirizzi devono essere inseriti in formato esadecimale (ad esempio,
un indirizzo di ingresso o di uscita pari a 100 sta per: LADDR:=W#16#64).
RECORD OUT Variant L'area di destinazione dei dati utente letti (DPRD_DAT) o l'area di origine
dei dati utente da scrivere (DPWR_DAT). La loro larghezza deve essere
esattamente la stessa di quella configurata per il modulo selezionato con
STEP 7.
RET_VAL OUT Int Se si verifica un errore mentre la funzione è attiva, il valore di ritorno
contiene un codice di errore.

Funzionamento dell'istruzione DPRD_DAT


L'area di destinazione deve avere la stessa lunghezza di quella configurata per il modulo
selezionato con STEP 7. Se si verifica un errore durante il trasferimento dei dati, i dati letti
vengono inseriti nell'area di destinazione identificata con RECORD.
Se si legge da uno slave DP standard con un design modulare o con diversi identificatori
DP, è possibile accedere solo ai dati di un modulo/identificatore DP per ogni richiamo di
istruzione DPRD_DAT specificando l'indirizzo di avvio configurato.

Funzionamento dell'istruzione DPWR_DAT


I dati in RECORD vengono trasferiti in modo coerente allo slave DP standard / dispositivo
PROFINET IO indirizzato. I dati vengono trasferiti in modo sincrono, ovvero il processo di
scrittura termina quando l'istruzione si conclude.
L'area d'origine deve avere la stessa lunghezza di quella configurata per il modulo
selezionato con STEP 7.
Se lo slave DP standard ha un design modulare, è possibile accedere solo a un modulo
dello slave DP.

Tabella 8- 80 Codici di errore DPRD_DAT e DPWR_DAT

Codice di errore Descrizione


0000 Nessun errore
8090 Si applica uno dei casi seguenti:
• Il modulo non è stato configurato per l'indirizzo logico di base specificato.
• La limitazione relativa alla lunghezza di dati coerenti è stata ignorata.
• L'indirizzo di avvio nel parametro LADDR non è stato inserito in formato esadecimale.
8092 Il parametro RECORD supporta i seguenti tipi di dati: Byte, Char, Word, DWord, Int, UInt, USInt,
SInt, DInt, UDInt, and arrays of these types.
8093 All'indirizzo specificato in LADDR non esiste alcun modulo DP / dispositivo PROFINET IO da cui è
possibile leggere (DPRD_DAT) o in cui è possibile scrivere dati coerenti (DPWR_DAT).

Sistema di automazione S7-1200


334 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.3 Periferia decentrata (PROFINET, PROFIBUS o AS-i)

Codice di errore Descrizione


80A0 Rilevato errore di accesso durante l'accesso ai dispositivi I/O (DPRD_DAT).
80A1 Rilevato errore di accesso durante l'accesso ai dispositivi I/O (DPWR_DAT).
80B0 Guasto dello slave sul modulo di interfaccia DP esterno (DPRD_DAT) e (DPWR_DAT)
80B1 La lunghezza dell'area di destinazione (DPRD_DAT) o di origine (DPWR_DAT) specificata non è
identica alla lunghezza dei dati dell'utente configurata con STEP 7 Basic.
80B2 Errore di sistema con modulo di interfaccia DP esterno (DPRD_DAT) e (DPWR_DAT)
80B3 Errore di sistema con modulo di interfaccia DP esterno (DPRD_DAT) e (DPWR_DAT)
80C0 I dati non sono ancora stati letti dal modulo (DPRD_DAT).
80C1 I dati del precedente ordine di scrittura sul modulo non sono ancora stati elaborati dal modulo
(DPWR_DAT).
80C2 Errore di sistema con modulo di interfaccia DP esterno (DPRD_DAT) e (DPWR_DAT)
80Fx Errore di sistema con modulo di interfaccia DP esterno (DPRD_DAT) e (DPWR_DAT)
85xy Errore di sistema con modulo di interfaccia DP esterno (DPWR_DAT)
87xy Errore di sistema con modulo di interfaccia DP esterno (DPRD_DAT)
808x Errore di sistema con modulo di interfaccia DP esterno (DPRD_DAT)
8xyy Informazioni di errore generale
Per maggiori informazioni sui codici di errore generali "Errori comuni nelle istruzioni 'avanzate'"
(Pagina 415).

x = numero del parametro


y = numero dell'evento

Nota
Se si accede a slave DPV1, le informazioni di errore di questi slave possono essere inoltrate
dal master DP all'istruzione.

8.3.6 Istruzione DPNRM_DG (Leggi dati di diagnostica di uno slave DP)


L'istruzione DPNRM_DG (leggi dati di diagnostica) può essere utilizzata con PROFIBUS.

Tabella 8- 81 Istruzione DPNRM_DG

KOP / FUP SCL Descrizione


ret_val := DPNRM_DG( Utilizzare l'istruzione DPNRM_DG per leggere i dati di diagnostica
req:=_bool_in_, attuali di uno slave DP nel formato specificato dalla norma EN 50
laddr:=_word_in_, 170, volume 2, PROFIBUS. I dati letti vengono inseriti nell'area di
record=>_variant_out_, destinazione indicata con RECORD in seguito al trasferimento dei
busy=>_bool_out_); dati senza errore.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 335
Istruzioni avanzate
8.3 Periferia decentrata (PROFINET, PROFIBUS o AS-i)

Tabella 8- 82 Tipi di dati dell'istruzione DPNRM_DG per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool REQ=1: richiesta di lettura
LADDR IN HW_DPSLAVE Indirizzo di diagnostica configurato dello slave DP: deve essere
l'indirizzo della stazione e non per il dispositivo I/O. Selezionare la
stazione (e non l'immagine del dispositivo) nella "Vista di rete" della
"Configurazione dispositivi" per determinare l'indirizzo di diagnostica.
Inserire gli indirizzi in formato esadecimale Ad esempio, l'indirizzo di
diagnostica 1022 sta per LADDR:=W#16#3FE.
RET_VAL OUT Int Se si verifica un errore mentre la funzione è attiva, il valore di ritorno
contiene un codice di errore. Se non si verifica alcun errore, la
lunghezza dei dati attualmente trasferiti viene inserita in RET_VAL.
RECORD OUT Variant Area di destinazione per i dati di diagnostica letti. La lunghezza minima
del set di dati da leggere (o l'area di destinazione) è 6 byte. La
lunghezza massima del set di dati da inviare è 240 byte.
Gli slave standard sono in grado di fornire più di 240 byte di dati di
diagnostica fino ad un massimo di 244 byte. In questo caso, i primi 240
byte vengono trasferiti nell'area di destinazione e il bit di overflow viene
impostato nei dati.
BUSY OUT Bool BUSY=1: l'ordine di lettura non è ancora concluso

Iniziare l'ordine di lettura assegnando 1 al parametro di ingresso REQ quando si richiama


l'istruzione DPNRM_DG. L'ordine di lettura viene eseguito in modo asincrono, ovvero
richiede diversi richiami dell'istruzione DPNRM_DG. Lo stato dell'ordine viene indicato dai
parametri di uscita RET_VAL e BUSY.

Tabella 8- 83 Struttura dei dati di diagnostica dello slave

Byte Descrizione
0 Stato 1 della stazione
1 Stato 2 della stazione
2 Stato 3 della stazione
3 Numero della stazione master
4 ID del produttore (byte alto)
5 ID del produttore (byte basso)
6 ... Ulteriori informazioni sulla diagnostica specifica dello slave

Tabella 8- 84 Codici di errore dell'istruzione DPNRM_DG

Codice di Descrizione Limitazione


errore
0000 Nessun errore -
7000 Primo richiamo con REQ=0: nessun trasferimento dati attivo; BUSY ha il -
valore 0.
7001 Primo richiamo con REQ=1: nessun trasferimento dati attivo; BUSY ha il I/O distribuiti
valore 1.

Sistema di automazione S7-1200


336 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.3 Periferia decentrata (PROFINET, PROFIBUS o AS-i)

Codice di Descrizione Limitazione


errore
7002 Reichiamo temporaneo (REQ non rilevante): trasferimento dati già attivo; I/O distribuiti
BUSY ha il valore 1.
8090 Indirizzo logico di base specificato non valido: non c'è alcun indirizzo di -
base.
8092 Il parametro RECORD supporta i seguenti tipi di dati: Byte, Char, Word, -
DWord, Int, UInt, USInt, SInt, DInt, UDInt, and arrays of these types.
8093 • Questa istruzione non è ammessa per il modulo specificato da LADDR -
(sono ammessi i moduli S7-DP per l'S7-1200).
• LADDR specifica il dispositivo I/O invece che specificare la stazione.
Selezionare la stazione (e non l'immagine del dispositivo) nella "Vista di
rete" della "Configurazione dispositivi" per determinare l'indirizzo di
diagnostica per LADDR.
80A2 • Errore del protocollo DP al livello 2 (ad esempio, guasto dello slave o I/O distribuiti
problemi di bus)
• Per ET200S, il record di dati non può essere letto in DPV0.
80A3 Errore di protocollo DP con interfaccia utente/utente I/O distribuiti
80A4 Problema di comunicazione sul bus di comunicazione Si verifica un errore tra la
CPU e il modulo di interfaccia
DP esterno.
80B0 • L'istruzione non è possibile per il tipo di modulo. -
• Il modulo non riconosce il record di dati.
• Il numero di record di dati 241 non è ammesso.
80B1 La lunghezza specificata nel parametro RECORD non è corretta. Lunghezza specificata >
lunghezza del record
80B2 Lo slot configurato non è occupato. -
80B3 Il tipo di modulo attuale non corrisponde al tipo di modulo richiesto. -
80C0 Non esistono informazioni di diagnostica. -
80C1 I dati del precedente ordine di scrittura nel modulo per lo stesso record di -
dati non sono ancora stati elaborati dal modulo.
80C2 Il modulo sta attualmente elaborando il numero massimo di ordini possibili -
per una CPU.
80C3 Le risorse richieste (memoria, ecc.) sono attualmente occupate. -
80C4 Errore temporaneo interno. L'ordine non può essere elaborato. -
Ripetere l'ordine. Se questo errore si verifica spesso, verificare se nel
sistema sono presenti fonti di interferenza elettrica.
80C5 I/O distribuiti non disponibili I/O distribuiti
80C6 Il trasferimento del record di dati è stato arrestato a causa di I/O distribuiti
un'interruzione di classe di priorità (riavvio o background).
8xyy1 Codici di errore generale

Per ulteriori informazioni sui codici di errore generali consultare il paragrafo "Istruzioni
avanzate, Periferia decentrata: informazione di errore per RDREC, WRREC e RALRM"
(Pagina 329).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 337
Istruzioni avanzate
8.4 Allarmi

8.4 Allarmi

8.4.1 Istruzioni ATTACH e DETACH (Assegna/separa OB all'evento/dall'evento di


allarme)
Le istruzioni ATTACH e DETACH consentono di attivare e disattivare sottoprogrammi
comandati da eventi.

Tabella 8- 85 Istruzioni ATTACH e DETACH

KOP / FUP SCL Descrizione


ret_val := ATTACH( ATTACH attiva l'esecuzione del
ob_nr:=_int_in_, sottoprogramma di un OB di allarme per un
dato evento di allarme di processo.
event:=_event_att_in_,
add:=_bool_in_);

ret_val := DETACH( DETACH disattiva l'esecuzione del


ob_nr:=_int_in_, sottoprogramma di un OB di allarme per un
dato evento di allarme di processo.
event:=_event_att_
in);

Tabella 8- 86 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


OB_NR IN OB_ATT Identificativo del blocco organizzativo: scegliere tra gli OB di interrupt
di processo disponibili creati con la funzione "Inserisci nuovo blocco".
Fare doppio clic sul campo del parametro, quindi fare clic sull'icona di
aiuto per visualizzare gli OB disponibili.
EVENT IN EVENT_ATT Identificativo dell'evento: scegliere tra gli eventi di interrupt di
processo disponibili che sono stati attivati in Configurazione
dispositivi della CPU per gli ingressi digitali o i contatori veloci. Fare
doppio clic sul campo del parametro, quindi fare clic sull'icona di
aiuto per visualizzare gli eventi disponibili.
ADD IN Bool • ADD = 0 (default): questo evento sostituisce tutte le precedenti
(solo ATTACH assegnazioni di eventi effettuate per questo OB.
• ADD = 1: questo evento viene aggiunto alle precedenti
assegnazioni di eventi effettuate per questo OB.
RET_VAL OUT Int Codice della condizione di esecuzione

Sistema di automazione S7-1200


338 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.4 Allarmi

Eventi di interrupt di processo


La CPU supporta i seguenti eventi di interrupt di processo:
● Eventi del fronte di salita: primi 12 ingressi digitali integrati nella CPU (da DIa.0 a DIb.3) e
tutti gli ingressi digitali nella SB
– Quando l'ingresso digitale passa da OFF a ON in risposta ad una variazione del
segnale proveniente dall'apparecchiatura da campo a cui è collegato si verifica un
fronte di salita.
● Eventi del fronte di discesa: primi 12 ingressi digitali integrati nella CPU (da DIa.0 a
DIb.3) e tutti gli ingressi digitali nella SB
– Quando l'ingresso digitale passa da ON a OFF si verifica un fronte di discesa.
● Eventi "valore attuale del contatore veloce (HSC) = valore di riferimento (CV = RV)" (HSC
da 1 a 6)
– Quando il valore attuale di conteggio passa da un valore adiacente al valore che
coincide esattamente con quello di riferimento precedentemente definito viene
generato un allarme CV = RV per un HSC.
● Eventi "cambiamento di direzione HSC" (HSC da 1 a 6)
– Quando il sistema rileva che il conteggio dell'HSC cambia da crescente in
decrescente o viceversa si verifica un evento "cambiamento di direzione".
● Eventi "reset esterno HSC" (HSC da 1 a 6)
– Alcuni modi degli HSC consentono di assegnare un ingresso digitale come reset
esterno che ha la funzione di azzerare il conteggio dell'HSC. Quando questo ingresso
passa da OFF a ON si verifica un evento di reset esterno per l'HSC.

Attivazione degli eventi di interrupt di processo in Configurazione dispositivi


Durante la configurazione dei dispositivi è necessario attivare gli interrupt di processo. Se si
desidera assegnare questo evento durante la configurazione o il runtime è quindi necessario
selezionare, per un canale di ingresso o un HSC, la casella di attivazione degli eventi in
Configurazione dispositivi.
Opzioni disponibili in Configurazione dispositivi del PLC:
● Ingresso digitale
– Attiva rilevazione del fronte di salita
– Attiva rilevazione del fronte di discesa
● Contatore veloce (HSC)
– Attiva questo contatore veloce
– Genera allarme per evento con valore di conteggio uguale al valore di riferimento
– Genera allarme per evento di resettaggio esterno
– Genera allarme per evento di cambio direzione

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 339
Istruzioni avanzate
8.4 Allarmi

Inserimento di nuovi OB di interrupt di processo nel programma


Per default gli eventi non sono associati ad alcun OB prima di essere attivati per la prima
volta. Questa condizione è segnalata dall'etichetta "<non collegato>" nell'elenco a discesa
"Interrupt di processo:" della Configurazione dispositivi. Ad un evento di interrupt di processo
possono essere assegnati solamente OB di interrupt di processo. Tutti gli OB di interrupt di
processo compaiono nell'elenco a discesa "Interrupt di processo:" . Se l'elenco non contiene
alcun OB, creare un OB di tipo "Interrupt di processo" procedendo come indicato di seguito.
Nella diramazione "Blocchi di programma" dell'albero del progetto:
1. fare doppo clic su "Inserisci nuovo blocco", selezionare "Blocco organizzativo (OB)" e
quindi "Interrupt di processo".
2. Se si desidera rinominare l'OB, selezionare il linguaggio di programmazione (KOP, FUP o
SCL) e quindi il numero del blocco (passare alla modalità manuale e scegliere un numero
di blocco diverso da quello proposto).
3. Modificare l'OB e indicare la reazione che il programma deve attivare quando si verifica
l'evento. Da questo OB è possibile richiamare FC e FB fino a un massimo di sei livelli di
annidamento.

Parametro OB_NR
Tutti i nomi degli OB di interrupt di processo esistenti sono riportati nell'elenco a discesa
"Interrupt di processo:" della Configurazione dispositivi e nell'elenco a discesa OB_NR del
parametro ATTACH / DETACH.

Parametro EVENT
Ad ogni evento di interrupt di processo attivato è assegnato un nome di default univoco. Il
nome può essere modificato nella casella "Nome evento:", ma deve essere in ogni caso
univoco. Questi nomi vengono utilizzati nella tabella delle variabili "Costanti" e compariranno
nell'elenco a discesa del parametro EVENT per i box delle istruzioni ATTACH e DETACH. Il
valore della variabile è un numero interno utilizzato per identificare l'evento.

Funzionamento generale
Ogni evento di processo può essere assegnato a un OB di interrupt di processo. Questo
verrà inserito in una coda d'attesa ed eseguito quando si verifica l'evento previsto.
L'assegnazione dell'evento all'OB può essere effettuata durante la configurazione o il
runtime.
In fase di configurazione l'utente può scegliere se assegnare o separare un OB da un evento
attivato. Per assegnare un OB ad un evento durante la configurazione, utilizzare l'elenco a
discesa "Interrupt di processo:" (fare clic sulla freccia verso il basso sulla destra) e
selezionare un OB di interrupt di processo tra quelli disponibili. Selezionare il nome dell'OB
dall'elenco oppure scegliere "<non collegato>" per eliminare l'assegnazione.
Gli eventi di interrupt di processo attivati possono essere assegnati o separati anche durante
il runtime, utilizzando le istruzioni di programma ATTACH o DETACH (se necessario anche
più volte). Se non è stato assegnato alcun OB (perché è stato selezionato "<non collegato>"
in Configurazione dispositivi oppure è stata eseguita un'istruzione DETACH), l'evento di
allarme di processo attivo viene ignorato.

Sistema di automazione S7-1200


340 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.4 Allarmi

Operazione DETACH
L'istruzione DETACH consente di separare un particolare evento o tutti gli eventi da un
determinato OB. Se è stato specificato un particolare evento (EVENT), questo sarà l'unico
ad essere separato dall'OB_NR indicato, mentre gli altri eventi assegnati allo stesso OB_NR
rimarranno invariati. Se invece non si specifica alcun evento particolare verranno separati
tutti gli eventi assegnati a quell'OB_NR.

Codici delle condizioni di errore

Tabella 8- 87 Codici delle condizioni di errore

RET_VAL (W#16#....) ENO Descrizione


0000 1 Nessun errore
0001 1 Nessun evento da separare (solo DETACH)
8090 0 OB non presente
8091 0 Tipo dell'OB errato
8093 0 Evento non presente

8.4.2 Schedulazione orologio

8.4.2.1 Istruzione SET_CINT (Imposta parametri di schedulazione orologio)

Tabella 8- 88 SET_CINT (Imposta parametri di schedulazione orologio)

KOP / FUP SCL Descrizione


ret_val := SET_CINT( Impostare lo specifico OB di allarme per avviare
ob_nr:=_int_in_, l'esecuzione della schedulazione che interrompe il
cycle:=_udint_in_, ciclo del programma.
phase:=_udint_in_);

Tabella 8- 89 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


OB_NR IN OB_CYCLIC Numero OB (accetta nome simbolico)
CYCLE IN UDInt Intervallo di tempo in microsecondi
PHASE IN UDInt Spostamento di fase in microsecondi
RET_VAL OUT Int Codice della condizione di esecuzione

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 341
Istruzioni avanzate
8.4 Allarmi

Esempi di parametri di tempo:


● Se il tempo CYCLE = 100 us, l'OB di allarme indicato da OB_NR interrompe il ciclo del
programma ogni 100 us. L'OB di allarme viene eseguito e quindi viene restituito il
comando dell'esecuzione al ciclo del programma nel punto di interruzione.
● Se il tempo di ciclo = 0, l'evento di allarme viene disattivato e l'OB di allarme non viene
eseguito.
● Il tempo di fase (spostamento di fase) è un ritardo specificato che si verifica prima che
inizi l'intervallo del tempo di ciclo. Lo spostamento di fase può essere utilizzato per
comandare la temporizzazione dell'esecuzione degli OB con priorità inferiore.
Se gli OB con priorità superiore e inferiore vengono richiamati nello stesso intervallo di
tempo, l'OB con priorità inferiore è chiamato solo dopo che l'OB con priorità superiore ha
concluso l'elaborazione. Il tempo di inizio dell'esecuzione per l'OB con priorità inferiore può
variare in base al tempo di elaborazione degli OB con priorità superiore.

Se si desidera iniziare l'esecuzione ad un OB con priorità inferiore ad un ciclo di tempo fisso,


il tempo di spostamento di fase deve essere quindi maggiore del tempo di elaborazione degli
OB con priorità superiore.

Sistema di automazione S7-1200


342 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.4 Allarmi

Tabella 8- 90 Codici delle condizioni di errore

RET_VAL (W#16#....) Descrizione


0000 Nessun errore
8090 L'OB non esiste o è di tipo errato
8091 Tempo di ciclo non valido
8092 Tempo di spostamento di fase non valido
80B2 L'OB non ha un evento associato

8.4.2.2 Istruzione QRY_CINT (Interroga i parametri di schedulazione orologio)

Tabella 8- 91 QRY_CINT (Interroga schedulazione orologio)

KOP / FUP SCL Descrizione


ret_val := QRY_CINT( Consente di rilevare il parametro e lo stato di
ob_nr:=_int_in_, esecuzione da un OB di allarme di schedulazione
cycle=>_udint_out_, orologio. I valori restituiti si riferiscono al momento
phase=>_udint_out__, in cui viene eseguita la QRY_CINT.
status=>_word_out_);

Tabella 8- 92 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


OB_NR IN OB_CYCLIC Numero OB (accetta nome simbolico come OB_MyOBName)
RET_VAL OUT Int Codice della condizione di esecuzione
CYCLE OUT UDInt Intervallo di tempo in microsecondi
PHASE OUT UDInt Spostamento di fase in microsecondi
STATUS OUT Word Codice dello stato di allarme di schedulazione orologio:
• Per bit da 0 a 4, vedere la tabella del parametro STATUS di seguito
• Per altri bit, sempre 0

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 343
Istruzioni avanzate
8.4 Allarmi

Tabella 8- 93 Parametro STATUS

Bit Valore Descrizione


0 0 Con la CPU in RUN
1 All'avvio
1 0 L'allarme è abilitato.
1 L'allarme è disabilitato con l'istruzione DIS_IRT.
2 0 L'allarme non è attivo o è scaduto.
1 L'allarme è attivo.
4 0 L'OB identificato con OB_NR non esiste.
1 L'OB identificato con OB_NR esiste.
Altri bit Sempre 0

Se si verifica un errore, RET_VAL visualizza il relativo codice di errore e il parametro


STATUS = 0.

Tabella 8- 94 Parametro RET_VAL

RET_VAL (W#16#....) Descrizione


0000 Nessun errore
8090 L'OB non esiste o è di tipo errato.
80B2 L'OB non ha un evento associato.

8.4.3 Allarmi dall'orologio

AVVERTENZA
Se un attaccante accede alle reti attraverso la sincronizzazione NTP (Network Time
Protocol) potrebbe riuscire a controllare parzialmente il processo spostando l'ora di sistema
della CPU.
La funzione client NTP della CPU S7-1200 è disattivata per default e, se attiva, consente
solo agli indirizzi IP configurati di fungere da server NTP. La CPU la disattiva per default e
la si deve configurare per consentire la correzione da remoto dell'ora di sistema della CPU.
La CPU S7-1200 supporta gli allarme dall'orologio e le istruzioni di orologio che dipendono
da un'imkpostazione precisa dell'ora di sistema della CPU. Se si configura l'NTP e si
accetta che la sincronizzazione dell'ora venga effettuata da un server ci si deve accertare
che il server sia una sorgente affidabile. Un server inaffidabile potrebbe infatti generare una
falla nel sistema di sicurezza attraverso la quale un utente sconosciuto potrebbe controllare
parzialmente il processo spostando l'ora di sistema della CPU.
Per informazioni e consigli sulla sicurezza consultare il documento "Operational Guidelines
for Industrial Security" (http://www.industry.siemens.com/topics/global/en/industrial-
security/Documents/operational_guidelines_industrial_security_en.pdf) nella pagina Web
Siemens Service & Support:

Sistema di automazione S7-1200


344 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.4 Allarmi

8.4.3.1 SET_TINTL (Imposta allarme dall'orologio)

Tabella 8- 95 SET_TINTL (Imposta allarme dall'orologio con tipo di dati DTL)

KOP / FUP SCL Descrizione


ret_val := SET_TINTL( Imposta un allarme dall'orologio. Questo
OB_NR:=_int_in_, OB di allarme può essere impostato in
SDT:=_dtl_in_, modo da essere eseguito una volta o più
LOCAL:=_bool_in_ volte per un periodo di tempo assegnato.
PERIOD:=_word_in_
ACTIVATE:=_bool_in_);

Tabella 8- 96 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


OB_NR IN OB_TOD (INT) Numero OB (accetta nome simbolico)
SDT IN DTL Data e ora di inizio: i secondi e i millisecondi vengono ignorati e
possono essere impostati a 0.
LOCAL IN Bool 0 = usa ora di sistema
1 = usa ora locale (se la CPU è configurata per l'ora locale, altrimenti
usa quella di sistema)
PERIOD IN Word Periodo a partire dalla data e dall'ora di inizio dell'evento di allarme
ricorrente.
• W#16#0000 = una volta
• W#16#0201 = ogni minuto
• W#16#0401 = ogni ora
• W#16#1001 = ogni giorno
• W#16#1201 = ogni settimana
• W#16#1401 = ogni mese
• W#16#1801 = ogni anno
• W#16#2001 = alla fine del mese
ACTIVATE IN Bool 0 = per attivare l'evento di allarme si deve eseguire ACT_TINT.
1 = l'evento di allarme è attivo.
RET_VAL OUT Int Codice della condizione di esecuzione

Il programma può utilizzare SET_TINTL per impostare la data e l'ora di un evento di allarme
dall'orologio che eseguirà l'OB di allarme assegnato. La data e l'ora di inizio vengono
impostate dal parametro SDT e il periodo degli allarmi ricorrenti (ad esempio ogni giorno o
ogni settimana) dal parametro PERIOD. Se si imposta il periodo di ripetizione su "mensile" si
deve impostare come data di inizio un giorno da 1 a 28. I giorni da 29 a 31 non sono
utilizzabili perché non esistono nel mese di febbraio. Se si vuole impostare un evento di
allarme alla fine di tutti i mesi si deve utilizzare "alla fine del mese" per il parametro PERIOD.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 345
Istruzioni avanzate
8.4 Allarmi

Nel parametro SDT il valore del giorno della settimana nel tipo di dati DTL viene ignorato. La
data e l'ora attuali della CPU possono essere impostate con la funzione "Imposta data e ora"
della vista "Online e diagnostica" di una CPU online. Si devono impostare il mese, il giorno
del mese e l'anno. STEP 7 calcola il periodo dell'allarme in base alla data e all'ora
dell'orologio della CPU.

Nota
Quando si passa dall'ora solare a quella legale la prima ora del giorno non è disponibile. In
questo caso si deve usare la seconda ora o un ulteriore allarme di ritardo entro la prima ora.

Tabella 8- 97 Codici delle condizioni di errore

RET_VAL (W#16#....) Descrizione


0000 Nessun errore
8090 Parametro OB_NR non valido
8091 Parametro dell'ora di inizio SDT non valido:
(ad esempio un'ora di inizio compresa entro l'ora esclusa, cioè la
prima dell'ora legale)
8092 Parametro PERIOD non valido
80A1 L'ora di inizio si trova nel passato
(questo codice di errore compare solo se PERIOD = W
#16#0000).

8.4.3.2 CAN_TINT (Annulla allarme dall'orologio)

Tabella 8- 98 CAN_TINT (Annulla allarme dall'orologio)

KOP / FUP SCL Descrizione


ret_val:=CAN_TINT(_int_in); Annulla la data e l'ora di inizio
dell'evento di allarme
dall'orologio per l'OB di allarme
specificato.

Tabella 8- 99 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


OB_NR IN OB_TOD (INT) Numero OB (accetta nome simbolico)
RET_VAL OUT Int Codice della condizione di esecuzione

Sistema di automazione S7-1200


346 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.4 Allarmi

Tabella 8- 100 Codici delle condizioni di errore

RET_VAL (W#16#....) Descrizione


0000 Nessun errore
8090 Parametro OB_NR non valido
80A0 Nessuna data / ora di inizio impostata per l'OB di allarme

8.4.3.3 ACT_TINT (Attiva allarme dall'orologio)

Tabella 8- 101 ACT_TINT (Attiva allarme dall'orologio)

KOP / FUP SCL Descrizione


ret_val:=ACT_TINT(_int_in_); Attiva la data e l'ora di inizio
dell'evento di allarme
dall'orologio per l'OB di allarme
specificato.

Tabella 8- 102 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


OB_NR IN OB_TOD (INT) Numero OB (accetta nome simbolico)
RET_VAL OUT Int Codice della condizione di esecuzione

Tabella 8- 103 Codici delle condizioni di errore

RET_VAL (W#16#....) Descrizione


0000 Nessun errore
8090 Parametro OB_NR non valido
80A0 Data e ora di inizio non impostate per l'OB di allarme dall'orologio
rilevante
80A1 L'ora attivata si trova nel passato. Questo errore si verifica solo se
l'OB di allarme è impostato in modo da essere eseguito una sola
volta.

8.4.3.4 QRY_TINT (Interroga un allarme dall'orologio)

Tabella 8- 104 QRY_TINT (Interroga un allarme dall'orologio)

KOP / FUP SCL Descrizione


ret_val:=QRY_TINT( Interroga lo stato dell'allarme dall'orologio per l'OB di
OB_NR:=_int_in_, allarme specificato.
STATUS=>_word_out_);

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 347
Istruzioni avanzate
8.4 Allarmi

Tabella 8- 105 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


OB_NR IN OB_TOD (INT) Numero (accetta nome simbolico) dell'OB di allarme da interrogare
RET_VAL OUT Int Codice della condizione di esecuzione
STATUS OUT Word Stato dell'OB di allarme specificato

Tabella 8- 106 Parametro STATUS

Bit Valore Descrizione


0 0 In Run
1 All'avviamento
1 0 L'allarme è abilitato.
1 L'allarme è disabilitato.
2 0 L'allarme non è attivo o è scaduto.
1 L'allarme è attivo.
4 0 L'OB_NR assegnato non esiste.
1 Esiste già un OB con l'OB_NR assegnato.
6 1 L'allarme dall'orologio utilizza l'ora locale.
0 L'allarme dall'orologio utilizza l'ora di sistema.
Altro Sempre 0

Tabella 8- 107 Codici delle condizioni di errore

RET_VAL (W#16#....) Descrizione


0000 Nessun errore
8090 Parametro OB_NR non valido

Sistema di automazione S7-1200


348 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.4 Allarmi

8.4.4 Allarmi di ritardo


Le istruzioni SRT_DINT e CAN_DINT consentono di avviare e annullare l'elaborazione degli
allarmi di ritardo, mentre l'istruzione QRY_DINT consente di interrogare sullo stato
dell'allarme. Ogni allarme di ritardo è un evento che si verifica una sola volta allo scadere di
un tempo specificato. Se l'evento di ritardo viene annullato prima dello scadere del tempo
previsto, l'allarme non si verifica.

Tabella 8- 108 Istruzioni SRT_DINT, CAN_DINT e QRY_DINT

KOP / FUP SCL Descrizione


ret_val := SRT_DINT( SRT_DINT avvia un allarme di ritardo che esegue
ob_nr:=_int_in_, un OB allo scadere del ritardo specificato dal
dtime:=_time_in_, parametro DTIME.
sign:=_word_in_);

ret_val := CAN_DINT( CAN_DINT annulla un allarme di ritardo già


ob_nr:=_int_in_); avviato. In questo caso l'OB di allarme di ritardo
non viene eseguito.

ret_val := QRY_DINT( QRY_DINT interroga sullo stato dell'allarme di


ob_nr:=_int_in_, ritardo specificato dal parametro OB_NR.

status=>_word_out_);

Tabella 8- 109 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


OB_NR IN OB_DELAY Blocco organizzativo (OB) da avviare allo scadere di un ritardo:
scegliere tra gli OB di allarme di ritardo disponibili che sono stati creati
utilizzando la funzione dell'albero del progetto "Inserisci nuovo blocco".
Fare doppio clic sul campo del parametro, quindi fare clic sull'icona di
aiuto per visualizzare gli OB disponibili.
DTIME 1 IN Time Valore del ritardo (da 1 a 60000 ms)
SIGN 1 IN Word Non utilizzato dall'S7-1200: È accettato qualsiasi valore. Per prevenire
gli errori deve essere assegnato un valore.
RET_VAL OUT Int Codice della condizione di esecuzione
STATUS OUT Word Istruzione QRY_DINT: stato dell'OB di allarme di ritardo specificato,
vedere tabella di seguito
1 Solo per SRT_DINT

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 349
Istruzioni avanzate
8.4 Allarmi

Funzionamento
L'istruzione SRT_DINT specifica un tempo di ritardo, avvia il timer interno per calcolarlo e
associa il sottoprogramma di un OB di allarme all'evento di timeout del tempo di ritardo. Una
volta trascorso il ritardo specificato, viene generato un allarme che attiva l'esecuzione
dell'OB associato. Eseguendo l'istruzione CAN_DINT è possibile annullare un allarme di
ritardo inserito nel processo prima che scada il tempo di ritardo specificato. Il numero totale
di eventi di allarme di ritardo attivi non deve essere superiore a quattro.

Inserimento nel progetto di sottoprogrammi di OB di allarme di ritardo


È possibile assegnare alle istruzioni SRT_DINT e CAN_DINT solo OB di allarme di ritardo.
Poiché i nuovi progetti non ne contengono ancora l'utente dovrà inserirli nel seguente modo:
1. Fare doppio clic su "Inserisci nuovo blocco" nella diramazione "Blocchi di programma"
dell'albero del progetto, selezionare "Blocco organizzativo (OB)" e scegliere "Allarmi di
ritardo temporale".
2. A questo punto è possibile rinominare l'OB, selezionare il linguaggio di programmazione
o scegliere il numero del blocco. Passare alla numerazione manuale se si desidera
assegnare un numero di blocco diverso da quello assegnato automaticamente.
3. Modificare il sottoprogramma di OB di allarme di ritardo e programmare la reazione da
eseguire quando si verifica l'evento di timeout del tempo di ritardo. Dall'OB di allarme di
ritardo si possono richiamare altri blocchi di codice FC e FB fino a un massimo di sei
livelli di annidamento.
4. I nuovi nomi assegnati agli OB di allarme di ritardo risulteranno disponibili nel momento in
cui si modifica il parametro OB_NR delle istruzioni SRT_DINT e CAN_DINT.

QRY_DINT del parametro STATUS

Tabella 8- 110 In caso di errore (REL_VAL <> 0), STATUS = 0.

Bit Valore Descrizione


0 0 In RUN
1 All'avviamento
1 0 L'allarme è abilitato.
1 L'allarme è disabilitato.
2 0 L'allarme non è attivo o è scaduto.
1 L'allarme è attivo.
4 0 L'OB con il numero OB indicato in OB_NR non esiste.
1 L'OB con il numero OB indicato in OB_NR esiste.
Altri bit Sempre 0

Sistema di automazione S7-1200


350 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.4 Allarmi

Codici delle condizioni di errore

Tabella 8- 111 Codici delle condizioni per SRT_DINT, CAN_DINT e QRY_DINT

RET_VAL (W#16#...) Descrizione


0000 Nessun errore
8090 Parametro OB_NR errato
8091 Parametro DTIME errato
80A0 Allarme di ritardo non avviato.

8.4.5 Istruzioni DIS_AIRT e EN_AIRT (Ritarda/abilita elaborazione di eventi di allarme


e di errore asincroni a priorità superiore)
Le istruzioni DIS_AIRT e EN_AIRT consentono di abilitare e disabilitare l'elaborazione degli
allarmi.

Tabella 8- 112 Istruzioni DIS_AIRT e EN_AIRT

KOP / FUP SCL Descrizione


DIS_AIRT(); DIS_AIRT ritarda l'elaborazione dei nuovi eventi di allarme. In un OB è possibile
eseguire DIS_AIRT più di una volta.

EN_AIRT(); EN_AIRT abilita l'elaborazione degli eventi di allarme precedentemente disattivati


con l'istruzione DIS_AIRT. Ogni esecuzione di DIS_AIRT deve essere annullata
con un'istruzione EN_AIRT.
Per poter riattivare gli allarmi per un dato OB è necessario che le esecuzioni di
EN_AIRT vengano effettuate tutte all'interno di quell'OB o di un FC o FB richiamati
dallo stesso OB.

Tabella 8- 113 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


RET_VAL OUT Int Numero di ritardi = numero di esecuzioni di DIS_AIRT nella coda
d'attesa.

Le esecuzioni di DIS_AIRT sono conteggiate dal sistema operativo. Ogni esecuzione resta
attiva finché non viene espressamente annullata da un'istruzione EN_AIRT o finché l'OB non
è stato completamente elaborato. Ad esempio: se gli allarmi sono stati disattivati cinque
volte con cinque esecuzioni di DIS_AIRT, per annullarle si dovrà eseguire cinque volte
EN_AIRT prima che gli allarmi diventino nuovamente attivi.
Se riattivati, gli allarmi che si verificano durante l'esecuzione di DIS_AIRT vengono elaborati
oppure vengono elaborati non appena si conclude l'esecuzione dell'OB attuale.
Il parametro RET_VAL indica quante volte è stata disattivata l'elaborazione degli allarmi e il
suo valore corrisponde al numero di esecuzioni di DIS_AIRT messe in coda d'attesa.
L'elaborazione degli allarmi viene riattivata solo se il parametro RET_VAL = 0.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 351
Istruzioni avanzate
8.5 Diagnostica (PROFINET o PROFIBUS)

8.5 Diagnostica (PROFINET o PROFIBUS)

8.5.1 Istruzioni di diagnostica


Le seguenti istruzioni di diagnostica possono essere utilizzate sia con PROFINET, che con
PROFIBUS:
● Istruzione GET_DIAG (Pagina 365): Le informazioni di diagnostica possono essere lette
da un determinato dispositivo.
● Istruzione DeviceStates (Pagina 354): Gli stati operativi per un sistema di periferia
decentrata possono essere recuperati all'interno di un sottosistema I/O.
● Istruzione ModuleStates (Pagina 360): Gli stati operativi per i moduli possono essere
recuperati in un sistema di periferia decentrata.
● Istruzione LED (Pagina 353): Lo stato dei LED può essere letto per un sistema di periferia
decentrata.

8.5.2 Eventi di diagnostica la periferia decentrata

Nota
In un sistema PROFIBUS IO, dopo un download o un ciclo di spegnimento/riaccensione la
CPU passa in RUN, a meno che la compatibilità hardware non sia stata impostata in modo
da consentire moduli sostitutivi accettabili (Pagina 146) e uno o più moduli siano mancanti o
non siano accettabili come sostituti del modulo configurato.

Come rappresentato nella seguente tabella, la CPU supporta diagnostiche che possono
essere configurate per i componenti del sistema di periferia decentrata. Ogni questo errore
genera una voce lunga nel buffer di diagnostica.

Tabella 8- 114 Gestione degli eventi di diagnostica per PROFINET e PROFIBUS

Tipo di errore Informazioni di diagnostica Voci nel buffer di modo operativo della CPU
per la stazione? diagnostica?
Errore di diagnostica Sì Sì Rimane nel modo RUN
Guasto del rack o della Sì Sì Rimane nel modo RUN
stazione
Errore di accesso I/O 1 No Sì Rimane nel modo RUN
Errore di accesso periferico 2 No Sì Rimane nel modo RUN
Evento di Sì Sì Rimane nel modo RUN
estrazione/inserzione
1 Esempio di causa di un errore di accesso I/O: è stato estratto un modulo.
2 Esempio di causa di un errore di accesso periferico: comunicazione aciclica con un sottomodulo che non sta
comunicando.

Sistema di automazione S7-1200


352 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.5 Diagnostica (PROFINET o PROFIBUS)

Utilizzare l'Istruzione GET_DIAG (Pagina 365) per ogni stazione per ottenere le informazioni
di diagnostica. Questo consente di gestire a livello di programma gli errori rilevati nel
dispositivo e se necessario di commutare la CPU nello stato di funzionamento STOP.
Questo metodo richiede di specificare il dispositivo hardware dal quale leggere le
informazioni dello stato.
L'istruzione GET_DIAG utilizza l'"Indirizzo L" (LADDR) della stazione per ottenere lo stato
dell'intera stazione. Questo Indirizzo L può essere trovato all'interno della vista
"Configurazione di rete" e selezionando l'intero rack della stazione (l'intera area grigia),
l'Indirizzo L viene visualizzato nella scheda "Proprietà" della stazione. È possibile trovare il
LADDR per ogni singolo modulo o nelle proprietà dei moduli (nella configurazione del
dispositivo) o nella tabella delle variabili di default per la CPU.

8.5.3 Istruzione LED (Leggi stato dei LED)

Tabella 8- 115 Istruzione LED

KOP / FUP SCL Descrizione


ret_val := LED( L'istruzione LED consente di leggere lo stato dei LED su una CPU o
laddr:=_word_in_, un'interfaccia. Lo stato del LED specificato viene restituito dall'uscita
LED:=_uint_in_); RET_VAL.

Tabella 8- 116 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


LADDR IN HW_IO Numero identificativo della CPU o dell'interfaccia1
LED IN UInt Numero identificativo del LED
1 RUN/STOP Colore 1 = verde, colore 2 = giallo
2 Errore Colore 1 = rosso
3 Manutenzione Colore 1 = giallo
4 Ridondanza Non applicabile
5 Collegamento Colore 1 = verde
6 Tx/Rx Colore 1 = giallo
RET_VAL OUT Int Stato del LED
1 Per questo esempio selezionare la CPU (ad es. "PLC_1") o l'interfaccia PROFINET nell'elenco a discesa del parametro.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 353
Istruzioni avanzate
8.5 Diagnostica (PROFINET o PROFIBUS)

Tabella 8- 117 Stato di RET_VAL

RET_VAL (W#16#...) Descrizione


Stato dei LED da 0 a 9 0 Il LED non esiste
1 Off
2 Colore 1 acceso (fisso)
3 Colore 2 acceso (fisso)
4 Colore 1 lampeggiante a 2 Hz
5 Colore 2 lampeggiante a 2 Hz
6 Colore 1 e 2 lampeggiante alternativamente a 2 Hz
7 Colore 1 acceso (Tx/Rx)
8 Colore 2 acceso (Tx/Rx)
9 Stato del LED non disponibile
8091 Il dispositivo identificato con LADDR non esiste
8092 Il dispositivo identificato con LADDR non supporta i LED
8093 Identificativo del LED non definito
80Bx La CPU identificata con LADDR non supporta l'istruzione LED

8.5.4 Istruzione DeviceStates


L'istruzione DeviceStates restituisce lo stato di tutti gli slave di periferia decentrata collegati a
un particolare master di periferia decentrata.

Tabella 8- 118 Istruzione DeviceStates

KOP / FUP SCL Descrizione


ret_val := DeviceStates( DeviceStates rileva gli stati operativi del
laddr:=hw_io_in_, sistema di periferia di un sottosistema di
mode:=_uint_in_, periferia. Dopo l'esecuzione, il parametro
state:=_variant_inout_); STATE contiene lo stato dell'errore di ciascun
sistema di periferia in un elenco di bit (per
LADDR e MODE assegnati). Questa
informazione corrisponde alla vista della
diagnostica di STEP 7 dello stato del
dispositivo.
L'ingresso LADDR di DeviceStates utilizza
l'identificazione HW di un'interfaccia di periferia
decentrata. Nel TIA Portal, per sapere quali
sono le identificazioni hardware di un PLC si
devono cercare i tipi di dati "Hw_IoSystem"
nella scheda delle costanti del sistema della
tabella delle variabili del PLC.

Sistema di automazione S7-1200


354 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.5 Diagnostica (PROFINET o PROFIBUS)

Tabella 8- 119 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


LADDR IN HW_IOSYSTEM Indirizzo logico: (identificativo del sistema I/O)
MODE IN UInt Supporta cinque modi di funzionamento. L'ingresso MODE
determina quali dati vengono restituiti all'indirizzo specificato per
l'informazione STATE. I modi sono i seguenti:
• 1: Configurazione del dispositivo attiva
• 2: Dispositivo difettoso
• 3: Dispositivo disattivato
• 4: Dispositivo esistente
• 5: Problema nel dispositivo
RET_VAL OUT Int Codice della condizione di esecuzione
STATE1 InOut Variant Buffer che riceve lo stato di errore di ciascun dispositivo: il tipo di
dati scelto per il parametro STATE può essere di qualsiasi tipo di
bit (Bool, Byte, Word o DWord) ) oppure un array di un tipo di bit.
• Il bit 0 del primo byte dei dati STATE restituiti è un bit di
riepilogo. Quando è impostato su TRUE indica che sono
disponibili altri dati.
• I dati restituiti dal parametro STATE indicano un rapporto "uno
a uno" tra un indirizzo di bit e un indirizzo di periferia
decentrata. Questo indirizzamento del dispositivo è TRUE per
PROFIBUS e PROFINET. Ad esempio il bit 4 del primo byte è
correlato all'indirizzo PROFIBUS 4 o al dispositivo PROFINET
numero 4.

1 Per PROFIBUS-DP, la lunghezza dell'informazione di stato è 128 bit. Per PROFINET I/O, la lunghezza è 1024 bit.

Dopo l'esecuzione, il parametro STATE contiene lo stato dell'errore di ciascun sistema di


periferia sotto forma di un elenco di bit (per LADDR e MODE assegnati).

Tabella 8- 120 Codici delle condizioni di errore

RET_VAL (W#16#...) Descrizione


0 Nessun errore
8091 LADDR non esiste.
8092 LADDR non indirizza un sistema I/O.
8093 Tipo di dati non validi assegnato al parametro STATE: i tipi di dati validi sono (Bool, Byte,
Word o Dword) o un array di (Bool, Byte, Word o Dword)
80Bx L'istruzione DeviceStates non è supportata dalla CPU per questo LADDR.
8452 I dati di stato completi sono troppo grandi per il parametro STATE assegnato. Il buffer STATE
contiene un risultato parziale.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 355
Istruzioni avanzate
8.5 Diagnostica (PROFINET o PROFIBUS)

8.5.4.1 Esempi di configurazione di DeviceStates

Esempio PROFIBUS
Ogni esempio PROFIBUS comprende quanto segue:
● 16 dispositivi PROFIBUS chiamati "DPSlave_10" ... "DPSlave_25"
● I 16 dispositivi PROFIBUS utilizzano indirizzi PROFIBUS da 10 a 25.
● Ogni slave è configurato con più moduli I/O.
● Vengono indicati i primi quattro byte dell'informazione restituita dal parametro STATE.

MODE Esempio 1: Esempio 2: Esempio 3:


funzionamento PROFIBUS slave PROFIBUS slave
normale senza errori DPSlave_12 con un DPSlave_12
modulo estratto scollegato
1: Configurazione del 0x01FC_FF03 0x01FC_FF03 0x01FC_FF03
dispositivo attiva
2: Dispositivo difettoso 0x0000_0000 0x0110_0000 0x0110_0000
3: Dispositivo disattivato 0x0000_0000 0x0000_0000 0x0000_0000
4: Dispositivo esistente 0x01FC_FF03 0x01FC_FF03 0x01EC_FF03
5: Problema nel dispositivo 0x0000_0000 0x0110_0000 0x0110_0000

Le quattro seguenti tabelle illustrano la scomposizione binaria dei quattro byte di dati
analizzati:

Tabella 8- 121 Esempio 1: nessun errore: viene restituito il valore 0x01FC_FF03 per MODE 1
(Configurazione del dispositivo attiva).

Byte con valore Pattern di bit con valore Avvertenza


Byte 1 0x01 Bit 7 0000-0001 Bit 0 Il bit 0 è vero; i dati sono disponibili.
Byte 2 0xFC Bit 15 1111-1100 Bit 8
Byte 3 0xFF Bit 23 1111-1111 Bit 16
Byte 4 0x03 Bit 31 0000-0011 Bit 24

I dispositivi sono configurati negli indirizzi da 10 (bit 10) a 25 (bit 25).


Negli indirizzi da 1 a 9 non è configurato alcun dispositivo.
MODE 4 (Dispositivo esistente) i dati corrispondono MODE 1 (Configurazione del dispositivo
attiva), i dispositivi configurati corrispondono a quelli presenti.

Sistema di automazione S7-1200


356 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.5 Diagnostica (PROFINET o PROFIBUS)

Tabella 8- 122 Esempio 2: un modulo è stato estratto dallo slave PROFIBUS "DPSlave_12". Viene
restituito il valore 0x0110_0000 per MODE 2 (Dispositivo difettoso).

Byte con valore Pattern di bit con valore Avvertenza


Byte 1 0x01 Bit 7 0000-0001 Bit 0 Il bit 0 è vero; i dati sono disponibili.
Byte 2 0x10 Bit 15 0001-0000 Bit 8
Byte 3 0x00 Bit 23 0000-0000 Bit 16
Byte 4 0x00 Bit 31 0000-0000 Bit 24

Il dispositivo 12 (bit 12) è contrassegnato come difettoso.


MODE 5 (Problema nel dispositivo) restituisce le stesse informazioni di MODE 2 (Dispositivo
difettoso).

Tabella 8- 123 Esempio 2 (continua): un modulo è stato estratto dallo slave PROFIBUS
"DPSlave_12". Viene restituito il valore 0x01FC_FF03 per MODE 4 (Dispositivo
esistente).

Byte con valore Pattern di bit con valore Avvertenza


Byte 1 0x01 Bit 7 0000-0001 Bit 0 Il bit 0 è vero; i dati sono disponibili.
Byte 2 0xFC Bit 15 1111-1100 Bit 8
Byte 3 0xFF Bit 23 1111-1111 Bit 16
Byte 4 0x03 Bit 31 0000-0011 Bit 24

Il dispositivo 12 (bit 12) continua a funzionare nella rete anche se ha un errore come indicato più
sopra in MODE 2 (Dispositivo difettoso), per cui MODE 4 (Dispositivo esistente) lo segnala come
"dispositivo esistente".

Tabella 8- 124 Esempio 3: lo slave PROFIBUS "DPSlave_12" è scollegato (cavo disinserito o


alimentazione mancante) dalla rete PROFIBUS. "DPSlave_12" continua a essere
rilevato sia come dispositivo difettoso che come errore nel dispositivo. La differenza è
che "DPSlave_12" non viene più rilevato come dispositivo esistente. Viene restituito il
valore 0x01EC_FF03 per MODE 4 (Dispositivo esistente).

Byte con valore Pattern di bit con valore Avvertenza


Byte 1 0x01 Bit 7 0000-0001 Bit 0 Il bit 0 è vero; i dati sono disponibili.
Byte 2 0xEC Bit 15 1110-1100 Bit 8
Byte 3 0xFF Bit 23 1111-1111 Bit 16
Byte 4 0x03 Bit 31 0000-0011 Bit 24

Il dispositivo 12 (bit 12) è contrassegnato come non esistente. A parte questa eccezione i dispositivi
da 10 a 25 continuano a essere rilevati come esistenti.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 357
Istruzioni avanzate
8.5 Diagnostica (PROFINET o PROFIBUS)

Esempio PROFINET
Ogni esempio PROFINET comprende quanto segue:
● 16 slave PROFINET da "et200s_1" a "et200s_16"
● I 16 dispositivi PROFINET utilizzano i numeri PROFINET da 1 a 16.
● Ogni slave è configurato con più moduli I/O.
● Vengono indicati i primi quattro byte dell'informazione restituita dal parametro STATE.

MODE Esempio 1: Esempio 2: Esempio 3:


funzionamento PROFINET slave PROFINET slave
normale senza errori et200s_1 modulo et200s_1 scollegato
estratto
1: Configurazione del 0xFFFF_0100 0xFFFF_0100 0xFFFF_0100
dispositivo attiva
2 - Dispositivo difettoso 0x0000_0000 0x0300_0000 0x0300_0000
3 - Dispositivo disattivato 0x0000_0000 0x0000_0000 0x0000_0000
4 - Dispositivo esistente 0xFFFF_0100 0xFFFF_0100 0xFDFF_0100
5 - Problema nel dispositivo 0x0000_0000 0x0300_0000 0x0300_0000

Le quattro seguenti tabelle illustrano la scomposizione binaria dei quattro byte di dati
analizzati:

Tabella 8- 125 Esempio 1: nessun errore: viene restituito il valore xFFFF_0100 per MODE 1
(Configurazione del dispositivo attiva).

Byte con valore Pattern di bit con valore Avvertenza


Byte 1 0xFF Bit 7 1111-1111 Bit 0 Il bit 0 è vero; i dati sono disponibili.
Byte 2 0xFF Bit 15 1111-1111 Bit 8
Byte 3 0x01 Bit 23 0000-0001 Bit 16
Byte 4 0x00 Bit 31 0000-0000 Bit 24

I dispositivi sono configurati negli indirizzi da 1 (bit 1) a 16 (bit 16).


Negli indirizzi da 1 a 9 non è configurato alcun dispositivo.
MODE 4 (Dispositivo esistente) i dati corrispondono MODE 1 (Configurazione del dispositivo
attiva), i dispositivi configurati corrispondono a quelli presenti.

Sistema di automazione S7-1200


358 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.5 Diagnostica (PROFINET o PROFIBUS)

Tabella 8- 126 Esempio 2: un modulo è stato estratto dallo slave PROFINET "et200s_1". Viene
restituito il valore 0x0300_0000 per MODE 2 (Dispositivo difettoso).

Byte con valore Pattern di bit con valore Avvertenza


Byte 1 0x03 Bit 7 0000-0011 Bit 0 Il bit 0 è vero; i dati sono disponibili.
Byte 2 0x00 Bit 15 0000-0000 Bit 8
Byte 3 0x00 Bit 23 0000-0000 Bit 16
Byte 4 0x00 Bit 31 0000-0000 Bit 24

Il dispositivo 1 (bit 1) è contrassegnato come difettoso. Poiché il dispositivo esiste ancora, MODE 4
(Dispositivo esistente) indica gli stessi dati di quando funziona normalmente.
MODE 5 (Problema nel dispositivo) restituisce le stesse informazioni di MODE 2 (Dispositivo
difettoso).

Tabella 8- 127 Esempio 2 (continua): un modulo è stato estratto dallo slave PROFIBUS "et200s_1".
Viene restituito il valore 0xFFFF_0100 per MODE 4 (Dispositivo esistente).

Byte con valore Pattern di bit con valore Avvertenza


Byte 1 0xFF Bit 7 1111-1111 Bit 0 Il bit 0 è vero; i dati sono disponibili.
Byte 2 0xFF Bit 15 1111-1111 Bit 8
Byte 3 0x01 Bit 23 0000-0001 Bit 16
Byte 4 0x00 Bit 31 0000-0000 Bit 24

Il dispositivo 1 (bit 1) continua a funzionare nella rete anche se ha un errore come indicato più sopra
in MODE 2 (Dispositivo difettoso), per cui MODE 4 (Dispositivo esistente) lo segnala come
"dispositivo esistente".

Tabella 8- 128 Esempio 3: lo slave PROFINET "et200s_1" è scollegato (cavo disinserito o


alimentazione mancante) dalla rete PROFINET. Viene restituito il valore 0xFDFF_0100
per MODE 4 (Dispositivo esistente).

Byte con valore Pattern di bit con valore Avvertenza


Byte 1 0xFD Bit 7 1111-1101 Bit 0 Il bit 0 è vero; i dati sono disponibili.
Byte 2 0xFF Bit 15 1111-1111 Bit 8
Byte 3 0x01 Bit 23 0000-0001 Bit 16
Byte 4 0x00 Bit 31 0000-0000 Bit 24

Il dispositivo 1 (bit 1) non esiste. I dispositivi da 2 (bit 2) a 16 (bit 16) non esistono.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 359
Istruzioni avanzate
8.5 Diagnostica (PROFINET o PROFIBUS)

8.5.5 Istruzione ModuleStates


L'istruzione ModuleStates può essere utilizzata per restituire lo stato di tutti i moduli di una
stazione PROFIBUS o PROFINET.

Tabella 8- 129 Istruzione ModuleStates

KOP / FUP SCL Descrizione


ret_val := ModuleStates( ModuleStates recupera gli stati operativi dei
laddr:=_word_in_, moduli I/O. Dopo l'esecuzione, il parametro
mode:=_uint_in, STATE contiene lo stato dell'errore di ciascun
state:=_variant_inout); modulo I/O in un elenco di bit (per LADDR e
MODE assegnati). Questa informazione
corrisponde alla vista della diagnostica di
STEP 7 dello stato del modulo.
L'ingresso LADDR di ModuleStates utilizza
l'identificazione hardware di una stazione di
periferia decentrata e non del modulo di testa
in sé. Per trovare l'identificazione hardware si
deve selezionare la stazione intera nella vista
di rete e consultare l'area delle identificazioni
hardware in Proprietà. La si può anche trovare
anche cercando i tipi di dati "Hw_Device" e
"Hw_DpSlave" nella scheda delle costanti di
sistema della tabella delle variabili del PLC.

Tabella 8- 130 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


LADDR IN HW_DEVICE Indirizzo logico (identificazione dei moduli I/O)
MODE IN UInt Supporta cinque modi di funzionamento. L'ingresso MODE
determina quali dati vengono restituiti all'indirizzo specificato per
l'informazione STATE. I modi sono i seguenti:
• 1: Configurazione del modulo attiva
• 2: Modulo difettoso
• 3: Modulo disattivato
• 4: Modulo presente
• 5: Problema nel modulo

Sistema di automazione S7-1200


360 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.5 Diagnostica (PROFINET o PROFIBUS)

Parametro e tipo Tipo di dati Descrizione


RET_VAL OUT Int Stato (codice della condizione)
STATE1 InOut Variant Buffer che riceve lo stato di errore di ciascun modulo: il tipo di dati
utilizzato per il parametro STATE può essere di qualsiasi tipo di bit
(Bool, Byte, Word o DWord) ) oppure un array di un tipo di bit.
• Il bit 0 del primo byte dei dati STATE restituiti è un bit di
riepilogo. Quando è impostato su TRUE indica che sono
disponibili altri dati.
• I dati restituiti dal parametro STATE indicano un rapporto "uno
a uno" tra un indirizzo di bit e la posizione di un modulo.
Questo indirizzamento del posto connettore è TRUE per
PROFIBUS e PROFINET. Ad esempio in un'ET 200S con
modulo di testa, modulo di alimentazione e due moduli I/O, il bit
1 del primo byte è correlato al modulo di testa, il bit 2 al modulo
di alimentazione e i bit 3 e 4 ai moduli I/O.

1 Può essere assegnato un massimo di 128 bit. Il numero di bit richiesti dipende dall'uso del modulo I/O.

Tabella 8- 131 Codici delle condizioni di errore

RET_VAL ( W#16#...) Descrizione


0 Nessun errore
8091 Il modulo identificato con LADDR non esiste
8092 Il modulo identificato con LADDR non indirizza un sistema di periferia.
8093 Tipo di dati non valido per il parametro STATE: i tipi di dati validi sono (Bool, Byte, Word o
Dword) o un array di (Bool, Byte, Word o Dword).
80Bx L'istruzione ModuleStates non è supportata dalla CPU per questo LADDR.
8452 I dati di stato completi sono troppo grandi per il parametro STATE assegnato. Il buffer STATE
contiene un risultato parziale.

8.5.5.1 Esempi di configurazione di ModuleStates

Esempio PROFIBUS
Ogni esempio PROFIBUS comprende quanto segue:
● 16 dispositivi PROFIBUS chiamati "DPSlave_10" ... "DPSlave_25"
● I 16 dispositivi PROFIBUS utilizzano indirizzi PROFIBUS da 10 a 25.
● Ogni slave è configurato con più moduli I/O.
● Questo esempio utilizza il parametro LADDR dello slave PROFIBUS "DPSlave_12" che
contiene un modulo di testa, un modulo di alimentazione e due moduli I/O.
● Vengono indicati i primi quattro byte dell'informazione restituita dal parametro STATE.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 361
Istruzioni avanzate
8.5 Diagnostica (PROFINET o PROFIBUS)

MODE Esempio 1: Esempio 2: Esempio 3:


funzionamento PROFIBUS slave PROFIBUS slave
normale senza errori DPSlave_12 modulo DPSlave_12
estratto scollegato
1: Configurazione del 0x1F00_0000 0x1F00_0000 0x1F00_0000
modulo attiva
2: Modulo difettoso 0x0000_0000 0x0900_0000 0x1F00_0000
3: Modulo disattivato 0x0000_0000 0x0000_0000 0x0000_0000
4: Modulo presente 0x1F00_0000 0x1700_0000 0x0000_0000
5: Problema nel modulo 0x0000_0000 0x0900_0000 0x1F00_0000

Le quattro seguenti tabelle illustrano la scomposizione binaria dei quattro byte di dati
analizzati:

Tabella 8- 132 Esempio 1: nessun errore: viene restituito il valore 0x1F00_0000 per MODE 1
(Configurazione del modulo attiva).

Byte con valore Pattern di bit con valore Avvertenza


Byte 1 0x1F Bit 7 0001-1111 Bit 0 Il bit 0 è vero; i dati sono disponibili.
Byte 2 0x00 Bit 15 0000-0000 Bit 8
Byte 3 0x00 Bit 23 0000-0000 Bit 16
Byte 4 0x00 Bit 31 0000-0000 Bit 24

I posti connettore da 1 (bit 1) a 4 (bit 4) contengono dei moduli. I posti connettore da 5 (bit 5) in poi
non contengono moduli.
MODE 4 (Modulo esistente) i dati corrispondono MODE 1 (Configurazione del modulo attiva), i
moduli configurati corrispondono a quelli presenti.

Tabella 8- 133 Esempio 2: un modulo è stato estratto dallo slave PROFIBUS "DPSlave_12". Viene
restituito il valore 0x0900_0000 per MODE 2 (Modulo difettoso).

Byte con valore Pattern di bit con valore Avvertenza


Byte 1 0x09 Bit 7 0000-1001 Bit 0 Il bit 0 è vero; i dati sono disponibili.
Byte 2 0x00 Bit 15 0000-0000 Bit 8
Byte 3 0x00 Bit 23 0000-0000 Bit 16
Byte 4 0x00 Bit 31 0000-0000 Bit 24

Il modulo 3 (bit 3) è contrassegnato come difettoso. Tutti gli altri moduli sono funzionanti.

Sistema di automazione S7-1200


362 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.5 Diagnostica (PROFINET o PROFIBUS)

Tabella 8- 134 Esempio 2 (continua): un modulo è stato estratto dallo slave PROFIBUS
"DPSlave_12". Viene restituito il valore 0x1700_0000 per MODE 4 (Modulo esistente).

Byte con valore Pattern di bit con valore Avvertenza


Byte 1 0x17 Bit 7 0000-0001 Bit 0 Il bit 0 è vero; i dati sono disponibili.
Byte 2 0x00 Bit 15 0000-0000 Bit 8
Byte 3 0x00 Bit 23 0000-0000 Bit 16
Byte 4 0x00 Bit 31 0000-0000 Bit 24

Il modulo 3 (bit 3) è segnalato come mancante. I moduli 1, 2 e 4 (bit 1, 2 e 4) sono indicati come
esistenti.

Tabella 8- 135 Esempio 3: lo slave PROFIBUS "DPSlave_12" è scollegato (cavo disinserito o


alimentazione mancante) dalla rete PROFIBUS. Viene restituito il valore 0x1F00_0000
per MODE 2 (Modulo difettoso).

Byte con valore Pattern di bit con valore Avvertenza


Byte 1 0x1F Bit 7 0001-1111 Bit 0 Il bit 0 è vero; i dati sono disponibili.
Byte 2 0x00 Bit 15 0000-0000 Bit 8
Byte 3 0x00 Bit 23 0000-0000 Bit 16
Byte 4 0x00 Bit 31 0000-0000 Bit 24

I moduli nei posti connettore da 1 a 4 (bit da 1 a 4) sono tutti contrassegnati come difettosi perché il
dispositivo non è presente.
MODE 5 (Problema nel modulo) restituisce le stesse informazioni di MODE 2 (Modulo difettoso).

Esempio PROFINET
Ogni esempio PROFINET comprende quanto segue:
● 16 slave PROFINET da "et200s_1" a "et200s_16"
● I 16 dispositivi PROFINET utilizzano i numeri PROFINET da 1 a 16.
● Ogni slave è configurato con più moduli I/O.
● Questo esempio utilizza lo slave PROFINET "et200s_1" che contiene un modulo di testa,
un modulo di alimentazione e 18 moduli I/O.
● Vengono indicati i primi quattro byte dell'informazione restituita dal parametro STATE.

MODE Esempio 1: Esempio 2: Esempio 3:


funzionamento PROFINET slave PROFINET slave
normale senza errori et200s_1 modulo et200s_1 scollegato
estratto
1: Configurazione del 0xFFFF_1F00 0xFFFF_1F00 0xFFFF_1F00
modulo attiva
2: Modulo difettoso 0x0000_0000 0x0180_0000 0xFFFF_1F00
3: Modulo disattivato 0x0000_0000 0x0000_0000 0x0000_0000

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 363
Istruzioni avanzate
8.5 Diagnostica (PROFINET o PROFIBUS)

MODE Esempio 1: Esempio 2: Esempio 3:


funzionamento PROFINET slave PROFINET slave
normale senza errori et200s_1 modulo et200s_1 scollegato
estratto
4: Modulo presente 0xFFFF_1F00 0xFF7F_1F00 0x0000_0000
5: Problema nel modulo 0x0000_0000 0x0180_0000 0xFFFF_1F00

Le quattro seguenti tabelle illustrano la scomposizione binaria dei quattro byte di dati
analizzati:

Tabella 8- 136 Esempio 1: nessun errore: viene restituito il valore 0xFFFF_1F00 per MODE 1
(Configurazione del modulo attiva).

Byte con valore Pattern di bit con valore Avvertenza


Byte 1 0xFF Bit 7 1111-1111 Bit 0 Il bit 0 è vero; i dati sono disponibili.
Byte 2 0xFF Bit 15 1111-1111 Bit 8
Byte 3 0x1F Bit 23 0001-1111 Bit 16
Byte 4 0x00 Bit 31 0000-0000 Bit 24

I posti connettore da 1 (bit 1) a 20 (bit 20) contengono dei moduli. Il posto connettore 21 e quelli
successivi non contengono moduli.
MODE 4 (Modulo esistente) i dati corrispondono MODE 1 (Configurazione del modulo attiva), i
moduli configurati corrispondono a quelli presenti.

Tabella 8- 137 Esempio 2: un modulo è stato estratto dallo slave PROFINET "et200s_1". Viene
restituito il valore 0x0180_0000 per MODE 2 (Modulo difettoso).

Byte con valore Pattern di bit con valore Avvertenza


Byte 1 0x01 Bit 7 0000-0001 Bit 0 Il bit 0 è vero; i dati sono disponibili.
Byte 2 0x80 Bit 15 1000-0000 Bit 8
Byte 3 0x00 Bit 23 0000-0000 Bit 16
Byte 4 0x00 Bit 31 0000-0000 Bit 24

Il modulo 15 (bit 15) è contrassegnato come difettoso. Tutti gli altri moduli sono funzionanti.

Tabella 8- 138 Esempio 2 (continua): un modulo è stato estratto dallo slave PROFIBUS "et200s_1".
Viene restituito il valore 0xFF7F_1F00 per MODE 4 (Modulo esistente).

Byte con valore Pattern di bit con valore Avvertenza


Byte 1 0xFF Bit 7 1111-1111 Bit 0 Il bit 0 è vero; i dati sono disponibili.
Byte 2 0x7F Bit 15 0111-1111 Bit 8
Byte 3 0x1F Bit 23 0001-1111 Bit 16
Byte 4 0x00 Bit 31 0000-0000 Bit 24

Il modulo 15 (bit 15) è segnalato come mancante. I moduli da 1 a 14 (i bit da 1 a 14) e da 16 a 20 (i bit
da 16 a 20) sono indicati come esistenti.

Sistema di automazione S7-1200


364 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.5 Diagnostica (PROFINET o PROFIBUS)

Tabella 8- 139 Esempio 3: lo slave PROFINET "et200s_1" è scollegato (cavo disinserito o


alimentazione mancante) dalla rete PROFINET. Viene restituito il valore 0xFFFF_1F00
per MODE 2 (Modulo difettoso).

Byte con valore Pattern di bit con valore Avvertenza


Byte 1 0xFF Bit 7 1111-1111 Bit 0 Il bit 0 è vero; i dati sono disponibili.
Byte 2 0xFF Bit 15 1111-1111 Bit 8
Byte 3 0x1F Bit 23 0001-1111 Bit 16
Byte 4 0x00 Bit 31 0000-0000 Bit 24

I moduli nei posti connettore da 1 a 20 (bit da 1 a 20) sono tutti contrassegnati come difettosi perché il
dispositivo non è presente.
MODE 5 (Problema nel modulo) restituisce le stesse informazioni di MODE 2 (Modulo difettoso).

8.5.6 Istruzione GET_DIAG (Leggi informazioni di diagnostica)

Descrizione
L'istruzione "GET_DIAG" consente di leggere le informazioni di diagnostica di un dispositivo
hardware. Il dispositivo hardware è selezionato con il parametro LADDR. Con il parametro
MODE si selezionano le informazioni di diagnostica da leggere.

Tabella 8- 140 Istruzione GET_DIAG

KOP / FUP SCL Descrizione


ret_val := GET_DIAG( Legge le informazioni di diagnostica da un
mode:=_uint_in_, dispositivo hardware assegnato.
laddr:=_word_in_,
cnt_diag=>_uint_out_,
diag:=_variant_inout_,
detail:=_variant_inout_);

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 365
Istruzioni avanzate
8.5 Diagnostica (PROFINET o PROFIBUS)

Parametri
La seguente tabella descrive i parametri dell'istruzione "GET_DIAG":

Tabella 8- 141 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


MODE IN UInt Utilizzare il parametro MODE per selezionare i dati di diagnostica da
emettere.
LADDR IN HW_ANY (Word) ID hardware del dispositivo
RET_VAL OUT Int Stato dell'istruzione
CNT_DIAG OUT UInt Numero di dettagli di diagnostica delle uscite
DIAG InOut Variant Puntatore all'area di dati per la memorizzazione delle informazioni di
diagnostica della modalità selezionata
DETAILS InOut Variant Puntatore all'area di dati per la memorizzazione delle informazioni di
diagnostica in base alla modalità selezionata

Parametro MODE
A seconda del valore del parametro MODE i parametri DIAG, CNT_DIAG e DETAILS
emettono dati di diagnostica diversi:

Tabella 8- 142 Parametro MODE

MODE Descrizione DIAG CNT_DIAG DETAILS


0 Emissione di tutte le Stringa di bit dei modi 0 -
informazioni di diagnostica supportati come DWord,
supportate per un modulo dove Bit X=1 indica che è
come DWord, dove Bit X=1 supportato il modo X.
indica che è supportato il
modo X.
1 Emissione dello stato inerente Stato di diagnostica: 0 -
dell'oggetto hardware Emissione in base alla
indirizzato. struttura DIS. (Nota: fare
riferimento all'informazione
di "struttura DIS" di seguito
e all'esempio di istruzione
GET_DIAG al termine del
capitolo).
2 Emissione dello stato di tutti i Emissione dei dati di 0 -
moduli subordinati diagnostica in base alla
dell'oggetto hardware struttura DNN. (Nota: fare
indirizzato. riferimento all'informazione
di "struttura DNN" di seguito
e all'esempio di istruzione
GET_DIAG al termine del
capitolo).

Sistema di automazione S7-1200


366 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.5 Diagnostica (PROFINET o PROFIBUS)

Struttura DIS
Se il parametro MODE = 1, le informazioni di diagnostica sono emesse in base alla struttura
DIS. La seguente tabella riporta il significato dei singoli valori dei parametri:

Tabella 8- 143 Struttura della Diagnostic Information Source (DIS)

Parametro Tipo di dati Valore Descrizione


MaintenanceState DWord Enum
0 Manutenzione non necessaria
1 Il modulo o il dispositivo è disattivato.
2 -
3 -
4 -
5 Manutenzione necessaria
6 Manutenzione richiesta
7 Errore
8 Stato sconosciuto / errore nel modulo subordinato
9 -
10 Gli ingressi/le uscite non sono disponibili.
Componentstate DWord Array di bit Stato dei sottomoduli del modulo:
Detail
• Bit 0 ... 15: Messaggio di stato del modulo
• Bit 16 ... 31: Messaggio di stato della CPU
0 ... 2 Ulteriori informazioni:
(enum)
• Bit 0: Nessuna informazione ulteriore
• Bit 1: Trasferimento non consentito
3 Bit 3 = 1: Almeno un canale supporta i qualificatori per la diagnostica.
4 Bit 4 = 1: Manutenzione necessaria per almeno un canale o un
componente
5 Bit 5 = 1: Manutenzione richiesta per almeno un canale o un
componente
6 Bit 6 = 1: Errore in almeno un canale o un componente
7 ... 10 Riservati (sempre = 0)
11 ... 14 Bit 11 = 1: PNIO - sottomodulo corretto
Bit 12 = 1: PNIO - modulo sostitutivo
Bit 13 = 1: PNIO - modulo errato
Bit 14 = 1: PNIO - modulo scollegato
15 Riservati (sempre = 0)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 367
Istruzioni avanzate
8.5 Diagnostica (PROFINET o PROFIBUS)

Parametro Tipo di dati Valore Descrizione


16 ... 31 Informazioni sullo stato dei moduli generate dalla CPU:
Bit 16 = 1: Modulo disattivato
Bit 17 = 1: Operazione CiR attiva
Bit 18 = 1: Ingresso non disponibile
Bit 19 = 1: Uscita non disponibile
Bit 20 = 1: Overflow del buffer di diagnostica
Bit 21 = 1: Diagnostica non disponibile
Bit 22 = 31: Riservati (sempre = 0)
OwnState Uint16 Enum Il valore del parametro OwnState descrive lo stato di manutenzione del
modulo.
0 Nessun errore
1 Il modulo o il dispositivo è disattivato.
2 Manutenzione necessaria
3 Manutenzione richiesta
4 Errore
5 Il modulo o il dispositivo non sono accessibili dalla CPU (valido per i
moduli e i dispositivi sotto una CPU).
6 Gli ingressi/le uscite non sono disponibili.
7 -
IO State Uint16 Array di bit Stato degli I/O del modulo
0 Bit 0 = 1: Manutenzione non necessaria
1 Bit 1 = 1: Il modulo o il dispositivo è disattivato.
2 Bit 2 = 1: Manutenzione necessaria
3 Bit 3 = 1: Manutenzione richiesta
4 Bit 4 = 1: Errore
5 Bit 5 = 1: Il modulo o il dispositivo non sono accessibili dalla CPU
(valido per i moduli e i dispositivi sotto una CPU).
6 Gli ingressi/le uscite non sono disponibili.
7 Qualificatore; bit 7 = 1, se il bit 0, 2 o 3 sono impostati
8 ... 15 Riservati (sempre = 0)
OperatingState UInt16 Enum
0 -
1 In STOP / aggiornamento firmware
2 In STOP / reset della memoria
3 In STOP / avvio automatico
4 In STOP
5 Reset della memoria
6 In START
7 In RUN
8 -
9 In HOLD
10 -
11 -

Sistema di automazione S7-1200


368 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.5 Diagnostica (PROFINET o PROFIBUS)

Parametro Tipo di dati Valore Descrizione


12 Modulo difettoso
13 -
14 Alimentazione mancante
15 CiR
16 In STOP / senza DIS
17 IN
18
19
20

Struttura DNN
Se il parametro MODE = 2, le informazioni di diagnostica sono emesse in base alla struttura
DNN. La seguente tabella riporta il significato dei singoli valori dei parametri:

Tabella 8- 144 Struttura della Diagnostic Navigation Node (DNN)

Parametro Tipo di dati Valore Descrizione


SubordinateState UINT Enum Stato del modulo subordinato (vedere il parametro OwnState
della struttura DIS).
SubordinateIOState WORD Bitarray Stato degli ingressi e delle uscite del modulo subordinato
(vedere il parametro IO State della struttura DIS).
DNNmode WORD Bitarray • Bit 0 = 0: Diagnostica attiva
• Bit 0 = 1: Diagnostica disattivata
• Bit 1 ... 15: Riservati

Parametro RET_VAL

Tabella 8- 145 Codici di errore del parametro RET_VAL

Codice di errore Descrizione


(W#16#...)
0 Nessun errore
8080 Il valore del parametro MODE non è supportato.
8081 Il tipo del parametro DIAG non è supportato con il modo selezionato (parametro MODE).
8082 Il tipo del parametro DETAILS non è supportato con il modo selezionato (parametro MODE).
8090 LADDR non esiste.
8091 Il canale selezionato nel parametro CHANNEL non esiste.
80C1 Risorse insufficienti per l'esecuzione parallela

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 369
Istruzioni avanzate
8.5 Diagnostica (PROFINET o PROFIBUS)

Esempio
Il seguente segmento di schema a contatti e DB mostrano come usare i tre modi con le tre
strutture:
● DIS
● DNN

① DNN
② DIS

Sistema di automazione S7-1200


370 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.6 Impulso

Nota
Nel DB, occorre digitare manualmente il tipo di dati per accedere ad ognuna delle tre
strutture in quanto non è possibile selezionarli da un elenco a discesa. Digitare i tipi di dati
esattamente come appaiono di seguito:
• DNN
• DIS

8.6 Impulso

8.6.1 Istruzione CTRL_PWM (Modulazione ampiezza impulsi)

Tabella 8- 146 Istruzione CTRL_PWM (modulazione ampiezza impulsi)

KOP / FUP SCL Descrizione


"CTRL_PWM_DB"( Fornisce un'uscita con tempo di ciclo fisso e duty
PWM:=_word_in_, cycle variabile. Dopo essere stata avviata alla
enable:=_bool_in_, frequenza specificata (tempo di ciclo) l'uscita PWM
busy=>_bool_out_, continua a funzionare ininterrottamente. La durata
status=>_word_out_); degli impulsi può essere variata in funzione del
controllo desiderato.
1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.
2 Nell'esempio SCL "CTRL_PWM_DB" è il nome del DB di istanza.

Tabella 8- 147 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


PWM IN HW_PWM Identificativo PWM: i nomi dei generatori di impulsi attivati diventano
(Word) variabili nella tabella delle variabili "Costante" e possono essere
utilizzati come il parametro PWM. (Valore di default: 0)
ENABLE IN Bool 1 = avvia generatore di impulsi
0 = arresta generatore di impulsi
BUSY OUT Bool Funzione occupata (valore di default: 0)
STATUS OUT Word Codice della condizione di esecuzione (valore di default: 0)

L'istruzione CTRL_PWM salva le informazioni dei parametri nel DB I parametri del blocco
dati non vengono modificati separatamente dall'utente, ma sono comandati dall'istruzione
CTRL_PWM.
Specificare quale generatore di impulsi attivato si vuole utilizzare indicandone il nome di
variabile come parametro PWM.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 371
Istruzioni avanzate
8.6 Impulso

Se l'ingresso EN è vero, l'istruzione PWM_CTRL avvia o arresta il PWM identificato in


funzione del valore assunto dall'ingresso ENABLE. La durata degli impulsi è specificata dal
valore contenuto nell'indirizzo di uscita di parola Q.
Poiché la CPU elabora la richiesta durante l'esecuzione di CTRL_PWM, il parametro BUSY
è sempre falso. Se viene rilevato un errore, ENO viene impostato su falso e il codice della
relativa condizione viene scritto nel parametro STATUS.
La durata degli impulsi viene impostata sul valore iniziale configurato in Configurazione
dispositivi la prima volta che la CPU passa in RUN. I valori necessari per cambiare la durata
degli impulsi vanno scritti nell'indirizzo di parola Q specificato in Configurazione dispositivi
("Indirizzi di uscita" / "Indirizzo iniziale:") . Per scrivere la durata degli impulsi nella parola Q
appropriata si può usare un box di trasferimento, conversione, calcolo matematico o PID,
rispettando il campo valido (percentuale, migliaia, decine di migliaia o formato analogico S7).

Nota
Impossibile forzare gli I/O digitali assegnati a PWM e PTO
Gli I/O digitali utilizzati dai dispositivi di modulazione dell'ampiezza degli impulsi (PWM) e di
uscita di treni di impulsi (PTO) vengono assegnati durante la configurazione dei dispositivi.
Quando sono assegnati a questi dispositivi indirizzi di I/O digitali, i valori di tali indirizzi non
possono essere modificati dalla funzione di forzamento nella tabella di controllo.

Tabella 8- 148 Valore del parametro STATUS

STATUS Descrizione
0 Nessun errore
80A1 L'identificatore del PWM non indirizza un PWM valido.

8.6.2 Funzionamento delle uscite di impulsi

La durata degli impulsi può essere espressa in


centesimi del tempo di ciclo (0 -100), in millesimi (0 -
1000), in decimillesimi (0 - 10000) oppure in formato
analogico S7.
La durata degli impulsi può variare da 0 (nessun
① Tempo di ciclo impulso, sempre off) al valore di fondo scala (nessun
impulso, sempre on).
② Durata dell'impulso

Poiché può essere variata da 0 al valore di fondo scala, l'uscita PWM, pur essendo digitale,
è molto simile a un'uscita analogica. La si può utilizzare, ad esempio, per comandare la
velocità di un motore dalla posizione di arresto alla velocità massima o per comandare la
posizione di una valvola da chiusa a completamente aperta.

Sistema di automazione S7-1200


372 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.6 Impulso

Le uscite di impulsi veloci possono essere comandate con quattro generatori di impulsi:
PWM e Pulse train output (PTO). Il PTO viene utilizzato dalle istruzioni di controllo del
movimento. Ogni generatore di impulsi può essere assegnato a PWM o PTO ma non a
entrambe contemporaneamente.
Si possono utilizzare le uscite onboard della CPU o quelle della signal board opzionale. La
tabella riporta i numeri delle uscite che in questo caso corrispondono a quelli della
configurazione di default. Se la numerazione delle uscite è stata modificata dall'utente i
numeri saranno quelli da lui assegnati. Si noti che PWM richiede una sola uscita, mentre
PTO ne può utilizzare in opzione anche due per canale. Se un'uscita non è occupata da una
funzione a impulsi può essere usata per altri scopi. Per informazioni sull'assegnazione degli
I/O consultare la tabella riportata più avanti.
La tabella specifica l'assegnazione di default degli I/O; i quattro generatori di impulsi
possono essere tuttavia configurati in qualsiasi uscita digitale integrata nella CPU o qualsiasi
uscita SB. Quando si assegnano gli indirizzi PWM/PTO si deve tener conto del fatto che
uscite diverse supportano tensioni e velocità differenti.

Nota
Le uscite di treni di impulsi non possono essere utilizzate da altre istruzioni nel programma
utente.
Quando si configurano le uscite della CPU o della Signal Board come generatori di impulsi
(per l'utilizzo con le istruzioni PWM o PTO di controllo del movimento), gli indirizzi delle
uscite corrispondenti vengono cancellati dalla memoria Q e non possono essere utilizzati per
altri scopi nel programma utente. Se il programma utente scrive un valore in un'uscita
utilizzata come generatore di impulsi, la CPU non scrive quel valore nell'uscita fisica.

Nota
Le uscite di direzione PTO possono essere liberate e utilizzate in un altro punto del
programma.
Ciascuna PTO richiede l'assegnazione di due uscite: una di impulsi e una di direzione. È
possibile utilizzare solo l'uscita di impulsi e lasciare inutilizzata quella di direzione,
rendendola disponibile per altri scopi all'interno del programma.

Tabella 8- 149 Assegnazione di default delle uscite per i generatori di impulsi3

Descrizione Impulso Direzione


PTO1
I/O integrati Q0.0 Q0.1
SB I/O Q4.0 Q4.1
PWM1
Uscite integrate Q0.0 -
Uscite SB Q4.0 -
PTO2
I/O integrati Q0.2 Q0.3
SB I/O Q4.2 Q4.3

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 373
Istruzioni avanzate
8.6 Impulso

Descrizione Impulso Direzione


PWM2
Uscite integrate Q0.2 -
Uscite SB Q4.2 -
PTO3
I/O integrati Q0.41 Q0.51
SB I/O Q4.0 Q4.1
PWM3
Uscite integrate Q0.41 -
Uscite SB Q4.1 -
PTO4
I/O integrati Q0.62 Q0.72
SB I/O Q4.2 Q4.3
PWM4
Uscite integrate Q0.62 -
Uscite SB Q4.3 -
1 La CPU 1211C non ha le uscite Q0.4, Q0.5, Q0.6 o Q0.7. Di conseguenza, queste uscite non
possono essere utilizzate nella CPU 1211C.
2 La CPU 1212C non ha le uscite Q0.6 o Q0.7. Di conseguenza, queste uscite non possono essere
utilizzate nella CPU 1212C.
3 Questa tabella si applica alle funzioni PTO/PWM delle CPU 1211C, 1212C, 1214C, 1215C e
1217C.

8.6.3 Configurazione di un canale impulsivo per PWM


Per poter utilizzare l'operazione PWM è innanzitutto necessario configurare un canale
impulsivo nella Configurazione dispositivi selezionando la CPU e il generatore di impulsi
(PTO/PWM) e scegliendo da PWM1 a PWM4. Una volta attivato, il generatore di impulsi
(casella di opzione) viene definito con un nome di default. Questo può essere modificato
nella casella "Nome:" ma deve essere in ogni caso univoco. I nomi dei generatori di impulsi
diventano variabili della tabella delle "Costanti" e potranno essere utilizzati come parametro
PWM dell'istruzione CTRL_PWM.

Tabella 8- 150 Uscita della CPU: frequenza massima

CPU Canale di uscita della Uscita di impulsi e A/B, quadratura, in


CPU direzione avanti/indietro e
impulso/direzione
1211C Qa.0 ... Qa.3 100 kHz 100 kHz
1212C Qa.0 ... Qa.3 100 kHz 100 kHz
Qa.4, Qa.5 20 kHz 20 kHz
1214C e 1215C Qa.0 ... Qa.4 100 kHz 100 kHz
Qa.5 ... Qb.1 20 kHz 20 kHz

Sistema di automazione S7-1200


374 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.6 Impulso

CPU Canale di uscita della Uscita di impulsi e A/B, quadratura, in


CPU direzione avanti/indietro e
impulso/direzione
1217C DQa.0 ... DQa.3 1 MHz 1 MHz
(.0+, .0- ... .3+, .3-)
DQa.4 ... DQb.1 100 kHz 100 kHz

Tabella 8- 151 Uscita SB della Signal Board: frequenza massima (scheda opzionale)

Signal board SB Canale di uscita SB Uscita di impulsi e A/B, quadratura, in


direzione avanti/indietro e
impulso/direzione
SB 1222, 200 kHz DQe.0 ... DQe.3 200 kHz 200 kHz
SB 1223, 200 kHz DQe.0, DQe.1 200 kHz 200 kHz
SB 1223 DQe.0, DQe.1 20 kHz 20 kHz

Nota
La frequenza massima degli impulsi dei generatori di impulsi è 1 MHz per la CPU 1217C e
100 KHz per le CPU 1211C, 1212C, 1214C e 1215C, 20 KHz (per le SB standard) o 200
KHz (per le SB veloci). Tuttavia STEP 7 non avvisa l'utente in caso di configurazione di un
asse con una velocità o frequenza massima che supera questi limiti hardware. Ciò potrebbe
causare problemi nell'applicazione, pertanto occorre sempre assicurarsi che non venga
superata la frequenza massima degli impulsi consentita dall'hardware.

È possibile rinominare il generatore di impulsi, inserire un commento e assegnare i parametri


come indicato nel paragrafo che segue.
● Generatore di impulsi come: PWM o PTO (scegliere PWM)
● Sorgente di uscita: CPU o SB onboard
● Base di tempo: millisecondi o microsecondi
● Formato durata impulso:
– Centesimi (0 - 100)
– Millesimi (0 – 1000)
– Decimillesimi (0 – 10000)
– Formato analogico S7 (da 0 a 27648)
● Tempo di ciclo (campo 0 ... 16,777,215): indicare il valore del tempo di ciclo. Questo
valore può essere modificato solo in Configurazione dispositivi.
● Durata impulso iniziale: indicare il valore della durata dell'impulso iniziale. Il valore può
essere modificato durante il runtime.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 375
Istruzioni avanzate
8.7 Ricette e log di dati

Inserire l'indirizzo iniziale per configurare gli indirizzi di uscita. indicare l'indirizzo di parola Q
in cui si vuole inseririe il valore della durata degli impulsi.

Nota
Le uscite di treni di impulsi non possono essere utilizzate da altre istruzioni nel programma
utente
Quando si configurano le uscite della CPU o della Signal Board come generatori di impulsi
(per l'utilizzo con le istruzioni PWM o di controllo del movimento), gli indirizzi delle uscite
corrispondenti vengono cancellati dalla memoria Q e non possono essere utilizzati per altri
scopi nel programma utente. Se il programma utente scrive un valore in un'uscita utilizzata
come generatore di impulsi, la CPU non scrive quel valore nell'uscita fisica.

Gli indirizzi di default per i valori della durata degli impulsi sono i seguenti:
● PWM1: QW1000
● PWM2: QW1002
● PWM3: QW1004
● PWM4: QW1006
Il valore in questo indirizzo comanda la durata degli impulsi e viene inizializzato sul valore
specificato in "Durata impulso iniziale:" ogni volta che il CPU commuta da STOP a RUN.
Modificando questo valore di parola Q durante il runtime è possibile modificare la durata
dell'impulso.

8.7 Ricette e log di dati

8.7.1 Ricette

8.7.1.1 Panoramica delle ricette

Memorizzazione dei dati delle ricette


● I blocchi dati delle ricette creati nel progetto devono essere salvati nella memoria di
caricamento della CPU. Si può usare la memoria interna della CPU o una scheda di
programma esterna.
● Un altro DB che si deve creare è il blocco dati della ricetta attiva. Il DB deve essere
salvato nella memoria di lavoro, dalla quale la logica del programma leggerà o scriverà il
record della ricetta attiva.

Sistema di automazione S7-1200


376 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.7 Ricette e log di dati

Gestione dei dati delle ricette


Il DB di ricetta utilizza un array di record di ricetta per un prodotto. Ogni elemento dell'array
corrisponde a un gusto diverso che si basa su un insieme comune di componenti.
● Si deve creare un tipo di dati PLC o una struttura che definisca tutti i componenti di un
record della ricetta. Il template del tipo di dati viene riutilizzato per tutti i record della
ricetta. Le ricette dei prodotti variano in funzione dei valori iniziali assegnati ai loro
componenti.
● Una ricetta può essere trasferita in qualsiasi momento dal DB di ricetta (tutte le ricette
nella memoria di caricamento) nel DB della ricetta attiva (una ricetta particolare nella
memoria di lavoro) mediante l'istruzione READ_DBL. Una volta spostato un record della
ricetta nella memoria di lavoro la logica del programma può leggere i valori dei
componenti e iniziare un ciclo di produzione. Il trasferimento fa sì che i dati della ricetta
occupino uno spazio minimo nella memoria di lavoro della CPU.
● Se si modificano i valori dei componenti della ricetta attiva con un dispositivo HMI durante
il ciclo di produzione, l'istruzione WRIT_DBL consente di riscrivere i valori modificati nel
DB della ricetta.

Esportazione delle ricette (da un DB di ricetta in un file CSV)


Il set completo dei record della ricetta può essere esportato in un file CSV mediante
l'istruzione RecipeExport. Vengono esportati anche i record inutilizzati.

Importazione delle ricette (da un file CSV in un DB di ricetta)


Dopo aver esportato una ricetta si può utilizzare il file CSV generato come template di
struttura di dati.
1. Caricare il file CSV di una ricetta dalla CPU in un PC utilizzando la pagina Unità di
selezione file del Web server della CPU.
2. Modificare il file CSV con un editor di testo ASCII. Si possono modificare i valori iniziali
assegnati ai componenti ma non i tipi o la struttura dei dati.
3. Ricaricare il file CSV modificato dal PC nella CPU. Il Web server consente di effettuare il
caricamento solo se si elimina o si rinomina il vecchio file CSV contenuto nella memoria
di caricamento della CPU (che ha lo stesso nome).
4. Una volta caricato nella CPU il file CSV modificato si può eseguire l'istruzione
RecipeImport per trasferire i nuovi valori iniziali dal file CSV modificato (nella memoria di
caricamento della CPU) nel DB di ricetta (nella memoria di caricamento della CPU).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 377
Istruzioni avanzate
8.7 Ricette e log di dati

8.7.1.2 Esempio di DB di ricetta

Esempi di ricetta
La tabella riportata di seguito indica come predisporre le informazioni da utilizzare in un DB
di ricetta. Questo esempio di DB di ricetta contiene cinque record, tre dei quali vengono
utilizzati. Il quarto e il quinto record sono liberi e utilizzabili per un futuro ampliamento. Ogni
riga della tabella corrisponde a un record in cui sono memorizzati il nome della ricetta, i tipi
di dati e i valori dei componenti.

productname water barley wheat hops yeast waterTmp mashTmp mashTime QTest
Pils 10 9 3 280 39 40 30 100 0
Lager 10 9 3 150 33 50 30 120 0
BlackBeer 10 9 3 410 47 60 30 90 1
Not_used 0 0 0 0 0 0 0 0 0
Not_used 0 0 0 0 0 0 0 0 0

Creazione del blocco dati di una ricetta

Nota
Regole per i blocchi dati delle ricette
• Il DB di ricetta deve contenere un array monodimensionale di un tipo di dati PLC o di una
struttura. Il seguente esempio di ricetta mostra come creare un DB di ricetta con un tipo
di dati PLC.
• Nell'esempio il tipo di dati è UINT per tutti gli ingredienti. I tipi di dati dei componenti
possono essere anche un insieme di qualsiasi tipo di dati, fatta eccezione per le strutture.
In un elemento dell'array del DB di ricetta non è consentito utilizzare una struttura in un
tipo di dati PLC o in una struttura.

Sistema di automazione S7-1200


378 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.7 Ricette e log di dati

Creare innanzitutto un nuovo tipo di dati PLC


Aggiungere un nuovo tipo di dati PLC con lo stesso nome del tipo di ricetta. Nella seguente
figura "Beer_Recipe" è il nuovo tipo di dati PLC complesso che memorizza una sequenza di
tipi di dati semplici. Si tratta di un template di dati che viene riutilizzato in tutti i record dei DB
di ricetta e nel DB di ricetta attivo. Immettere i nomi e i tipi di dati dei componenti comuni a
tutti gli esempi di ricetta. I singoli valori dei componenti vengono aggiunti in seguito nel DB di
ricetta.

Creare quindi un blocco dati di ricetta


● Il blocco dati di ricetta deve essere creato come blocco dati globale con la proprietà DB
"Salva soltanto nella memoria di caricamento" attiva.
● Il nome del blocco viene utilizzato anche per il corrispondente file CSV. I caratteri del
nome assegnato al DB devono rispettare le limitazioni del sistema di file Windows. I
caratteri \ / : * ? " < > | e lo spazio non sono consentiti.
● L'assegnazione degli array della ricetta è "Products" come Array [1.. 5] of "Beer_Recipe".
La dimensione di 5 array corrisponde al numero massimo di gusti possibili per questa
ricetta.
● I valori dei componenti della ricetta vengono aggiunti come valori iniziali del DB.
Nella seguente figura la ricetta "BlackBeer" è stata "espansa" in modo da rendere visibili tutti
i componenti di un suo record.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 379
Istruzioni avanzate
8.7 Ricette e log di dati

Esportazione delle ricette (da un DB di ricetta in un file CSV)


"RecipeExport (Pagina 381)" consente di trasferire i dati di un DB di ricetta in un file CSV
come indicato nel seguente file di testo.

Recipe_DB.csv
index,productname,water,barley,wheat,hops,yeast,waterTmp,
mashTmp,mashTime,QTest
1,”Pils”,10,9,3,280,39,40,30,100,0
2,”Lager”,10,9,3,150,33,50,30,120,0
3,”BlackBeer”,10,9,3,410,47,60,30,90,1
4 ”Not_used”,0,0,0,0,0,0,0,0,0
5 ”Not_used”,0,0,0,0,0,0,0,0,0

Importazione delle ricette (da un file CSV in un DB di ricetta)


1. Caricare il file CSV di una ricetta dalla memoria di caricamento della CPU in un PC
utilizzando la pagina Unità di selezione file del Web server della CPU.
2. Modificare il file CSV con un editor di testo ASCII. Si possono modificare i valori iniziali
assegnati ai componenti ma non i tipi o la struttura dei dati.
3. Ricaricare il file CSV modificato dal PC nella CPU. Il Web server consente di effettuare il
caricamento solo se si elimina o si rinomina il vecchio file CSV contenuto nella memoria
di caricamento della CPU (che ha lo stesso nome).
4. Una volta caricato nella CPU il file CSV modificato si può eseguire l'istruzione
RecipeImport per trasferire i nuovi valori iniziali dal file CSV modificato (nella memoria di
caricamento della CPU) nel DB di ricetta (nella memoria di caricamento della CPU).

I file CSV devono corrispondere esattamente alla struttura del DB della ricetta
● È possibile modificare i valori del file CSV, ma non la struttura. Per poter eseguire
l'istruzione RecipeImport è necessario che il numero di record e di componenti
corrisponda esattamente alla struttura del DB di ricetta di destinazione. In caso contrario
l'esecuzione di RecipeImport non riesce. Ad esempio, se in un DB sono state definite 10
ricette ma se ne utilizzano solo 6, vengono trasferite nel DB anche le righe da 7 a 10 del
file CSV. Si deve specificare se questi dati sono validi o meno. Ad esempio, nei record
della ricetta che non vengono utilizzati si può assegnare come nome del prodotto la
variabile “Not_used” (non utilizzato).
● Se si aggiungono dei record di dati al file di testo e si importa il file modificato, verificare
che il numero massimo di elementi di array impostato per il DB di ricetta sia sufficiente
per tutti i record.
● Durante l'esportazione del file CSV viene generato automaticamente un numero di indice.
Se si creano altri record di dati si devono aggiungere i necessari numeri di indice
progressivi.
● Durante l'esecuzione RecipeImport controlla i dati del file CSV verificando se hanno una
struttura corretta e se i valori sono compatibili con i tipi di dati assegnati nel DB di ricetta
associato. Ad esempio, poiché il tipo di dati Bool non può memorizzare un valore di
numero intero, RecipeImport non viene eseguita.

Sistema di automazione S7-1200


380 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.7 Ricette e log di dati

Visualizzazione dei dati di ricetta CSV in Excel


Il file CSV può essere aperto in Excel, dove può essere letto e modificato facilmente. Se le
virgole non vengono riconosciute come separatori decimali utilizzare la funzione di
importazione di Excel per generare i dati in modo strutturato.

8.7.1.3 Istruzioni del programma per il trasferimento dei dati delle ricette

Istruzione RecipeExport (Esporta ricetta)

Tabella 8- 152 Istruzione RecipeExport

KOP / FUP SCL Descrizione


"RecipeExport_DB"( L'istruzione "RecipeExport" esporta tutti i
req:=_bool_in_, record da un blocco dati di ricetta in un file
done=>_bool_out_, CSV. Il file CSV contiene i nomi dei prodotti
busy=>_bool_out_, e dei componenti e i valori iniziali. Il file CSV
error=>_bool_out_, viene memorizzato nella memoria di
status=>_word_out_, caricamento interna o in quella esterna, se è
stata inserita una memory card "di
programma".
Recipe_DB:=_variant_inout_);
L'esportazione viene avviata dal parametro
"REQ". Durante l'esportazione il parametro
BUSY viene impostato a "1". Al termine
dell'esecuzione di RecipeExport BUSY viene
reimpostato a "0" e la fine dell'operazione è
indicata da "1" nel parametro DONE. Se si
verifica un errore durante l'esecuzione i
parametri ERROR e STATUS indicano il
risultato.

Per poter esportare una ricetta si deve innanzitutto creare un DB di ricetta. Il nome del
blocco viene utilizzato anche per il nuovo file CSV. Se esiste già un file CSV con lo stesso
nome, viene sovrascritto durante l'esportazione.
Per accedere al file CSV della ricetta si può utilizzare la pagina Unità di selezione file
(Pagina 638) del Web server integrato nella CPU. Il file viene inserito nella cartella delle
ricette della directory radice della memoria di caricamento della CPU.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 381
Istruzioni avanzate
8.7 Ricette e log di dati

Tabella 8- 153 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool Parametro di comando REQUEST: attiva l'esportazione in seguito a
un fronte di salita.
RECIPE_DB IN/OUT Variant Puntatore al blocco dati di ricetta. Per maggiori informazioni
consultare "Esempio di DB di ricetta (Pagina 378)". I caratteri del
nome del DB devono rispettare le relative limitazioni del sistema di
file Windows. I caratteri \ / : * ? " < > | e lo spazio non sono
consentiti.
DONE OUT Bool Il bit DONE è vero per un ciclo di scansione se l'ultima richiesta si è
conclusa senza errori. (Valore di default: falso)
BUSY OUT Bool Esecuzione di RecipeExport
• 0: Nessuna operazione in corso
• 1: Operazione in corso
ERROR OUT Bool Il bit ERROR è vero per un ciclo di scansione se l'ultima richiesta si
è conclusa con un errore. Il valore del codice di errore nel parametro
STATUS è valido solo durante l'unico ciclo di scansione in cui
ERROR = TRUE.
• 0: nessuna avvertenza o nessun errore
• 1: si è verificato un errore. Il parametro STATUS fornisce
informazioni sul tipo di errore.
STATUS OUT Word Codice della condizione di esecuzione

Tabella 8- 154 Valori di ERROR e STATUS

ERROR STATUS Descrizione


(W#16#....)
0 0000 Nessun errore
0 7000 Richiamo senza fronte REQ: BUSY = 0, DONE = 0
0 7001 Primo richiamo con fronte REQ (attivo): BUSY = 1, DONE = 0
0 7002 Nesimo richiamo (attivo): BUSY = 1, DONE = 0
1 8070 Tutta la memoria di istanza è occupata.
1 8090 Il nome dei file contiene caratteri non validi
1 8091 Non è possibile elaborare la struttura dei dati a cui fa riferimento RECIPE_DB.
1 8092 La struttura dei dati specificata in RECIPE_DB supera i 5000 byte
1 80B3 Lo spazio di memoria nella MC o nella memoria di caricamento interna è insufficiente
1 80B4 MC protetta dalla scrittura
1 80B6 L'attributo del DB di ricetta "Salva soltanto nella memoria di caricamento" non è
attivo.
1 80C0 Il file CSV è temporaneamente bloccato
1 80C1 Il DB è temporaneamente bloccato

Sistema di automazione S7-1200


382 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.7 Ricette e log di dati

Istruzione RecipeImport (Importa ricetta)

Tabella 8- 155 Istruzione RecipeImport

KOP / FUP SCL Descrizione


"RecipeImport_DB"( L'istruzione "RecipeImport" importa i
req:=_bool_in_, dati delle ricette da un file CSV
done=>_bool_out_, (contenuto nella memoria di
busy=>_bool_out_, caricamento della CPU) nel blocco
error=>_bool_out_, dati di ricetta a cui fa riferimento il
status=>_word_out_, parametro RECIPE_DB. Durante
l'importazione i valori iniziali del
blocco dati di ricetta vengono
Recipe_DB:=_variant_inout_);
sovrascritti. L'importazione viene
avviata dal parametro "REQ".
Durante l'importazione il parametro
BUSY viene impostato a "1". Al
termine dell'esecuzione di
RecipeImport BUSY viene
reimpostato a "0" e la fine
dell'operazione è indicata da "1" nel
parametro DONE. Se si verifica un
errore durante l'esecuzione i
parametri ERROR e STATUS
indicano il risultato.

Tabella 8- 156 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool Parametro di comando REQUEST: attiva l'importazione in seguito a
un fronte di salita.
RECIPE_DB IN/OUT Variant Puntatore al blocco dati di ricetta. Per maggiori informazioni consultare
"Esempio di DB di ricetta (Pagina 378)". I caratteri del nome del DB
devono rispettare le relative limitazioni del sistema di file Windows. I
caratteri \ / : * ? " < > | e lo spazio non sono consentiti.
DONE OUT Bool Il bit DONE è vero per un ciclo di scansione se l'ultima richiesta si è
conclusa senza errori. (Valore di default: falso)
BUSY OUT Bool • 0 - Non è in corso alcuna operazione
• 1 - Operazione in corso
ERROR OUT Bool Il bit ERROR è vero per un ciclo di scansione se l'ultima richiesta si è
conclusa con un errore. Il valore del codice di errore nel parametro
STATUS è valido solo durante l'unico ciclo di scansione in cui ERROR
= TRUE.
STATUS OUT Word Codice della condizione di esecuzione (valore di default: 0)

Per poter importare una ricetta si deve innanzitutto disporre di un DB di ricetta che contiene
una struttura coerente con la struttura dei dati del file CSV.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 383
Istruzioni avanzate
8.7 Ricette e log di dati

Regole per i file CSV:


● Il file CSV deve trovarsi nella cartella della directory radice "Recipes" della memoria di
caricamento interna o in quella esterna, se è stata inserita una memory card "di
programma".
● Il nome del file CSV deve corrispondere a quello del blocco dati indicato nel parametro
RECIPE_DB.
● La prima riga (intestazione) del file CSV contiene il nome dei componenti della ricetta e
viene ignorata durante l'importazione. I nomi dei componenti della ricetta nel file CSV e
nel blocco dati non vengono adeguati durante l'importazione.
● Il primo valore di ogni riga del file CSV corrisponde sempre al numero di indice della
ricetta. Le singole ricette vengono importate in base all'ordine dell'indice. L'indice del file
CSV deve quindi seguire un ordine progressivo e non deve contenere righe vuote (in
caso contrario viene emesso il messaggio di errore 80B0 nel parametro STATUS).
● Il file CSV non deve contenere più record di dati di ricetta di quelli disponibili nel blocco
dati. Il numero massimo di record di dati è stabilito dai limiti dell'array nel blocco dati.

Tabella 8- 157 Valori di ERROR e STATUS

ERROR STATUS Descrizione


(W#16#....)
0 0000 Nessun errore
0 7000 Richiamo senza fronte REQ: BUSY = 0, DONE = 0
0 7001 Primo richiamo con fronte REQ (attivo): BUSY = 1, DONE = 0
0 7002 Nesimo richiamo (attivo): BUSY = 1, DONE = 0
1 8070 Tutta la memoria di istanza è occupata.
1 8090 Il nome dei file contiene caratteri non validi.
1 8092 Non è stato trovato il file CSV corrispondente per l'importazione. Cause possibili: il
nome del file CSV non corrisponde a quello del DB di ricetta.
1 80C0 Il file CSV è temporaneamente bloccato.
1 80C1 Il blocco dati è temporaneamente bloccato.
1 80B0 La numerazione nell'indice del file CSV non è continua, non è disposta in ordine
ascendente o supera il numero massimo (limite dell'array) nel blocco dati.
1 80B1 La struttura del blocco dati della ricetta e quella del file CSV non corrispondono: il file
CSV contiene troppi campi.
1 80B2 La struttura del blocco dati della ricetta e quella del file CSV non corrispondono: il file
CSV contiene un numero insufficiente di campi.
1 80B6 L'attributo del DB di ricetta "Salva soltanto nella memoria di caricamento" non è attivo.
1 80D0 +n La struttura del blocco dati della ricetta e quella del file CSV non corrispondono: il tipo
di dati del campo n non corrisponde (n<=46).
1 80FF La struttura del blocco dati della ricetta e quella del file CSV non corrispondono: il tipo
di dati del campo n non corrisponde (n>46).

Sistema di automazione S7-1200


384 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.7 Ricette e log di dati

8.7.1.4 Esempio di programma di ricetta

Prerequisiti per l'esempio di programma di ricetta


● Un DB che contiene tutti i record della ricetta memorizzato nella memoria di caricamento.
● Un DB di ricetta attivo che contiene la copia di una ricetta nella memoria di lavoro.
Per maggiori informazioni sul DB di ricetta e sul file CSV corrispondente consultare
"Esempio di DB di ricetta (Pagina 378)".

Creazione del DB di ricetta attivo


Nella finestra "Inserisci nuovo blocco":
● Selezionare il pulsante "Blocco dati"
● Nel menu a discesa "Tipo" selezionare il tipo di dati PLC "Beer_recipe" precedentemente
creato.
I valori iniziali non sono necessati. I valori di dati del DB vengono impostati quando si
trasferisce una ricetta dal DB di ricetta nel DB di ricetta attivo. Nell'esempio quest'ultimo è la
destinazione dei dati READ_DBL e mette a disposizione i dati di origine per WRITE_DBL. La
seguente figura illustra il DB Active_Recipe.

DB di istanza
I DB di istanza utilizzati dalle istruzioni RecipeExport ("RecipeExport_DB") e RecipeImport
("RecipeImport_DB") vengono creati automaticamente quando si inseriscono le istruzioni nel
programma. Essi consentono di controllare l'esecuzione dell'istruzione e non hanno
riferimenti nella logica del programma.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 385
Istruzioni avanzate
8.7 Ricette e log di dati

Esempio di programma di ricetta


Segmento 1Un fronte di salita nell'ingresso REQ avvia l'esportazione. In base ai dati del DB
di ricetta viene generato un file CSV che viene inserito nella cartella delle ricette della
memoria della CPU.

Segmento 2 Rilevare l'uscita STATUS dall'esecuzione di RecipeExport perché è valida solo


per un ciclo di scansione.

Segmento 3Un fronte di salita nell'ingresso REQ avvia l'importazione. Il DB di ricetta


esistente viene caricato con tutti i dati di ricetta letti dal corrispondente file CSV che si trova
nella cartella delle ricette della memoria della CPU.

Segmento 4 Rilevare l'uscita STATUS dall'esecuzione di RecipeImport perché è valida solo


per un ciclo di scansione.

Sistema di automazione S7-1200


386 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.7 Ricette e log di dati

Segmento 5 READ_DBL copia i valori iniziali dalla ricetta "Recipe_DB".Products[1] (nella


memoria di caricamento della CPU) nei valori attuali del DB Active_Recipe (nella memoria di
lavoro della CPU). Al termine dell'esecuzione di READ_DBL la logica del programma può
accedere ai valori dei componenti della ricetta indirizzando le posizioni del DB
Active_Recipe. Ad esempio gli indirizzi simbolici ("Active_Recipe".productname) e
("Active_Recipe.water) forniscono alla logica del programma il nome della ricetta e la
quantità d'acqua.

Segmento 6 Durante il runtime un dispositivo HMI potrebbe modificare il valore di un


componente nel DB Active_Recipe. I dati modificati possono essere memorizzati eseguendo
WRIT_DBL. Nell'esempio tutti i valori iniziali di Recipe_DB per la ricetta singola
"Recipe_DB".Products[1] vengono sovrascritti dai valori attuali del DB "Active_Recipe".

8.7.2 Log di dati


Il programma di comando può utilizzare le istruzioni Data log per salvare i valori dei dati
runtime in file di log costanti. I file di log vengono salvati nella memoria flash (CPU o memory
card) e i rispettivi dati vengono memorizzati nel formato CSV (Comma Separated Value)
standard. I record di dati sono organizzati come un file di log circolare di una dimensione
predefinita.
Le istruzioni Data log vengono utilizzate nel programma per creare, aprire e scrivere un
record e chiudere i file di log. L'utente decide quali valori di programma verranno registrati
creando un buffer di dati che definisce un singolo record di log. Il buffer di dati è utilizzato
come memoria temporanea per un nuovo record di log. I nuovi valori istantanei devono
essere spostati nel buffer a livello di programma durante il runtime. Quando tutti i valori dei
dati attuali sono aggiornati è possibile eseguire l'istruzione DataLogWrite per trasferire i dati
dal buffer nel record di log.
I file di log possono essere aperti, modificati, salvati, rinominati e cancellati dalla pagina del
browser dei file del Web server. Per visualizzare il browser dei file servono diritti di lettura
mentre per modificare, cancellare o rinominare i file di log sono necessari diritti di modifica.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 387
Istruzioni avanzate
8.7 Ricette e log di dati

8.7.2.1 Struttura del record di un log di dati


I parametri DATA e HEADER dell'istruzione DataLogCreate assegnano il tipo di dati e la
descrizione dell'intestazione della colonna di tutti gli elementi di dati in un record di log.

Parametro DATA per l'istruzione DataLogCreate


Il parametro DATA punta alla memoria utilizzata come buffer provvisorio per un nuovo
record di log e deve essere assegnato a un M o DB.
È possibile assegnare un intero DB (derivato da un tipo di dati PLC assegnato al DB durante
la creazione) o una sua parte (l'elemento può avere qualsiasi tipo di dati, struttura del tipo di
dati, tipo di dati PLC o array di dati).
I tipi di dati della struttura sono limitati a un unico livello di annidamento. Il numero
complessivo di elementi di dati dichiarati dovrebbe corrispondere al numero delle colonne
specificate nel parametro HEADER. Il numero massimo di elementi di dati assegnabili è 253
(con data e ora) o 255 (senza data e ora). Questa restrizione mantiene il record entro il limite
di 256 colonne di un foglio Excel.
Il parametro DATA può indicare elementi di dati a ritenzione o non a ritenzione in un tipo di
DB "Standard" (compatibile con S7-300/400) o "Ottimizzato".
Per poter scrivere un record di log di dati è necessario caricare innanzitutto i nuovi valori di
processo nel record di dati temporaneo e quindi eseguire l'istruzione DataLogWrite che salva
i nuovi valori del record nel file di log.

Parametro HEADER per l'istruzione DataLogCreate


Il parametro HEADER indica i nomi dell'intestazione delle colonne per la riga superiore della
matrice di dati codificata nel file CSV. I dati di tipo HEADER devono trovarsi in un DB o in
un'area di memoria M e i caratteri devono seguire le regole previste per il formato CSV
standard nel quale i nomi delle colonne sono separati da virgole. Il tipo di dati può essere
una stringa, un array di byte o un array di carattere. Gli array di carattere/byte consentono
dimensioni maggiori in cui le stringhe sono limitate a un massimo di 255 byte. Il parametro
HEADER è opzionale. Se l'HEADER non è assegnato, allora non viene creata nessuna riga
d'intestazione nel file di log dati.

Sistema di automazione S7-1200


388 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.7 Ricette e log di dati

8.7.2.2 Istruzioni di programma che comandano i log di dati

Istruzione DataLogCreate (Crea Data Log)

Tabella 8- 158 Istruzione DataLogCreate

KOP / FUP SCL Descrizione


"DataLogCreate_DB"( Crea e inizializza un file di log di dati. Il file viene
req:=_bool_in_, creato nella directory PLC\DataLogs, il cui nome
records:=_udint_in_, viene assegnato tramite il parametro NAME, e
format:=_uint_in_, viene aperto implicitamente per consentire
timestamp:=_uint_in_, operazioni di scrittura. Le istruzioni Data log
done=>_bool_out_, possono essere utilizzate per salvare, a livello di
programma, i dati di processo runtime nella
busy=>_bool_out_,
memoria flash della CPU.
error=>_bool_out_,
status=>_word_out_, STEP 7 crea automaticamente il DB di istanza
associato all'inserimento dell'istruzione.
name:=_string_inout_,
ID:=_dword_inout_,
header:=_variant_inout_,
data:=_variant_inout_);
1 Nell'esempio SCL "DataLogCreate_DB" è il nome del DB di istanza.

Tabella 8- 159 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool La commutazione di un segnale da low a high (fronte di
salita) avvia l'operazione. (Valore di default: falso)
RECORDS IN UDint Il numero massimo di record di dati che il log di dati
circolare può contenere prima di sovrascrivere la voce
meno recente:
Il record di intestazione non è incluso. Per permettere di
creare corettamente il log di dati è necessario uno spazio
di memoria di caricamento sufficiente sul PLC. (Valore di
default - 1)
FORMAT IN UInt Formato del log di dati:
• 0 - Formato interno (non supportato)
• 1 - Valori separati da virgole "csv-eng" (valore di
default)
TIMESTAMP IN UInt Formato di data e ora dei dati: Non sono richieste le
intestazioni delle colonne per i campi di data e ora. La
data e l'ora vengono impostate in base all'ora di sistema
(tempo coordinato universale -UTC) e non a quella
locale.
• 0 - Nessuna data e ora
• 1 - Data e ora (valore di default)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 389
Istruzioni avanzate
8.7 Ricette e log di dati

Parametro e tipo Tipo di dati Descrizione


NAME IN Variant Nome del log di dati: l'utente stabilisce il nome. Questa
variante supporta solo il tipo di dati String e può essere
collocata solo nella memoria locale, DB o M. (Valore di
default: ' ')
Questo riferimento di stringa è usato anche come nome
del file di log di dati. I caratteri del nome devono
rispettare le relative limitazioni del sistema di file
Windows. I caratteri \ / : * ? " < > | e lo spazio non sono
consentiti.
ID IN/OUT DWord Identificativo numerico del log di dati: questo valore
generato viene salvato per essere utilizzato con altre
istruzioni per i log di dati. Il parametro ID è usato solo
come uscita con l'istruzione DataLogCreate. (Valore di
default: 0)
L'accesso al nome simbolico non è consentito per
questo parametro.
HEADER IN/OUT Variant Puntatore ai nomi dell'intestazione delle colonne dei log
di dati per la riga superiore della matrice di dati codificata
nel file CSV. (Valore di default: nullo(.
I dati di tipo HEADER devono essere collocati nella
memoria DB o M.
I caratteri devono seguire le regole per il formato CSV
standard e devono essere presenti virgole che separano
ogni nome di colonna. Il tipo di dati può essere una
stringa, un array di byte o un array di carattere. Gli array
di carattere/byte consentono dimensioni maggiori in cui
le stringhe sono limitate a un massimo di 255 byte.
Il parametro HEADER è opzionale. Se non è
parametrizzato, non viene creata nessuna riga
d'intestazione nel file di log.
DATA IN/OUT Variant Puntatore alla struttura di dati del record, tipo definito
dall'utente (UDT) o array. I dati del record devono essere
collocati nella memoria DB o M.
Il parametro DATA specifica i singoli elementi (colonne)
di un record di log di dati e il rispettivo tipo. I tipi di dati
della struttura sono limitati a un unico livello di
annidamento. Il numero di elementi di dati dichiarati
dovrebbe corrispondere al numero delle colonne
specificate nel parametro HEADER. Il numero massimo
di elementi di dati assegnabili è 253 (con data e ora) o
255 (senza data e ora). Questa restrizione mantiene il
record entro il limite di 256 colonne di un foglio Excel.
DONE OUT Bool Il bit DONE è vero per un ciclo di scansione se l'ultima
richiesta si è conclusa senza errori. (Valore di default:
falso)
BUSY OUT Bool • 0 - Non è in corso alcuna operazione
• 1 - Operazione in corso

Sistema di automazione S7-1200


390 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.7 Ricette e log di dati

Parametro e tipo Tipo di dati Descrizione


ERROR OUT Bool Il bit ERROR è vero per un ciclo di scansione se l'ultima
richiesta si è conclusa con un errore. Il valore del codice
di errore nel parametro STATUS è valido solo durante
l'unico ciclo di scansione in cui ERROR = TRUE.
STATUS OUT Word Codice della condizione di esecuzione (valore di default:
0)

Un file di log di dati viene creato in una dimensione fissa predefinita sulla base dei parametri
RECORDS eDATA. I record di dati sono organizzati come un file di log circolare. I nuovi
record vengono aggiunti al nuovo file di log di dati finché non viene memorizzato il numero
massimo di record indicato dal parametro RECORDS. Con la successiva scrittura di un
record quello meno recente verrà sovrascritto. Un'altra operazione di scrittura di un record
sovrascriverà quindi il successivo record di dati meno recente e così via.
Utilizzo delle risorse di memoria:
● I log di dati occupano solo la memoria di caricamento.
● Non esiste alcun limite per il numero complessivo di log di dati. La dimensione di tutti i log
di dati combinati è limitata dalle risorse della memoria di caricamento disponibili. Si
possono aprire al massimo otto log di dati per volta.
● Il numero massimo possibile per il parametro RECORDS è il limite per un numero UDint
(4.294.967.295). Il limite attuale per il parametro RECORD dipende dalla dimensione di
un singolo record, dalla dimensione di altri log di dati e dalle risorse della memoria di
caricamento disponibili. Inoltre Excel prevede dei limiti rispetto al numero di righe
consentite in un foglio.

Nota
Per poter avviare un'operazione di scrittura dei log di dati è necessario che la creazione dei
log di dati si sia conclusa
• Le operazioni di creazione del file di log DataLogCreate e DataLogNewFile si
protraggono per molti cicli del programma. Il tempo effettivo richiesto per la creazione di
un file di log dipende dalla struttura e dal numero di record. La logica del programma
deve controllare e rilevare la commutazione dei bit DONE nello stato TRUE, che segnala
la fine della creazione del file di log. Se l'istruzione DataLogWrite viene eseguita prima
che sia conclusa la creazione del log di dati, l'operazione di scrittura non riuscirà a
scrivere il nuovo record di log di dati previsto.
• In alcuni casi, se è in esecuzione un ciclo di programma molto veloce, la creazione del
log di dati può richiedere un tempo maggiore. Se il tempo è troppo breve si deve attivare
la casella di controllo di Attiva tempo di ciclo minimo per gli OB ciclici e impostare il
tempo di ciclo minimo a min. 1 ms. Per maggiori informazioni consultare Configurazione
del tempo di ciclo e del carico della comunicazione (Pagina 98).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 391
Istruzioni avanzate
8.7 Ricette e log di dati

Nota
L'istruzione DataLogNewFile copia una struttura di record di log di dati esistente
Per evitare la sovrascrittura dei record di dati si può utilizzare l'istruzione DataLogNewFile
che permette di creare un nuovo log di dati basato sul log attuale dopo che questo log ha
salvato il numero massimo di record consentito. I nuovi record di dati vengono salvati nel
nuovo file di log. Il vecchio file di log di dati e i dati dei record rimangono nella memoria flash.

Tabella 8- 160 Valori di ERROR e STATUS

ERROR STATUS Descrizione


(W#16#....)
0 0000 Nessun errore
0 7000 Richiamo senza fronte REQ: BUSY = 0, DONE = 0
0 7001 Primo richiamo con fronte REQ (attivo): BUSY = 1, DONE = 0
0 7002 Nesimo richiamo (attivo): BUSY = 1, DONE = 0
1 8070 Tutta la memoria di istanza interna è occupata.
1 807F Errore interno
1 8090 Nome del file non valido
1 8091 Il parametro del nome non è una stringa.
1 8093 Esiste già un log di dati con questo nome. Utilizzare un nome diverso, accertarsi che il
file .csv del log di dati non sia aperto e utilizzare la pagina Unità di selezione file
(Pagina 638) del Web server per cancellare il log di dati esistente.
1 8097 La lunghezza del file richiesta supera il limite massimo del sistema di file.
1 80B3 Memoria di caricamento disponibile insufficiente.
1 80B4 MC (Memory Cartridge) protetta dalla scrittura.
1 80C1 Troppi file aperti: È possibile aprire al massimo otto file di log.
1 8253 Numero di record non valido
1 8353 Selezione del formato non valida
1 8453 Selezione di data e ora non valida
1 8B24 Assegnazione dell'area HEADER non valida: Ad esempio perché punta alla memoria
locale
1 8B51 Tipo di dati del parametro HEADER non valido
1 8B52 Troppi elementi di dati per il parametro HEADER
1 8C24 Assegnazione dell'area DATA non valida: Ad esempio perché punta alla memoria
locale
1 8C51 Tipo di dati del parametro DATA non valido
1 8C52 Troppi elementi di dati per il parametro DATA

Sistema di automazione S7-1200


392 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.7 Ricette e log di dati

Istruzione DataLogOpen (Apri Data Log)

Tabella 8- 161 Istruzione DataLogOpen

KOP / FUP SCL Descrizione


"DataLogOpen_DB"( Apre un file di log di dati esistente. Un log di dati deve essere
req:=_bool_in_, aperto prima di potervi scrivere nuovi record. È possibile aprire e
mode:=_uint_in_, chiudere i log di dati individualmente fino a un massimo di otto log
done=>_bool_out_, aperti contemporaneamente.
busy=>_bool_out_, STEP 7 crea automaticamente il DB di istanza associato
error=>_bool_out_, all'inserimento dell'istruzione.
status=>_word_out_,
name:=_string_inout_,
ID:=_dword_inout_);
2 Nell'esempio SCL "DataLogOpen_DB" è il nome del DB di istanza.

Tabella 8- 162 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool La commutazione di un segnale da low a high (fronte di salita)
avvia l'operazione. (Valore di default: falso)
MODE IN UInt Modo di funzionamento:
• 0 - Aggiunta ai dati esistenti (valore di default)
• 1 - Reset di tutti i record esistenti
NAME IN Variant Nome di un log di dati esistente: Questa variante supporta solo il
tipo di dati String e può essere collocata solo nella memoria locale,
DB o M. (Valore di default: ' ')
ID IN/OUT DWord Identificativo numerico di un log di dati. (Valore di default: 0)
Nota: L'accesso al nome simbolico non è consentito per questo
parametro.
DONE OUT Bool Il bit DONE è vero per un ciclo di scansione se l'ultima richiesta si è
conclusa senza errori. (Valore di default: falso)
BUSY OUT Bool • 0 - Non è in corso alcuna operazione
• 1 - Operazione in corso
ERROR OUT Bool Il bit ERROR è vero per un ciclo di scansione se l'ultima richiesta si
è conclusa con un errore. Il valore del codice di errore nel
parametro STATUS è valido solo durante l'unico ciclo di scansione
in cui ERROR = TRUE.
STATUS OUT Word Codice della condizione di esecuzione (valore di default: 0)

È possibile utilizzare il NAME o un ID (parametro ID come un ingresso) di un log di dati


esistente. Se si dispone di entrambi i parametri e un ID valido corrisponde al log di dati
NAME, viene utilizzato l'ID e il NAME viene ignorato.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 393
Istruzioni avanzate
8.7 Ricette e log di dati

NAME deve essere il nome di un log di dati creato con l'istruzione DataLogCreate. Se si
dispone solo del NAME e questo indica un log di dati valido, verrà restituito l'ID
corrispondente (parametro ID come un'uscita).

Nota
Utilizzo generale di file di log
• I file di log si aprono automaticamente con le istruzioni DataLogCreate e
DataLogNewFile.
• I file di log si chiudono automaticamente dopo il passaggio del PLC in STOP o dopo un
ciclo di spegnimento/riaccensione del PLC.
• Prima che sia possibile eseguire una nuova istruzione DataLogWrite è necessario aprire
un file di log.
• È possibile aprire fino a otto file di log in una volta. Possono esistere più di otto file di log
ma alcuni di essi devono essere chiusi in modo che al massimo i file aperti siano otto.

Tabella 8- 163 Valori di ERROR e STATUS

ERROR STATUS (W#16#) Descrizione


0 0000 Nessun errore
0 0002 Avvertenza: file di log già aperto da questo programma applicativo
0 7000 Richiamo senza fronte REQ: BUSY = 0, DONE = 0
0 7001 Primo richiamo con fronte REQ (attivo): BUSY = 1, DONE = 0
0 7002 Nesimo richiamo (attivo): BUSY = 1, DONE = 0
1 8070 Tutta la memoria di istanza interna è occupata.
1 8090 La definizione del log di dati è incoerente con il file di log esistente.
1 8091 Il parametro del nome non è una stringa.
1 8092 Log di dati non presente.
1 80C0 Il file di log è bloccato.
1 80C1 Troppi file aperti: È possibile aprire al massimo otto file di log.

Sistema di automazione S7-1200


394 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.7 Ricette e log di dati

Istruzione DataLogWrite (Scrivi Data Log)

Tabella 8- 164 Istruzione DataLogWrite

KOP / FUP SCL Descrizione


"DataLogWrite_DB"( Scrive un record di dati nel log di dati specificato. Per poter eseguire
req:=_bool_in_, un'istruzione DataLogWrite il log di dati di destinazione esistente deve
done=>_bool_out_, essere aperto.
busy=>_bool_out_, STEP 7 crea automaticamente il DB di istanza associato all'inserimento
error=>_bool_out_, dell'istruzione.
status=>_word_out_,
ID:=_dword_inout_);

2 Nell'esempio SCL "DataLogWrite_DB" è il nome del DB di istanza.

Tabella 8- 165 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool La commutazione di un segnale da low a high (fronte di salita) avvia
l'operazione. (Valore di default: falso)
ID IN/OUT DWord Identificativo numerico del log di dati. Usato solo come un ingresso per
l'istruzione DataLogWrite. (Valore di default: 0)
Nota: L'accesso al nome simbolico non è consentito per questo
parametro.
DONE OUT Bool Il bit DONE è vero per un ciclo di scansione se l'ultima richiesta si è
conclusa senza errori.
BUSY OUT Bool • 0 - Non è in corso alcuna operazione
• 1 - Operazione in corso
ERROR OUT Bool Il bit ERROR è vero per un ciclo di scansione se l'ultima richiesta si è
conclusa con un errore. Il valore del codice di errore nel parametro
STATUS è valido solo durante l'unico ciclo di scansione in cui ERROR
= TRUE.
STATUS OUT Word Codice della condizione di esecuzione (valore di default: 0)

L'indirizzo di memoria e la struttura di dati del buffer di record vengono configurati mediante
il parametro DATA dell'istruzione DataLogCreate. A livello di programma è necessario
caricare gli attuali valori di processo runtime nel buffer del record ed eseguire quindi
l'istruzione DataLogWrite per spostare i nuovi dati del record dal buffer al log di dati.
Il parametro ID identifica la configurazione di un log e di un record di dati. Il numero ID viene
generato quando si crea il log di dati.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 395
Istruzioni avanzate
8.7 Ricette e log di dati

Se nel file di log di dati circolare sono presenti record vuoti verrà scritto il successivo record
vuoto disponibile. Se tutti i record sono occupati verrà sovrascritto il record meno recente.

ATTENZIONE
Per poter avviare un'operazione di scrittura dei log di dati è necessario che le operazioni di
creazione dei log di dati si siano concluse
Le operazioni di creazione del file di log DataLogCreate e DataLogNewFile si protraggono
per molti cicli del programma. Il tempo effettivo richiesto per la creazione di un file di log
dipende dalla struttura e dal numero di record. La logica del programma deve controllare e
rilevare la commutazione dei bit DONE nello stato TRUE, che segnala la fine della
creazione del file di log. Se l'istruzione DataLogWrite viene eseguita prima che sia conclusa
la creazione del log di dati, l'operazione di scrittura non riuscirà a scrivere il nuovo record di
log di dati previsto.

ATTENZIONE
Possibile perdita di log di dati in caso di interruzione dell'alimentazione della CPU
In caso di interruzione dell'alimentazione durante l'esecuzione dell'istruzione DataLogWrite
il record di dati da trasferire nel log di dati potrebbe andare perso.

Tabella 8- 166 Valori di ERROR e STATUS

ERROR STATUS (W#16#) Descrizione


0 0000 Nessun errore
0 0001 Indica che il log di dati è pieno: ogni log di dati viene creato con un numero
massimo specifico di record. L'ultimo record del numero massimo è stato scritto.
Con la successiva operazione di scrittura il record meno recente verrà
sovrascritto.
0 7000 Richiamo senza fronte REQ: BUSY = 0, DONE = 0
0 7001 Primo richiamo con fronte REQ (attivo): BUSY = 1, DONE = 0
0 7002 Nesimo richiamo (attivo): BUSY = 1, DONE = 0
1 8070 Tutta la memoria di istanza interna è occupata.
1 8092 Log di dati non presente.
1 80B0 Il file di log non è aperto (solo per il modo di apertura esplicito).

Sistema di automazione S7-1200


396 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.7 Ricette e log di dati

Istruzione DataLogClose (Chiudi Data Log)

Tabella 8- 167 Istruzione DataLogClose

KOP / FUP SCL Descrizione


"DataLogClose_DB"( Chiude un file di log di dati aperto. Se si utilizza
req:=_bool_in_, l'istruzione DataLogWrite per un log di dati chiuso si
done=>_bool_out_, verifica un errore. Non è consentito eseguire operazioni
busy=>_bool_out_, di scrittura in questo log di dati finché non viene eseguita
error=>_bool_out_, un'altra istruzione DataLogOpen.
status=>_word_out_, Con la commutazione in STOP tutti i file di log di dati
ID:=_dword_inout_); aperti verranno chiusi.
STEP 7 crea automaticamente il DB di istanza associato
all'inserimento dell'istruzione.
2 Nell'esempio SCL "DataLogClose_DB" è il nome del DB di istanza.

Tabella 8- 168 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool La commutazione di un segnale da low a high (fronte di salita) avvia
l'operazione. (Valore di default: falso)
ID IN/OUT DWord Identificativo numerico di un log di dati. Usato solo come un ingresso per
l'istruzione DataLogClose. (Valore di default: 0)
Nota: L'accesso al nome simbolico non è consentito per questo parametro.
DONE OUT Bool Il bit DONE è vero per un ciclo di scansione se l'ultima richiesta si è conclusa
senza errori.
BUSY OUT Bool • 0 - Non è in corso alcuna operazione
• 1 - Operazione in corso
ERROR OUT Bool Il bit ERROR è vero per un ciclo di scansione se l'ultima richiesta si è conclusa
con un errore. Il valore del codice di errore nel parametro STATUS è valido
solo durante l'unico ciclo di scansione in cui ERROR = TRUE.
STATUS OUT Word Codice della condizione di esecuzione (valore di default: 0)

Tabella 8- 169 Valori di ERROR e STATUS

ERROR STATUS (W#16#) Descrizione


0 0000 Nessun errore
0 0001 Log di dati non aperto
0 7000 Richiamo senza fronte REQ: BUSY = 0, DONE = 0
0 7001 Primo richiamo con fronte REQ (attivo): BUSY = 1, DONE = 0
0 7002 Nesimo richiamo (attivo): BUSY = 1, DONE = 0
1 8092 Log di dati non presente.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 397
Istruzioni avanzate
8.7 Ricette e log di dati

Istruzione DataLogNewFile (Data Log in nuovo file)

Tabella 8- 170 Istruzione DataLogNewFile

KOP / FUP SCL Descrizione


"DataLogNewFile_DB"( Consente al programma di creare un nuovo
req:=_bool_in_, file di log di dati basato su uno esistente.
records=:_udint_in_, STEP 7 crea automaticamente il DB di
done=>_bool_out_, istanza associato all'inserimento
busy=>_bool_out_, dell'istruzione.
error=>_bool_out_,
status=>_word_out_,
name=:_DataLog_out_,
ID:=_dword_inout_);
2 Nell'esempio SCL "DataLogNewFile_DB" è il nome del DB di istanza.

Tabella 8- 171 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool La commutazione di un segnale da low a high (fronte di salita) avvia
l'operazione. (Valore di default: falso)
RECORDS IN UDInt Il numero massimo di record di dati che il log di dati circolare può contenere
prima di sovrascrivere la voce meno recente. (Valore di default: 1)
Il record di intestazione non è incluso. Per permettere di creare
corettamente il log di dati è necessario uno spazio di memoria di
caricamento sufficiente sulla CPU.
NAME IN Variant Nome del log di dati: l'utente stabilisce il nome. Questa variante supporta
solo il tipo di dati String e può essere collocata solo nella memoria locale,
DB o M. (Valore di default: ' ')
Questo riferimento di stringa è usato anche come nome del file di log di dati.
I caratteri del nome devono rispettare le relative limitazioni del sistema di file
Windows. I caratteri \ / : * ? " < > | e lo spazio non sono consentiti(.
ID IN/OUT DWord Identificativo numerico del log di dati (valore di default: 0):
• Durante l'esecuzione l'ingresso ID identifica un log di dati valido. La
nuova configurazione del log di dati viene copiata da questo log di dati.
• Al termine dell'esecuzione il parametro ID diventa un'uscita che
restituisce l'ID del file di log di dati creato.
Nota: L'accesso al nome simbolico non è consentito per questo parametro.
DONE OUT Bool Il bit DONE è vero per un ciclo di scansione se l'ultima richiesta si è
conclusa senza errori.
BUSY OUT Bool • 0 - Non è in corso alcuna operazione
• 1 - Operazione in corso
ERROR OUT Bool Il bit ERROR è vero per un ciclo di scansione se l'ultima richiesta si è
conclusa con un errore. Il valore del codice di errore nel parametro STATUS
è valido solo durante l'unico ciclo di scansione in cui ERROR = TRUE.
STATUS OUT Word Codice della condizione di esecuzione (valore di default: 0)

Sistema di automazione S7-1200


398 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.7 Ricette e log di dati

L'istruzione DataLogNewFile può essere eseguita quando un log di dati è pieno o è


considerato completo e non si vogliono perdere i dati salvati nel log. È possibile creare un
nuovo file di log vuoto basato sulla struttura del file di log pieno. Il record di intestazione
viene duplicato dal log di dati originale con le relative proprietà (buffer di record DATA,
formato dei dati e impostazioni di data e ora). Il file di log originale è implicitamente chiuso e
quello nuovo implicitamente aperto.
Trigger del parametro DataLogWrite: il programma deve controllare i parametri ERROR e
STATUS di ogni istruzione DataLogWrite. Quando il record finale è stato scritto e il log di dati
è pieno il bit DataLogWrite ERROR è = 1 e la parola DataLogWrite STATUS è = 1. Questi
valori ERROR e STATUS sono validi solo per un ciclo di scansione, quindi la logica di
controllo deve utilizzare ERROR = 1 come porta temporale per rilevare il valore STATUS e
verificare in seguito che STATUS sia = 1 (il log di dati è pieno).
Istruzione DataLogNewFile: quando la logica di programma riceve il segnale indicante che il
log di dati è pieno, questo stato viene utilizzato per attivare un'istruzione DataLogNewFile.
Occorre eseguire DataLogNewFile con l'ID di un log di dati esistente (di solito pieno) e
aperto, ma con un nuovo parametro NAME univoco. Una volta conclusa l'istruzione
DataLogNewFile, viene restituito un nuovo valore ID del log di dati (come un parametro di
uscita) che corrisponde al nuovo nome del log di dati. Il nuovo file del log di dati è aperto
implicitamente ed è pronto per il salvataggio di nuovi record. Per eseguire ulteriori istruzioni
DataLogWrite sul nuovo file di log si deve utilizzare il valore ID restituito dall'istruzione
DataLogNewFile.

ATTENZIONE
Per poter avviare un'operazione di scrittura dei log di dati è necessario che le operazioni di
creazione dei log di dati si siano concluse
Le operazioni di creazione del file di log DataLogCreate e DataLogNewFile si protraggono
per molti cicli del programma. Il tempo effettivo richiesto per la creazione di un file di log
dipende dalla struttura e dal numero di record. La logica del programma deve controllare e
rilevare la commutazione dei bit DONE nello stato TRUE, che segnala la fine della
creazione del file di log. Se l'istruzione DataLogWrite viene eseguita prima che sia conclusa
la creazione del log di dati, l'operazione di scrittura non riuscirà a scrivere il nuovo record di
log di dati previsto.

Tabella 8- 172 Valori di ERROR e STATUS

ERROR STATUS (W#16#) Descrizione


0 0000 Nessun errore
0 7000 Richiamo senza fronte REQ: BUSY = 0, DONE = 0
0 7001 Primo richiamo con fronte REQ (attivo): BUSY = 1, DONE = 0
0 7002 Nesimo richiamo (attivo): BUSY = 1, DONE = 0
1 8070 Tutta la memoria di istanza interna è occupata.
1 8090 Nome del file non valido
1 8091 Il parametro del nome non è una stringa.
1 8092 Log di dati non presente.
1 8093 Log di dati già presente.
1 8097 La lunghezza del file richiesta supera il limite massimo del sistema di file.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 399
Istruzioni avanzate
8.7 Ricette e log di dati

ERROR STATUS (W#16#) Descrizione


1 80B3 Memoria di caricamento disponibile insufficiente.
1 80B4 MC protetta dalla scrittura.
1 80C1 Troppi file aperti.

8.7.2.3 Utilizzo dei log di dati


I file di log vengono salvati nel formato *.csv (comma separated value) nella memoria flash
permanente. I log di dati possono essere visualizzati utilizzando la funzione di Web server
del PLC oppure estraendo la memory card del PLC e inserendola in un lettore di schede
standard per PC.

Visualizzazione di log di dati con la funzione di Web server del PLC


Se la porta PROFINET del PLC e un PC sono collegati a una rete è possibile utilizzare un
Web browser del PC come Microsoft Internet Explorer o Mozilla Firefox per accedere al Web
server integrato nel PLC. Il PLC può essere in RUN o STOP quando si utilizza il Web server.
Se il PLC si trova in RUN il programma di comando continua ad essere eseguito mentre il
relativo Web server trasferisce dati di log attraverso la rete.
Accesso al Web server:
1. Abilitare il Web server nella Configurazione dispositivi per la CPU di destinazione
(Pagina 619).
2. Collegare il PC al PLC mediante le rete PROFINET (Pagina 622).
3. Accedere alla CPU dal Web server integrato (Pagina 625).
4. Caricare, modificare e cancellare i file dei log di dati con la pagina Web standard "File
Browser" (Pagina 638).
5. Aprire il file .csv con un'applicazione per fogli elettronici come Microsoft Excel.

Visualizzazione di log di dati su una memory card del PLC


Se nella CPU S7-1200 è inserita una memory card S7-1200 del tipo "Programma", è
possibile rimuoverla e inserirla in uno slot per la scheda SD (Secure Digital) o MMC
(MultiMediaCard) standard su un PC o PG. Quando viene rimossa la memory card il PLC è
in STOP e il programma di comando non viene eseguito.
Utilizzare il File Explorer di Windows e navigare alla directory \DataLog sulla memory card.
Tutti i file di log \*.csv si trovano in questa directory.

Sistema di automazione S7-1200


400 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.7 Ricette e log di dati

Eseguire una copia dei file di log e salvare queste copie su un drive locale del proprio PC.
Quindi con Excel si può aprire una copia locale di un file *.csv e non il file originale che è
salvato nella memory card.

ATTENZIONE
È possibile copiare, ma non modificare o cancellare, i file di log su una memory card S7-
1200 utilizzando un lettore di scheda per PC
Lo strumento consigliato per visualizzare, caricare (copiare) e cancellare i file dei log di dati
è la pagina File Browser standard del Web server.
Sfogliando direttamente il sistema di file nella memory card con Windows Explorer si rischia
di cancellare/modificare accidentalmente file di log o altri file di sistema e di danneggiare
conseguentemente un file o rendere la memory card inutilizzabile.

Visualizzazione dei log di dati da un browser


Anche se non si utilizza la funzione di Web server si possono visualizzare i log di dati
direttamente da un browser, ad es. da Internet Explorer o Mozilla Firefox. Basta specificare il
seguente testo nella barra dell'indirizzo del browser, sostituendo "MyDataLog" con l'indirizzo
IP della CPU e il nome attuale del file del log di dati indicato in STEP 7:
http://192.168.0.1/FileBrowser/Download?Path=/DataLogs/MyDataLog.csv
Gli indirizzi fissi dei file dei log consentono inoltre di accedere ai log attraverso tool di
collezionamento file di altri produttori.

8.7.2.4 Limite per le dimensioni dei file di log


I file di log condividono lo spazio della memoria di caricamento del PLC con il programma, i
dati di programma, i dati di configurazione, le pagine Web definite dall'utente e i dati di
sistema del PLC. Poiché un programma di grandi dimensioni occupa molta memoria di
caricamento lo spazio per i log di dati potrebbe essere insufficiente. In questo caso è
possibile aumentare la memoria di caricamento utilizzando una "Scheda di programma". Le
CPU S7-1200 possono usare la memoria di caricamento sia interna che esterna, ma non
contemporaneamente.
Per i dettagli sulle modalità di creazione di una "scheda di programma" consultare il capitolo
sulla memory card (Pagina 133).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 401
Istruzioni avanzate
8.7 Ricette e log di dati

Regola relativa alla dimensione massima dei file di log


La dimensione di un file di log non deve superare la memoria di caricamento libera o i 500
MB, indipendentemente da quale delle due sia più piccola. Se il programma utilizza più di un
file di log la dimensione complessiva di tutti i file di log non deve superare quella della
memoria di caricamento libera.

Tabella 8- 173 Dimensioni della memoria di caricamento

Area di dati CPU 1211C CPU 1212C CPU 1214C CPU 1215C, Archiviazione dati
CPU 1217C
Memoria di caricamento 1 MB 1 MB 4 MB 4 MB Programma utente
interna e dati di
memoria flash programma, dati di
Memoria di caricamento 4 MB, 12 MB, 24 MB, 256 MB, 2 GB o 32 GB a seconda delle configurazione, log
esterna dimensioni della scheda SD di dati, pagine Web
Memoria flash "Scheda di definite dall'utente e
programma" opzionale. dati di sistema del
PLC

Determinazione dello spazio libero nella memoria di caricamento


La quantità di spazio di memoria di caricamento disponibile varia nel corso delle normali
operazioni man mano che il sistema operativo utilizza e libera la memoria. Per sapere le
dimensioni della memoria di caricamento procedere come indicato di seguito.
1. Stabilire un collegamento online tra STEP 7 e il PLC S7-1200 di destinazione.
2. Caricare il programma che controlla le operazioni per i log di dati.
3. Creare tante pagine Web opzionali personalizzate quante necessarie. Le pagine Web
standard che permettono di accedere ai log di dati sono salvate nel firmware del PLC e
non occupano memoria di caricamento.
4. Utilizzare gli strumenti online e di diagnostica per visualizzare le dimensioni complessive
e lo spazio di memoria di caricamento disponibile (Pagina 807).

Calcolo delle dimensioni di un file di log di dati (tutti i record di dati)


Una volta creato il file di log vengono assegnate le dimensioni massime della memoria. Oltre
allo spazio necessario per i record di dati si deve calcolare quello per l'intestazione del log di
dati (se presente), l'intestazione della data e dell'ora (se presente), l'intestazione dell'indice
dei record e la dimensione minima del blocco per l'assegnazione della memoria.
Per determinare le dimensioni dei file di log di dati ed essere sicuri di aver rispettato la
regola per le dimensioni massime si utilizza la seguente formula.
Dimensione del file di log di dati = byte dell'intestazione + byte di dati + 512 byte

Sistema di automazione S7-1200


402 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.7 Ricette e log di dati

Intestazione
Byte per l'intestazione del log di dati = byte per i caratteri dell'intestazione + 2 byte
Byte per i caratteri dell'intestazione
● Senza intestazione per i dati e senza indicazione di data e ora = 7 byte
● Senza intestazione per i dati e con indicazione di data e ora (con intestazione per la data
e l'ora) = 21 byte
● Con intestazioni per i dati e senza indicazione di data e ora = numero di byte per i
caratteri del testo di tutte le colonne dell'intestazione comprese le virgole di separazione
● Con intestazioni per i dati e indicazione di data e ora (con intestazione per la data e l'ora)
= numero di byte per i caratteri del testo di tutte le colonne dell'intestazione comprese le
virgole di separazione +21 byte

Dati
Byte dei log di dati = ((byte di dati di un record + byte di data e ora) * numero di record) + 12
byte
Byte di dati in un record di dati
Il parametro DATA dell'istruzione DataLogCreate indica una struttura che assegna il numero
dei campi di dati e il tipo di dati di ogni campo per un record di log.
Moltiplicare il numero delle volte in cui un dato tipo di dati compare per il numero dei byte
richiesti. Ripetere l'operazione per ciascun tipo di dati di un record e sommare tutti i byte dei
dati per calcolare il totale degli elementi di dati di un record.
Dimensione dei singoli elementi di dati
I dati di log vengono salvati come byte di caratteri nel formato di file CSV (comma separated
values). La seguente tabella mostra il numero di byte necessari per il salvataggio dei singoli
elementi di dati.

Tipo di dati Numero di byte (comprende i dati più il byte della virgola)
Bool 2
Byte 5
Word 7
DWord 12
Char 4

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 403
Istruzioni avanzate
8.7 Ricette e log di dati

String Esempio 1: stringa MyString[10]


La dimensione massima della stringa è di 10 caratteri.
Caratteri di testo + padding automatico con caratteri vuoti = 10 byte
Virgolette doppie di apertura e chiusura + caratteri di virgola = 3 byte
10 + 3 = 13 byte totali
Esempio 2: stringa Mystring2
Se non è assegnata una dimensione tra parentesi quadre, allora per default
vengono assegnati 254 byte.
Caratteri di testo + padding automatico con caratteri vuoti = 254 byte
Virgolette doppie di apertura e chiusura + caratteri di virgola = 3 byte
254 + 3 = 257 byte totali
USInt 5
UInt 7
UDInt 12
SInt 5
Int 7
DInt 12
Real 16
LReal 25
Ora 15
DTL 24
Numero di record di un file di log di dati
Il parametro RECORDS dell'istruzione DataLogCreate definisce il numero massimo di record
in un file di log.
Byte di data e ora in un record di dati
● Nessuna data e ora = 0 byte
● Data e ora = 20 byte

Vedere anche
Controllo del tempo di ciclo e dell'utilizzo della memoria (Pagina 816)
Memory card SIMATIC (Pagina 1009)

Sistema di automazione S7-1200


404 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.7 Ricette e log di dati

8.7.2.5 Esempio di programma per i log di dati


Questo esempio di programma per i log di dati non illustra tutta la logica del programma
necessaria per rilevare valori campione da un processo dinamico, ma descrive le operazioni
chiave delle istruzioni per i log di dati. La struttura e il numero dei file di log utilizzati dipende
dai requisiti di comando del processo.

Nota
Utilizzo generale di file di log
• I file di log si aprono automaticamente con le istruzioni DataLogCreate e
DataLogNewFile.
• I file di log si chiudono automaticamente dopo il passaggio del PLC in STOP o dopo un
ciclo di spegnimento/riaccensione del PLC.
• Prima che sia possibile eseguire un'istruzione DataLogWrite è necessario aprire un file di
log.
• È possibile aprire fino a otto file di log in una volta. Possono esistere più di otto file di log
ma alcuni di essi devono essere chiusi in modo che al massimo i file aperti siano otto.

Esempio di programma per i log di dati


Gli esempi di nomi per i log di dati, testo di intestazione e struttura MyData vengono creati in
un blocco dati. Le tre variabili MyData salvano temporaneamente nuovi valori campione. I
valori campione del processo contenuti nei DB vengono trasferiti in un file di log con
l'istruzione DataLogWrite.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 405
Istruzioni avanzate
8.7 Ricette e log di dati

Segmento 1 Il fronte di salita nell'ingresso REQ avvia il processo di creazione dei log di dati.

Segmento 2 Rilevare l'uscita DONE da DataLogCreate perché valida solo per un ciclo di
scansione.

Segmento 3 Un segnale del fronte di salita attiva il salvataggio dei nuovi valori di processo
nella struttura MyData.

Segmento 4 Lo stato dell'ingresso EN è basato sulla conclusione dell'istruzione


DataLogCreate. Un'istruzione di creazione si protrae per molti cicli di scansione e deve
essere conclusa prima di eseguire un'istruzione di scrittura. Il segnale del fronte di salita
nell'ingresso REQ è l'evento che avvia un'istruzione di scrittura abilitata.

Sistema di automazione S7-1200


406 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.7 Ricette e log di dati

Segmento 5 Una volta scritto l'ultimo record chiudere il log di dati. Conclusa l'istruzione
DataLogWrite che scrive l'ultimo record, l'uscita STATUS di DataLogWrite = 1 indica che il
file di log è pieno.

Segmento 6 Un segnale del fronte di salita nell'ingresso REQ di DataLogOpen simula la


pressione di un pulsante su un dispositivo HMI da parte dell'utente in seguito alla quale
viene aperto un file di log. Se si apre un file di log i cui record sono tutti occupati da dati di
processo, la nuova istruzione DataLogWrite sovrascriverà i record meno recenti. Per
conservare il log di dati meno recente e crearne uno nuovo vedere la descrizione del
segmento 7.

Segmento 7 Il parametro ID è del tipo IN/OUT. Innanzitutto rilevare il valore ID del log di dati
esistente la cui struttura si intende copiare. Una volta terminata l'istruzione DataLogNewFile,
un nuovo valore ID univoco per il nuovo log di dati viene riscritto nella posizione di
riferimento dell'ID. Il rilevamento richiesto del bit DONE = vero non viene mostrato, fare
riferimento ai segmenti 1, 2 e 4 per un esempio della logica del bit DONE.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 407
Istruzioni avanzate
8.7 Ricette e log di dati

File di log creati dal programma di esempio visualizzati con il Web server della CPU S7-1200

① L'opzione "Annulla" non è disponibile se non si è connessi come utente con privilegi di
modifica.
② L'opzione "Rinomina" non è disponibile se non si è connessi come utente con privilegi di
modifica.

Tabella 8- 174 Esempi di file .csv caricati visualizzati con Excel

Due record scritti in un file di massimo


cinque record

Cinque record in un file di log di massimo


cinque record

Dopo aver scritto un ulteriore record nel


file precedente che è pieno, la sesta
operazione di scrittura sovrascrive il
record meno recente sostituendolo con il
sesto. Un'altra operazione di scrittura
sovrascriverà quindi il secondo record con
il settimo e così via.

Sistema di automazione S7-1200


408 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.8 Comando del blocco dati

8.8 Comando del blocco dati

8.8.1 Istruzioni READ_DBL e WRIT_DBL (Leggi/scrivi blocco dati nella memoria di


caricamento)

Tabella 8- 175 Istruzioni READ_DBL e WRIT_DBL

KOP / FUP SCL Descrizione


READ_DBL( Copia i valori iniziali del DB o parte di
req:=_bool_in_, essi da una memoria di caricamento ad
srcblk:=_variant_in_, un DB di destinazione in quella di
busy=>_bool_out_, lavoro.
dstblk=>_variant_out_); Il contenuto della memoria di
caricamento non varia durante il
processo di copia.

WRIT_DBL( Copia parzialmente o interamente i


req:=_bool_in_, valori attuali del DB dalla memoria di
srcblk:=_variant_in_, lavoro in un DB di destinazione
busy=>_bool_out_, contenuto nella memoria di
dstblk=>_variant_out_); caricamento.
Il contenuto della memoria di lavoro
non varia durante il processo di copia.

Tabella 8- 176 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN BOOL Un segnale high avvia il funzionamento se BUSY = 0.
SRCBLK IN VARIANT READ_DBL: puntatore al blocco dati di origine nella memoria di
caricamento
WRIT_DBL: puntatore al blocco dati di origine nella memoria di lavoro
RET_VAL OUT INT Codice della condizione di esecuzione
BUSY OUT BOOL BUSY = 1 segnala che il processo di lettura/scrittura non è completo.
DSTBLK OUT VARIANT READ_DBL: puntatore al blocco dati di destinazione nella memoria di
lavoro
WRIT_DBL: puntatore al blocco dati di destinazione nella memoria di
caricamento

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 409
Istruzioni avanzate
8.8 Comando del blocco dati

Generalmente i DB vengono salvati sia nella memoria di caricamento (flash) che in quella di
lavoro (RAM). I valori iniziali vengono sempre salvati nella memoria di caricamento, quelli
attuali nella memoria di lavoro. Utilizzando READ_DBL è possibile copiare un set di valori
iniziali che si trovano nella memoria di caricamento nei valori attuali di un DB contenuto nella
memoria di lavoro a cui fa riferimento il programma. L'istruzione WRIT_DBL può essere
utilizzata per aggiornare i valori iniziali contenuti nella memoria di caricamento interna o nella
memory card con i valori attuali della memoria di lavoro.

Nota
Evitare troppe operazioni di scrittura WRIT_DBL nella memoria flash
L'istruzione WRIT_DBL esegue operazioni di scrittura nella memoria flash (memoria di
caricamento interna o memory card). WRIT_DBL deve essere utilizzata per aggiornamenti
non frequenti quali una modifica del processo di produzione.

I blocchi dati utilizzati da READ_DBL e WRIT_DBL devono essere stati precedentemente


creati da STEP 7 per poter usare queste istruzioni. Se il DB di origine viene creato come di
tipo "standard", anche il DB di destinazione deve essere di tipo "standard". Se il blocco dati
di origine viene creato come di tipo "ottimizzato", anche il blocco dati di destinazione deve
essere di tipo "ottimizzato".
Se i DB sono standard è possibile specificare un nome di variabile o un valore P#. Il valore
P# consente di indicare e copiare qualsiasi numero di elementi della dimensione specificata
(Byte, Word o DWord). Si può quindi copiare una parte del DB o il DB completo. Se i DB
sono ottimizzati si può specificare solo il nome della variabile mentre non è possibile
utilizzare l'operatore P#. Se si specifica un nome di variabile per dei DB standard o
ottimizzati (o per altri tipi di memoria di lavoro), vengono copiati tutti gli elementi a cui il nome
fa riferimento. Può trattarsi di un tipo definito dall'utente, un array o un elemento di base. Il
tipo Struct è utilizzabile da queste istruzioni solo se il DB è standard e non ottimizzato. Se si
tratta di una struttura della memoria ottimizzata si deve usare un tipo definito dall'utente
(UDT). Solo quest'ultimo assicura che i "tipi di dati" delle strutture di origine e di destinazione
siano identici.

Nota
Utilizzo di una struttura (tipo di dati Struct) in un DB "ottimizzato"
Per poter utilizzare un tipo di dati Struct con DB "ottimizzati" si deve innanzitutto creare un
tipo di dati definito dall'utente (UDT) per Struct. Quindi si configurano sia i DB di origine che
quelli di destinazione con l'UDT. L'UDT garantisce che i tipi di dati della Struct rimangano
coerenti in entrambi i DB.
Per i DB "standard" si usa il tipo di dati Struct senza creare l'UDT.

READ_DBL e WRIT_DBL vengono eseguite in modo asincrono nel ciclo del programma.
L'elaborazione si svolge nel corso di più esecuzioni di READ_DBL e WRIT_DBL. L'ordine di
trasferimento del DB inizia richiamando REQ = 1 e quindi prosegue con il controllo delle
uscite BUSY e RET_VAL per determinare se il trasferimento dei dati è completo e corretto.
Per assicurare la coerenza dei dati, non modificare l'area di destinazione durante
l'elaborazione di READ_DBL o l'area di origine durante l'elaborazione di WRIT_DBL (almeno
fin tanto che il parametro BUSY è vero).

Sistema di automazione S7-1200


410 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.8 Comando del blocco dati

Limitazioni dei parametri SRCBLK e DSTBLK:


● Un blocco dati deve essere stato precedentemente creato per poter essere indirizzato.
● La lunghezza di un puntatore VARIANT di tipo BOOL deve essere divisibile per 8.
● la lunghezza di un puntatore VARIANT di tipo STRING deve avere gli stessi puntatori di
origine e di destinazione.

Ricette e informazioni di setup macchina


Per gestire le ricette o le informazioni di setup macchina si possono utilizzare le istruzioni
READ_DBL e WRIT_DBL. Si tratta essenzialmente di un altro metodo di ottenere dati a
ritenzione per valori che cambiano poco frequentemente, tenendo conto comunque
dell'esigenza di limitare il numero di scritture ed evitare che la memoria flash si usuri
anzitempo. Questo sistema consente di aumentare la memoria a ritenzione, espandendola
oltre a quella disponibile per la normale ritenzione dei dati in caso di spegnimento, almeno
nel caso dei valori che cambiano poco frequentemente. Si possono salvare le ricette o le
informazioni di setup macchina dalla memoria di lavoro in quella di caricamento mediante
l'istruzione WRIT_DBL per poi ricopiarle nella memoria di lavoro con l'istruzione READ_DBL.

Tabella 8- 177 Codici delle condizioni di errore

RET_VAL Descrizione
(W#16#...)
0000 Nessun errore
0081 Avvertenza: l'area di origine è più piccola di quella di destinazione. I dati di origine vengono copiati
completamente con i byte supplementari nell'area di destinazione invariata.
7000 Richiamo con REQ = 0: BUSY = 0
7001 Primo richiamo con REQ = 1 (attivo): BUSY = 1
7002 Nesimo richiamo (attivo): BUSY = 1
8051 Errore di tipo di blocco dati
8081 L'area di origine è più grande di quella di destinazione. L'area di destinazione è totalmente piena e i
restanti byte dell'origine vengono ignorati.
8251 Errore di tipo di blocco dati di origine
82B1 Mancanza del blocco dati di origine
82C0 Il DB di origine è modificato da un'altra istruzione o una funzione di comunicazione.
8551 Errore di tipo di blocco dati di destinazione
85B1 Mancanza del blocco dati di destinazione
85C0 Il DB di destinazione è modificato da un'altra istruzione o una funzione di comunicazione.
80C3 Attualmente più di 50 istruzioni READ_DBL o 50 istruzioni WRIT_DBL si trovano in coda d'attesa.

Vedere anche Ricette (Pagina 376)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 411
Istruzioni avanzate
8.9 Gestione degli indirizzi

8.9 Gestione degli indirizzi

8.9.1 Istruzione LOG2GEO (Rileva indirizzo geografico dall'indirizzo logico)


L'istruzione LOG2GEO consente di determinare l'indirizzo geografico (posto connettore per i
moduli) in base all'indirizzo logico appartenente a un'identificazione hardware.

Tabella 8- 178 Istruzione LOG2GEO

KOP / FUP SCL Descrizione


ret_val := LOG2GEO( L'istruzione LOG2GEO consente di
laddr:=_word_in_, determinare il posto connettore per i
moduli appartenente a un'identificazione
GEOADDR:=_variant_in_out_); hardware.

L'istruzione LOG2GEO determina l'indirizzo geografico di un indirizzo logico in base


all'identificazione hardware:
● Selezionare l'indirizzo logico in base all'identificazione hardware utilizzando il parametro
LADDR.
● GEOADDR contiene l'indirizzo geografico dell'indirizzo logico indicato nell'ingresso
LADDR.

Nota
Se il tipo HW non supporta un particolare componente, viene restituito il numero del posto
connettore secondario per un modulo 0.
Se l'ingresso LADDR non indirizza un oggetto HW viene emesso un errore.

Tabella 8- 179 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


LADDR IN HW_ANY Identificazione hardware del sistema di IO o del modulo. Il numero viene
assegnato automaticamente e salvato nelle proprietà della CPU o
nell'interfaccia della configurazione hardware.
RET_VAL OUT Int Codice di errore dell'istruzione
GEOADDR IN_OUT Variant Puntatore al tipo di dati di sistema GEOADDR

Sistema di automazione S7-1200


412 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.9 Gestione degli indirizzi

Tabella 8- 180 Tipo di dati di sistema GEOADDR

Nome del parametro Tipo di dati Descrizione


GEOADDR STRUCT
HWTYPE UNIT Tipo di hardware:
• 1: sistema IO (PROFINET/PROFIBUS)
• 2: dispositivo IO/slave DP
• 3: Telaio di montaggio
• 4: Modulo
• 5: Sottomodulo
Se un'istruzione non supporta un particolare tipo di hardware viene emesso un
HWTYPE "0".
AREA UNIT ID di area:
• 0 = CPU
• 1 = PROFINET IO
• 2 = PROFIBUS DP
IOSYSTEM UNIT Sistema PROFINET IO (0 = dispositivo centrale nel telaio di montaggio 0-3)
STATION UNIT • Numero del telaio di montaggio se l'ID dell'area AREA = 0.
• Numero della stazione se l'ID dell'area AREA > 0.
SLOT UNIT Numero del posto connettore
SUBSLOT UNIT Numero del sottomodulo. Se non è possibile inserire un sottomodulo questo
parametro ha valore "0".

Tabella 8- 181 Codici delle condizioni di errore

RET_VAL Descrizione
(W#16#...)
0000 Nessun errore
8090 L'indirizzo specificato nel parametro LADDR non è valido.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 413
Istruzioni avanzate
8.9 Gestione degli indirizzi

8.9.2 Istruzione RD_ADDR (Rileva dati IO di un'unità)


L'istruzione RD_ADDR consente di leggere gli indirizzi di I/O di un sottomodulo.

Tabella 8- 182 Istruzione RD_ADDR

KOP / FUP SCL Descrizione


ret_val := RD_ADDR( L'istruzione RD_ADDR consente di leggere gli
laddr:=_word_in_, indirizzi di I/O di un sottomodulo.
PIADDR=>_udint_out_,
PICount=>_uint_out_,
PQADDR=>_udint_out_,
PQCount=>_uint_out_,);

L'istruzione RD_ADDR determina la lunghezza e l'indirizzo iniziale degli ingressi o delle


uscite in base all'identificazione hardware di un sottomodulo:
● Selezionare il modulo di ingressi o di uscite in base all'identificazione hardware
utilizzando il parametro LADDR.
● I seguenti parametri di uscita vengono utilizzati a seconda che il modulo sia di ingressi o
di uscite:
– Nel caso del modulo di ingressi, i valori determinati vengono emessi nei parametri
PIADDR e PICOUNT.
– Nel caso del modulo di uscite, i valori determinati vengono emessi nei parametri
PQADDR e PQCOUNT.
● I parametri PIADDR e PQADDR contengono ognuno l'indirizzo iniziale degli indirizzi di
I/O del modulo.
● I parametri PICOUNT e PQCOUNT contengono ognuno il numero di byte degli ingressi o
delle uscite (1 byte per 8 ingressi/uscite, 2 byte per 16 ingressi/uscite).

Tabella 8- 183 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


LADDR IN HW_IO Identificazione hardware del (sotto)modulo
RET_VAL OUT Int Codice di errore dell'istruzione
PIADDR OUT UDInt Indirizzo iniziale del modulo di ingressi
PICOUNT OUT UInt Numero di byte degli ingressi
PQADDR OUT UDInt Indirizzo iniziale del modulo di uscite
PQCOUNT OUT UInt Numero di byte delle uscite

Sistema di automazione S7-1200


414 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni avanzate
8.10 Codici di errore comuni per le istruzioni "Avanzate"

Tabella 8- 184 Codici delle condizioni di errore

RET_VAL Descrizione
(W#16#...)
0000 Nessun errore
8090 L'identificazione hardware del modulo nel parametro LADDR non è valida.

8.10 Codici di errore comuni per le istruzioni "Avanzate"

Tabella 8- 185 Codici delle condizioni comuni per le istruzioni avanzate

Codice della condizione (W#16#....)1 Descrizione


8x222 Area troppo piccola per l'ingresso
8x23 Area troppo piccola per l'uscita
8x24 Area di ingresso non ammessa
8x25 Area di uscita non ammessa
8x28 Assegnazione del bit di ingresso non ammessa
8x29 Assegnazione del bit di uscita non ammessa
8x30 L'area di uscita è un DB di sola lettura.
8x3A Il DB non esiste.
1 Se uno di questi errori si verifica durante l'esecuzione del blocco di codice, la CPU resta in RUN (default) o può essere
configurata in modo da passare in STOP. In opzione si possono inserire nel blocco di codice le istruzioni GetError o
GetErorID per gestire l'errore localmente (la CPU resta in RUN) e creare una reazione programmata.
2 La "x" rappresenta il numero del parametro in cui si è verificato l'errore. I numeri dei parametri iniziano da 1.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 415
Istruzioni avanzate
8.10 Codici di errore comuni per le istruzioni "Avanzate"

Sistema di automazione S7-1200


416 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia 9
9.1 Contatore veloce

Tabella 9- 1 Istruzione CTRL_HSC

KOP / FUP SCL Descrizione


"CTRL_HSC_1_DB" ( Ogni istruzione CTRL_HSC (Controlla
hsc:=_hw_hsc_in_, contatore veloce) utilizza una struttura
dir:=_bool_in_, memorizzata in un DB per mantenere i
cv:=_bool_in_, dati di conteggio. che viene assegnato
rv:=_bool_in_, quando si inserisce l'istruzione
period:=_bool_in_, CTRL_HSC nell'editor.
new_dir:=_int_in_,
new_cv:=_int_in_,
new_rv:=_dint_in_,
new_period:=_int_in_,
busy:=_bool_out_,
status:=_word_out_);
1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.
2 Nell'esempio SCL "CTRL_HSC_1_DB" è il nome del DB di istanza.

Tabella 9- 2 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


HSC IN HW_HSC Identificatore dell'HSC
DIR1, 2 IN Bool 1 = richiesta della nuova direzione
CV1 IN Bool 1 = richiesta di impostare il nuovo valore di conteggio
RV1 IN Bool 1 = richiesta di impostare il nuovo valore di riferimento
PERIOD1 IN Bool 1 = richiesta di impostare il nuovo valore del periodo
(solo per la modalità di misura della frequenza)
NEW_DIR IN Int Nuova direzione: 1= in avanti, -1= indietro
NEW_CV IN DInt Nuovo valore di conteggio
NEW_RV IN DInt Nuovo valore di riferimento
NEW_PERIOD IN Int Nuovo valore del periodo espresso in secondi (solo per la
modalità di misura della frequenza):
1= 1 s
2 = 0,1 s
3 = 0,1 s

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 417
Istruzioni di tecnologia
9.1 Contatore veloce

Parametro e tipo Tipo di dati Descrizione


BUSY3 OUT Bool Funzione occupata
STATUS OUT Word Codice della condizione di esecuzione
1 Se non viene richiesto l'aggiornamento del valore di un parametro i corrispondenti valori di ingresso vengono ignorati.
2 Il parametro DIR è valido solo se la direzione di conteggio configurata è impostata su "Programma utente (comando
direzione interno)". Il modo in cui si utilizza questo parametro può essere definito nella configurazione dei dispositivi
degli HSC.
3 Per gli HSC nella CPU o nell'SB il parametro BUSY ha sempre il valore 0.

I parametri dei singoli HSC possono essere configurati nella Configurazione del dispositivo
della CPU definendone la funzione di conteggio/frequenza, le opzioni di reset, la
configurazione degli eventi di allarme, gli I/O hardware e l'indirizzo del valore di conteggio.
Alcuni dei parametri per l'HSC possono essere modificati dal programma utente per
permettere di comandare il processo di conteggio tramite il programma:
● Impostare la direzione di conteggio sul valore NEW_DIR
● Impostare il valore di conteggio attuale sul valore NEW_CV
● Impostare il valore di riferimento sul valore NEW_RV
● Impostare il valore del periodo (per la modalità di misura della frequenza) sul valore
NEW_PERIOD
Se i seguenti valori di merker booleani vengono impostati a 1 durante l'esecuzione di
CTRL_HSC, il corrispondente valore NEW_xxx viene caricato nel contatore. Se sono
presenti più richieste (vengono impostati più merker contemporaneamente), vengono
elaborate in una singola esecuzione dell'istruzione CTRL_HSC.
● DIR = 1 è la richiesta di caricare il valore NEW_DIR, 0 = nessun cambiamento
● CV = 1 è la richiesta di caricare il valore NEW_CV, 0 = nessun cambiamento
● RV = 1 è la richiesta di caricare il valore NEW_RV, 0 = nessun cambiamento
● PERIOD = 1 è la richiesta di caricare il valore NEW_PERIOD, 0 = nessun cambiamento
L'istruzione CTRL_HSC viene generalmente inserita in un OB di interrupt di processo che
viene eseguito in seguito all'attivazione dell'evento di interrupt di processo del contatore. Se,
ad esempio, un evento CV=RV attiva l'interrupt del contatore, un OB di interrupt di processo
esegue l'istruzione CTRL_HSC e può modificare il valore di riferimento caricando un valore
NEW_RV.
Il valore di conteggio attuale non è disponibile nei parametri CTRL_HSC. L'indirizzo
dell'immagine di processo per la memorizzazione del valore di conteggio attuale viene
assegnato durante la configurazione hardware del contatore veloce. È possibile utilizzare la
logica del programma per leggere direttamente il valore di conteggio; il valore restituito al
programma sarà il conteggio corretto per l'istante in cui è stato letto il contatore, il quale
continuerà a contare gli eventi veloci. Il valore di conteggio attuale potrebbe quindi cambiare
prima che il programma termini un processo utilizzando un precedente valore di conteggio.

Sistema di automazione S7-1200


418 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.1 Contatore veloce

Valore di conteggio attuale dell'HSC: accesso al programma, campo di valori e riavvio del
conteggio
La CPU memorizza il valore istantaneo di ogni HSC in un indirizzo di ingresso (I). La
seguente tabella mostra gli indirizzi di default assegnati al valore istantaneo di ogni HSC.
Modificando le proprietà della CPU nella Configurazione dispositivi è possibile cambiare
l'indirizzo I del valore istantaneo.
Per memorizzare il valore di conteggio attuale i contatori veloci utilizzano un valore DInt. I
valori di conteggio DInt possono essere compresi tra -2147483648 e +2147483647. Durante
il conteggio in avanti, il contatore si riavvia una volta raggiunto il valore positivo massimo e
ricomincia dal valore negativo massimo, mentre durante il conteggio all'indietro procede al
contrario.

HSC Tipo di dati del valore attuale Indirizzo di default del valore attuale
HSC1 DInt ID1000
HSC2 DInt ID1004
HSC3 DInt ID1008
HSC4 DInt ID1012
HSC5 DInt ID1016
HSC6 DInt ID1020

Se si verifica un errore, ENO viene impostata a 0 e l'uscita STATUS indica un codice della
condizione.

Tabella 9- 3 Execution condition codes

STATUS (W#16#) Descrizione


0 Nessun errore
80A1 L'identificatore dell'HSC non indirizza un HSC
80B1 Valore non ammesso in NEW_DIR
80B2 Valore non ammesso in NEW_CV
80B3 Valore non ammesso in NEW_RV
80B4 Valore non ammesso in NEW_PERIOD
80C0 Accesso multiplo al contatore veloce
80D0 Contatore veloce (HSC) non attivo nella configurazione hardware della CPU

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 419
Istruzioni di tecnologia
9.1 Contatore veloce

9.1.1 Funzionamento del contatore veloce


I contatori veloci (HSC) sono in grado di contare gli eventi che si verificano più rapidamente
della velocità di esecuzione dell'OB di ciclo. Se gli eventi da contare si verificano ad una
velocità inferiore a quella di esecuzione dell'OB, si possono utilizzare le istruzioni di
conteggio standard CTU, CTD o CTUD. Se invece gli eventi si verificano ad una velocità
maggiore di quella di esecuzione dell'OB si consiglia di utilizzare i contatori veloci.
L'istruzione CTRL_HSC consente al programma di cambiare alcuni dei parametri dell'HSC a
livello di programma.
Ad esempio: l'HSC può essere utilizzato come ingresso per un encoder incrementale.
L'encoder incrementale fornisce un numero specifico di impulsi di rotazione, oltre a un
impulso di reset che interviene una volta per giro. I clock e l'impulso di reset dell'encoder
incrementale forniscono gli ingressi per l'HSC.
Il primo di diversi valori di preimpostazione viene caricato nell'HSC. Le uscite vengono
attivate per il periodo di tempo in cui il valore attuale è minore di quello di preimpostazione.
L'HSC fornisce un interrupt quando il valore attuale è uguale a quello di preimpostazione,
quando si verifica un reset e anche nel caso di un cambio di direzione.
Ogni volta che si verifica l'evento di interrupt "valore di conteggio attuale = valore di
preimpostazione", viene caricato un nuovo valore di preimpostazione e viene impostato lo
stato successivo delle uscite. Se si verifica un evento di interrupt perché viene resettato il
contatore, vengono impostati il primo valore di preimpostazione e i primi stati di segnale
delle uscite e viene ripetuto il ciclo.
Poiché gli interrupt si verificano ad una velocità molto più bassa di quella di conteggio degli
HSC, è possibile controllare con precisione le operazioni ad alta velocità con un impatto
relativamente basso sul ciclo del controllore programmabile. Grazie alla possibilità di
assegnare degli interrupt, è possibile caricare ciascun nuovo valore di preimpostazione in
una routine di interrupt separata semplificando il controllo dello stato In alternativa è
possibile elaborare tutti gli eventi di interrupt in un'unica routine di interrupt.
Selezione del canale di ingresso per gli HSC
Verificare, con l'aiuto della tabella seguente, che i canali di ingresso della CPU e della SB
collegate supportino le frequenze di impulso massime nei segnali di processo.

Nota
I canali di ingresso della CPU e della SB (firwmare V4 o superiore) hanno tempi di filtraggio
per gli ingressi configurabili
Le versioni precedenti avevano canali di ingresso per gli HSC e tempi di filtraggio fissi che
non potevano essere modificati.
Le versioni a partire dalla V4 consentono invece l'assegnazione dei canali di ingresso e dei
tempi di filtraggio. L'impostazione di default per il filtraggio degli ingressi di 6,4 ms potrebbe
essere troppo lenta per i segnali di processo. I tempi di filtraggio per gli ingressi dell'HSC
devono essere ottimizzati per la rispettiva applicazione HSC. Per maggiori dettagli
consultare "Configurazione dei tempi di filtraggio degli ingressi digitali (Pagina 148)".

Sistema di automazione S7-1200


420 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.1 Contatore veloce

Tabella 9- 4 Ingresso CPU: frequenza massima

CPU Canale di ingresso Modo fase 1 o 2 Modo fasi A/B in


CPU quadratura
1211C da Ia.0 a Ia.5 100 kHz 80 kHz
1212C da Ia.0 a Ia.5 100 kHz 80 kHz
Ia.6, Ia.7 30 kHz 20 kHz
1214C e 1215C da Ia.0 a Ia.5 100kHz 80kHz
da Ia.6 a Ib.5 30 kHz 20 kHz
1217C da Ia.0 a Ia.5 100 kHz 80 kHz
da Ia.6 a Ib.1 30 kHz 20 kHz
da Ib.2 a Ib.5 1 MHz 1 MHz
(da .2+, .2- a .5+, .5-)

Tabella 9- 5 Ingresso SB: frequenza massima (scheda opzionale)

Signal board (SB) Canale di ingresso SB Modo fase 1 o 2 Modo fasi A/B in quadratura
SB 1221, 200 kHz da Ie.0 a Ie.3 200kHz 160 kHz
SB 1223, 200 kHz Ie.0, Ie.1 200kHz 160 kHz
SB 1223 Ie.0, Ie.1 30 kHz 20 kHz

Selezione delle funzioni per l'HSC


In un dato modo di conteggio tutti gli HSC operano nella stessa maniera. Il modo di
conteggio, il controllo della direzione e la direzione iniziale sono assegnati nella
configurazione dispositivi della CPU per le proprietà delle funzioni dell'HSC.
I modi operativi di base sono 4:
● Contatore a una fase con controllo interno della direzione
● Contatore a una fase con controllo esterno della direzione
● Contatore a due fasi con 2 ingressi di clock
● Contatore con fasi A/B in quadratura

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 421
Istruzioni di tecnologia
9.1 Contatore veloce

Ogni tipo di HSC può essere utilizzato con o senza ingresso di reset. Se si attiva l'ingresso di
reset (con le limitazioni indicate nella seguente tabella) il valore istantaneo viene resettato
finché non si disattiva l'ingresso.
● Funzione di frequenza: Alcuni modi degli HSC consentono di configurare gli HSC (tipo di
conteggio) in modo che rilevino la frequenza anziché il valore attuale di conteggio degli
impulsi. Esistono tre diversi periodi di misura della frequenza: 0,01, 0,1, o 1,0 secondi.
Il periodo di misura della frequenza determina la frequenza con cui l'HSC calcola e rileva
un nuovo valore. La frequenza rilevata è un valore medio determinato dal numero totale
di impulsi nell'ultimo periodo di misura. Se la frequenza cambia rapidamente, il valore
rilevato sarà un valore intermedio tra la frequenza maggiore e quella minore che si è
verificata durante il periodo di misura. La frequenza viene sempre indicata in Hertz
(impulsi al secondo) a prescindere dall'impostazione del periodo di misura della stessa.
● Modi e ingressi dei contatori: La tabella seguente riepiloga gli ingressi utilizzati per le
funzioni di clock, di controllo della direzione e di reset associate agli HSC.
Nonostante non sia possibile utilizzare un ingresso per due diverse funzioni, gli ingressi
non utilizzati dall'attuale modo di un HSC possono essere destinati ad un utilizzo diverso.
Se ad es. un HSC1 è in un modo che utilizza due ingressi integrati ma non il terzo
ingresso di reset esterno (per default I0.3), I0.3 può essere impiegato per allarmi di fronte
o per HSC 2.

Tabella 9- 6 Modi di conteggio per l'HSC

Tipo Ingresso 1 Ingresso 2 Ingresso 3 Funzione


Contatore a una fase con Clock - - Impulso o frequenza
controllo interno della Reset Impulso
direzione
Contatore a una fase con Clock Direzione - Impulso o frequenza
controllo esterno della Reset Impulso
direzione
Contatore a due fasi con 2 Clock in Clock - Impulso o frequenza
ingressi di clock avanti indietro Reset Impulso
Contatore con fasi A/B in Fase A Fase B - Impulso o frequenza
quadratura Reset1 Impulso
1 Per un encoder: Fase Z, indirizzamento

Sistema di automazione S7-1200


422 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.1 Contatore veloce

Indirizzi di ingresso per l'HSC


Durante la configurazione della CPU si ha la possibilità di attivare e configurare gli "Ingressi
hardware" per ogni HSC.
Tutti gli ingressi dell'HSC devono essere collegati ai morsetti sulla CPU o sulla signal board
opzionale che viene inserita nella parte anteriore della CPU.

Nota
Come mostrano le tabelle seguenti, le assegnazioni di default dei segnali opzionali per i vari
HSC si sovrappongono. Ad esempio il reset esterno opzionale per l'HSC 1 utilizza lo stesso
ingresso di uno degli ingressi per l'HSC 2.
Per le CPU della versione V4 o successiva si possono riassegnare gli ingressi dell'HSC
durante la configurazione della CPU. Non è necessario utilizzare le assegnazioni di default
degli ingressi.
Assicurarsi sempre di aver configurato l'HSC in modo che ogni singolo ingresso non venga
utilizzato da due HSC.

Le tabelle seguenti mostrano le assegnazioni di default degli ingressi dell'HSC per gli I/O
onboard delle CPU e di una SB opzionale. (Se il modello di SB selezionato ha solo 2
ingressi, sono disponibili soltanto gli ingressi 4.0 e 4.1.)
Definizioni della tabella degli ingressi dell'HSC
● Monofase: C è l'ingresso di clock, [d] è l'ingresso di direzione (opzionale) e [R] è un
ingresso di reset esterno (opzionale)
(Il reset è disponibile solo per il modo "Conteggio".)
● A due fasi: CU è l'ingresso di clock in avanti, CD è l'ingresso di clock all'indietro e [R] è un
ingresso di reset esterno (opzionale)
(Il reset è disponibile solo per il modo "Conteggio".)
● In quadratura AB: A è l'ingresso di clock A, Bè l'ingresso di clock B e [R] è un ingresso di
reset esterno (opzionale). (Il reset è disponibile solo per il modo "Conteggio".)

Tabella 9- 7 CPU 1211C: assegnazioni di default degli indirizzi dell'HSC

Modo di conteggio Ingresso onboard CPU Ingresso SB opzionale


HSC (default 0.x) (default 4.x) 1
0 1 2 3 4 5 0 1 2 3
HSC 1 A una fase C [d] [R] C [d] [R]
A due fasi CU CD [R] CU CD [R]
Con fase AB A B [R] A B [R]
HSC 2 A una fase [R] C [d] [R] C [d]
A due fasi [R] CU CD [R] CU CD
Con fase AB [R] A B [R] A B
HSC 3 A una fase C [d] C [d] R]
A due fasi
Con fase AB
HSC4 A una fase C [d] C [d] R]

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 423
Istruzioni di tecnologia
9.1 Contatore veloce

Modo di conteggio Ingresso onboard CPU Ingresso SB opzionale


HSC (default 0.x) (default 4.x) 1
0 1 2 3 4 5 0 1 2 3
A due fasi CU CD
Con fase AB A B
HSC 5 A una fase C [d] [R]
A due fasi CU CD [R]
Con fase AB A B [R]
HSC 6 A una fase [R] C [d]
A due fasi [R] CU CD
Con fase AB [R] A B
1 Una SB con 2 soli ingressi digitali fornisce solo gli ingressi 4.0 e 4.1.

Tabella 9- 8 CPU 1212C: assegnazioni di default degli indirizzi dell'HSC

Modo di conteggio HSC Ingresso onboard CPU Ingresso


(default 0.x) SB opzionale
(default 4.x) 1
0 1 2 3 4 5 6 7 0 1 2 3
HSC 1 A una fase C [d] [R] C [d] [R]
A due fasi CU CD [R] CU CD [R]
Con fase AB A B [R] A B [R]
HSC 2 A una fase [R] C [d] [R] C [d]
A due fasi [R] CU CD [R] CU CD
Con fase AB [R] A B [R] A B
HSC 3 A una fase C [d] [R] C [d] [R]
A due fasi CU CD [R]
Con fase AB A B [R]
HSC 4 A una fase [R] C [d] C [d] [R]
A due fasi [R] CU CD
Con fase AB [R] A B
HSC 5 A una fase C [d] [R]
A due fasi CU CD [R]
Con fase AB A B [R]
HSC 6 A una fase [R] C [d]
A due fasi [R] CU CD
Con fase AB [R] A B
1 Una SB con 2 soli ingressi digitali fornisce solo gli ingressi 4.0 e 4.1.

Sistema di automazione S7-1200


424 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.1 Contatore veloce

Tabella 9- 9 CPU 1214C, CPU 1215C e CPU1217C:


assegnazioni di default degli indirizzi dell'HSC
(solo ingressi onboard, per gli indirizzi SB opzionali vedere la tabella seguente)

Modo di conteggio HSC Ingresso digitale byte 0 Ingresso digitale byte 1


(default: 0.x) (default: 1.x)
0 1 2 3 4 5 6 7 0 1 2 3 4 5
HSC 1 A una fase C [d] [R]
A due fasi CU CD [R]
Con fase AB A B [R]
HSC 2 A una fase [R] C [d]
A due fasi [R] CU CD
Con fase AB [R] A B
HSC 3 A una fase C [d] [R]
A due fasi CU CD [R]
Con fase AB A B [R]
HSC 4 A una fase [R] C [d]
A due fasi [R] CU CD
Con fase AB [R] A B
HSC 5 A una fase C [d] [R]
A due fasi CU CD [R]
Con fase AB A B [R]
HSC 6 A una fase C [d] [R]
A due fasi CU CD [R]
Con fase AB A B [R]

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 425
Istruzioni di tecnologia
9.1 Contatore veloce

Tabella 9- 10 SB opzionale nelle CPU nella tabella precedente: assegnazioni di default degli indirizzi
dell'HSC

HSC Ingressi SB opzionale (default: 4.x) 1


0 1 2 3
HSC 1 A una fase C [d] [R]
A due fasi CU CD [R]
Con fase AB A B [R]
HSC 2 A una fase [R] C [d]
A due fasi [R] CU CD
Con fase AB [R] A B
HSC 5 A una fase C [d] [R]
A due fasi CU CD [R]
Con fase AB A B [R]
HSC 6 A una fase [R] C [d]
A due fasi [R] CU CD
Con fase AB [R] A B
1 Una SB con 2 soli ingressi digitali fornisce solo gli ingressi 4.0 e 4.1.

Nota
Gli I/O digitali utilizzati dai dispositivi HSC vengono assegnati durante la configurazione dei
dispositivi della CPU. Quando gli indirizzi degli I/O digitali vengono assegnati ai dispositivi
HSC, i rispettivi valori non possono essere modificati mediante la funzione di forzamento in
una tabella di controllo.

Sistema di automazione S7-1200


426 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.1 Contatore veloce

9.1.2 Configurazione dell'HSC

È possibile configurare fino a 6 contatori veloci.


Modificare la configurazione del dispositivo della CPU
e assegnare le proprietà HSC ai singoli HSC.
Abilitare un HSC selezionando l'opzione "Abilita".
Utilizzare l'istruzione CTRL_HSC nel programma
utente per comandare il funzionamento dell'HSC.
.

AVVERTENZA
Rischi in caso di modifica dell'impostazione del tempo di filtraggio dei canali di ingresso
digitali

Se il tempo di filtraggio di un canale di ingresso digitale viene modificato rispetto ad


un'impostazione precedente, un nuovo valore di ingresso di livello "0" potrebbe dover
essere presentato per una durata massima accumulata di 20,0 ms prima che il filtro
risponda ai nuovi ingressi. Durante questo periodo gli eventi brevi di impulso "0" di durata
inferiore a 20,0 ms potrebbero non essere rilevati o conteggiati.
La modifica dei tempi di filtraggio può determinare il funzionamento imprevisto delle
macchine o del processo e causare la morte o gravi lesioni al personale e/o danni alle
apparecchiature.
Per accertarsi che il nuovo tempo di filtraggio venga applicato immediatamente spegnere e
riaccendere la CPU.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 427
Istruzioni di tecnologia
9.2 Regolazione PID

Dopo aver abilitato l'HSC, configurare gli altri parametri, ad es. la funzione di conteggio, i
valori iniziali, le opzioni di reset e gli eventi di interrupt.

Per maggiori informazioni sulla configurazione dell'HSC vedere il paragrafo relativo alla
configurazione della CPU (Pagina 146).

9.2 Regolazione PID


STEP 7 consente di utilizzare per la CPU S7-1200 le seguenti istruzioni PID:
● L'istruzione PID_Compact viene utilizzata per comandare i processi tecnici con variabili di
ingresso e uscita continue.
● L'istruzione PID_3Step viene utilizzata per comandare i dispositivi azionati da motore, ad
es. le valvole che richiedono dei segnali digitali per aprirsi e chiudersi.

Nota
Le modifiche apportate alla configurazione PID e caricate in RUN non vengono applicate
finché la CPU non passa da STOP a RUN. Le modifiche apportate nella finestra di
dialogo "Parametri PID" utilizzando il "Controllo del valore iniziale" vengono applicate
immediatamente.

Le due istruzioni PID (PID_3Step e PID_Compact) consentono di calcolare i componenti P, I


e D durante l'avviamento (se configurato per l'"ottimizzazione iniziale"). È anche possibile
configurare l'istruzione per l'"ottimizzazione fine" in modo da permettere all'utente di
ottimizzare i parametri. Non è necessario definire manualmente i parametri.

Nota
Eseguire l'istruzione PID a intervalli costanti del tempo di campionamento (preferibilmente in
un OB di ciclo).
Poiché il loop PID richiede del tempo per rispondere alle modifiche del valore di controllo,
non occorre calcolare la valvola di uscita in ogni ciclo. Non eseguire l'istruzione PID in un OB
di ciclo del programma principale (ad es. un OB 1).

Il tempo di campionamento dell'algoritmo PID rappresenta il tempo tra due calcoli del valore
di uscita (valore di controllo). Il valore di uscita viene calcolato durante l'ottimizzazione
automatica e arrotondato a un multiplo del tempo di ciclo. Tutte le altre funzioni
dell'istruzione PID vengono eseguite ad ogni richiamo.

Sistema di automazione S7-1200


428 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.2 Regolazione PID

Algoritmo PID
Il regolatore PID (ad azione Proporzionale-Integrativa-Derivativa) misura l'intervallo di tempo
tra due richiami e valuta il risultato per il controllo del tempo di campionamento. Ad ogni
commutazione di modo e durante l'avviamento iniziale viene generato un valore intermedio
del tempo di campionamento. Questo valore è utilizzato per il calcolo e come riferimento per
la funzione di controllo. Il controllo include il tempo di misurazione attuale tra due richiami e il
valore intermedio del tempo di campionamento definito del regolatore.
Il valore di uscita del regolatore PID è costituito da tre componenti:
● P (proporzionale): nel calcolo con il componente "P" il valore di uscita è proporzionale alla
differenza tra il setpoint e il valore istantaneo (valore di ingresso).
● I (integrativa): nel calcolo con il componente "I" il valore di uscita aumenta in proporzione
alla durata della differenza tra il setpoint e il valore istantaneo (valore di ingresso) per
compensare infine la differenza.
● D (derivativa): nel calcolo con il componente "D" il valore di uscita aumenta in funzione
della crescente frequenza di variazione della differenza tra il setpoint e il valore
istantaneo (valore di ingresso). Il valore di uscita viene resettato al setpoint il più
rapidamente possibile.
Per calcolare il valore di uscita dell'istruzione PID_Compact il controllore PID utilizza la
seguente formula.

y Valore di uscita x Valore istantaneo


w Setpoint s Operatore di Laplace
Kp Guadagno proporzionale a Cofficiente del ritardo derivativo
(componente P) (componente D)
T1 Tempo dell'azione integrativa b Ponderazione dell'azione proporzionale
(componente I) (componente P)
TD Tempo dell'azione derivativa c Ponderazione dell'azione derivativa
(componente D) (componente D)

Per calcolare il valore di uscita dell'istruzione PID_3Step il controllore PID utilizza la


seguente formula.

y Valore di uscita x Valore istantaneo


w Setpoint s Operatore di Laplace
Kp Guadagno proporzionale a Cofficiente del ritardo derivativo
(componente P) (componente D)
T1 Tempo dell'azione integrativa b Ponderazione dell'azione proporzionale
(componente I) (componente P)
TD Tempo dell'azione derivativa c Ponderazione dell'azione derivativa
(componente D) (componente D)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 429
Istruzioni di tecnologia
9.2 Regolazione PID

9.2.1 Inserimento di un'istruzione PID e del relativo oggetto tecnologico


STEP 7 mette a disposizione due istruzioni per la regolazione PID:
● L'istruzione PID_Compact ed il relativo oggetto tecnologico permette di utilizzare un
regolatore PID universale con ottimizzazione. L'oggetto tecnologico contiene tutte le
impostazioni del circuito di regolazione.
● L'istruzione PID_3Step ed il relativo oggetto tecnologico permette di utilizzare un
regolatore PID con impostazioni specifiche per le valvole azionate da motore. L'oggetto
tecnologico contiene tutte le impostazioni del circuito di regolazione. Il regolatore
PID_3Step è dotato di due uscite booleane supplementari.
Dopo aver creato l'oggetto tecnologico è necessario configurare i parametri (Pagina 447).
Occorre anche regolare i parametri per l'ottimizzazione automatica ("ottimizzazione iniziale"
durante l'avviamento o "ottimizzazione fine" manuale) per la messa in servizio del regolatore
PID (Pagina 450).

Tabella 9- 11 Inserimento di un'istruzione PID e del relativo oggetto tecnologico

Quando si inserisce un'istruzione PID nel programma


utente, STEP 7 crea automaticamente un oggetto
tecnologico e un DB di istanza per l'istruzione. Il DB di
istanza contiene tutti i parametri utilizzati dall'istruzione
PID. Ogni istruzione PID deve avere un DB di istanza
univoco per funzionare correttamente.
Dopo aver inserito l'istruzione PID e creato l'oggetto
tecnologico e il DB di stanza occorreconfigurare i
parametri dell'oggetto tecnologico (Pagina 447).

Sistema di automazione S7-1200


430 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.2 Regolazione PID

Tabella 9- 12 (Opzionale) Creazione di un oggetto tecnologico dalla navigazione del progetto

L'oggetto tecnologico per il progetto può anche


essere creato prima di inserire l'istruzione PID. In
questo caso l'oggetto tecnologico può essere poi
selezionato quando si inserisce l'istruzione PID nel
programma.

Per creare un oggetto tecnologico fare due volte


clic sul simbolo "Inserisci nuovo oggetto" nella
navigazione del progetto.

Fare clic sul simbolo "Regolatore PID" e


selezionare l'oggetto tecnologico per il tipo di
regolatore PID (PID_Compact o PID_3Step). È
possibile assegnare all'oggetto tecnologico un
nome opzionale.
Fare clic su "OK" per creare l'oggetto tecnologico.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 431
Istruzioni di tecnologia
9.2 Regolazione PID

9.2.2 Istruzione PID_Compact


L'istruzione PID_Compact configura un regolatore PID universale con ottimizzazione
automatica integrata per il modo automatico e manuale.

Tabella 9- 13 Istruzione PID_Compact

KOP / FUP SCL Descrizione


"PID_Compact_1"( PID_Compact configura un regolatore PID
Setpoint:=_real_in_, con ottimizzazione automatica e manuale.
Input:=_real_in_, PID_Compact è un regolatore PID T1 con
Input_PER:=_word_in_, anti-windup e ponderazione dei componenti
Disturbance:=_real_in_, P e D.
ManualEnable:=_bool_in_,
ManualValue:=_real_in_,
ErrorAck:=_bool_in_,
Reset:=_bool_in_,
ModeActivate:=_bool_in_,
Mode:=_int_in_,
ScaledInput=>_real_out_,
Output=>_real_out_,
Output_PER=>_word_out_,
Output_PWM=>_bool_out_,
SetpointLimit_H=>_bool_out_,
SetpointLimit_L=>_bool_out_,

InputWarning_H=>_bool_out_,

InputWarning_L=>_bool_out_,
State=>_int_out_,
Error=>_bool_out_,
ErrorBits=>_dword_out_);
1 STEP 7 crea automaticamente l'oggetto tecnologico e il DB di istanza all'inserimento dell'istruzione. Il DB di istanza
contiene i parametri dell'oggetto tecnologico.
2 Nell'esempio SCL "PID_Compact_1" è il nome del DB di istanza.

Tabella 9- 14 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


Setpoint IN Real Setpoint del regolatore PID nel modo automatico. (Valore di default:
0,0)
Input IN Real Una variabile del programma utente viene utilizzata come origine del
valore istantaneo. (Valore di default: 0,0)
Se si utilizza il parametro Input, è necessario impostare
Config.InputPerOn = FALSE.
Input_PER IN Word Un ingresso analogico viene utilizzato come origine del valore
istantaneo. (Valore di default: W#16#0)
Se si utilizza il parametro Input_PER, è necessario impostare
Config.InputPerOn = TRUE.

Sistema di automazione S7-1200


432 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.2 Regolazione PID

Parametro e tipo Tipo di dati Descrizione


Disturbance IN Real Grandezza di disturbo o valore di precontrollo
ManualEnable IN Bool Attiva o disattiva il modo di funzionamento manuale. (Valore di default:
FALSE):
• Un fronte da FALSE a TRUE attiva il "funzionamento manuale",
mentre se lo stato è = 4, il modo non cambia.

Finché ManualEnable = TRUE non è possibile modificare il modo di


funzionamento utilizzando un fronte di salita in ModeActivate o
tramite la finestra per la messa in servizio.
• Un fronte da TRUE a FALSE attiva il modo di funzionamento
assegnato da Mode.
Nota: si consiglia di modificare il modo di funzionamento solo
utilizzando ModeActivate.
ManualValue IN Real Valore di uscita per il funzionamento manuale. (Valore di default: 0,0)
Si possono utilizzare i valori compresi tra Config.OutputLowerLimit e
Config.OutputUpperLimit.
ErrorAck IN Bool Resetta gli ErrorBits e le uscite di avviso. Fronte da FALSE a TRUE
Reset IN Bool Riavvia il regolatore. (Valore di default: FALSE):
• Fronte da FALSE a TRUE:
– Passa al modo "inattivo".
– Resetta gli ErrorBits e le uscite di avviso
– Cancella l'azione integrativa
– Mantiene i parametri PID
• Finché Reset = TRUE, PID_Compact rimane nel modo "Inattivo"
(stato = 0).
• Fronte da TRUE a FALSE:
– PID_Compact passa al modo di funzionamento che è salvato nel
parametro Mode.
ModeActivate IN Bool PID_Compact passa al modo di funzionamento che è salvato nel
parametro Mode. Fronte da FALSE a TRUE:
Mode IN Int Il modo PID desiderato; attivato sul fronte di salita dell'ingresso Mode
Activate .
ScaledInput OUT Real Valore istantaneo riportato in scala. (Valore di default: 0,0)
Output1 OUT Real Valore di uscita nel formato REAL. (Valore di default: 0,0)
Output_PER1 OUT Word Valore di uscita analogico. (Valore di default: W#16#0)
Output_PWM1 OUT Bool Valore di uscita per modulazione ampiezza impulsi. (Valore di default:
FALSE)
I tempi ON e OFF generano il valore di uscita.
SetpointLimit_H OUT Bool Limite superiore del setpoint. (Valore di default: FALSE)
Se SetpointLimit_H = TRUE viene raggiunto il limite superiore assoluto
del setpoint (Setpoint ≥ Config.SetpointUpperLimit).
Il setpoint è limitato a Config.SetpointUpperLimit.
SetpointLimit_L OUT Bool Limite inferiore del setpoint. (Valore di default: FALSE)
Se SetpointLimit_L = TRUE viene raggiunto il limite inferiore assoluto
del setpoint (Setpoint ≤ Config.SetpointLowerLimit).
Il setpoint è limitato a Config.SetpointLowerLimit.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 433
Istruzioni di tecnologia
9.2 Regolazione PID

Parametro e tipo Tipo di dati Descrizione


InputWarning_H OUT Bool Se InputWarning_H = TRUE il valore istantaneo ha raggiunto o
superato il limite di avviso superiore. (Valore di default: FALSE)
InputWarning_L OUT Bool Se InputWarning_L = TRUE il valore istantaneo ha raggiunto o
superato verso il basso il limite di avviso inferiore. (Valore di default:
FALSE)
State OUT Int Modo di funzionamento attuale del regolatore PID. (Valore di default: 0)
È possibile modificare il modo di funzionamento utilizzando il parametro
di ingresso Mode e un fronte di salita in ModeActivate:
• State = 0: inattivo
• State = 1: ottimizzazione iniziale
• State = 2: ottimizzazione fine manuale
• State = 3: funzionamento automatico
• State = 4: funzionamento manuale
• State = 5: valore di uscita sostitutivo con monitoraggio errori
Error OUT Bool Se Error = TRUE, è presente almeno un messaggio di errore in questo
ciclo. (Valore di default: FALSE)
Nota: Il parametro Error in V1.x PID era il campo ErrorBits che
conteneva i codici di errore. Ora è un merker booleano che indica la
presenza di un errore.
ErrorBits OUT DWord La tabella dei parametri (Pagina 436) ErrorBits dell'istruzione
PID_Compact definisce i messaggi di errore presenti. (Valore di default:
DW#16#0000 (nessun errore)). ErrorBits è a ritenzione e viene
resettato con un fronte di salita in Reset o ErrorAck.
Nota: In V1.x il parametro ErrorBits era definito come parametro Error e
non esisteva.
1 Le uscite dei parametri Output, Output_PER eOutput_PWM possono essere usate contemporaneamente.

Sistema di automazione S7-1200


434 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.2 Regolazione PID

Funzionamento del regolatore PID_Compact

Figura 9-1 Funzionamento del regolatore PID_Compact

Figura 9-2 Funzionamento del regolatore PID_Compact come un regolatore PIDT1 con anti-windup

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 435
Istruzioni di tecnologia
9.2 Regolazione PID

9.2.3 Parametri ErrorBit dell'istruzione PID_Compact


Se sono presenti più errori, i valori dei rispettivi codici vengono visualizzati tramite
un'addizione binaria. La visualizzazione del codice di errore 0003 indica ad esempio che
sono presenti anche gli errori 0001 e 0002.

Tabella 9- 15 Parametri ErrorBit dell'istruzione PID_Compact

ErrorBit (DW#16#...) Descrizione


0000 nessun errore
0001 1, 2 Il parametro Input non rientra nei limiti del valore istantaneo.
Input > Config.InputUpperLimit
Input < Config.InputLowerLimit
0002 2, 3 Valore del parametro Input_PER non valido. Verificare se è presente un
errore nell'ingresso analogico.
0004 4 Errore durante l'ottimizzazione fine. Impossibile mantenere l'oscillazione del
valore istantaneo.
0008 4 Errore all'avvio dell'ottimizzazione iniziale. Il valore istantaneo è troppo
vicino al setpoint. Avviare l'ottimizzazione fine.
0010 4 Il setpoint è cambiato durante l'ottimizzazione.
Nota: si può impostare l'oscillazione consentita per il setpoint nella variabile
CancelTuningLevel.
0020 L'ottimizzazione iniziale non è consentita durante quella fine.
Nota: se prima che si verificasse l'errore ActivateRecoverMode = TRUE,
PID_Compact rimane nel modo "ottimizzazione fine".
0080 4 Errore durante l'ottimizzazione iniziale. Configurazione dei limiti del valore di
uscita errata.
Verificare se i limiti del valore di uscita sono configurati correttamente e
corrispondono alla logica di controllo.
0100 4 Errore durante l'ottimizzazione fine con conseguenti parametri non validi.
0200 2, 3 Valore del parametro Input non valido: valore con formato numerico non
valido.
0400 2, 3 Calcolo del valore di uscita non riuscito. Controllare i parametri PID.
0800 1, 2 Errore del tempo di campionamento: PID_Compact non è stata richiamata
durante il tempo di campionamento dell'OB di schedulazione orologio.
1000 2, 3 Valore del parametro Setpoint non valido: valore con formato numerico non
valido.
10000 Valore del parametro ManualValue non valido: valore con formato numerico
non valido.
Nota: se prima che si verificasse l'errore ActivateRecoverMode = TRUE,
PID_Compact utilizza SubstituteOutput come valore di uscita. Non appena
viene assegnato un valore valido al parametro ManualValue, PID_Compact
lo utilizza come valore di uscita.

Sistema di automazione S7-1200


436 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.2 Regolazione PID

ErrorBit (DW#16#...) Descrizione


20000 Valore della variabile SubstituteValue non valido: valore con formato
numerico non valido.
PID_Compact utilizza il limite inferiore del valore di uscita come valore di
uscita.
Nota: se prima che si verificasse l'errore era attivo il modo automatico,
ActivateRecoverMode = TRUE e l'errore non è più presente, PID_Compact
torna nel modo automatico.
40000 Valore del parametro Disturbance non valido: valore con formato numerico
non valido.
Nota: se prima che si verificasse l'errore era attivo il modo automatico e
ActivateRecoverMode = FALSE, Disturbance è impostato a zero.
PID_Compact rimane nel modo automatico.
Nota: se prima che si verificasse l'errore era attivo il modo "ottimizzazione
iniziale" o "ottimizzazione fine" e ActivateRecoverMode = TRUE,
PID_Compact passa al modo di funzionamento salvato nel parametro Mode.
Se il parametro Disturbance nella fase attuale non influenza il valore di
uscita, l'ottimizzazione non viene cancellata.
1 Nota: se prima che si verificasse l'errore era attivo il modo automatico e ActivateRecoverMode =
TRUE, PID_Compact rimane nel modo automatico.
2 Nota: se prima che si verificasse l'errore era attivo il modo "ottimizzazione iniziale" o
"ottimizzazione fine" e ActivateRecoverMode = TRUE, PID_Compact passa al modo di
funzionamento salvato nel parametro Mode.
3 Nota: se prima che si verificasse l'errore era attivo il modo automatico e ActivateRecoverMode =
TRUE, PID_Compact emette il valore di uscita sostitutivo configurato. Non appena l'errore viene
eliminato, PID_Compact torna al modo automatico.
4 Nota: se prima che si verificasse l'errore ActivateRecoverMode = TRUE, PID_Compact cancella
l'ottimizzazione e passa al modo di funzionamento salvato nel parametro Mode.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 437
Istruzioni di tecnologia
9.2 Regolazione PID

9.2.4 Istruzione PID_3Step


L'istruzione PID_3Step configura un regolatore PID con funzionalità di ottimizzazione
automatica che è stato ottimizzato per valvole e attuatori azionati da motore.

Tabella 9- 16 Istruzione PID_3Step

KOP / FUP SCL Descrizione


"PID_3Step_1"( PID_3Step configura un regolatore PID
SetpoInt:=_real_in_, con funzionalità di ottimizzazione
Input:=_real_in_, automatica che è stato ottimizzato per
ManualValue:=_real_in_, valvole e attuatori azionati da motore. È
Feedback:=_real_in_, dotato di due uscite booleane.
InputPer:=_word_in_, PID_3Step è un regolatore PID T1 con
FeedbackPer:=_word_in_, anti-windup e ponderazione dei
Disturbance:=_real_in_, componenti P e D.
ManualEnable:=_bool_in_,
ManualUP:=_bool_in_,
ManualDN:=_bool_in_,
ActuatorH:=_bool_in_,
ActuatorL:=_bool_in_,
ErrorAck:=_bool_in_,
Reset:=_bool_in_,
ModeActivate:=_bool_in_,
Mode:=_int_in_,
ScaledInput=>_real_out_,
ScaledFeedback=>_real_out_,
ErrorBits=>_dword_out_,
OutputPer=>_word_out_,
State=>_int_out_,
OutputUP=>_bool_out_,
OutputDN=>_bool_out_,
SetpoIntLimitH=>_bool_out_,
SetpoIntLimitL=>_bool_out_,
InputWarningH=>_bool_out_,
InputWarningL=>_bool_out_,
Error=>_bool_out_,
ErrorBits=>_dword_out_);
1 STEP 7 crea automaticamente l'oggetto tecnologico e il DB di istanza all'inserimento dell'istruzione. Il DB di istanza
contiene i parametri dell'oggetto tecnologico.
2 Nell'esempio SCL "PID_3Step_1" è il nome del DB di istanza.

Sistema di automazione S7-1200


438 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.2 Regolazione PID

Tabella 9- 17 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


Setpoint IN Real Setpoint del regolatore PID nel modo automatico. (Valore di default:
0,0)
Input IN Real Una variabile del programma utente viene utilizzata come origine del
valore istantaneo. (Valore di default: 0,0)
Se si utilizza il parametro Input, è necessario impostare
Config.InputPerOn = FALSE.
Input_PER IN Word Un ingresso analogico viene utilizzato come origine del valore
istantaneo. (Valore di default: W#16#0)
Se si utilizza il parametro Input_PER, è necessario impostare
Config.InputPerOn = TRUE.
Actuator_H IN Bool Risposta di posizione digitale della valvola per il finecorsa superiore
Se Actuator_H = TRUE, la valvola si trova sul finecorsa superiore e non
si sposta più in questa direzione. (Valore di default: FALSE)
Actuator_L IN Bool Risposta di posizione digitale della valvola per il finecorsa inferiore
Se Actuator_L = TRUE, la valvola si trova sul finecorsa inferiore e non
si sposta più in questa direzione. (Valore di default: FALSE)
Feedback IN Real Risposta di posizione della valvola. (Valore di default: 0,0)
Se si utilizza il parametro Feedback, è necessario impostare
Config.FeedbackPerOn = FALSE.
Feedback_PER IN Int Risposta analogica di posizione della valvola. (Valore di default:
W#16#0)
Se si utilizza il parametro Feedback_PER, è necessario impostare
Config.FeedbackPerOn = TRUE. Per riportara in scala
Feedback_PER utilizzare le variabili seguenti:
• Config.FeedbackScaling.LowerPointIn
• Config.FeedbackScaling.UpperPointIn
• Config.FeedbackScaling.LowerPointOut
• Config.FeedbackScaling.UpperPointOut
Disturbance IN Real Grandezza di disturbo o valore di precontrollo
ManualEnable IN Bool Attiva o disattiva il modo di funzionamento manuale. (Valore di default:
FALSE):
• Un fronte da FALSE a TRUE attiva il "funzionamento manuale",
mentre se lo stato è = 4, il modo non cambia.

Finché ManualEnable = TRUE non è possibile modificare il modo di


funzionamento utilizzando un fronte di salita in ModeActivate o
tramite la finestra per la messa in servizio.
• Un fronte da TRUE a FALSE attiva il modo di funzionamento
assegnato da Mode.
Nota: si consiglia di modificare il modo di funzionamento solo
utilizzando ModeActivate.
ManualValue IN Real Valore istantaneo per il funzionamento manuale. (Valore di default: 0,0)
In modalità manuale si specifica la posizione assoluta della valvola.
ManualValue è valutato solo se si utilizza OutputPer o se è disponibile
la risposta di posizione.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 439
Istruzioni di tecnologia
9.2 Regolazione PID

Parametro e tipo Tipo di dati Descrizione


ManualUP IN Bool • Manual_UP = TRUE:
– La valvola viene aperta anche se si utilizza Output_PER o una
risposta di posizione. Se è stato raggiunto il finecorsa superiore
la valvola non si sposta più.
– Vedere anche Config.VirtualActuatorLimit
• Manual_UP = FALSE:
– Se si utilizza Output_PER o una risposta di posizione la valvola
si sposta su ManualValue. Altrimenti non si sposta più.
Nota: se Manual_UP e Manual_DN sono impostati
contemporaneamente su TRUE la valvola non si sposta.
ManualDN IN Bool • Manual_DN = TRUE:
– La valvola viene aperta anche se si utilizza Output_PER o una
risposta di posizione. Se è stato raggiunto il finecorsa superiore
la valvola non si sposta più.
– Vedere anche Config.VirtualActuatorLimit
• Manual_DN = FALSE:
– Se si utilizza Output_PER o una risposta di posizione la valvola
si sposta su ManualValue. Altrimenti non si sposta più.
ErrorAck IN Bool Resetta gli ErrorBits e le uscite di avviso. Fronte da FALSE a TRUE
Reset IN Bool Riavvia il regolatore. (Valore di default: FALSE):
• Fronte da FALSE a TRUE:
– Passa al modo "inattivo".
– Resetta gli ErrorBits e le uscite di avviso
– Cancella l'azione integrativa
– Mantiene i parametri PID
• Finché Reset = TRUE, PID_3Step rimane nel modo "Inattivo" (stato
= 0).
• Fronte da TRUE a FALSE:
– PID_3Step passa al modo di funzionamento che è salvato nel
parametro Mode.
ModeActivate IN Bool PID_3Step passa al modo che è salvato nel parametro Mode. Fronte
da FALSE a TRUE:
Mode IN Int Il modo PID desiderato; attivato sul fronte di salita dell'ingresso Mode
Activate .
ScaledInput OUT Real Valore istantaneo riportato in scala
ScaledFeedback OUT Real Risposta di posizione della valvola riportata in scala
Nota: per un attuatore senza risposta di posizione, la posizione dello
stesso indicata da ScaledFeedback è molto imprecisa. In questo caso
ScaledFeedback può essere utilizzato solo per una valutazione
approssimativa della posizione attuale.
Output_UP OUT Bool Valore di uscita digitale per l'apertura della valvola. (Valore di default:
FALSE)
Se Config.OutputPerOn = FALSE viene utilizzato il parametro
Output_UP.

Sistema di automazione S7-1200


440 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.2 Regolazione PID

Parametro e tipo Tipo di dati Descrizione


Output_DN OUT Bool Valore di uscita digitale per la chiusura della valvola. (Valore di default:
FALSE)
Se Config.OutputPerOn = FALSE viene utilizzato il parametro
Output_DN.
Output_PER OUT Word Valore di uscita analogico.
Se Config.OutputPerOn = TRUE viene utilizzato il parametro
Output_PER.
SetpointLimitH OUT Bool Limite superiore del setpoint. (Valore di default: FALSE)
Se SetpointLimitH = TRUE viene raggiunto il limite superiore assoluto
del setpoint (Setpoint ≥ Config.SetpointUpperLimit).
Nota: il setpoint è limitato a (Setpoint ≥ Config.SetpointUpperLimit).
SetpointLimitL OUT Bool Limite inferiore del setpoint. (Valore di default: FALSE)
Se SetpointLimitL = TRUE viene raggiunto il limite inferiore assoluto del
setpoint (Setpoint ≥ Config.SetpointLowerLimit).
Nota: il setpoint è limitato a (Setpoint ≥ Config.SetpointLowerLimit).
InputWarningH OUT Bool Se InputWarningH = TRUE il valore di ingresso ha raggiunto o superato
il limite di avviso superiore. (Valore di default: FALSE)
InputWarningL OUT Bool Se InputWarningL = TRUE il valore di ingresso ha raggiunto o superato
verso il basso il limite di avviso inferiore. (Valore di default: FALSE)
State OUT Int Modo di funzionamento attuale del regolatore PID. (Valore di default: 0)
È possibile modificare il modo di funzionamento utilizzando il parametro
di ingresso Mode e un fronte di salita in ModeActivate:
• State = 0: inattivo
• State = 1: ottimizzazione iniziale
• State = 2: ottimizzazione fine manuale
• State = 3: funzionamento automatico
• State = 4: funzionamento manuale
• State = 5: avvicinamento al valore di uscita sostitutivo
• State = 6: misura del tempo di transizione
• State = 7: monitoraggio errori
• State = 8: avvicinamento al valore di uscita sostitutivo con
monitoraggio errori
• State = 10: modo manuale senza segnali del finecorsa
Error OUT Bool Se Error è vero, è presente almeno un messaggio di errore. (Valore di
default: FALSE)
Nota: Il parametro Error in V1.x PID era il campo ErrorBits che
conteneva i codici di errore. Ora è un merker booleano che indica la
presenza di un errore.
ErrorBits OUT DWord La tabella dei parametri (Pagina 445) ErrorBits dell'istruzione
PID_3Step definisce i messaggi di errore presenti. (Valore di default:
DW#16#0000 (nessun errore)). ErrorBits è a ritenzione e viene
resettato con un fronte di salita in Reset o ErrorAck.
Nota: In V1.x il parametro ErrorBits era definito come parametro Error e
non esisteva.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 441
Istruzioni di tecnologia
9.2 Regolazione PID

Figura 9-3 Funzionamento del regolatore PID_3Step come un regolatore PID T1 con anti-windup

Sistema di automazione S7-1200


442 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.2 Regolazione PID

Figura 9-4 Funzionamento del regolatore PID_3Step senza risposta di posizione

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 443
Istruzioni di tecnologia
9.2 Regolazione PID

Figura 9-5 Funzionamento del regolatore PID_3Step con risposta di posizione

Sistema di automazione S7-1200


444 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.2 Regolazione PID

9.2.5 Parametri ErrorBit dell'istruzione PID_3Step


Se sono presenti più errori, i valori dei rispettivi codici vengono visualizzati tramite
un'addizione binaria. La visualizzazione del codice di errore 0003 indica ad esempio che
sono presenti anche gli errori 0001 e 0002.

Tabella 9- 18 Parametri ErrorBit dell'istruzione PID_3STEP

ErrorBit (DW#16#...) Descrizione


0000 Nessun errore
0001 1, 2 Il parametro Input non rientra nei limiti del valore istantaneo.
Input > Config.InputUpperLimit
Input < Config.InputLowerLimit
0002 2, 3 Valore del parametro Input_PER non valido. Verificare se è presente un
errore nell'ingresso analogico.
0004 4 Errore durante l'ottimizzazione fine. Impossibile mantenere l'oscillazione del
valore istantaneo.
0010 4 Il setpoint è cambiato durante l'ottimizzazione.
Nota: si può impostare l'oscillazione consentita per il setpoint nella variabile
CancelTuningLevel.
0020 L'ottimizzazione iniziale non è consentita durante quella fine.
Nota: se prima che si verificasse l'errore ActivateRecoverMode = TRUE,
PID_3Step rimane nel modo "ottimizzazione fine".
0080 4 Errore durante l'ottimizzazione iniziale. Configurazione dei limiti del valore di
uscita errata.
Verificare se i limiti del valore di uscita sono configurati correttamente e
corrispondono alla logica di controllo.
0100 4 Errore durante l'ottimizzazione fine con conseguenti parametri non validi.
0200 2, 3 Valore del parametro Input non valido: valore con formato numerico non
valido.
0400 2, 3 Calcolo del valore di uscita non riuscito. Controllare i parametri PID.
0800 1, 2 Errore del tempo di campionamento: PID_3Step non è stata richiamata
durante il tempo di campionamento dell'OB di schedulazione orologio.
1000 2, 3 Valore del parametro Setpoint non valido: valore con formato numerico non
valido.
2000 1, 2, 5 Valore del parametro Feedback_PER non valido.
Verificare se è presente un errore nell'ingresso analogico.
4000 1, 2, 5 Valore del parametro Feedback non valido: valore con formato numerico
non valido.
8000 1, 2 Errore durante la risposta di posizione digitale. Actuator_H = TRUE e
Actuator_L = TRUE.
L'attuatore non può essere spostato sul valore di uscita sostitutivo e rimane
nella posizione attuale. Il modo manuale non è attivabile in questo stato.
Per spostare l'attuatore da questo stato è necessario disattivare il rispettivo
finecorsa (Config.ActuatorEndStopOn = FALSE) oppure passare al modo
manuale senza segnali di finecorsa (Mode = 10).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 445
Istruzioni di tecnologia
9.2 Regolazione PID

ErrorBit (DW#16#...) Descrizione


10000 Valore del parametro ManualValue non valido: valore con formato numerico
non valido.
L'attuatore non può essere spostato sul valore manuale e rimane nella
posizione attuale.
Assegnare un valore valido in ManualValue oppure spostare l'attuatore nel
modo manuale con Manual_UP e Manual_DN.
20000 Valore della variabile SavePosition non valido: valore con formato numerico
non valido.
L'attuatore non può essere spostato sul valore di uscita sostitutivo e rimane
nella posizione attuale.
40000 Valore del parametro Disturbance non valido: valore con formato numerico
non valido.
Nota: se prima che si verificasse l'errore era attivo il modo automatico e
ActivateRecoverMode = FALSE, Disturbance è impostato a zero. PID_3Step
rimane nel modo automatico.
Nota: se prima che si verificasse l'errore era attivo il modo "ottimizzazione
iniziale" o "ottimizzazione fine" e ActivateRecoverMode = TRUE, PID_3Step
passa al modo di funzionamento salvato nel parametro Mode. Se il
parametro Disturbance nella fase attuale non influenza il valore di uscita,
l'ottimizzazione non viene cancellata.
L'errore non ha alcun effetto durante la misura del tempo di transizione.
1 Nota: se prima che si verificasse l'errore era attivo il modo automatico e ActivateRecoverMode =
TRUE, PID_3Step rimane nel modo automatico.
2 Nota: se prima che si verificasse l'errore era attivo il modo "ottimizzazione iniziale", "ottimizzazione
fine" o "misura del tempo di transizione" eActivateRecoverMode = TRUE, PID_3Step passa al
modo di funzionamento salvato nel parametro Mode.
3 Nota: se prima che si verificasse l'errore era attivo il modo automatico e ActivateRecoverMode =
TRUE, PID_3Step passa al modo "avvicinamento al valore di uscita sostitutivo con monitoraggio
errori" o "monitoraggio errori". Non appena l'errore viene eliminato, PID_3Step torna al modo
automatico.
4 Nota: se prima che si verificasse l'errore ActivateRecoverMode = TRUE, PID_3Step cancella
l'ottimizzazione e passa al modo di funzionamento salvato nel parametro Mode.
5 L'attuatore non può essere spostato sul valore di uscita sostitutivo e rimane nella posizione
attuale. Nel modo manuale è possibile modificare la posizione dell'attuatore solo con Manual_UP e
Manual_DN e non con ManualValue.

Sistema di automazione S7-1200


446 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.2 Regolazione PID

9.2.6 Configurazione del regolatore PID

I parametri dell'oggetto tecnologico definiscono il funzionamento del regolatore PID.


Per aprire l'editor di configurazione utilizzare il relativo simbolo.

Tabella 9- 19 Esempio di impostazioni di configurazione per l'istruzione PID_Compact

Impostazioni Descrizione
Di base Tipo di regolatore Permette di selezionare le unità di engineering.
Inversione del senso di Consente di selezionare un circuito PID ad azione inversa.
regolazione
• Se questa impostazione non è selezionata, il circuito PID si trova nel modo ad
azione diretta e la sua uscita aumenta se il valore di ingresso è < al setpoint.
• Se invece è selezionata, l'uscita del circuito PID aumenta se il valore di
ingresso è > del setpoint.
Attiva ultima modalità Riavvia il circuito PID dopo il reset o se è stato superato un limite di ingresso ma il
dopo il riavvio della valore è poi rientrato nel campo valido.
CPU
Ingresso Permette di selezionare il parametro Input o il parametro Input_PER (analogico)
per il valore istantaneo. Input_PER può provenire direttamente da un modulo di
ingressi analogici.
Uscita Permette di selezionare il parametro Output o il parametro Output_PER (analogico)
per il valore di uscita. Output_PER può passare direttamente ad un modulo di
uscite analogiche.
Valore Riporta in scala il campo e i limiti del valore istantaneo. Se il valore istantaneo scende sotto al limite inferiore
istantaneo o supera il limite superiore, il circuito PID passa al modo "Inattivo" e imposta il valore di uscita su 0.
Per utilizzare Input_PER è necessario riportare in scala il valore istantaneo analogico (valore di ingresso).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 447
Istruzioni di tecnologia
9.2 Regolazione PID

Tabella 9- 20 Esempio di impostazioni di configurazione per l'istruzione PID_3Step

Impostazioni Descrizione
Di base Tipo di regolatore Permette di selezionare le unità di engineering.
Inversione del senso di Consente di selezionare un circuito PID ad azione inversa.
regolazione
• Se questa impostazione non è selezionata, il circuito PID si trova nel modo ad
azione diretta e la sua uscita aumenta se il valore di ingresso è < al setpoint.
• Se invece è selezionata, l'uscita del circuito PID aumenta se il valore di
ingresso è > del setpoint.
Attiva Mode dopo il Riavvia il circuito PID dopo il reset o se è stato superato un limite di ingresso ma il
riavvio della CPU valore è poi rientrato nel campo valido.
Imposta Mode su: definisce il modo in cui deve funzionare il regolatore PID dopo il
riavvio.
Ingresso Permette di selezionare il parametro Input o il parametro Input_PER (analogico)
per il valore istantaneo. Input_PER può provenire direttamente da un modulo di
ingressi analogici.
Uscita Permette di scegliere se utilizzare per il valore di uscita le uscite digitali
(Output_UP e Output_DN) o l'uscita analogica (Output_PER).
Feedback Permette di selezionare il tipo di stato del dispositivo restituito al circuito PID:
• No feedback (default)
• Feedback
• Feedback_PER
Valore Riporta in scala il campo e i limiti del valore istantaneo. Se il valore istantaneo scende sotto al limite inferiore
istantaneo o supera il limite superiore, il circuito PID passa al modo "Inattivo" e imposta il valore di uscita su 0.
Per utilizzare Input_PER è necessario riportare in scala il valore istantaneo analogico (valore di ingresso).

Sistema di automazione S7-1200


448 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.2 Regolazione PID

Impostazioni Descrizione
Attuatore Tempo di Imposta il tempo che trascorre dall'apertura alla chiusura della valvola. (Il valore si trova
regolazione del sulla scheda tecnica o sul faceplate della valvola.)
motore
Tempo ON minimo Imposta il tempo di movimento minimo della valvola. (Il valore si trova sulla scheda
tecnica o sul faceplate della valvola.)
Tempo OFF Imposta il tempo di pausa minimo della valvola. (Il valore si trova sulla scheda tecnica o
minimo sul faceplate della valvola.)
Comportamento in Definisce il comportamento della valvola quando viene rilevato un errore o quando
caso di errori viene resettato il circuito PID. Se si sceglie di utilizzare una posizione sostitutiva inserire
la "Posizione di sicurezza". Per la risposta di posizione analogica o l'uscita analogica
selezionare un valore compreso tra il limite inferiore e quello superiore dell'uscita. Per le
uscite digitali è possibile scegliere solo 0% (off) o 100% (on).
Risposta di • "Finecorsa superiore" e "Finecorsa inferiore" definiscono la posizione positiva
posizione riportata massima (completamente aperta) e la posizione negativa massima (completamente
in scala 1 chiusa). Il "finecorsa superiore" deve essere maggiore del "finecorsa inferiore".
• "Limite superiore del valore istantaneo" e "Limite inferiore del valore istantaneo"
definiscono le posizioni superiori e inferiori massime della valvola durante
l'ottimizzazione e il modo automatico.
• "FeedbackPER" ("Low" e "High") definisce la risposta analogica di posizione della
valvola. "FeedbackPER High" deve essere maggiore di "FeedbackPER Low".
Avanzate Controllo del Imposta i limite di avviso superiore e inferiore per il valore istantaneo.
valore istantaneo
Parametri PID Se lo desidera, l'utente può inserire in questa finestra i propri parametri per
l'ottimizzazione del PID. Per consentire questa operazione, la casella di controllo "Attiva
immissione manuale" deve essere spuntata.
1 L'impostazione "Risposta di posizione riportata in scala" può essere modificata solo se è attivata l'opzione "Feedback"
nelle impostazioni di base.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 449
Istruzioni di tecnologia
9.2 Regolazione PID

9.2.7 Messa in servizio del regolatore PID

La configurazione del regolatore PID per l'ottimizzazione automatica all'avvio e


durante il funzionamento viene eseguita nell'editor per la messa in servizio. Per aprire
l'editor fare clic sul rispettivo simbolo nell'istruzione o nella navigazione del progetto.

Tabella 9- 21 Esempio di schermata di messa in servizio (PID_3Step)

• Misura: per visualizzare il setpoint, il valore attuale


(valore di ingresso) e il valore di uscita in una curva in
tempo reale inserire il tempo di campionamento e fare
clic sul pulsante "Avvia".
• Tipo di ottimizzazione: per ottimizzare il circuito PID
selezionare "Ottimizzazione iniziale" oppure
"Ottimizzazione fine" (manuale) e fare clic sul
pulsante "Avvia". Attraverso vari fasi il regolatore PID
calcola la risposta del sistema e i tempi di
aggiornamento. I parametri di ottimizzazione adeguati
vengono calcolati da questi valori.

Ad ottimizzazione conclusa è possibile salvare i nuovi


parametri facendo clic sul pulsante "Carica i parametri
PID" nella sezione "Parametri PID" dell'editor per la
messa in servizio.
Se si verifica un errore nel corso dell'ottimizzazione, il
valore di uscita del regolatore PID diventa 0 e il suo
modo di funzionamento viene impostato su "Inattivo". Lo
stato indica l'errore.

Controllo del valore iniziale del PID


I valori attuali dei parametri di configurazione del PID possono essere modificati in modo da
ottimizzare il comportamento del regolatore PID nel modo online.
Aprire gli "Oggetti tecnologici" del regolatore PID e quindi l'oggetto "Configurazione". Per
accedere al controllo del valore iniziale fare clic sul simbolo degli occhiali nell'angolo in alto a
sinistra nella finestra di dialogo:

È quindi possibile modificare il valore di ogni parametro di configurazione del regolatre PID
come illustrato nella figura in basso.

Sistema di automazione S7-1200


450 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.2 Regolazione PID

Si può confrontare il valore attuale con il valore iniziale del progetto (offline) e del PLC
(online) di ogni parametro. Questa operazione è necessaria per confrontare le differenze
online/offline del blocco dati dell'oggetto tecnologico (TO-DB) e per conoscere i valori che
verranno utilizzati come valori attuali nel successivo passaggio da STOP a START del PLC.
Inoltre, un simbolo di confronto offre un'indicazione visiva che aiuta ad identificare facilmente
le differenze online/offline:

Nella figura precedente è riportata la schermata dei parametri PID con dei simboli di
confronto che mostrano quali valori si differenziano nei progetti online e offline. L'icona verde
indica che i valori coincidono, quella blu/arancione invece indica i valori diversi.
Inoltre cliccando il pulsante dei parametri rappresentante una freccia rivolta verso il basso si
apre una piccola finestra in cui vengono visualizzati il valore iniziale del progetto (offline) e
del PLC (online) di ogni parametro:

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 451
Istruzioni di tecnologia
9.3 Controllo del movimento

9.3 Controllo del movimento


La CPU dispone della funzione di controllo del movimento per il comando di motori a passi e
di servo-azionamenti con interfaccia a impulsi. La funzione di controllo del movimento
assume il comando e il controllo degli azionamenti.
● L'oggetto tecnologico "Asse" configura i dati meccanici dell'azionamento, l'interfaccia
dell'azionamento, i parametri dinamici e le altre proprietà dell'azionamento.
● L'utente configura le uscite di impulsi e direzione della CPU per il comando
dell'azionamento.
● Il programma utente utilizza le istruzioni di controllo del movimento per comandare l'asse
e avviare gli ordini di movimento.
● Utilizzare l'interfaccia PROFINET per stabilire il collegamento online tra la CPU e il
dispositivo di programmazione. Oltre alle funzioni online della CPU, per il controllo del
movimento sono disponibili funzioni di messa in servizio e di diagnostica aggiuntive.

Nota
Le modifiche apportate alla configurazione del controllo del movimento e il caricamento in
RUN non diventano effettive finché la CPU non passa da STOP a RUN.

① PROFINET
② Uscite di impulsi e direzione
③ Sezione per l'alimentazione del motore a passi
④ Sezione per l'alimentazione del servo-azionamento
I tipi DC/DC/DC della CPU S7-1200 dispongono di uscite
onboard per il comando diretto degli azionamenti. I tipi di relè
della CPU richiedono una signal board con uscite DC per il
comando dell'azionamento.

Una signal board (SB) amplia il numero di I/O onboard aggiungendone altri. Un'SB con due
uscite digitali può essere impiegata come uscita di impulsi e direzione per comandare un
motore. Un'SB con quattro uscite digitali può essere impiegata come uscita di impulsi e
direzione per comandare due motori. Le uscite relè integrate non possono essere impiegate
come uscite di impulsi per comandare i motori. Che si utilizzino I/O integrati, I/O SB o una
combinazione di entrambi, si possono avere al massimo quattro generatori di impulsi.

Sistema di automazione S7-1200


452 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

Questi quattro generatori di impulsi dispongono di assegnazioni di I/O di default, ma


possono essere comunque configurati su qualsiasi uscita digitale della CPU o dell'SB. I
generatori di impulsi della CPU non possono essere assegnati alla periferia decentrata.

Nota
Le uscite di treni di impulsi non possono essere utilizzate da altre istruzioni nel programma
utente
Se si configurano le uscite della CPU o la signal board come generatori di impulsi (per le
istruzioni PWM o di controllo del movimento) i corrispondenti indirizzi di uscita non
controllano più le uscite. Se il programma utente scrive un valore in un'uscita utilizzata come
generatore di impulsi, la CPU non scrive quel valore nell'uscita fisica.

Tabella 9- 22 Numero max. di azionamenti comandabili

Tipo di CPU I/O integrati; Con una SB Con una SB


nessuna SB installata (2 uscite DC) (4 uscite DC)
Con Senza Con Senza Con Senza
direzione direzione direzione direzione direzione direzione
CPU 1211C DC/DC/DC 2 4 3 4 4 4
AC/DC/RLY 0 0 1 2 2 4
DC/DC/RLY 0 0 1 2 2 4
CPU 1212C DC/DC/DC 3 4 3 4 4 4
AC/DC/RLY 0 0 1 2 2 4
DC/DC/RLY 0 0 1 2 2 4
CPU 1214C DC/DC/DC 4 4 4 4 4 4
AC/DC/RLY 0 0 1 2 2 4
DC/DC/RLY 0 0 1 2 2 4
CPU 1215C DC/DC/DC 4 4 4 4 4 4
AC/DC/RLY 0 0 1 2 2 4
DC/DC/RLY 0 0 1 2 2 4
CPU 1217C DC/DC/DC 4 4 4 4 4 4

Nota
Il numero massimo di generatori di impulsi è quattro.
Che si utilizzino I/O integrati, I/O SB o una combinazione di entrambi, si possono avere al
massimo quattro generatori di impulsi.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 453
Istruzioni di tecnologia
9.3 Controllo del movimento

Tabella 9- 23 Uscita della CPU: frequenza massima

CPU Canale di uscita della Uscita di impulsi e A/B, quadratura, in


CPU direzione avanti/indietro e
impulso/direzione
1211C Qa.0 ... Qa.3 100 kHz 100 kHz
1212C Qa.0 ... Qa.3 100 kHz 100 kHz
Qa.4, Qa.5 20 kHz 20 kHz
1214C e 1215C Qa.0 ... Qa.3 100 kHz 100 kHz
Qa.4 ... Qb.1 20 kHz 20 kHz
1217C DQa.0 ... DQa.3 1 MHz 1 MHz
(.0+, .0- ... .3+, .3-)
DQa.4 ... DQb.1 100 kHz 100 kHz

Tabella 9- 24 Uscita SB della Signal Board: frequenza massima (scheda opzionale)

Signal board SB Canale di uscita SB Uscita di impulsi e A/B, quadratura, in


direzione avanti/indietro e
impulso/direzione
SB 1222, 200 kHz DQe.0 ... DQe.3 200 kHz 200 kHz
SB 1223, 200 kHz DQe.0, DQe.1 200 kHz 200 kHz
SB 1223 DQe.0, DQe.1 20 kHz 20 kHz

Tabella 9- 25 Frequenze limite delle uscite di impulsi

Uscita di impulsi Frequenza


Onboard 4 PTO: 2 Hz ≤ f ≤ 1 MHz, 4 PTO: 2 Hz ≤ f ≤ 100 KHz o una combinazione
qualsiasi di questi valori per i 4 PTO.1 2
SB standard 2 Hz ≤ f ≤ 20 KHz
SB veloci 2 Hz ≤ f ≤ 200 KHz
1 Per informazioni sulle quattro combinazioni della velocità di uscita possibili nella CPU 1217C vedere la tabella più sotto.
2 Per informazioni sulle quattro combinazioni della velocità di uscita possibili nella CPU 1211C, 1212C, 1214C o 1215C
vedere la tabella più sotto.

Esempio di configurazioni della velocità di uscita nella CPU 1217C

Nota
La CPU 1217C può generare uscite di impulsi fino a 1 MHz mediante le uscite differenziali
integrate.

Sistema di automazione S7-1200


454 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

I seguenti esempi mostrano le quattro possibili combinazione della velocità di uscita:


● Esempio 1: 4 PTO a 1 MHz , nessuna uscita di direzione
● Esempio 2: 1 PTO a 1 MHz, 2 a 100 KHz e 1 a 20 KHz
● Esempio 3: 4 PTO a 200 KHz , nessuna uscita di direzione
● Esempio 4: 2 PTO a 100 KHz e 2 a 200 KHz, tutte con uscita di direzione

P = Impulso Uscite integrate nella CPU Uscite SB veloci Uscite SB


D = Direzione standard
Uscite (Q) a 1 MHz Uscite (Q) a 100 KHz Uscite (Q) a 200 KHz Uscite (Q)
a 20 KHz
0.0+ 0.1+ 0.2+ 0.3+ 0.4 0.5 0.6 0.7 1.0 1.1 4.0 4.1 4.2 4.3 4.0 4.1
0.0- 0.1- 0.2- 0.3-
Es. 1: PTO1 P
4a1 PTO2 P
MHz
(nessun PTO3 P
a PTO4 P
uscita
di
direzione
)
Es. 2: 1 PTO1 P D
a 1 MHz; PTO2 P D
2 a 100
e 1 a 20 PTO3 P D
KHz PTO4 P D
(tutte
con
uscita di
direzione
)
Es. 3: PTO1 P
4 a 200 PTO2 P
KHz
(nessun PTO3 P
a PTO4 P
uscita
di
direzione
)
Es. 4: PTO1 P D
2 a 100 PTO2 P D
KHz;
2 a 200 PTO3 P D
KHz PTO4 P D
(tutte
con
uscita di
direzione
)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 455
Istruzioni di tecnologia
9.3 Controllo del movimento

Esempio di configurazioni della velocità di uscita nelle CPU 1211C, 1212C, 1214C e 1215C
I seguenti esempi mostrano le quattro possibili combinazione della velocità di uscita:
● Esempio 1: 4 PTO a 100 KHz , nessuna uscita di direzione
● Esempio 2: 2 PTO a 100 KHz e 2 a 20 KHz, tutte con uscita di direzione
● Esempio 3: 4 PTO a 200 KHz , nessuna uscita di direzione
● Esempio 4: 2 PTO a 100 KHz e 2 a 200 KHz, tutte con uscita di direzione

P = Impulso Uscite integrate nella CPU Uscite SB veloci Uscite SB


D = Direzione lente
Uscite (Q) a 100 KHz Uscite (Q) a 20 KHz Uscite (Q) a 200 KHz Uscite (Q)
a 20 KHz
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 1.0 1.1 4.0 4.1 4.2 4.3 4.0 4.1
CPU 1211C
CPU 1212C CPU
1212C
CPU 1214C CPU CPU 1214C
1214C
CPU 1215C CPU CPU 1215C
1215C
Es. 1: PTO1 P
4 a 100 PTO2 P
KHz
(nessuna PTO3 P
uscita PTO4 P
di
direzione)
Es. 2: PTO1 P D
2 a 100 PTO2 P D
KHz;
2 a 20 PTO3 P D
KHz (tutte PTO4 P D
con uscita
di
direzione)
Es. 3: PTO1 P
4 a 200 PTO2 P
KHz
(nessuna PTO3 P
uscita PTO4 P
di
direzione)
Es. 4: PTO1 P D
2 a 100 PTO2 P D
KHz;
2 a 200 PTO3 P D
KHz (tutte PTO4 P D
con uscita
di
direzione)

Sistema di automazione S7-1200


456 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

9.3.1 Messa in fase


Per l'interfaccia "Messa in fase" dell'azionamento a passi/del servo-azionamento sono
disponibili le quattro opzioni seguenti:
● PTO (impulso A e direzione B): Se si seleziona un'opzione PTO (impulso A e direzione
B), un'uscita (P0) comanda l'impulso e un'altra (P1) la direzione. P1 è high (attiva) se
vengono generati impulsi in direzione positiva. P1 è low (inattiva) se vengono generati
impuls in direzione negativa:

● PTO (conteggio in avanti A e conteggio all'indietro B): Se si seleziona un'opzione PTO


(conteggio in avanti A e conteggio all'indietro B), un'uscita (P0) emette impulsi per le
direzioni positive e un'altra (P1) per quelle negative:

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 457
Istruzioni di tecnologia
9.3 Controllo del movimento

● PTO (con spostamento di fase A/B): Se si seleziona un'opzione PTO (con spostamento
di fase A/B), entrambe le uscite emettono impulsi alla velocità specificata ma con uno
spostamento di fase di 90°. Si tratta di una configurazione 1X che significa che un
impulso è la quantità di tempo tra transizioni positive di P0. In questo caso, la direzione è
determinata dall'uscita che passa per prima da 0 a 1. P0 precede P1 in direzione positiva.
P1 precede P0 in direzione negativa.
Il numero di impulsi generati è basato sul numero delle transizioni da 0 a 1 della fase A.
La relazione tra le fasi determina la direzione del movimento:

PTO (con spostamento di fase A/B)


La fase A precede la fase B (movimento La fase A segue la fase B (movimento
positivo) negativo)

Numero di impulsi Numero di impulsi

● PTO (con spostamento di fase A/B - quadruplo): Se si seleziona un'opzione PTO (con
spostamento di fase A/B - quadruplo), entrambe le uscite emettono impulsi alla velocità
specificata ma con uno spostamento di fase di 90°. Si tratta di una configurazione 4X il
che significa che un impulso è la transizione di ogni uscita (sia positiva che negativa). In
questo caso, la direzione è determinata dall'uscita che passa per prima da 0 a 1. P0
precede P1 in direzione positiva. P1 precede P0 in direzione negativa.
La configurazione quadrupla si basa su transizioni positive e negative di entrambe le fasi
A e B. Il numero delle transizioni è configurabile. La relazione tra le fasi (A precede B o B
precede A) determina la direzione del movimento.

PTO (con spostamento di fase A/B - quadruplo)


La fase A precede la fase B (movimento La fase A segue la fase B (movimento
positivo) negativo)

Numero di impulsi Numero di impulsi

Sistema di automazione S7-1200


458 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

● PTO (impulso e direzione (direzione deselezionata)): Se si disattiva l'uscita di direzione in


una PTO (impulso e direzione (direzione deselezionata)), l'uscita (P0) comanda gli
impulsi. L'uscita P1 non viene utilizzata ed è disponibile per altri utilizzi nel programma. In
questo modo la CPU accetta solo comandi di movimento positivi. Selezionando questo
modo il comando di movimento impedisce l'esecuzione di configurazioni negative non
consentite. Se l'applicazione di movimento presenta una sola direzione si può risparmiare
un'uscita. L'applicazione monofase (un'uscita) è illustrata nella figura in basso
(supponendo una polarità positiva):

9.3.2 Configurazione di un generatore di impulsi


1. Inserire un oggetto tecnologico:
– Nell'albero del progetto espandere il nodo "Oggetti tecnologici" e selezionare "Inserisci
nuovo oggetto".
– Selezionare il simbolo "Asse" (rinominarlo se necessario) e fare clic su "OK" per aprire
l'editor di configurazione per l'oggetto Asse.
– Visualizzare le proprietà della selezione di PTO per il comando dell'asse nei
"Parametri di base" e selezionare l'impulso desiderato.

Nota
Se il PTO non è stato precedentemente configurato nella proprietà della CPU, il PTO
è configurato per l'utilizzo di una delle uscite onboard.
Se si utilizza una Signal Board di uscita, allora selezionare "Configurazione dispositivi"
per andare nelle proprietà della CPU. In "Parametrizzazione", nelle "Opzioni di
impulso", configurare la sorgente di uscita all'uscita della Signal Board.

– Configurare i restanti parametri di base e avanzati.


2. Programmare l'applicazione: inserire l'istruzione MC_Power in un blocco di codice.
– Per l'ingresso Asse selezionare l'oggetto tecnologico Asse precedentemente creato e
configurato.
– Impostando l'ingresso Enable come vero si attivano le altre istruzioni di movimento.
– Impostando l'ingresso Enable come falso le altre istruzioni di movimento vengono
cancellate.

Nota
Contiene solo un'istruzione MC_Power per asse.

3. Inserire le altre istruzioni di movimento per produrre il movimento richiesto.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 459
Istruzioni di tecnologia
9.3 Controllo del movimento

Nota
Configurazione di un generatore di impulsi alle uscite della Signal Board: selezionare le
proprietà "Generatori di impulsi (PTO/PWM)" di una CPU (nella Configurazione dispositivi) e
abilitare un generatore di impulsi. Per ogni CPU V1.0, V2.0, V2.1 e V2.2 dell'S7-1200 sono
disponibili due generatori di impulsi mentre per le CPU V3.0 e V4.0 dell'S7-1200 sono
disponibili quattro generatori di impulsi. Nella stessa area di configurazione alla voce
"Opzioni di impulso" selezionare "Generatore di impulsi come": "PTO".

Nota
La CPU calcola gli ordini di movimento in "fette" o segmenti di 10 ms. Non appena una fetta
è stata eseguita, la successiva è in coda in attesa di essere eseguita. Se si interrompe un
ordine di movimento su un asse (eseguendo un nuovo ordine di movimento per lo stesso
asse), il nuovo ordine di movimento potrebbe non essere eseguito per 20 ms max. (il resto
della fetta in corso più la fetta in coda).

9.3.3 Configurazione dell'asse


STEP 7 mette a disposizione gli strumenti per la configurazione, la messa in servizio e la
diagnostica dell'oggetto tecnologico "Asse".

① Azionamento ④ Messa in servizio


② Oggetto tecnologico ⑤ Diagnostica
③ Configurazione

Nota
Per le release V2.2 e precedenti del firmware della CPU, la PTO si serve della funzionalità
interna di un contatore veloce (HSC). Ciò significa che il corrispondente HSC non può
essere usato altrove.
L'assegnazione tra PTO e HSC è fissa. Una PTO1 attivata sarà collegata a HSC1. Una
PTO2 attivata sarà collegata a HSC2. Non è possibile controllare il valore istantaneo (ad es.
in ID1000) mentre si verificano degli impulsi.
Le CPU S7-1200 con versione V3.0 e superiore non hanno questo limite; tutti gli HSC
restano a disposizione e possono essere utilizzati per il programma quando si configurano le
uscite di impulsi nelle CPU.

Sistema di automazione S7-1200


460 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

Tabella 9- 26 Strumenti di STEP 7 per il controllo del movimento

Strumenti Descrizione
Configurazione Configura le seguenti proprietà dell'oggetto tecnologico "Asse":
• Selezione del PTO da utilizzare e configurazione dell'interfaccia dell'azionamento
• Proprietà della meccanica e del rapporto di trasmissione dell'azionamento (o macchina o
sistema)
• Proprietà dei limiti di posizione, della dinamica e dell'indirizzamento
Salvare la configurazione nel blocco dati dell'oggetto tecnologico.
Messa in servizio Verifica la funzione dell'asse senza dover creare un programma utente. Quando lo strumento è
avviato viene visualizzato il pannello di controllo. Nel pannello di controllo sono disponibili i
seguenti comandi:
• Abilita/inabilita asse
• Aziona asse con funzionamento marcia manuale
• Posiziona asse in modo assoluto/relativo
• Indirizza e posiziona asse
• Conferma errore
Per i comandi del movimento è possibile specificare la velocità e l'accelerazione/ritardo. Il
pannello di controllo mostra anche lo stato attuale dell'asse.
Diagnostica Controlla le informazioni di stato ed errore attuali per l'asse e l'azionamento.

Dopo aver creato l'oggetto tecnologico per l'asse,


configurare l'asse definendo i parametri di base,
come PTO e la configurazione dell'interfaccia
dell'azionamento. Configurare anche le altre
proprietà dell'asse, ad es. i limiti di posizione, la
dinamica e l'indirizzamento.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 461
Istruzioni di tecnologia
9.3 Controllo del movimento

Nota
Potrebbe essere necessario adattare i valori dei parametri di ingresso delle istruzioni di
controllo del movimento alla nuova unità di misura nel programma utente.

Configurare le proprietà dei segnali e della


meccanica dell'azionamento e del controllo della
posizione (finecorsa hardware e software).

È possibile configurare la dinamica del movimento


e il comportamento del comando di arresto di
emergenza.

Sistema di automazione S7-1200


462 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

Anche il comportamento dell'indirizzamento (passivo e attivo) va configurato.

Per testare le funzioni indipendentemente dal programma utente utilizzare il pannello di


controllo della messa in servizio.
Per avviare la messa in servizio dell'asse fare clic sul pulsante "Avvia".

Il pannello di controllo mostra anche lo stato attuale dell'asse. Non solo è possibile abilitare e
disabilitare l'asse ma anche testarne il posizionamento (sia in modo assoluto che relativo) e
definire la velocità, accelerazione e ritardo. È anche possibile testare gli ordini di
indirizzamento e marcia manuale. Il pannello di controllo consente inoltre di confermare gli
errori.

9.3.4 Configurazione di TO_CommandTable_PTO


L'istruzione CommandTable può essere configurata con gli oggetti tecnologici.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 463
Istruzioni di tecnologia
9.3 Controllo del movimento

Inserimento di un oggetto tecnologico


1. Nell'albero del progetto espandere il nodo "Oggetti tecnologici" e selezionare "Inserisci
nuovo oggetto".
2. Selezionare il simbolo "CommandTable" (rinominarlo se necessario) e fare clic su "OK"
per aprire l'editor di configurazione per l'oggetto CommandTable.

Pianificazione delle fasi per l'applicazione


Nella finestra di configurazione "Tabella di comandi" è possibile creare la sequenza di
movimenti desiderata e verificare il risultato sul grafico dello schema della tendenza.
I tipi di comando per l'elaborazione della tabella dei comandi sono selezionabili. Possono
essere inserite fino a 32 fasi. I comandi sono elaborati in sequenza e producono facilmente
un profilo di movimento complesso.

Tabella 9- 27 Tipi di comandi per MC_CommandTable

Tipo di comando Descrizione


Empty Questo comando serve come segnaposto per qualsiasi altro comando che si vuole
aggiungere. Viene ignorato durante l'elaborazione della tabella.
Halt Mette in pausa l'asse.
Avvertenza: questo comando viene eseguito solo dopo il comando "Velocity setpoint".
Positioning Relative Posiziona l'asse in funzione della distanza. Il comando sposta l'asse alla distanza e alla
velocità indicate.
Positioning Absolute Posiziona l'asse in funzione della posizione. Il comando sposta l'asse nella posizione
indicata utilizzando la velocità specificata.
Velocity setpoint Sposta l'asse alla velocità indicata.
Wait Attende finché non è trascorso il periodo indicato. "Wait" non arresta il movimento di corsa
attivo.
Separator Aggiunge una riga di separazione sopra a quella selezionata. La riga di separazione
consente di definire più di un profilo in una sola tabella di comandi.

Sistema di automazione S7-1200


464 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

Nella figura seguente, "Command complete" viene utilizzato per passare alla fase
successiva. Questo tipo di passaggio consente al dispositivo di decelerare alla velocità di
avvio/arresto e quindi accelerare di nuovo all'avvio della fase successiva.

① L'asse decelera alla velocità di avvio/arresto tra fasi.


Nella figura seguente, "Blending motion" viene utilizzato come passaggio alla fase
successiva. Questo tipo di passaggio consente al dispositivo di mantenere la velocità
all'avvio della fase successiva, garantendo quindi un passaggio morbido da una fase a
quella successiva. L'utilizzo di questa funzione può ridurre il tempo totale necessario ad
eseguire completamente un profilo. Senza questa funzione, l'esempio impiega sette secondi
per entrare in funzione. Con la funzione, il tempo di esecuzione è ridotto di un secondo per
un totale di sei secondi.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 465
Istruzioni di tecnologia
9.3 Controllo del movimento

① L'asse continua a muoversi e accelera o decelera alla velocità della fase successiva, risparmiando
tempo e usura meccanica.

Il funzionamento della CommandTable è controllato da un'istruzione MC_CommandTable


come illustrato di seguito:

Sistema di automazione S7-1200


466 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

9.3.5 Istruzioni di controllo del movimento

9.3.5.1 Panoramica delle istruzioni MC


Le istruzioni di controllo del movimento utilizzano un blocco dati tecnologico associato e le
PTO dedicate (uscite di treni di impulsi) della CPU per comandare il movimento di un asse.
● MC_Power (Pagina 468) attiva e disattiva un asse per il controllo del movimento.
● MC_Reset (Pagina 471) resetta tutti gli errori di controllo del movimento. Tutti gli errori di
controllo del movimento confermabili vengono confermati.
● MC_Home (Pagina 472) stabilisce la relazione tra il programma di comando e il sistema
di posizionamento meccanico dell'asse.
● MC_Halt (Pagina 475) annulla tutti i movimenti in corso arrestando il movimento
dell'asse. La posizione di arresto non è definita.
● MC_MoveAbsolute (Pagina 477) avvia il movimento verso una posizione assoluta.
L'ordine termina quando viene raggiunta la posizione di destinazione.
● MC_MoveRelative (Pagina 479) avvia un movimento di posizionamento rispetto a una
data posizione iniziale.
● MC_MoveVelocity (Pagina 481) fa spostare l'asse alla velocità specificata.
● MC_MoveJog (Pagina 484) attiva la modalità di marcia a impulsi a scopo di test e di
avviamento.
● MC_CommandTable (Pagina 486) esegue i comandi dell'asse come sequenza di
movimenti.
● MC_ChangeDynamic (Pagina 489) modifica le impostazioni dinamiche dell'asse.
● MC_WriteParam (Pagina 491) scrive un numero selezionato di parametri per modificare
la funzionalità dell'asse dal programma utente.
● MC_ReadParam (Pagina 493) scrive un numero selezionato di parametri che indicano
posizione attuale, velocità, ecc. dell'asse definite nell'ingresso Asse.

Livelli del firmware della CPU


Se si sta utilizzando una CPU S7-1200 con firmware V4.0, selezionare la versione V4.0 di
ogni istruzione di movimento.
Se si sta utilizzando una CPU S7-1200 con firmware V3.0 o inferiore, selezionare la versione
adatta (V3.0, V2.0 o V1.0) di ciascuna istruzione di movimento.

Nota
La CPU calcola gli ordini di movimento in "fette" o segmenti di 10 ms. Non appena una fetta
è stata eseguita, la successiva è in coda in attesa di essere eseguita. Se si interrompe un
ordine di movimento su un asse (eseguendo un nuovo ordine di movimento per lo stesso
asse), il nuovo ordine di movimento potrebbe non essere eseguito per 20 ms max. (il resto
della fetta in corso più la fetta in coda).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 467
Istruzioni di tecnologia
9.3 Controllo del movimento

9.3.5.2 Istruzione MC_Power (Abilita/blocca asse)

Nota
Se, in seguito ad un errore, l'asse è disabilitato, una volta eliminato e confermato l'errore
esso verrà abilitato automaticamente. A tale scopo è necessario che il parametro di ingresso
Enable abbia mantenuto il valore "vero" durante questo processo.

Tabella 9- 28 Istruzione MC_Power

KOP / FUP SCL Descrizione


"MC_Power_DB"( L'istruzione di controllo del movimento MC_Power
Axis:=_multi_fb_in_, abilita o disabilita un asse. Prima di poter abilitare o
Enable:=_bool_in_, disabilitare l'asse assicurarsi che le seguenti
StopMode:=_int_in_, condizioni siano rispettate:
Status=>_bool_out_, • L'oggetto tecnologico è stato configurato
Busy=>_bool_out_, correttamente.
Error=>_bool_out_,
• Non è presente alcun errore che disabilita
ErrorID=>_word_out_,
l'attivazione.
L'esecuzione di MC_Power non può essere
ErrorInfo=>_word_out_);
interrotta da un ordine di controllo del movimento.
La disabilitazione dell'asse (parametro di ingresso
Enable = falso) interrompe tutti gli ordini di controllo
del movimento per l'oggetto tecnologico associato.
1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.
2 Nell'esempio SCL "MC_Power_DB" è il nome del DB di istanza.

Tabella 9- 29 Parametri per l'istruzione MC_Power

Parametro e tipo Tipo di dati Descrizione


Axis IN TO_Axis_1 Oggetto tecnologico Asse
Enable IN Bool • FALSE (default): tutti i task attivi vengono interrotti in base allo
"StopMode" parametrizzato e l'asse viene arrestato.
• TRUE: Motion Control cerca di abilitare l'asse.

Sistema di automazione S7-1200


468 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

Parametro e tipo Tipo di dati Descrizione


StopMode IN Int • 0: arresto di emergenza: Se è presente una richiesta di
disabilitazione dell'asse, questo frena alla decelerazione di
emergenza configurata. L'asse viene disabilitato dopo essersi
arrestato.
• 1: arresto immediato: Se è presente una richiesta di disabilitazione
dell'asse, questo viene disabilitato senza decelerazione. L'uscita di
impulsi viene arrestata immediatamente.
• 2: Arresto di emergenza con controllo dello strappo: Se è presente
una richiesta di disabilitazione dell'asse, quest'ultimo frena alla
decelerazione configurata per l'arresto di emergenza. Se il controllo
dello strappo è attivo, viene applicato lo strappo configurato. L'asse
viene disabilitato dopo essersi arrestato.
Status OUT Bool Stato dell'asse "abilitato":
• FALSE: l'asse è disabilitato:
– L'asse non esegue ordini di controllo del movimento e non
accetta nuovi ordini (eccezione: task MC_Reset).
– L'asse non viene indirizzato.
– Con la disabilitazione lo stato non commuta su falso finché l'asse
non si arresta.
• TRUE: l'asse è abilitato:
– L'asse è pronto ad eseguire ordini di controllo del movimento.
– Con l'abilitazione dell'asse lo stato non commuta su vero finché è
presente il segnale "Azionamento pronto". Se l'interfaccia di
azionamento "Azionamento pronto" non è stata configurata nella
configurazione dell'asse, lo stato commuta su vero
immediatamente.
Busy OUT Bool FALSE: MC_Power non è attiva.
TRUE: MC_Power è attiva.
Error OUT Bool FALSE: nessun errore
TRUE: si è verificato un errore nell'istruzione di controllo del movimento
"MC_Power" o nell'oggetto tecnologico associato. la cui causa è indicata
nei parametri ErrorID" e "ErrorInfo".
ErrorID OUT Word ID di errore del parametro "Error""
ErrorInfo OUT Word ID dell'informazione di errore del parametro "ErrorID"

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 469
Istruzioni di tecnologia
9.3 Controllo del movimento

① Un asse viene abilitato e successivamente disabilitato di nuovo. Dopo che l'azionamento ha segnalato
"Azionamento pronto" alla CPU, la visualizzazione di "Status_1" ne indica la corretta abilitazione.
② Si è verificato un errore in seguito all'abilitazione dell'asse che ne ha causato la disabilitazione. L'errore viene
eliminato e confermato con "MC_Reset". L'asse viene quindi abilitato nuovamente.

Passi da seguire per l'abilitazione di un asse con interfaccia di azionamento configurata:


1. Verificare i requisiti riportati in alto.
2. Avviare il parametro di ingresso "StopMode" con il valore desiderato. Impostare il
parametro di ingresso "Enable" su vero.
L'uscita di abilitazione per "Azionamento abilitato" diventa vera per attivare
l'alimentazione all'azionamento. La CPU attende il segnale dell'azionamento
"Azionamento pronto".
Quando questo segnale è disponibile nell'ingresso pronto configurato della CPU, l'asse
viene abilitato. Il parametro di uscita "Status" e la variabile dell'oggetto tecnologico
<Nome asse>.StatusBits.Enable hanno il valore "vero".
Passi da seguire per l'abilitazione di un asse senza interfaccia di azionamento configurata:
1. Verificare i requisiti riportati in alto.
2. Avviare il parametro di ingresso "StopMode" con il valore desiderato. Impostare il
parametro di ingresso "Enable" su vero. L'asse è abilitato. Il parametro di uscita "Status"
e la variabile dell'oggetto tecnologico <Nome asse>.StatusBits.Enable hanno il valore
"vero".
Passi da seguire per la disabilitazione di un asse:
1. Arrestare l'asse.
È possibile riconoscere l'arresto dell'asse nella variabile dell'oggetto tecnologico <Nome
asse>.StatusBits.StandStill.
2. Impostare il parametro di ingresso "Enable" su falso una volta arrestato l'asse.
3. I parametri di uscita "Busy" e "Status" e la variabile dell'oggetto tecnologico <Nome
asse>.StatusBits.Enable hanno il valore "falso", la disabilitazione dell'asse è conclusa.

Sistema di automazione S7-1200


470 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

9.3.5.3 Istruzione MC_Reset (Conferma errore)

Tabella 9- 30 Istruzione MC_Reset

KOP / FUP SCL Descrizione


"MC_Reset_DB"( Utilizzare l'istruzione MC_Reset per
Axis:=_multi_fb_in_, confermare "Errore di funzionamento con
Execute:=_bool_in_, arresto dell'asse" e "Errore di configurazione".
Restart:=_bool_in_, Gli errori che richiedono una conferma sono
Done=>_bool_out_, riportati nell'"Elenco di ErrorIDs e ErrorInfos" in
Busy=>_bool_out_, "Rimedio".
Error=>_bool_out_, Prima di utilizzare l'istruzione MC_Reset è
ErrorID=>_word_out_, necessario eliminare la causa di un errore di
ErrorInfo=>_word_out_); configurazione eventualmente presente che
richiede una conferma (ad es. sostituendo un
valore di accelerazione non valido nell'oggetto
tecnologico "Asse" con uno valido).
A partire dalla versione V3.0 il comando
Restart consente di caricare la configurazione
dell'asse nella memoria di lavoro nel modo
RUN.
1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.
2 Nell'esempio SCL "MC_Reset_DB" è il nome del DB di istanza.

L'ordine MC_Reset non può essere interrotto da un altro ordine di controllo del movimento. Il
nuovo ordine MC_Reset non interrompe nessun altro ordine di controllo del movimento
attivo.

Tabella 9- 31 Parametri dell'istruzione MC_Reset

Parametro e tipo Tipo di dati Descrizione


Axis IN TO_Axis_1 Oggetto tecnologico Asse
Execute IN Bool Avvio dell'ordine con un fronte di salita
Restart IN Bool TRUE = caricamento della configurazione dell'asse dalla memoria di
caricamento in quella di lavoro. Questo comando è eseguibile solo
quando l'asse è disattivato.
FALSE = conferma gli errori presenti
Done OUT Bool Vero = l'errore è stato confermato.
Busy OUT Bool Vero = l'ordine viene eseguito.
Error OUT Bool Vero = si è verificato un errore durante l'esecuzione dell'ordine. la cui
causa è indicata nei parametri ErrorID" e "ErrorInfo".
ErrorID OUTP Word ID di errore del parametro "Error""
ErrorInfo OUT Word ID dell'informazione di errore del parametro "ErrorID"

Passi da seguire per la conferma di un errore con MC_Reset:


1. Verificare i requisiti riportati in alto.
2. Avviare la conferma dell'errore con un fronte di salita nel parametro di ingresso Execute.
3. L'errore è stato confermato se Done = vero e la variabile dell'oggetto tecnologico <Nome
asse>.StatusBits.Error = falso.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 471
Istruzioni di tecnologia
9.3 Controllo del movimento

9.3.5.4 Istruzione MC_Home (Indirizza e posiziona asse)

Tabella 9- 32 Istruzione MC_Home

KOP / FUP SCL Descrizione


"MC_Home_DB"( Utilizzare l'istruzione MC_Home per far
Axis:=_multi_fb_in_, corrispondere le coordinate dell'asse alla
Execute:=_bool_in_, posizione fisica effettiva
Position:=_real_in_, dell'azionamento. L'indirizzamento è
Mode:=_int_in_, necessario per il posizionamento
Done=>_bool_out_, assoluto dell'asse:
Busy=>_bool_out_, Per poter utilizzare l'istruzione MC_Home
CommandAborted=>_bool_out_, l'asse deve essere innanzitutto abilitato.
Error=>_bool_out_,
ErrorID=>_word_out_,
ErrorInfo=>_word_out_);
1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.
2 Nell'esempio SCL "MC_Home_DB" è il nome del DB di istanza.

Sono disponibili i seguenti tipi di indirizzamento:


● Indirizzamento diretto assoluto (Mode = 0): la posizione attuale dell'asse viene
determinata dal valore del parametro "Position".
● Indirizzamento diretto relativo (Mode = 1): la posizione attuale dell'asse viene
compensata dal valore del parametro "Position".
● Indirizzamento passivo (Mode = 2): durante l'indirizzamento passivo l'istruzione
MC_Home non esegue alcun movimento di indirizzamento. Il movimento di corsa
richiesto per questa operazione deve essere implementato dall'utente mediante un'altra
istruzione di controllo del movimento. Quando viene rilevato l'interruttore del punto di
zero, l'asse viene indirizzato.
● Indirizzamento attivo (Mode = 3): la procedura di indirizzamento viene eseguita
automaticamente.

Tabella 9- 33 Parametri per l'istruzione MC_Home

Parametro e tipo Tipo di dati Descrizione


Axis IN TO_Axis_PTO Oggetto tecnologico Asse
Execute IN Bool Avvio dell'ordine con un fronte di salita
Position IN Real • Mode = 0, 2 e 3 (posizione assoluta dell'asse al termine
dell'indirizzamento)
• Mode = 1 (valore di correzione per la posizione attuale
dell'asse)
Valori limite: -1.0e12 ≤ Position ≤ 1.0e12

Sistema di automazione S7-1200


472 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

Parametro e tipo Tipo di dati Descrizione


Mode IN Int Modo di indirizzamento
• 0: indirizzamento diretto assoluto

La nuova posizione dell'asse corrisponde al valore di


posizione del parametro "Position".
• 1: indirizzamento diretto relativo

La nuova posizione dell'asse corrisponde alla posizione


attuale dell'asse + il valore di posizione del parametro
"Position".
• 2: indirizzamento passivo
Indirizzamento in base alla configurazione dell'asse. In
seguito all'indirizzamento il valore del parametro "Position"
viene impostato come nuova posizione dell'asse.
• 3: indirizzamento attivo

Approssimazione al punto di zero in base alla


configurazione dell'asse. In seguito all'indirizzamento il
valore del parametro "Position" viene impostato come
nuova posizione dell'asse.
Done OUT Bool Vero = ordine completato
Busy OUT Bool Vero = l'ordine viene eseguito.
CommandAborted OUT Bool Vero = durante l'esecuzione l'ordine è stato interrotto da un
altro ordine.
Error OUT Bool Vero = si è verificato un errore durante l'esecuzione
dell'ordine. la cui causa è indicata nei parametri ErrorID" e
"ErrorInfo".
ErrorID OUT Word ID di errore del parametro "Error""
ErrorInfo OUT Word ID dell'informazione di errore del parametro "ErrorID"

Nota
L'indirizzamento dell'asse va perso se si verificano le seguenti condizioni:
• Disabilitazione dell'asse con l'istruzione MC_Power
• Commutazione tra comando automatico e manuale
• All'avvio dell'indirizzamento attivo (al termine dell'operazione l'indirizzamento dell'asse è
di nuovo disponibile).
• Dopo lo spegnimento e la riaccensione della CPU
• Dopo il riavvio della CPU (RUN-STOP o STOP-RUN)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 473
Istruzioni di tecnologia
9.3 Controllo del movimento

Passi da seguire per l'indirizzamento dell'asse:


1. Verificare i requisiti riportati in alto.
2. Inizializzare i parametri di ingresso necessari con dei valori e avviare l'indirizzamento con
un fronte di salita nel parametro di ingresso "Execute".
3. Se il parametro di uscita "Done" e la variabile dell'oggetto tecnologico <Nome
asse>.StatusBits.HomingDone hanno il valore "vero", l'indirizzamento è concluso.

Tabella 9- 34 Ordine di priorità

Modo Descrizione
0o1 L'ordine MC_Home non può essere interrotto da un altro ordine di controllo del movimento. Il nuovo ordine
MC_Home non interrompe nessun ordine di controllo del movimento attivo. Gli ordini di movimento collegati
alla posizione vengono ripresi in base alla nuova posizione di indirizzamento (valore del parametro di
ingresso Position).
2 L'ordine MC_Home può essere interrotto dai seguenti ordini di controllo del movimento:
Ordine MC_Home Mode = 2, 3: Il nuovo ordine MC_Home interrompe il successivo ordine di controllo del
movimento.
Ordine MC_Home Mode = 2: Gli ordini di movimento collegati alla posizione vengono ripresi in base alla
nuova posizione di indirizzamento (valore del parametro di ingresso Position).
3 L'ordine MC_Home può essere interrotto dai seguenti Il nuovo ordine MC_Home interrompe i seguenti
ordini di controllo del movimento: ordini di controllo del movimento:
• MC_Home Mode = 3 • MC_Home Modo = 2, 3
• MC_Halt • MC_Halt
• MC_MoveAbsolute • MC_MoveAbsolute
• MC_MoveRelative • MC_MoveRelative
• MC_MoveVelocity • MC_MoveVelocity
• MC_MoveJog • MC_MoveJog

Sistema di automazione S7-1200


474 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

9.3.5.5 Istruzione MC_Halt (Metti in pausa l'asse)

Tabella 9- 35 Istruzione MC_Halt

KOP / FUP SCL Descrizione


"MC_Halt_DB"( Utilizzare l'istruzione MC_Halt per
Axis:=_multi_fb_in_, interrompere tutti i movimenti e arrestare
Execute:=_bool_in_, l'asse. La posizione di arresto non viene
Done=>_bool_out_, definita.
Busy=>_bool_out_, Per poter utilizzare l'istruzione MC_Halt
CommandAborted=>_bool_out_, l'asse deve essere innanzitutto abilitato.
Error=>_bool_out_,
ErrorID=>_word_out_,
ErrorInfo=>_word_out_);

1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.


2 Nell'esempio SCL "MC_Halt_DB" è il nome del DB di istanza.

Tabella 9- 36 Parametri per l'istruzione MC_Halt

Parametro e tipo Tipo di dati Descrizione


Axis IN TO_Axis_1 Oggetto tecnologico Asse
Execute IN Bool Avvio dell'ordine con un fronte di salita
Done OUT Bool Vero = raggiunta velocità zero
Busy OUT Bool Vero = l'ordine viene eseguito.
CommandAborted OUT Bool Vero = durante l'esecuzione l'ordine è stato interrotto da un
altro ordine.
Error OUT Bool Vero = si è verificato un errore durante l'esecuzione
dell'ordine. la cui causa è indicata nei parametri ErrorID" e
"ErrorInfo".
ErrorID OUT Word ID di errore del parametro "Error"
ErrorInfo OUT Word ID dell'informazione di errore del parametro "ErrorID"

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 475
Istruzioni di tecnologia
9.3 Controllo del movimento

I seguenti valori sono stati configurati nella finestra di configurazione "Dinamica > Generale": accelerazione = 10,0 e
decelerazione = 5,0
① L'asse viene decelerato da un ordine MC_Halt fino ad arrestarsi. L'arresto dell'asse viene segnalato da "Done_2".
② Mentre un ordine MC_Halt decelera l'asse, il task viene interrotto da un altro ordine di movimento. L'interruzione
viene segnalata da "Abort_2".

Ordine di priorità
L'ordine MC_Halt può essere interrotto dai Il nuovo ordine MC_Halt interrompe i
seguenti ordini di controllo del movimento: seguenti ordini di controllo del movimento:
• MC_Home Mode = 3 • MC_Home Mode = 3
• MC_Halt • MC_Halt
• MC_MoveAbsolute • MC_MoveAbsolute
• MC_MoveRelative • MC_MoveRelative
• MC_MoveVelocity • MC_MoveVelocity
• MC_MoveJog • MC_MoveJog

Sistema di automazione S7-1200


476 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

9.3.5.6 Istruzione MC_MoveAbsolute (Posizionamento assoluto dell'asse)

Tabella 9- 37 Istruzione MC_MoveAbsolute

KOP / FUP SCL Descrizione


"MC_MoveAbsolute_DB"( Utilizzare l'istruzione
Axis:=_multi_fb_in_, MC_MoveAbsolute per avviare un
Execute:=_bool_in_, movimento di posizionamento
Position:=_real_in_, dell'asse verso una posizione
Velocity:=_real_in_, assoluta.
Done=>_bool_out_, Per poter utilizzare l'istruzione
Busy=>_bool_out_, MC_MoveAbsolute l'asse deve
CommandAborted=>_bool_out_, essere innanzitutto abilitato e
Error=>_bool_out_, anche indirizzato.
ErrorID=>_word_out_,
ErrorInfo=>_word_out_);

1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.


2 Nell'esempio SCL "MC_MoveAbsolute_DB" è il nome del DB di istanza.

Tabella 9- 38 Parametri per l'istruzione MC_MoveAbsolute

Parametro e tipo Tipo di dati Descrizione


Axis IN TO_Axis_1 Oggetto tecnologico Asse
Execute IN Bool Avvio dell'ordine con un fronte di salita (valore di default: falso)
Position IN Real Traguardo assoluto (Default value: 0,0)
Valori limite: -1.0e12 ≤ Position ≤ 1.0e12
Velocity IN Real Velocità dell'asse (valore di default: 10,0)
questa velocità non viene sempre raggiunta a causa
dell'accelerazione e decelerazione configurata e del traguardo a cui
approssimarsi.
Valori limite: velocità di avvio/arresto ≤ Velocity ≤ velocità massima
Done OUT Bool Vero = traguardo assoluto raggiunto
Busy OUT Bool Vero = l'ordine viene eseguito.
CommandAborted OUT Bool Vero = durante l'esecuzione l'ordine è stato interrotto da un altro
ordine.
Error OUT Bool Vero = si è verificato un errore durante l'esecuzione dell'ordine. la cui
causa è indicata nei parametri ErrorID" e "ErrorInfo".
ErrorID OUT Word ID di errore del parametro "Error" (valore di default: 0000)
ErrorInfo OUT Word ID di errore del parametro "ErrorID" (valore di default: 0000)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 477
Istruzioni di tecnologia
9.3 Controllo del movimento

I seguenti valori sono stati configurati nella finestra di configurazione "Dinamica > Generale": accelerazione = 10,0 e
decelerazione = 10,0
① Un asse viene spostato verso la posizione assoluta 1000,0 mediante un ordine MC_MoveAbsolute. Il
raggiungimento del traguardo da parte dell'asse viene segnalato con "Done_1". Se "Done_1" = TRUE, viene
avviato un altro ordine MC_MoveAbsolute con traguardo 1500,0. A causa dei tempi di risposta (ad es. il tempo di
ciclo del programma utente, ecc.) l'asse si arresta brevemente (vedere dettagli ingranditi). Il raggiungimento del
nuovo traguardo da parte dell'asse viene segnalato con "Done_2".
② Un ordine MC_MoveAbsolute attivo viene interrotto da un altro ordine MC_MoveAbsolute. L'interruzione viene
segnalata da "Abort_1". L'asse si muove quindi alla nuova velocità fino al nuovo traguardo 1500,0. Il
raggiungimento del nuovo traguardo da parte dell'asse viene segnalato con "Done_2".

Ordine di priorità
L'ordine MC_MoveAbsolute può essere Il nuovo ordine MC_MoveAbsolute
interrotto dai seguenti ordini di controllo del interrompe i seguenti ordini di controllo del
movimento: movimento:
• MC_Home Mode = 3 • MC_Home Mode = 3
• MC_Halt • MC_Halt
• MC_MoveAbsolute • MC_MoveAbsolute
• MC_MoveRelative • MC_MoveRelative
• MC_MoveVelocity • MC_MoveVelocity
• MC_MoveJog • MC_MoveJog

Sistema di automazione S7-1200


478 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

9.3.5.7 Istruzione MC_MoveRelative (Posizionamento relativo dell'asse)

Tabella 9- 39 Istruzione MC_MoveRelative

KOP / FUP SCL Descrizione


"MC_MoveRelative_DB"( Utilizzare l'istruzione
Axis:=_multi_fb_in_, MC_MoveRelative per avviare un
Execute:=_bool_in_, movimento di posizionamento
Distance:=_real_in_, rispetto alla posizione iniziale.
Velocity:=_real_in_, Per poter utilizzare l'istruzione
Done=>_bool_out_, MC_MoveRelative l'asse deve
Busy=>_bool_out_, essere innanzitutto abilitato.
CommandAborted=>_bool_out_,
Error=>_bool_out_,
ErrorID=>_word_out_,
ErrorInfo=>_word_out_);

1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.


2 Nell'esempio SCL "MC_MoveRelative_DB" è il nome del DB di istanza.

Tabella 9- 40 Parametri per l'istruzione MC_MoveRelative

Parametro e tipo Tipo di dati Descrizione


Axis IN TO_Axis_1 Oggetto tecnologico Asse
Execute IN Bool Avvio dell'ordine con un fronte di salita (valore di default: falso)
Distance IN Real Distanza di spostamento per l'operazione di posizionamento
(valore di default: 0,0)
Valori limite: -1.0e12 ≤ Distance ≤ 1.0e12
Velocity IN Real Velocità dell'asse (valore di default: 10,0)
Questa velocità non viene sempre raggiunta a causa
dell'accelerazione e decelerazione configurata e della distanza da
percorrere.
Valori limite: velocità di avvio/arresto ≤ Velocity ≤ velocità massima
Done OUT Bool Vero = traguardo raggiunto
Busy OUT Bool Vero = l'ordine viene eseguito.
CommandAborted OUT Bool Vero = durante l'esecuzione l'ordine è stato interrotto da un altro
ordine.
Error OUT Bool Vero = si è verificato un errore durante l'esecuzione dell'ordine. la
cui causa è indicata nei parametri ErrorID" e "ErrorInfo".
ErrorID OUT Word ID di errore del parametro "Error" (valore di default: 0000)
ErrorInfo OUT Word ID di errore del parametro "ErrorID" (valore di default: 0000)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 479
Istruzioni di tecnologia
9.3 Controllo del movimento

I seguenti valori sono stati configurati nella finestra di configurazione "Dinamica > Generale": accelerazione = 10,0 e
decelerazione = 10,0
① L'asse viene spostato mediante un ordine MC_MoveRelative per la distanza ("Distance") 1000,0. Il raggiungimento
del traguardo da parte dell'asse viene segnalato con "Done_1". Se "Done_1" = TRUE, viene avviato un altro ordine
MC_MoveRelative con distanza di spostamento 500,0. A causa dei tempi di risposta (ad es. il tempo di ciclo del
programma utente) l'asse si arresta brevemente (vedere dettagli ingranditi). Il raggiungimento del nuovo traguardo
da parte dell'asse viene segnalato con "Done_2".
② Un ordine MC_MoveRelative attivo viene interrotto da un altro ordine MC_MoveRelative. L'interruzione viene
segnalata da "Abort_1". L'asse si muove quindi alla nuova velocità per la nuova distanza ("Distance") 500,0. Il
raggiungimento del nuovo traguardo da parte dell'asse viene segnalato con "Done_2".

Ordine di priorità
L'ordine MC_MoveRelative può essere Il nuovo ordine MC_MoveRelative
interrotto dai seguenti ordini di controllo del interrompe i seguenti ordini di controllo del
movimento: movimento:
• MC_Home Mode = 3 • MC_Home Mode = 3
• MC_Halt • MC_Halt
• MC_MoveAbsolute • MC_MoveAbsolute
• MC_MoveRelative • MC_MoveRelative
• MC_MoveVelocity • MC_MoveVelocity
• MC_MoveJog • MC_MoveJog

Sistema di automazione S7-1200


480 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

9.3.5.8 Istruzione MC_MoveVelocity (Sposta l'asse alla velocità predefinita)

Tabella 9- 41 Istruzione MC_MoveVelocity

KOP / FUP SCL Descrizione


"MC_MoveVelocity_DB"( Utilizzare l'istruzione
Axis:=_multi_fb_in_, MC_MoveVelocity per spostare
Execute:=_bool_in_, l'asse in modo costante alla
Velocity:=_real_in_, velocità specificata.
Direction:=_int_in_, Per poter utilizzare l'istruzione
Current:=_bool_in_, MC_MoveVelocity l'asse deve
InVelocity=>_bool_out_, essere innanzitutto abilitato.
Busy=>_bool_out_,
CommandAborted=>_bool_out_,
Error=>_bool_out_,
ErrorID=>_word_out_,
ErrorInfo=>_word_out_);
1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.
2 Nell'esempio SCL "MC_MoveVelocity_DB" è il nome del DB di istanza.

Tabella 9- 42 Parametri per l'istruzione MC_MoveVelocity

Parametro e tipo Tipo di dati Descrizione


Axis IN TO_Axis_1 Oggetto tecnologico Asse
Execute IN Bool Avvio dell'ordine con un fronte di salita (valore di default: falso)
Velocity IN Real Specifica della velocità per il movimento dell'asse (valore di
default: 10,0)
Valori limite: velocità di avvio/arresto ≤ |Velocity ≤ velocità
massima
(Velocity = 0.0 è ammesso)
Direction IN Int Specifica della direzione:
• 0: la direzione di rotazione corrisponde al segno del valore nel
parametro "Velocity" (valore di default)
• 1: direzione di rotazione positiva (il segno del valore nel
parametro "Velocity" viene ignorato).
• 2: direzione di rotazione negativa (il segno del valore nel
parametro "Velocity" viene ignorato).
Current IN Bool Mantieni velocità attuale:
• Falso: "Mantieni velocità attuale" è disattivata. I valori dei
parametri "Velocity" e "Direction" vengono utilizzati. (Valore di
default)
• Vero: "Mantieni velocità attuale" è attivata. I valori dei parametri
"Velocity" e "Direction" non vengono considerati.

Quando l'asse riprende il movimento alla velocità attuale il


parametro "InVelocity" restituisce il valore TRUE.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 481
Istruzioni di tecnologia
9.3 Controllo del movimento

Parametro e tipo Tipo di dati Descrizione


InVelocity OUT Bool Vero:
• Se "Current" = FALSE: la velocità specificata nel parametro
"Velocity" è stata raggiunta.
• Se "Current" = TRUE: l'asse si sposta alla velocità attuale nel
momento iniziale.
Busy OUT Bool Vero = l'ordine viene eseguito.
CommandAborted OUT Bool Vero = durante l'esecuzione l'ordine è stato interrotto da un altro
ordine.
Error OUT Bool Vero = si è verificato un errore durante l'esecuzione dell'ordine. la
cui causa è indicata nei parametri ErrorID" e "ErrorInfo".
ErrorID OUT Word ID di errore del parametro "Error" (valore di default: 0000)
ErrorInfo OUT Word ID di errore del parametro "ErrorID" (valore di default: 0000)

I seguenti valori sono stati configurati nella finestra di configurazione "Dinamica > Generale": accelerazione = 10,0 e
decelerazione = 10,0
① Un ordine MC_MoveVelocity attivo segnala tramite "InVel_1" il raggiungimento della velocità di destinazione. Viene
quindi interrotto da un altro ordine MC_MoveVelocity. L'interruzione viene segnalata da "Abort_1". Il
raggiungimento della nuova velocità di destinazione 15,0 viene segnalato con "InVel_2". L'asse continua quindi a
muoversi alla nuova velocità costante.
② Un ordine MC_MoveVelocity attivo viene interrotto da un altro ordine MC_MoveVelocity prima che raggiunga la sua
velocità di destinazione. L'interruzione viene segnalata da "Abort_1". Il raggiungimento della nuova velocità di
destinazione 15,0 viene segnalato con "InVel_2". L'asse continua quindi a muoversi alla nuova velocità costante.

Sistema di automazione S7-1200


482 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

Ordine di priorità
L'ordine MC_MoveVelocity può essere Il nuovo ordine MC_MoveVelocity
interrotto dai seguenti ordini di controllo del interrompe i seguenti ordini di controllo del
movimento: movimento:
• MC_Home Mode = 3 • MC_Home Mode = 3
• MC_Halt • MC_Halt
• MC_MoveAbsolute • MC_MoveAbsolute
• MC_MoveRelative • MC_MoveRelative
• MC_MoveVelocity • MC_MoveVelocity
• MC_MoveJog • MC_MoveJog

Nota
Comportamento con velocità impostata zero (Velocity = 0,0)
Un ordine MC_MoveVelocity con "Velocity" = 0,0 (come un ordine MC_Halt) interrompe gli
ordini di movimento attivi e arresta l'asse con la decelerazione configurata. Quando l'asse si
arresta, il parametro di uscita "InVelocity" è vero per almeno un ciclo di programma.
"Busy" è vero durante l'operazione di decelerazione e commuta su falso insieme a
"InVelocity". Se il parametro "Execute" è impostato su vero, "InVelocity" e "Busy" sono
bloccati.
Quando si avvia l'ordine MC_MoveVelocity il bit di stato "SpeedCommand" viene impostato
nell'oggetto tecnologico. Il bit di stato "ConstantVelocity" viene impostato all'arresto dell'asse.
All'avvio di un nuovo ordine di movimento entrambi i bit vengono adattati alla nuova
sistuazione.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 483
Istruzioni di tecnologia
9.3 Controllo del movimento

9.3.5.9 Istruzione MC_MoveJog (Aziona asse con funzionamento marcia manuale)

Tabella 9- 43 Istruzione MC_MoveJog

KOP / FUP SCL Descrizione


"MC_MoveJog_DB"( Utilizzare l'istruzione MC_MoveJog per
Axis:=_multi_fb_in_, spostare l'asse in modo costante alla
JogForward:=_bool_in_, velocità specificata nel funzionamento
JogBackward:=_bool_in_, con marcia manuale. Questa istruzione
Velocity:=_real_in_, viene in genere usata a scopo di test e di
InVelocity=>_bool_out_, messa in servizio.
Busy=>_bool_out_, Per poter utilizzare l'istruzione
CommandAborted=>_bool_out_, MC_MoveJog l'asse deve essere
Error=>_bool_out_, innanzitutto abilitato.
ErrorID=>_word_out_,
ErrorInfo=>_word_out_);

1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.


2 Nell'esempio SCL "MC_MoveJog_DB" è il nome del DB di istanza.

Tabella 9- 44 Parametri per l'istruzione MC_MoveJog

Parametro e tipo Tipo di dati Descrizione


Axis IN TO_Axis_1 Oggetto tecnologico Asse
JogForward1 IN Bool Finché il parametro è vero, l'asse si sposta in direzione positiva alla
velocità specificata nel parametro "Velocity". Il segno del valore nel
parametro "Velocity" viene ignorato. (Valore di default: falso)
JogBackward1 IN Bool Finché il parametro è vero, l'asse si sposta in direzione negativa alla
velocità specificata nel parametro "Velocity". Il segno del valore nel
parametro "Velocity" viene ignorato. (Valore di default: falso)
Velocity IN Real Velocità preimpostata per il funzionamento con marcia manuale
(valori di default: 10,0)
Valori limite: velocità di avvio/arresto ≤ |Velocity ≤ velocità massima
InVelocity OUT Bool Vero = la velocità specificata nel parametro "Velocity" è stata
raggiunta.
Busy OUT Bool Vero = l'ordine viene eseguito.
CommandAborted OUT Bool Vero = durante l'esecuzione l'ordine è stato interrotto da un altro
ordine.
Error OUT Bool Vero = si è verificato un errore durante l'esecuzione dell'ordine. la cui
causa è indicata nei parametri ErrorID" e "ErrorInfo".
ErrorID OUT Word ID di errore del parametro "Error" (valore di default: 0000)
ErrorInfo OUT Word ID di errore del parametro "ErrorID" (valore di default: 0000)
1 Se entrambi i parametri JogForward e JogBackward sono contemporaneamente veri, l'asse si arresta con la
decelerazione configurata. Un errore viene indicato nei parametri "Error", "ErrorID" e "ErrorInfo".

Sistema di automazione S7-1200


484 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

I seguenti valori sono stati configurati nella finestra di configurazione "Dinamica > Generale": accelerazione = 10,0 e
decelerazione = 5,0
① Jog_F" muove l'asse in direzione positiva con funzionamento con marcia manuale. Il raggiungimento della velocità
di destinazione 50,0 viene segnalato con "InVelo_1". L'asse decelera fino ad arrestarsi nuovamente in seguito al
reset di Jog_F.
② Jog_B" muove l'asse in direzione negativa con funzionamento con marcia manuale. Il raggiungimento della
velocità di destinazione 50,0 viene segnalato con "InVelo_1". L'asse decelera fino ad arrestarsi nuovamente in
seguito al reset di Jog_B.

Ordine di priorità
L'ordine MC_MoveJog può essere Il nuovo ordine MC_MoveJog interrompe i
interrotto dai seguenti ordini di controllo del seguenti ordini di controllo del movimento:
movimento: • MC_Home Mode = 3
• MC_Home Mode = 3 • MC_Halt
• MC_Halt • MC_MoveAbsolute
• MC_MoveAbsolute • MC_MoveRelative
• MC_MoveRelative • MC_MoveVelocity
• MC_MoveVelocity • MC_MoveJog
• MC_MoveJog

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 485
Istruzioni di tecnologia
9.3 Controllo del movimento

9.3.5.10 Istruzione MC_CommandTable (Esegui i comandi dell'asse come sequenza di


movimenti)

Tabella 9- 45 Istruzione MC_CommandTable

KOP / FUP SCL Descrizione


"MC_CommandTable_DB"( Esegue una serie di movimenti
Axis:=_multi_fb_in_, individuali per un asse per il
CommandTable:=_multi_fb_in_, controllo del movimento che
Execute:=_bool_in_, possono combinarsi in una
StartIndex:=_uint_in_, sequenza di movimenti.
EndIndex:=_uint_in_, I singoli movimenti vengono
Done=>_bool_out_, configurati in una tabella di
Busy=>_bool_out_, comando dell'oggetto tecnologico
CommandAborted=>_bool_out_, per l'uscita di treni di impulsi
(TO_CommandTable_PTO).
Error=>_bool_out_,
ErrorID=>_word_out_,
ErrorInfo=>_word_out_,
CurrentIndex=>_uint_out_,
Code=>_word_out_);
1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.
2 Nell'esempio SCL "MC_CommandTable_DB" è il nome del DB di istanza.

Tabella 9- 46 Parametri per l'istruzione MC_CommandTable

Parametro e tipo Tipo di dati Valore Descrizione


iniziale
Axis IN TO_Axis_1 - Oggetto tecnologico Asse
Table IN TO_CommandTable_1 - Oggetto tecnologico Tabella di comando
Execute IN Bool Falso Job iniziale con fronte di salita
StartIndex IN Int 1 Elaborazione della tabella di comando inziale con
questo passo
Limiti: 1 ≤ StartIndex ≤ EndIndex
EndIndex IN Int 32 Elaborazione della tabella di comando finale con
questo passo
Limiti: StartIndex ≤ EndIndex ≤ 32
Done OUT Bool Falso Elaborazione di MC_CommandTable conclusa
correttamente.
Busy OUT Bool Falso Operazione in corso
CommandAborted OUT Bool Falso L'ordine è stato interrotto da un altro ordine
durante l'elaborazione.
Error OUT Bool Falso Si è verificato un errore durante l'elaborazione la
cui causa è indicata nei parametri ErrorID e
ErrorInfo.
ErrorID OUT Word 16#0000 Identificativo dell'errore
ErrorInfo OUT Word 16#0000 Informazioni di errore

Sistema di automazione S7-1200


486 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

Parametro e tipo Tipo di dati Valore Descrizione


iniziale
Step OUT Int 0 Passo attualmente elaborato
Code OUT Word 16#0000 Identificativo definito dall'utente del passo
attualmente elaborato

È possibile creare la sequenza di movimenti desiderata nella finestra di configurazione


"Tabella di comando" e verificare il risultato nel grafico delle curve.

I tipi di comando per l'elaborazione della tabella dei comandi sono selezionabili. Si possono
immettere fino a 32 job. I comandi vengono elaborati in sequenza.

Tabella 9- 47 Tipi di comandi per MC_CommandTable

Tipo di comando Descrizione


Empty Questo comando serve come segnaposto per qualsiasi altro comando che si vuole
aggiungere. Viene ignorato durante l'elaborazione della tabella.
Halt Mette in pausa l'asse.
Avvertenza: questo comando viene eseguito solo dopo il comando "Velocity setpoint".
Positioning Relative Posiziona l'asse in funzione della distanza. Il comando sposta l'asse alla distanza e alla
velocità specificate.
Positioning Absolute Posiziona l'asse in funzione della posizione. Il comando sposta l'asse nella posizione
indicata utilizzando la velocità specificata.
Velocity setpoint Sposta l'asse alla velocità indicata.
Wait Attende finché non è trascorso il periodo indicato. "Wait" non arresta il movimento di corsa
attivo.
Separator Aggiunge una riga di separazione sopra a quella selezionata. La riga di separazione
consente di definire più di un profilo in una sola tabella di comandi.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 487
Istruzioni di tecnologia
9.3 Controllo del movimento

Presupposti per l'esecuzione di MC_CommandTable:


● L'oggetto tecnologico TO_Axis_PTO V2.0 deve essere configurato correttamente.
● L'oggetto tecnologico TO_CommandTable_PTO deve essere configurato correttamente.
● L'asse deve essere abilitato.

Ordine di priorità
L'ordine MC_CommandTable può essere Il nuovo ordine MC_CommandTable
interrotto dai seguenti ordini di controllo interrompe i seguenti ordini di controllo del
del movimento: movimento:
• MC_Home Mode = 3 • MC_Home Mode = 3
• MC_Halt • MC_Halt
• MC_MoveAbsolute • MC_MoveAbsolute
• MC_MoveRelative • MC_MoveRelative
• MC_MoveVelocity • MC_MoveVelocity
• MC_MoveJog • MC_MoveJog
• MC_CommandTable • MC_CommandTable
• L'ordine attuale di controllo del movimento
con l'avvio del primo comando
"Positioning Relative",
"Positioning Absolute", "Velocity setpoint" o
"Halt"

Sistema di automazione S7-1200


488 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

9.3.5.11 Istruzione MC_ChangeDynamic (Modifica impostazioni dinamiche dell'asse)

Tabella 9- 48 Istruzione MC_ChangeDynamic

KOP / FUP SCL Descrizione


"MC_ChangeDynamic_DB"( Consente di effettuare le seguenti
Execute:=_bool_in_, modifiche alle impostazioni
ChangeRampUp:=_bool_in_, dinamiche di un asse per il
RampUpTime:=_real_in_, controllo del movimento:
ChangeRampDown:=_bool_in_, • Modifica del tempo della
RampDownTime:=_real_in_, rampa di accelerazione
ChangeEmergency:=_bool_in_,
• Modifica del tempo della
EmergencyRampTime:=_real_in_,
rampa di decelerazione
ChangeJerkTime:=_bool_in_,
JerkTime:=_real_in_, • Modifica del tempo della
Done=>_bool_out_, rampa di decelerazione per
Error=>_bool_out_, l'arresto di emergenza
ErrorID=>_word_out_, • Modifica del tempo di
ErrorInfo=>_word_out_); livellamento (strappo)

1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.


2 Nell'esempio SCL "MC_ChangeDynamic_DB" è il nome del DB di istanza.

Tabella 9- 49 Parametri per l'istruzione MC_ChangeDynamic

Parametro e tipo Tipo di dati Descrizione


Axis IN TO_Axis_1 Oggetto tecnologico Asse
Execute IN Bool Avvio del comando con un fronte di salita. Valore di default:
FALSE
ChangeRampUp IN Bool TRUE = modifica il tempo della rampa di accelerazione in base
al parametro di ingresso "RampUpTime". Valore di default:
FALSE
RampUpTime IN Real Tempo (in secondi) per l'accelerazione dalla posizione di arresto
alla velocità massima configurata senza limitazione dello
strappo. Valore di default: 5,00
La modifica influirà sulla variabile <Nome asse>.
Config.DynamicDefaults.Acceleration. Il suo effetto è specificato
nella descrizione della variabile.
ChangeRampDown IN Bool TRUE = modifica il tempo della rampa di decelerazione in base
al parametro di ingresso "RampDownTime". Valore di default:
FALSE
RampDownTime IN Real Tempo (in secondi) per decelerare l'asse dalla velocità massima
configurata fino all'arresto, senza limitazione dello strappo.
Valore di default: 5,00
La modifica influirà sulla variabile <Nome asse>.
Config.DynamicDefaults.Deceleration. Il suo effetto è specificato
nella descrizione della variabile.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 489
Istruzioni di tecnologia
9.3 Controllo del movimento

Parametro e tipo Tipo di dati Descrizione


ChangeEmergency IN Bool TRUE = modifica il tempo della rampa di decelerazione in base
al parametro di ingresso "EmergencyRampTime" Valore di
default: FALSE
EmergencyRampTime IN Real Tempo (in secondi) per decelerare l'asse dalla velocità massima
configurata fino all'arresto, senza limitazione dello strappo nella
modalità di arresto di emergenza. Valore di default: 2.00
La modifica influirà sulla variabile <Nome asse>.
Config.DynamicDefaults.EmergencyDeceleration. Il suo effetto è
specificato nella descrizione della variabile.
ChangeJerkTime IN Bool TRUE = modifica il tempo di livellamento in base al parametro di
ingresso "JerkTime". Valore di default: FALSE
JerkTime IN Real Tempo di livellamento (in secondi) usato per le rampe di
accelerazione e decelerazione dell'asse. Valore di default: 0,25
La modifica influirà sulla variabile <Nome asse>.
Config.DynamicDefaults.Jerk. Il suo effetto è specificato nella
descrizione della variabile.
Done OUT Bool TRUE = i valori modificati sono stati scritti nel blocco dati
tecnologico. La descrizione delle variabili specifica quando viene
applicata la modifica. Valore di default: FALSE
Error OUT Bool TRUE = si è verificato un errore durante l'esecuzione del
comando. la cui causa è indicata nei parametri ErrorID" e
"ErrorInfo". Valore di default: FALSE
ErrorID OUT Word Identificativo dell'errore. Valore di default: 16#0000
ErrorInfo IN Word Informazione di errore. Valore di default: 16#0000

Presupposti per l'esecuzione di MC_ ChangeDynamic:


● L'oggetto tecnologico TO_Axis_PTO V2.0 deve essere configurato correttamente.
● L'asse deve essere abilitato.

Ordine di priorità
Il comando MC_ChangeDynamic non può essere annullato da un altro comando di controllo
del movimento.
Un nuovo comando MC_ChangeDynamic non annulla gli eventuali job di controllo del
movimento attivi.

Nota
Nei parametri di ingresso "RampUpTime", "RampDownTime", "EmergencyRampTime" e
"RoundingOffTime" è possibile indicare dei valori che superano i valori limite ammessi per i
parametri risultanti dell'asse "Accelerazione", "Ritardo", "Ritardo arresto di emergenza" e
"Strappo".
Assicurarsi che i parametri MC_ChangeDynamic rientrino nel campo valido per le
impostazioni della configurazione dinamica dell'oggetto tecnologico Asse.

Sistema di automazione S7-1200


490 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

9.3.5.12 Istruzione MC_WriteParam (scrivi i parametri dell'oggetto tecnologico )


L'istruzione MC_WriteParam consente di scrivere un numero selezionato di parametri per
modificare la funzionalità dell'asse dal programma utente.

Tabella 9- 50 Istruzione MC_WriteParam

KOP / FUP SCL Descrizione


"MC_WriteParam_DB"( L'istruzione MC_WriteParam
Parameter:=_variant_in_, consente di scrivere nei parametri
Value:=_variant_in_, pubblici (ad esempio, valori di
Execute:=_bool_in_, accelerazione e DB utente).
Done:=_bool_out_,
Error:=_real_out_,
ErrorID:=_word_out_,
ErrorInfo:=_word_out_);

1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.


2 Nell'esempio SCL "MC_WriteParam_DB" è il nome del DB di istanza.

È possibile scrivere nei parametri pubblici. Non è possibile scrivere in "MotionStatus" e


"StatusBits". I parametri validi sono riportati nella seguente tabella:

Nome del parametro scrivibile Nome del parametro scrivibile


Actor.InverseDirection DynamicDefaults.Acceleration
Actor.DirectionMode DynamicDefaults.Deceleration
Actor.DriveParameter.PulsesPerDriveRevolution DynamicDefaults.Jerk
Sensor[1].ActiveHoming.Mode DynamicDefaults.EmergencyDeceleration
Sensor[1].ActiveHoming.SideInput PositionLimitsHW.Active
Sensor[1].ActiveHoming.Offset PositionLimitsHW.MaxSwitchedLevel
Sensor[1].ActiveHoming.SwitchedLevel PositionLimitsHW.MinSwitchedLevel
Sensor[1].PassiveHoming.Mode PositionLimitsSW.Active
Sensor[1].PassiveHoming.SideInput PositionLimitsSW.MinPosition
Sensor[1].PassiveHoming.SwitchedLevel PositionLimitsSW.MaxPosition
Units.LengthUnit Homing.AutoReversal
Mechanics.LeadScrew Homing.ApproachDirection
DynamicLimits.MinVelocity Homing.ApproachVelocity
DynamicLimits.MaxVelocity Homing.ReferencingVelocity

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 491
Istruzioni di tecnologia
9.3 Controllo del movimento

Tabella 9- 51 Parametri per l'istruzione MC_WriteParam

Parametro e tipo Tipo di dati Descrizione


PARAMNAME IN Variant Nome del parametro in cui viene scritto il valore
VALUE IN Variant Valore da scrivere nel parametro assegnato
EXECUTE IN Bool Avvia l'istruzione. Valore di default: FALSE
DONE OUT Bool Il valore è stato scritto. Valore di default: FALSE
BUSY OUT Bool Se TRUE l'istruzione è in esecuzione. Valore di default: FALSE
ERROR OUT Real Se TRUE si è verificato un errore. Valore di default: FALSE
ERRORID OUT Word ID dell'errore
ERRORINFO OUT Word Informazioni relative all'ERRORID

Tabella 9- 52 Codici delle condizioni per ERRORID e ERRORINFO

ERRORID ERRORINFO Descrizione


(W#16#...) (W#16#...)
0 0 Modifica riuscita di un parametro del DB TO Asse
8410[1] 0028[1] Imposta un parametro non valido (lunghezza errata nel parametro del DB TO Asse)
8410[1] 0029[1] Imposta un parametro non valido (nessun parametro del DB TO Asse)
8410[1] 002B[1] Imposta un parametro non valido (parametro del DB TO Asse di sola lettura)
8410[1] 002C[1] Imposta un parametro valido ma l'asse non è disattivato
Config Config Imposta un parametro valido (parametro del DB TO Asse pubblico di sola lettura) non
Error[2] Error[2] compreso entro il campo ammesso
Config Config Imposta un parametro valido (parametro del DB TO Asse pubblico) non compreso entro il
Error[3] Error[3] campo ammesso

[1] Errore in MC_WriteParam


[2] Errore in MC_Power
[3] Errore in MC_Power e MC_MoveXXX o MC_CommandTable

Sistema di automazione S7-1200


492 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

9.3.5.13 Istruzione MC_ReadParam (leggi i parametri dell'oggetto tecnologico)


L'istruzione MC_ReadParam consente di leggere un numero selezionato di parametri che
indicano posizione attuale, velocità, ecc. dell'asse definite nell'ingresso Asse.

Tabella 9- 53 Istruzione MC_ReadParam

KOP / FUP SCL Descrizione


"MC_ReadParam_DB"( L'istruzione MC_ReadParam
Enable:=_bool_in_, consente di leggere singoli valori
Parameter:=_variant_in_, di stato, indipendentemente dal
Value:=_variant_in_out_, punto di controllo del ciclo.
Valid:=_bool_out_,
Busy:=_bool_out_,
Error:=_real_out_,
ErrorID:=_word_out_,
ErrorInfo:=_word_out_);

1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.


2 Nell'esempio SCL "MC_ReadParam_DB" è il nome del DB di istanza.

L'istruzione MC_ReadParam funziona in base a un comportamento di abilitazione. Finché


l'ingresso "Enable" è vero l'istruzione legge il "parametro" specificato nell'indirizzo di
memoria del "valore".
Il valore "posizione" di "MotionStatus" si aggiorna in tutti i punti di controllo del ciclo (CCP) in
base al valore attuale dell'HSC.
Il valore "velocità" di "MotionStatus" è la velocità di comando alla fine del segmento attuale
(aggiornato ~10ms). L'istruzione MC_ReadParam può anche leggere tale valore.
Se si verifica un errore l'istruzione commuta in uno stato di errore che può essere resettato
solo da un nuovo fronte di salita nell'ingresso "Enable".

Tabella 9- 54 Parametri per l'istruzione MC_ReadParam

Parametro e tipo Tipo di dati Descrizione


ENABLE IN Bool Avvia l'istruzione. Valore di default: FALSE
PARAMETER IN Variant Puntatore al parametro TO da leggere
VALID OUT Bool Se TRUE il valore è stato letto. Valore di default: FALSE
BUSY OUT Bool Se TRUE, l'istruzione è in esecuzione. Valore di default: FALSE
ERROR OUT Real Se TRUE si è verificato un errore. Valore di default: FALSE
ERRORID OUT Word ID dell'errore. Valore di default: 0
ERRORINFO OUT Word Informazioni relative all'ERRORID. Valore di default: 0
VALUE INOUT Variant Puntatore all'indirizzo in cui viene memorizzato il valore letto

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 493
Istruzioni di tecnologia
9.3 Controllo del movimento

Tabella 9- 55 Codici delle condizioni per ERRORID e ERRORINFO

ERRORID ERRORINFO Descrizione


(W#16#...) (W#16#...)
0 0 Lettura corretta di un parametro
8410 0028 Parametro non valido (lunghezza errata)
8410 0029 Parametro non valido (nessun DB TO)
8410 0030 Parametro non valido (non leggibile)
8411 0032 Parametro non valido (valore errato)

Parametri TO
L'asse "MotionStatus" è costituito da quattro valori. Può essere importante controllare le
modifiche di questi valori che possono essere letti durante l'esecuzione del programma:

Nome della variabile Tipo di dati Leggibile mediante


MC_ReadParam
MotionStatus: Struttura No
• Posizione REAL Sì

• Velocity REAL Sì

• Distanza REAL Sì

• TargetPosition REAL Sì

9.3.6 Funzionamento del controllo del movimento per l'S7-1200

9.3.6.1 Utilizzo delle uscite della CPU per il controllo del movimento
La CPU mette a disposizione quattro generatori di impulsi. Ogni generatore di impulsi
dispone di un'uscita di impulsi e di una uscita di direzione per il comando dei motori a passi o
dei servo-azionamenti con interfaccia a impulsi. L'uscita di impulsi fornisce all'azionamento
gli impulsi richiesti per il controllo del movimento mentre l'uscita di direzione comanda la
direzione di corsa dell'azionamento.
L'uscita PTO genera un'onda quadra in uscita di frequenza variabile. La generazione degli
impulsi è controllata dalle informazioni di configurazione ed esecuzione fornite dalla
configurazione H/W e/o da SFC/SFB.
In base alla selezione effettuata dall'utente mentre la CPU è in RUN, le uscite digitali
vengono pilotate dai valori memorizzati nel registro dell'immagine di processo oppure dalle
uscite del generatore di impulsi. Nel modo STOP il generatore PTO non controlla le uscite.
Possono essere usate come uscite di impulsi e direzione le uscite onboard della CPU e
quelle di una signal board. Durante la configurazione dei dispositivi, nella scheda "Proprietà"
alla voce "Generatori di impulsi (PTO/PWM)" è possibile scegliere tra le uscite onboard della
CPU e le uscite della signal board. Solo PTO (Pulse Train Output) si applica al controllo del
movimento.

Sistema di automazione S7-1200


494 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

La tabella riportata più sotto specifica l'assegnazione di default degli I/O; i quattro generatori
di impulsi possono essere tuttavia configurati in qualsiasi uscita digitale.

Nota
Le uscite di treni di impulsi non possono essere utilizzate da altre istruzioni nel programma
utente.
Se si configurano le uscite della CPU o la signal board come generatori di impulsi (per le
istruzioni PWM o di controllo del movimento) i corrispondenti indirizzi di uscita non
controllano più le uscite. Se il programma utente scrive un valore in un'uscita utilizzata come
generatore di impulsi, la CPU non scrive quel valore nell'uscita fisica.

Nota
Le uscite di direzione PTO possono essere liberate e utilizzate in un altro punto del
programma.
Ciascuna PTO richiede l'assegnazione di due uscite: una di impulsi e una di direzione. È
possibile utilizzare solo l'uscita di impulsi e lasciare inutilizzata quella di direzione,
rendendola disponibile per altri scopi all'interno del programma. L'uscita non può essere
utilizzata contemporaneamente sia per l'uscita di direzione PTO che nel programma utente.

Tabella 9- 56 Assegnazione degli indirizzi di default delle uscite di impulsi e direzione

Utilizzo delle uscite per il controllo del movimento


Impulso Direzione
PTO1
I/O integrati Q0.0 Q0.1
SB I/O Q4.0 Q4.1
PTO2
I/O integrati Q0.2 Q0.3
SB I/O Q4.2 Q4.3
PTO3
I/O integrati Q0.41 Q0.51
SB I/O Q4.0 Q4.1
PTO4
I/O integrati Q0.62 Q0.72
SB I/O Q4.2 Q4.3
1 La CPU 1211C non ha le uscite Q0.4, Q0.5, Q0.6 o Q0.7. Di conseguenza, queste uscite non
possono essere utilizzate nella CPU 1211C.
2 La CPU 1212C non ha le uscite Q0.6 o Q0.7. Di conseguenza, queste uscite non possono essere
utilizzate nella CPU 1212C.
3 Questa tabella si applica alle funzioni PTO delle CPU 1211C, 1212C, 1214C, 1215C e 1217C.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 495
Istruzioni di tecnologia
9.3 Controllo del movimento

Interfaccia dell'azionamento
Per il controllo del movimento è possibile configurare un'interfaccia dell'azionamento per
"Azionamento attivato" e "Azionamento pronto". Quando si utilizza l'interfaccia
dell'azionamento l'uscita digitale per "azionamento attivato" e l'ingresso digitale per
"azionamento pronto" possono essere selezionate a piacere.

Nota
Se la PTO (Pulse Train Output) è stata selezionata e assegnata a un asse, il firmware
assumerà il controllo attraverso le rispettive uscite di impulsi e direzione.
Ciò determinerà anche l'interruzione del collegamento tra l'immagine di processo e l'uscita di
I/O. L'utente ha la possibilità di scrivere l'immagine di processo delle uscite di impulsi e
direzione utilizzando il programma utente o la tabella di controllo, tuttavia non viene mai
trasferita all'uscita di I/O. Non è quindi possibile controllare l'uscita di I/O con il programma
utente o la tabella di controllo. La lettura dell'informazione riflette solo il valore dell'immagine
di processo e non corrisponde in alcun modo allo stato attuale dell'uscita di I/O.
Per tutte le altre uscite della CPU che non sono utilizzate in modo permanente dal firmware
della CPU, lo stato dell'uscita di I/O può essere comandato o controllato come di consueto
tramite l'immagine di processo.

9.3.6.2 Finecorsa hardware e software per il controllo del movimento


Utilizzare i finecorsa hardware e software per limitare il "campo di corsa consentito" e il
"campo di lavoro" dell'asse.

① Arresto meccanico A Campo di corsa consentito per l'asse


② Limiti hardware inferiore e superiore B Campo di lavoro dell'asse
③ Limiti software inferiore e superiore C Distanza

Prima di essere utilizzati nella configurazione o nel programma utente i finecorsa hardware e
software devono essere attivati. I finecorsa software sono attivi solo una volta indirizzato
l'asse.

Sistema di automazione S7-1200


496 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

Finecorsa hardware
I finecorsa hardware determinano il campo di corsa massimo dell'asse. Questi finecorsa
sono elementi di commutazione fisici che devono essere collegati ad ingressi della CPU con
funzioni di allarme. Utilizzare solo finecorsa hardware che rimangono sempre attivati una
volta raggiunti. Lo stato di commutazione può essere annullato solo rientrando nel campo di
corsa consentito.

Tabella 9- 57 Ingressi disponibili per i limiti hardware

Descrizione RPS LIM- LIM+


I/O integrati I0,0 - I1,5
SB I/O I4,0 - I4,3

Quando vengono raggiunti i finecorsa hardware l'asse decelera fino ad arrestarsi alla
decelerazione di emergenza configurata. La decelerazione di emergenza specificata deve
essere sufficiente per arrestare l'asse in modo sicuro prima dell'arresto meccanico. Il
seguente diagramma illustra il comportamento dell'asse una volta raggiunti i finecorsa
hardware.

① L'asse decelera fino ad arrestarsi alla decelerazione di emergenza configurata.


② Campo in cui i finecorsa hardware segnalano lo stato "raggiunto".
A [Velocità]
B Campo di corsa consentito
C Distanza
D Arresto meccanico
E Finecorsa hardware inferiore
F Finecorsa hardware superiore

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 497
Istruzioni di tecnologia
9.3 Controllo del movimento

AVVERTENZA
Rischi in caso di modifica del tempo di filtraggio di un canale di ingresso digitale
Se il tempo di filtraggio di un canale di ingresso digitale viene modificato rispetto ad
un'impostazione precedente, un nuovo valore di ingresso di livello "0" potrebbe dover
essere presentato per una durata massima accumulata di 20,0 ms prima che il filtro
risponda ai nuovi ingressi. Durante questo periodo gli eventi brevi di impulso "0" di durata
inferiore a 20,0 ms potrebbero non essere rilevati o conteggiati.
La modifica dei tempi di filtraggio può determinare il funzionamento imprevisto delle
macchine o del processo e causare la morte o gravi lesioni al personale e/o danni alle
apparecchiature.
Per fare in modo che un tempo di filtraggio venga applicato immediatamente si deve
spegnere e accendere la CPU.

Finecorsa software
I finecorsa software limitano il "campo di lavoro" dell'asse. Dovrebbero rientrare nei finecorsa
hardware in relazione al campo di corsa. Poiché le posizioni dei finecorsa software possono
essere impostate in modo flessibile, il campo di lavoro dell'asse può essere limitato
individualmente a seconda del profilo di corsa. A differenza dei finecorsa hardware i
finecorsa software vengono implementati esclusivamente mediante il software e non
richiedono propri elementi di commutazione.
Se sono attivati dei finecorsa software, un movimento attivo viene arrestato in
corrispondenza di essi. L'asse frena alla decelerazione configurata. Il seguente diagramma
illustra il comportamento dell'asse fino al raggiumento dei finecorsa software.

Sistema di automazione S7-1200


498 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

① L'asse decelera fino ad arrestarsi alla decelerazione configurata.


A [Velocità]
B Campo di lavoro
C Distanza
D Finecorsa software inferiore
E Finecorsa software superiore

Utilizzare dei finecorsa hardware aggiuntivi se dopo i finecorsa software è presente un


finecorsa meccanico e sussiste il rischio di un danno meccanico.

Ulteriori informazioni
Il programma utente può escludere i limiti di posizione hardware o software abilitando o
disabilitando entrambe le funzioni di limite hardware e software. La selezione viene
effettuata dal DB dell'asse.
● Per abilitare o disabilitare la funzione di limite hardware, accedere alla variabile "Active"
(Bool) nel percorso del DB "<nome asse>/Config/PositonLimits_HW". Lo stato della
variabile "Active" abilita o disabilita l'uso dei limiti di posizione hardware.
● Per abilitare o disabilitare la funzione di limite di posizione software, accedere alla
variabile "Active" (Bool) nel percorso del DB "<nome asse>/Config/Position Limits_SW".
Lo stato di questa variabile "Active" abilita o disabilita i limiti di posizione software.
I limiti di posizione software possono essere modificati anche con il programma utente (ad
esempio, per rendere più flessibile l'installazione della macchina o abbreviarne i tempi di
commutazione). Il programma utente può scrivere nuovi valori nelle variabili " MinPosition" e
" MaxPosition " (unità di engineering nel formato Real) nel DB "<nome
asse>/Config/PositionLimits_SW".

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 499
Istruzioni di tecnologia
9.3 Controllo del movimento

9.3.6.3 Indirizzamento
L'indirizzamento è la corrispondenza delle coordinate dell'asse alla posizione fisica reale
dell'azionamento. (Se l'azionamento si trova attualmente nella posizione x, l'asse verrà
regolato nella posizione x.) Per gli assi con controllo della posizione le voci e visualizzazioni
della posizione si riferiscono esattamente a queste coordinate dell'asse.

Nota
La concordanza tra le coordinate dell'asse e la situazione effettiva è estremamente
importante. Questa operazione è necessaria per garantire che il traguardo assoluto dell'asse
sia anche raggiunto esattamente dall'azionamento.

L'istruzione MC_Home avvia l'indirizzamento dell'asse.


Sono disponibili 4 diverse funzioni di indirizzamento. Le prime due funzioni consentono
all'utente di impostare la posizione attuale dell'asse e le successive due posizionano l'asse
rispetto a un sensore di riferimento dell'indirizzamento.
● Mode 0 - Indirizzamento diretto assoluto: quando viene eseguito questo modo comunica
all'asse la sua posizione esatta. Imposta la variabile di posizione interna sul valore
dell'ingresso Position dell'istruzione di indirizzamento. Questo modo viene utilizzato per
calibrare e installare la macchina.
La posizione dell'asse viene impostata a prescindere dall'interruttore del punto di zero. I
movimenti di corsa attivi non vengono interrotti. Il valore del parametro di ingresso
Position dell'istruzione MC_Home viene impostato immediatamente come il punto di zero
dell'asse. Per assegnare il punto di zero ad una posizione meccanica esatta, l'asse deve
essere arrestato in questa posizione al momento dell'operazione di indirizzamento.
● Mode 1 - Indirizzamento diretto relativo: quando viene eseguito, questo modo utilizza la
variabile di posizione interna e vi aggiunge il valore dell'ingresso Position nell'istruzione di
indirizzamento. Questo modo viene in genere utilizzato per rappresentare l'offset della
macchina.
La posizione dell'asse viene impostata a prescindere dall'interruttore del punto di zero. I
movimenti di corsa attivi non vengono interrotti. Per la posizione dell'asse dopo
l'indirizzamento vale quanto segue: nuova posizione dell'asse = posizione attuale
dell'asse + valore del parametro Position dell'istruzione MC_Home.

Sistema di automazione S7-1200


500 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

● Mode 2 - Indirizzamento passivo: quando l'asse si sposta e passa l'interruttore del punto
di zero, la posizione attuale viene impostata come posizione di indirizzamento. Questa
funzione consente di rappresentare la normale usura della macchina e il gioco degli
ingranaggi prevenendo la necessità di compensare manualmente l'usura. L'ingresso
Position nell'istruzione di indirizzamento, come in precedenza, integra la posizione
indicata dall'interruttore del punto di zero consentendo un facile offset della posizione di
indirizzamento.
Durante l'indirizzamento passivo l'istruzione MC_Home non esegue alcun movimento di
indirizzamento. Il movimento di corsa richiesto per questa operazione deve essere
implementato dall'utente mediante un'altra istruzione di controllo del movimento. Quando
viene rilevato l'interruttore del punto di zero, l'asse viene indirizzato in base alla
configurazione. I movimenti di corsa attivi non vengono interrotti con l'avvio
dell'indirizzamento passivo.
● Mode 3 - Indirizzamento attivo: questo modo è il metodo di indirizzamento di un asse più
preciso. La direzione e velocità iniziali del movimento vengono configurate nei parametri
avanzati della configurazione dell'oggetto tecnologico, alla voce "Indirizzamento". Questa
impostazione dipende dalla configurazione della macchina. È anche possibile definire se
il fronte di salita o di discesa del segnale dell'interruttore del punto di zero è la posizione
di indirizzamento. Tutti i sensori dispongono virtualmente di un campo attivo; se la
posizione Stato costante on è stata usata come il segnale di indirizzamento potrebbe
verificarsi un errore nella posizione di indirizzamento poiché il campo attivo del segnale
On coprirebbe un campo di distanza. Se si utilizza il fronte di salita o di discesa di questo
segnale si ottiene una posizione di indirizzamento molto più precisa. Come con tutti gli
altri modi il valore dell'ingresso Position nell'istruzione di indirizzamento viene aggiunto
alla posizione hardware indirizzata.
Nel modo di indirizzamento attivo l'istruzione MC_Home esegue l'approssimazione al
punto di zero richiesta. Quando viene rilevato l'interruttore del punto di zero, l'asse viene
indirizzato in base alla configurazione. I movimenti di corsa attivi vengono interrotti.
I modi 0 e 1 non richiedono alcun movimento dell'asse. In genere vengono utilizzati per
l'installazione e la calibratura. I modi 2 e 3 richiedono il movimento dell'asse e il passaggio di
un sensore configurato nell'oggetto tecnologico "Asse" come l'interruttore del punto di zero. Il
punto di zero può essere posizionato nell'area di lavoro dell'asse oppure al di fuori dell'area
di lavoro normale, tuttavia entro il campo di movimento.

Configurazione dei parametri di indirizzamento


I parametri per l'indirizzamento attivo e passivo vengono configurati nella finestra di
configurazione "Indirizzamento". Il metodo di indirizzamento viene impostato utilizzando il
parametro di ingresso "Modo" dell'istruzione di controllo del movimento. Qui Mode = 2
rappresenta l'indirizzamento passivo e Mode = 3 quello attivo.

Nota
Per evitare che la macchina si sposti su un finecorsa meccanico in caso di un'inversione di
direzione utilizzare una delle seguenti misure:
• Mantenere bassa la velocità di approssimazione
• Aumentare l'accelerazione/decelerazione configurata
• Aumentare la distanza tra il finecorsa hardware e l'arresto meccanico

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 501
Istruzioni di tecnologia
9.3 Controllo del movimento

Tabella 9- 58 Parametri di configurazione per l'indirizzamento dell'asse

Parametro Descrizione
Interruttore del punto di zero di Selezionare l'ingresso digitale per l'interruttore del punto di zero nell'elenco a
ingresso discesa. L'ingresso deve avere funzioni di allarme. Gli ingressi della CPU onboard e
(indirizzamento attivo e passivo) gli ingressi di una signal board inserita possono essere selezionati come ingressi per
l'interruttore del punto di zero.
Il tempo di filtraggio di default degli ingressi digitali è 6,4 ms. Quando gli ingressi
digitali vengono utilizzati come un interruttore del punto di zero si possono verificare
decelerazioni indesiderate e quindi imprecisioni. A seconda della velocità ridotta e
dell'estensione dell'interruttore del punto di zero, questo potrebbe non essere
rilevato. Il tempo di filtraggio può essere impostato in "Filtro di inserimento" nella
Configurazione dispositivi degli ingressi digitali.
Il tempo di filtraggio specificato deve essere inferiore alla durata del segnale di
ingresso nell'interruttore del punto di zero.
Inversione automatica dopo il Attivare la casella di controlllo per utilizzare il finecorsa hardware come una camma
raggiungimento dei finecorsa di inversione per l'approssimazione al punto di zero. I finecorsa hardware devono
hardware essere configurati e attivati per l'inversione di direzione.
(solo indirizzamento attivo) Se il finecorsa hardware viene raggiunto durante l'indirizzamento attivo, l'asse
decelera alla decelerazione configurata (non alla decelerazione di emergenza) e
inverte la direzione. L'interruttore del punto di zero viene quindi rilevato nella
direzione inversa.
Se l'inversione di direzione non è attiva e l'asse raggiunge il finecorsa hardware
durante l'indirizzamento attivo, l'approssimazione al punto di zero viene interrotta con
un errore e l'asse viene decelerato alla decelerazione di emergenza.
Direzione di approssimazione Selezionando la direzione si definisce la "direzione di approssimazione" usata
(indirizzamento attivo e passivo) durante l'indirizzamento attivo per la ricerca dell'interruttore del punto di zero, nonché
la direzione di indirizzamento. La direzione di indirizzamento specifica la direzione di
corsa che l'asse utilizza per approssimare il lato configurato dell'interruttore del punto
di zero per l'esecuzione dell'operazione di indirizzamento.
Interruttore punto di zero • Indirizzamento attivo: selezionare se l'asse deve essere indirizzato sul lato
(indirizzamento attivo e passivo) sinistro o destro dell'interruttore del punto di zero. A seconda della posizione
iniziale dell'asse e della configurazione dei parametri di indirizzamento, la
sequenza di approssimazione al punto di zero può differire dal diagramma nella
finestra di configurazione.
• Indirizzamento passivo: con l'indirizzamento passivo i movimenti di corsa ai fini
dell'indirizzamento devono essere implementati dall'utente tramite comandi di
movimento. Il lato dell'interruttore del punto di zero sul quale avviene
l'indirizzamento dipende dai seguenti fattori:
– configurazione della "direzione di approssimazione"
– configurazione dell'"interruttore punto di zero"
– direzione di corsa attuale durante l'indirizzamento passivo
Velocità di approssimazione Specificare la velocità alla quale si effettua la ricerca dell'interruttore del punto di zero
(solo indirizzamento attivo) durante l'approssimazione al punto di zero.
Valori limite (indipendentemente dall'unità utente selezionata):
velocità di avvio/arresto ≤ velocità di approssimazione ≤ velocità massima

Sistema di automazione S7-1200


502 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

Parametro Descrizione
Velocità ridotta Specificare la velocità alla quale l'asse si avvicina all'interruttore del punto di zero per
(solo indirizzamento attivo) l'indirizzamento.
Valori limite (indipendentemente dall'unità utente selezionata):
velocità di avvio/arresto ≤ velocità ridotta ≤ velocità massima
Offset della posizione di Se la posizione di riferimento desiderata differisce dalla posizione dell'interruttore del
indirizzamento punto di zero, l'offset della posizione di indirizzamento può essere indicato in questo
(solo indirizzamento attivo) campo.
Se il valore è diverso da 0, in seguito all'indirizzamento sull'interruttore del punto di
zero l'asse esegue le seguenti azioni:
1. Muovere l'asse alla velocità ridotta per il valore dell'offset della posizione di
indirizzamento.
2. Una volta raggiunta la posizione dell'offset della posizione di indirizzamento, la
posizione dell'asse viene impostata sulla posizione di riferimento assoluta. La
posizione di riferimento assoluta viene indicata tramite il parametro "Position"
dell'istruzione di controllo del movimento "MC_Home".
Valori limite (indipendentemente dall'unità utente selezionata):
-1.0e12 ≤ offset della posizione di indirizzamento ≤ 1.0e12

Tabella 9- 59 Fattori che influenzano l'indirizzamento

Fattori di influenza: Risultato:


Configurazione Configurazione Direzione di corsa attuale Indirizzamento attivo
Direzione di Interruttore punto di zero Interruttore punto di zero
approssimazione
Positiva "Lato sinistro (negativo)" Direzione positiva Sinistro
Direzione negativa Destro
Positiva "Lato destro (positivo)" Direzione positiva Destro
Direzione negativa Sinistro
Negativa "Lato sinistro (negativo)" Direzione positiva Destro
Direzione negativa Sinistro
Negativa "Lato destro (positivo)" Direzione positiva Sinistro
Direzione negativa Destro

Sequenza per l'indirizzamento attivo


L'indirizzamento attivo viene attivato con l'istruzione di controllo del movimento "MC_Home"
(parametro di ingresso Mode = 3). In questo caso il parametro di ingresso "Position"
specifica le coordinate del punto di zero assoluto. In alternativa è possibile avviare
l'indirizzamento attivo nel pannello di controllo a scopi di test.
Il diagramma seguente mostra un esempio di curva caratteristica per un'approssimazione al
punto di zero attiva con i seguenti parametri di configurazione:
● "Direzione di approssimazione" = "Direzione di approssimazione positiva"
● "Interruttore punto di zero" = "Lato destro (positivo)"
● Valore dell'"offset della posizione di indirizzamento" > 0

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 503
Istruzioni di tecnologia
9.3 Controllo del movimento

Tabella 9- 60 Caratteristiche di velocità dell'indirizzamento MC

Funzionamento Note
A Velocità di approssimazione
B Velocità ridotta
C Coordinata della posizione di
indirizzamento
D Offset della posizione di indirizzamento

① Fase di ricerca (segmento blu della curva): quando si avvia l'indirizzamento attivo, l'asse accelera alla "velocità di
approssimazione" configurata e ricerca a questa velocità l'interruttore del punto di zero.
② Approssimazione al punto di zero (sezione rossa della curva): quando l'interruttore del punto di zero viene rilevato,
in questo esempio l'asse decelera e inverte la direzione per essere indirizzato sul lato configurato dell'interruttore
del punto di zero alla "velocità ridotta" configurata.
③ Corsa alla posizione del punto di zero (segmento verde della curva): dopo l'indirizzamento sull'interruttore del punto
di zero, l'asse si sposta sulle "Coordinate del punto di zero" alla "velocità ridotta". Quando raggiunge le "Coordinate
del punto di zero" l'asse viene arrestato sul valore di posizione indicato nel parametro di ingresso Position
dell'istruzione MC_Home.

Nota
Se la ricerca dell'indirizzamento non funziona come previsto, controllare gli ingressi
assegnati ai limiti hardware o al punto di zero. Gli allarmi di fronte di questi interrupt
potrebbero essere disattivati nella Configurazione dispositivi.
Verificare i dati di configurazione dell'oggetto tecnologico dell'asse in questione per
visualizzare quali ingressi (se presenti) sono assegnati a "HW Low Limit Switch Input", "HW
High Limit Switch Input" e "Input reference point switch". Aprire quindi la Configurazione
dispositivi della CPU e verificare ognuno degli ingressi assegnati. Controllare che le
proprietà "Attiva rilevazione del fronte di salita" e "Attiva rilevazione del fronte di discesa"
siano entrambe selezionate. Se queste proprietà non sono selezionate, cancellare gli
ingressi specificati nella configurazione dell'asse e selezionarli nuovamente.

Sistema di automazione S7-1200


504 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

9.3.6.4 Limitazione dello strappo


La limitazione dello strappo consente di ridurre la pressione sulla meccanica durante una
rampa di accelerazione e di ritardo. Il valore dell'accelerazione e del ritardo non cambia
improvvisamente se è attivo il limitatore di passi, ma viene adattato in una fase transitoria.
La figura seguente mostra la curva di velocità e accelerazione senza e con limitazione dello
strappo.

Tabella 9- 61 Limitazione dello strappo

Corsa senza limitatore di passi Corsa con limitatore di passi

La limitazione dello strappo fornisce un profilo di velocità "ammorbidito" per il movimento


dell'asse che consente ad es. un avviamento e un arresto dolci di un nastro trasportatore.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 505
Istruzioni di tecnologia
9.3 Controllo del movimento

9.3.7 Messa in servizio

Funzione di diagnostica "Bit di stato e di errore"


La funzione di diagnostica "Bit di stato e di errore" consente di controllare i principali
messaggi di stato e di errore dell'asse. Questa funzione viene visualizzata nei modi online
"Comando manuale" e "Comando automatico" quando l'asse è attivo.

Tabella 9- 62 Stato dell'asse

Stato Descrizione
Attivato L'asse è attivato ed è pronto per essere comandato tramite ordini di controllo del movimento.
(Variabile dell'oggetto tecnologico: <Nome asse>.StatusBits.Enable)
Indirizzato L'asse è indirizzato ed è in grado di eseguire gli ordini di posizionamento assoluto dell'istruzione di
controllo del movimento "MC_MoveAbsolute". L'asse non deve essere indirizzato per
l'indirizzamento relativo. Situazioni particolari:
• Durante l'indirizzamento attivo lo stato è falso.
• Se un asse indirizzato viene indirizzato passivamente il suo stato viene impostato su vero
durante l'indirizzamento passivo.
(Variabile dell'oggetto tecnologico: <Nome asse>.StatusBits.HomingDone)
Errore Si è verificato un errore nell'oggetto tecnologico "Asse". Per maggiori informazioni sull'errore
vedere la descrizione del comando automatico nei parametri ErrorID e ErrorInfo delle istruzioni di
controllo del movimento. Nel modo manuale il campo "Ultimo errore" del pannello di controllo
visualizza informazioni dettagliate sulla causa dell'errore.
(Variabile dell'oggetto tecnologico: <Nome asse>.StatusBits.Error)
Pannello di controllo Il modo "Comando manuale" è stato attivato nel pannello di controllo. Il pannello di controllo ha
attivo priorità di comando sull'oggetto tecnologico "Asse". Non è possibile comandare l'asse dal
programma utente.
(Variabile dell'oggetto tecnologico: <Nome asse>.StatusBits.ControlPanelActive)

Tabella 9- 63 Stato dell'azionamento

Stato Descrizione
Azionamento pronto L'azionamento è pronto all'uso.
(Variabile dell'oggetto tecnologico: <Nome asse>.StatusBits.DriveReady)
Errore L'azionamento ha segnalato un errore in seguito a un'interruzione del suo segnale di disponibilità.
(Variabile dell'oggetto tecnologico: <Nome asse>.ErrorBits.DriveFault)

Tabella 9- 64 Stato del movimento dell'asse

Stato Descrizione
Arresto L'asse è nello stato di arresto.
(Variabile dell'oggetto tecnologico: <Nome asse>.StatusBits.StandStill)
Accelerazione L'asse accelera.
(Variabile dell'oggetto tecnologico: <Nome asse>.StatusBits.Acceleration)

Sistema di automazione S7-1200


506 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

Stato Descrizione
Velocità costante L'asse si sposta a una velocità costante.
(Variabile dell'oggetto tecnologico: <Nome asse>.StatusBits.ConstantVelocity)
Ritardo L'asse decelera (rallenta).
(Variabile dell'oggetto tecnologico: <Nome asse>.StatusBits.Deceleration)

Tabella 9- 65 Stato del modo di movimento

Stato Descrizione
Posizionamento L'asse esegue un ordine di posizionamento dell'istruzione di controllo del movimento
"MC_MoveAbsolute" o "MC_MoveRelative" oppure del pannello di controllo.
(Variabile dell'oggetto tecnologico: <Nome asse>.StatusBits.PositioningCommand)
Comando velocità L'asse esegue un ordine alla velocità impostata dell'istruzione di controllo del movimento
"MC_MoveVelocity" o "MC_MoveJog" oppure del pannello di controllo.
(Variabile dell'oggetto tecnologico: <Nome asse>.StatusBits.SpeedCommand)
Indirizzamento L'asse esegue un ordine di indirizzamento dell'istruzione di controllo del movimento
"MC_Home" o del pannello di controllo.
(Variabile dell'oggetto tecnologico: <Nome asse>.StatusBits.Homing)

Tabella 9- 66 Bit di errore

Errore Descrizione
Raggiunta la posiz. finale neg. Il finecorsa software inferiore è stato raggiunto.
del finecorsa SW (Variabile dell'oggetto tecnologico: <Nome asse>.ErrorBits.SwLimitMinReached)
Superata la posiz. finale neg. Il finecorsa software inferiore è stato superato.
del finecorsa SW (Variabile dell'oggetto tecnologico: <Nome asse>.ErrorBits.SwLimitMinExceeded)
Raggiunta la posiz. finale pos. Il finecorsa software superiore è stato raggiunto.
del finecorsa SW (Variabile dell'oggetto tecnologico: <Nome asse>.ErrorBits.SwLimitMaxReached)
Superata la posiz. finale pos. Il finecorsa software superiore è stato superato.
del finecorsa SW (Variabile dell'oggetto tecnologico: <Nome asse>.ErrorBits.SwLimitMaxExceeded)
Finecorsa hardware: posizione Il finecorsa hardware inferiore è stato raggiunto.
finale negativa (Variabile dell'oggetto tecnologico: <Nome asse>.ErrorBits.HwLimitMin)
Finecorsa hardware: posizione Il finecorsa hardware superiore è stato raggiunto.
finale positiva (Variabile dell'oggetto tecnologico: <Nome asse>.ErrorBits.HwLimitMax)
PTO già in uso Un altro asse sta usando la stessa PTO ed è stato attivato con "MC_Power".
(Variabile dell'oggetto tecnologico: <Nome asse>.ErrorBits.HwUsed)
Errore di configurazione L'oggetto tecnologico "Asse" è stato configurato in modo errato oppure i dati di
configurazione elaborabili sono stati modificati in modo errato durante il runtime del
programma utente.
(Variabile dell'oggetto tecnologico: <Nome asse>.ErrorBits.ConfigFault)
Errore generale Si è verificato un errore interno.
(Variabile dell'oggetto tecnologico: <Nome asse>.ErrorBits.SystemFault)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 507
Istruzioni di tecnologia
9.3 Controllo del movimento

Funzione di diagnostica "Stato del movimento"


Per controllare lo stato del movimento dell'asse utilizzare la funzione di diagnostica "Stato
del movimento". Questa funzione viene visualizzata nei modi online "Comando manuale" e
"Comando automatico" quando l'asse è attivo.

Tabella 9- 67 Stato del movimento

Stato Descrizione
Posizione di destinazione Il campo "Posizione di destinazione" indica la posizione di destinazione attuale di un ordine di
posizionamento attivo dell'istruzione di controllo del movimento "MC_MoveAbsolute" o
"MC_MoveRelative" o del pannello di controllo. Il valore della "Posizione di destinazione" è
valido solo durante l'esecuzione di un ordine di posizionamento.
(Variabile dell'oggetto tecnologico: <Nome asse>.MotionStatus.TargetPosition)
Posizione attuale Il campo "Posizione attuale" indica la posizione attuale dell'asse. Se l'asse non è indirizzato, il
valore indica la posizione rispetto alla posizione abilitata per l'asse.
(Variabile dell'oggetto tecnologico: <Nome asse>.MotionStatus.Position)
Velocità attuale Il campo "Velocità attuale" indica la velocità attuale dell'asse.
(Variabile dell'oggetto tecnologico: <Nome asse>.MotionStatus.Velocity)

Tabella 9- 68 Limiti dinamici

Limite dinamico Descrizione


Velocità Il campo "Velocità" indica la velocità massima configurata per l'asse.
(Variabile dell'oggetto tecnologico: <Nome asse>.Config.DynamicLimits.MaxVelocity)
Accelerazione Il campo "Accelerazione" indica l'accelerazione attualmente configurata per l'asse.
(Variabile dell'oggetto tecnologico: <Nome asse>.Config.DynamicDefaults.Acceleration)
Ritardo Il campo "Ritardo" indica il ritardo attualmente configurato per l'asse.
(Variabile dell'oggetto tecnologico: <Nome asse>.Config.DynamicDefaults.Deceleration)

Controllo del valore iniziale di movimento


I valore attuali dei parametri di configurazione del movimento possono essere modificati in
modo da ottimizzare il comportamento del processo nel modo online.
Aprire gli "Oggetti tecnologici" del controllo di movimento e quindi l'oggetto "Configurazione".
Per accedere al controllo del valore iniziale fare clic sul simbolo degli occhiali nell'angolo in
alto a sinistra nella finestra di dialogo:

Sistema di automazione S7-1200


508 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

È quindi possibile modificare il valore di ogni parametro di configurazione del controllo di


movimento come illustrato nella figura in basso.
Si può confrontare il valore attuale con il valore iniziale del progetto (offline) e del PLC
(online) di ogni parametro. Questa operazione è necessaria per confrontare le differenze
online/offline del blocco dati dell'oggetto tecnologico (TO-DB) e per conoscere i valori che
verranno utilizzati come valori attuali nel successivo passaggio da STOP a START del PLC.
Inoltre, un simbolo di confronto offre un'indicazione visiva che aiuta ad identificare facilmente
le differenze online/offline.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 509
Istruzioni di tecnologia
9.3 Controllo del movimento

Nella figura precedente è riportata la schermata dei parametri di movimento con dei simboli
di confronto che mostrano quali valori si differenziano nei progetti online e offline. L'icona
verde indica che i valori coincidono, quella blu/arancione invece indica i valori diversi.
Inoltre cliccando il pulsante dei parametri rappresentante una freccia rivolta verso il basso si
apre una piccola finestra in cui vengono visualizzati il valore iniziale del progetto (offline) e
del PLC (online) di ogni parametro.

Sistema di automazione S7-1200


510 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

9.3.8 Controllo dei comandi attivi

9.3.8.1 Controllo delle istruzioni MC con un parametro di uscita "Done"


Le istruzioni di controllo del movimento con il parametro di uscita "Done" vengono avviate
dal parametro di ingresso "Execute" e hanno una conclusione precisa (ad esempio con
l'istruzione di controllo del movimento "MC_Home": indirizzamento riuscito). L'ordine è
concluso e l'asse è nello stato di arresto.
● Il parametro di uscita "Done" è vero se l'ordine è stato concluso correttamente.
● I parametri di uscita "Busy", "CommandAborted" e "Error" segnalano che l'ordine è
ancora in corso di elaborazione, che è stato annullato oppure che è presente un errore.
L'istruzione di controllo del movimento "MC_Reset" non può essere annullata e perciò
non ha il parametro di uscita "CommandAborted".
– Nel corso dell'elaborazione dell'ordine di controllo del movimento il parametro di uscita
"Busy" è vero. Se l'ordine è stato concluso, annullato o arrestato a causa di un errore,
il parametro di uscita "Busy" diventa falso. Questo cambiamento si verifica a
prescindere dal segnale nel parametro di ingresso "Execute".
– I parametri di uscita "Done", "CommandAborted" e "Error" sono veri per almeno un
ciclo di scansione. Questi messaggi di stato sono attivati finché il parametro di
ingresso "Execute" è vero.
Gli ordini delle seguenti istruzioni di controllo del movimento hanno una conclusione precisa:
● MC_Reset
● MC_Home
● MC_Halt
● MC_MoveAbsolute
● MC_MoveRelative
Nel seguito viene illustrato il comportamento dei bit di stato in varie situazioni di esempio.
● Il primo esempio mostra il comportamento dell'asse con un ordine concluso. Se l'ordine di
controllo del movimento è stato eseguito completamente al momento della sua
conclusione, il parametro di uscita "Done" è vero. Lo stato del segnale del parametro di
ingresso "Execute" influenza la durata della visualizzazione nel parametro di uscita
"Done".
● Il secondo esempio mostra il comportamento dell'asse con un ordine interrotto. Se
l'ordine di controllo del movimento viene interrotto durante l'esecuzione, il parametro di
uscita "CommandAborted" è vero. Lo stato del segnale del parametro di ingresso
"Execute" influenza la durata della visualizzazione nel parametro di uscita
"CommandAborted".
● Il terzo esempio mostra il comportamento dell'asse in caso di errore. Se si verifica un
errore durante l'esecuzione dell'ordine di controllo del movimento, il parametro di uscita
"Error" è vero. Lo stato del segnale del parametro di ingresso "Execute" influenza la
durata della visualizzazione nel parametro di uscita "Error".

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 511
Istruzioni di tecnologia
9.3 Controllo del movimento

Tabella 9- 69 Esempio 1 - Esecuzione dell'ordine conclusa

Se "Execute" è falso durante l'elaborazione dell'ordine Se "Execute" è falso dopo la conclusione dell'ordine

① L'ordine viene avviato con un fronte di salita nel parametro di ingresso "Execute". A seconda della programmazione
"Execute" può ancora essere resettato sul valore "falso" durante l'esecuzione dell'ordine oppure il valore "vero" può essere
mantenuto fino alla conclusione dell'ordine.
② Finché l'ordine è attivo il parametro di uscita "Busy" è vero.
③ Una volta concluso l'ordine (ad esempio per l'istruzione di controllo del movimento "MC_Home": indirizzamento
riuscito) il parametro di uscita "Busy" diventa falso e "Done" vero.
④ Se "Execute" rimane vero fino alla conclusione dell'ordine, anche "Done" rimane vero e diventa falso insieme a
"Execute".
⑤ Se "Execute" viene impostato su falso prima della conclusione dell'ordine, "Done" è vero solo per un ciclo di
esecuzione.

Sistema di automazione S7-1200


512 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

Tabella 9- 70 Esempio 2 - Interruzione dell'ordine

Se "Execute" è falso prima che l'ordine venga interrotto Se "Execute" è falso dopo che l'ordine è stato interrotto

① L'ordine viene avviato con un fronte di salita nel parametro di ingresso "Execute". A seconda della programmazione
"Execute" può ancora essere resettato sul valore "falso" durante l'esecuzione dell'ordine oppure il valore "vero" può essere
mantenuto fino alla conclusione dell'ordine.
② Finché l'ordine è attivo il parametro di uscita "Busy" è vero.
③ Durante l'esecuzione, l'ordine viene interrotto da un altro ordine di controllo del movimento. Se l'ordine viene interrotto,
il parametro di uscita "Busy" diventa falso e "CommandAborted" vero.
④ Se "Execute" rimane vero fino a dopo l'interruzione dell'ordine, anche "CommandAborted" rimane vero e diventa falso
insieme a "Execute".
⑤ Se "Execute" viene impostato su falso prima dell'interruzione dell'ordine, "CommandAborted" è vero solo per un ciclo di
esecuzione.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 513
Istruzioni di tecnologia
9.3 Controllo del movimento

Tabella 9- 71 Esempio 3 - Errore durante l'esecuzione dell'ordine

Se "Execute" è falso prima che si verifichi l'errore Se "Execute" è falso dopo che si è verificato l'errore

① L'ordine viene avviato con un fronte di salita nel parametro di ingresso "Execute". A seconda della programmazione
"Execute" può ancora essere resettato sul valore "falso" durante l'esecuzione dell'ordine oppure il valore "vero" può essere
mantenuto fino alla conclusione dell'ordine.
② Finché l'ordine è attivo il parametro di uscita "Busy" è vero.
③ Si è verificato un errore durante l'esecuzione dell'ordine. Quando si verifica l'errore, il parametro di uscita "Busy"
diventa falso e "Error" vero.
④ Se "Execute" rimane vero fino a dopo che si è verificato l'errore, anche "Error" rimane vero e diventa falso solo insieme
a "Execute".
⑤ Se "Execute" viene impostato su falso prima che si verifica l'errore, "Error" è vero solo per un ciclo di esecuzione.

9.3.8.2 Controllo dell'istruzione MC_Velocity


Gli ordini dell'istruzione di controllo del movimento "MC_MoveVelocity" eseguono uno
spostamento alla velocità specificata.
● Gli ordini dell'istruzione di controllo del movimento "MC_MoveVelocity" non hanno una
conclusione precisa. L'obiettivo dell'ordine è raggiunto quando viene raggiunta per la
prima volta la velocità parametrizzata e l'asse si sposta alla velocità costante. Quando la
velocità parametrizzata viene raggiunta, il parametro di uscita "InVelocity" diventa vero.
● L'ordine è concluso quando la velocità parametrizzata è stata raggiunta e il parametro di
ingresso "Execute" è falso. Tuttavia il movimento dell'asse non è ancora terminato al
momento della conclusione dell'ordine. Il movimento dell'asse, ad esempio, può essere
arrestato con l'ordine di controllo del movimento "MC_Halt".

Sistema di automazione S7-1200


514 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

● I parametri di uscita "Busy", "CommandAborted" e "Error" segnalano che l'ordine è


ancora in corso di elaborazione, che è stato annullato oppure che è presente un errore.
– Durante l'esecuzione dell'ordine di controllo del movimento il parametro di uscita
"Busy" è vero. Se l'ordine è stato concluso, annullato o arrestato a causa di un errore,
il parametro di uscita "Busy" diventa falso. Questo cambiamento si verifica a
prescindere dal segnale nel parametro di ingresso "Execute".
– I parametri di uscita "InVelocity", "CommandAborted" e "Error" sono veri per almeno
un ciclo di scansione se le loro condizioni sono sodisfatte. Questi messaggi di stato
sono attivati finché il parametro di ingresso "Execute" è vero.
Nel seguito viene illustrato il comportamento dei bit di stato in varie situazioni di esempio:
● Il primo esempio mostra il comportamento al raggiungimento da parte dell'asse della
velocità parametrizzata. Se l'ordine di controllo del movimento è stato eseguito al
momento del raggiugimento della velocità parametrizzata, il parametro di uscita
"InVelocity" è vero. Lo stato del segnale del parametro di ingresso "Execute" influenza la
durata della visualizzazione nel parametro di uscita "InVelocity".
● Il secondo esempio mostra il comportamento nel caso in cui l'ordine viene interrotto prima
che l'asse abbia raggiunto la velocità parametrizzata. Se l'ordine di controllo del
movimento viene interrotto prima del raggiungimento della velocità parametrizzata, il
parametro di uscita "CommandAborted" è vero. Lo stato del segnale del parametro di
ingresso "Execute" influenza la durata della visualizzazione nel parametro di uscita
"CommandAborted".
● Il terzo esempio mostra il comportamento dell'asse se si verifica un errore prima che
venga raggiunta la velocità parametrizzata. Se si verifica un errore durante l'esecuzione
dell'ordine di controllo del movimento prima che sia stata raggiunta la velocità
parametrizzata, il parametro di uscita "Error" è vero. Lo stato del segnale del parametro di
ingresso "Execute" influenza la durata della visualizzazione nel parametro di uscita
"Error".

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 515
Istruzioni di tecnologia
9.3 Controllo del movimento

Tabella 9- 72 Esempio 1 - In caso di raggiungimento della velocità parametrizzata

Se "Execute" è falso prima che la velocità configurata venga Se "Execute" è falso dopo che la velocità configurata è stata
raggiunta raggiunta

① L'ordine viene avviato con un fronte di salita nel parametro di ingresso "Execute". A seconda della programmazione,
"Execute" può essere resettato sul valore "falso" prima che venga raggiunta la velocità parametrizzata oppure, in
alternativa, solo dopo che questa è stata raggiunta.
② Finché l'ordine è attivo il parametro di uscita "Busy" è vero.
③ Quando la velocità parametrizzata viene raggiunta, il parametro di uscita "InVelocity" diventa vero.
④ Se "Execute" rimane vero anche dopo il raggiungimento della velocità parametrizzata, l'ordine rimane attivo.
"InVelocity" e "Busy" rimangono veri e commutano il loro stato su falso solo insieme a "Execute".
⑤ Se "Execute" è stato resettato su falso prima che la velocità parametrizzata sia stata raggiunta, l'ordine è concluso con
il raggiungimento della stessa. "InVelocity" è vero per un ciclo di esecuzione e diventa falso insieme a "Busy".

Sistema di automazione S7-1200


516 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

Tabella 9- 73 Esempio 2 - In caso di interruzione dell'ordine prima del raggiungimento della velocità parametrizzata

Se "Execute" è falso prima che l'ordine venga interrotto Se "Execute" è falso dopo che l'ordine è stato interrotto

① L'ordine viene avviato con un fronte di salita nel parametro di ingresso "Execute". A seconda della programmazione
"Execute" può ancora essere resettato sul valore "falso" durante l'esecuzione dell'ordine oppure il valore "vero" può essere
mantenuto fino all'interruzione dell'ordine.
② Finché l'ordine è attivo il parametro di uscita "Busy" è vero.
③ Durante l'esecuzione, l'ordine viene interrotto da un altro ordine di controllo del movimento. Se l'ordine viene interrotto,
il parametro di uscita "Busy" diventa falso e "CommandAborted" vero.
④ Se "Execute" rimane vero fino a dopo l'interruzione dell'ordine, anche ""CommandAborted" rimane vero e diventa falso
insieme a "Execute".
⑤ Se "Execute" è stato resettato su falso prima dell'interruzione dell'ordine, "CommandAborted" è vero solo per un ciclo
di esecuzione.

Nota
Il parametro di uscita "CommandAborted" non indica un'interruzione alle seguenti condizioni:
• La velocità parametrizzata è stata raggiunta, il parametro di ingresso "Execute" è falso ed
è stato avviato un nuovo ordine di controllo del movimento.
• L'ordine è concluso quando viene raggiunta la velocità parametrizzata e il parametro di
ingresso "Execute" è falso. Pertanto l'avvio di un nuovo ordine non è considerato
un'interruzione.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 517
Istruzioni di tecnologia
9.3 Controllo del movimento

Tabella 9- 74 Esempio 3 - Nel caso in cui si verifichi un errore prima del raggiungimento della velocità parametrizzata

Se "Execute" è falso prima che si verifichi l'errore Se "Execute" è falso dopo che si è verificato l'errore

① L'ordine viene avviato con un fronte di salita nel parametro di ingresso "Execute". A seconda della programmazione
"Execute" può ancora essere resettato sul valore "falso" durante l'esecuzione dell'ordine oppure il valore "vero" può essere
mantenuto fino a dopo che si è verificato l'errore.
② Finché l'ordine è attivo il parametro di uscita "Busy" è vero.
③ Si è verificato un errore durante l'esecuzione dell'ordine. Quando si verifica l'errore, il parametro di uscita "Busy"
diventa falso e "Error" vero.
④ Se "Execute" rimane vero fino a dopo che si è verificato l'errore, anche "Error" rimane vero e diventa falso solo insieme
a "Execute".
⑤ Se "Execute" è stato resettato su falso prima che si verificasse l'errore, "Error" è vero solo per un ciclo di esecuzione.

Nota
Il parametro di uscita "Error" non indica un errore alle seguenti condizioni:
• La velocità parametrizzata è stata raggiunta, il parametro di ingresso "Execute" è falso e
si è verificato un errore nell'asse (il finecorsa software è stato raggiunto, ad esempio).
• L'ordine è concluso quando viene raggiunta la velocità parametrizzata e il parametro di
ingresso "Execute" è falso. Una volta concluso l'ordine, l'errore nell'asse viene indicato
solo nell'istruzione di controllo del movimento "MC_Power".

Sistema di automazione S7-1200


518 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

9.3.8.3 Controllo dell'istruzione MC_MoveJog


Gli ordini dell'istruzione di controllo del movimento "MC_MoveJog" attivano un
funzionamento con marcia manuale.
● Gli ordini di controllo del movimento "MC_MoveJog" non hanno una conclusione precisa.
L'obiettivo dell'ordine è raggiunto quando viene raggiunta per la prima volta la velocità
parametrizzata e l'asse si sposta alla velocità costante. Quando la velocità
parametrizzata viene raggiunta, il parametro di uscita "InVelocity" diventa vero.
● L'ordine è concluso se il parametro di ingresso "JogForward" o "JogBackward" è falso e
l'asse si è arrestato.
● I parametri di uscita "Busy", "CommandAborted" e "Error" segnalano che l'ordine è
ancora in corso di elaborazione, che è stato annullato oppure che è presente un errore.
– Nel corso dell'elaborazione dell'ordine di controllo del movimento il parametro di uscita
"Busy" è vero. Se l'ordine è stato concluso, annullato o arrestato a causa di un errore,
il parametro di uscita "Busy" diventa falso.
– Il parametro di uscita "InVelocity" è vero finché l'asse si muove alla velocità
parametrizzata. I parametri di uscita "CommandAborted" e "Error" sono veri per
almeno un ciclo di scansione. Questi messaggi di stato sono attivati finché il
parametro di ingresso "JogForward" o "JogBackward" è vero.
Nel seguito viene illustrato il comportamento dei bit di stato in varie situazioni di esempio.
● Il primo esempio mostra il comportamento dell'asse se la velocità parametrizzata viene
raggiunta e mantenuta. Se l'ordine di controllo del movimento è stato eseguito al
momento del raggiugimento della velocità parametrizzata, il parametro di uscita
"InVelocity" è vero.
● Il secondo esempio mostra il comportamento dell'asse se l'ordine viene interrotto. Se
l'ordine di controllo del movimento viene interrotto durante l'esecuzione, il parametro di
uscita "CommandAborted" è vero. Il comportamento non dipende dal raggiungimento
della velocità parametrizzata.
● Il terzo esempio mostra il comportamento dell'asse in caso di errore. Se si verifica un
errore durante l'esecuzione dell'ordine di controllo del movimento, il parametro di uscita
"Error" è vero. Il comportamento non dipende dal raggiungimento della velocità
parametrizzata.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 519
Istruzioni di tecnologia
9.3 Controllo del movimento

Tabella 9- 75 Esempio 1 - In caso di raggiungimento e mantenimento della velocità parametrizzata

JogForward JogBackward

① L'ordine viene avviato con un fronte di salita nel parametro di ingresso "JogForward" o "JogBackward".
② Finché l'ordine è attivo il parametro di uscita "Busy" è vero.
③ Quando la velocità parametrizzata viene raggiunta, il parametro di uscita "InVelocity" diventa vero.
④ Quando il parametro di ingresso "JogForward" o "JogBackward" viene resettato su falso, il movimento dell'asse
termina. L'asse inizia a rallentare. Il risultato è che l'asse non si muove più a una velocità costante e il parametro di uscita
"InVelocity"diventa falso.
⑤ Se l'asse si è arrestato, l'ordine di controllo del movimento è concluso e il parametro di uscita "Busy" è diventato falso.

Sistema di automazione S7-1200


520 Manuale di sistema, 03/2014, A5E02486684-AG
Istruzioni di tecnologia
9.3 Controllo del movimento

Tabella 9- 76 Esempio 2 - In caso di interruzione dell'ordine durante l'esecuzione

JogForward JogBackward

① L'ordine viene avviato con un fronte di salita nel parametro di ingresso "JogForward" o "JogBackward".
② Finché l'ordine è attivo il parametro di uscita "Busy" è vero.
③ Durante l'esecuzione, l'ordine viene interrotto da un altro ordine di controllo del movimento. Se l'ordine viene interrotto,
il parametro di uscita "Busy" diventa falso e "CommandAborted" vero.
④ Quando il parametro di ingresso "JogForward" o "JogBackward" viene resettato su falso, il parametro di uscita
"CommandAborted" diventa falso.

Nota
L'interruzione dell'ordine viene indicata nel parametro di uscita "CommandAborted" per un
solo ciclo di esecuzione se sono soddisfatte tutte le seguenti condizioni:
I parametri di ingresso "JogForward" e "JogBackward" sono falsi (ma l'asse sta ancora
rallentando) e viene avviato un nuovo ordine di controllo del movimento.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 521
Istruzioni di tecnologia
9.3 Controllo del movimento

Tabella 9- 77 Esempio 3 - In caso di errore durante l'esecuzione dell'ordine

JogForward JogBackward

① L'ordine viene avviato con un fronte di salita nel parametro di ingresso "JogForward" o "JogBackward".
② Finché l'ordine è attivo il parametro di uscita "Busy" è vero.
③ Si è verificato un errore durante l'esecuzione dell'ordine. Quando si verifica l'errore, il parametro di uscita "Busy"
diventa falso e "Error" vero.
④ Quando il parametro di ingresso "JogForward" o "JogBackward" viene resettato su falso, il parametro di uscita "Error"
diventa falso.

Nota
La presenza di un errore viene indicata nel parametro di uscita "Error" per un solo ciclo di
esecuzione se sono soddisfatte tutte le seguenti condizioni:
I parametri di ingresso "JogForward" e "JogBackward" sono falsi (ma l'asse sta ancora
rallentando) e si verifica un nuovo errore (finecorsa software raggiunto, ad esempio).

Sistema di automazione S7-1200


522 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione 10
L'S7-1200 offre diversi tipi di comunicazione tra le CPU e i dispositivi di programmazione, gli
HMI e le altre CPU:

AVVERTENZA
Se un attaccante riesce ad accedere fisicamente alle reti ha la possibilità di leggere e
scrivere i dati.
Il TIA Portal, la CPU e le HMI (tranne le HMI che utilizzano GET/PUT) utilizzano la
comunicazione sicura che protegge dagli attacchi "replay" e "man-in-the-middle". Una volta
attivata la comunicazione i messaggi firmati vengono scambiati con testo in chiaro per cui
l'attaccante ha la possibilità di leggere i dati, ma non di scriverli. Il TIA Portal (non il
processo di comunicazione) codifica i dati dei blocchi con protezione del know-how.
Tutti gli altri tipi di comunicazione (scambio di I/O tramite PROFIBUS, PROFINET, AS-i o
altri moduli di bus I/O, GET/PUT, T-Block e di comunicazione (CM) non dispongono di
funzioni di sicurezza. In questi casi per proteggere la comunicazione si deve limitare
l'accesso fisico. Se un attaccante riesce ad accedere fisicamente alle reti utilizzando questi
tipi di comunicazione ha la possibilità di leggere e scrivere i dati.
Per informazioni e consigli sulla sicurezza consultare il documento "Operational Guidelines
for Industrial Security" (http://www.industry.siemens.com/topics/global/en/industrial-
security/Documents/operational_guidelines_industrial_security_en.pdf) nella pagina Web
Siemens Service & Support:

PROFINET
PROFINET è utilizzato per lo scambio di dati dal programma utente con altri partner di
comunicazione mediante Ethernet:
● PROFINET supporta 16 IO Device con max. 256 sottomoduli. PROFIBUS consente 3
master PROFIBUS DP indipendenti che supportano 32 slave per master DP con max.
512 moduli ciascuno.
● Comunicazione S7
● Protocollo UDP (User Datagram Protocol)
● ISO on TCP (RFC 1006)
● Protocollo TCP (Transport Control Protocol)

IO Controller con PROFINET RT


La CPU quale IO Controller che utilizza PROFINET RT comunica con un massimo di 16
dispositivi PN nella rete PN locale o tramite un PN/PN coupler (collegamento). Per maggiori
informazioni vedere PROFIBUS e PROFINET International, PI (www.profinet.com).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 523
Comunicazione

PROFIBUS
PROFIBUS è utilizzato per lo scambio di dati dal programma utente con altri partner di
comunicazione mediante rete PROFIBUS:
● Con il CM 1242-5 la CPU funziona come uno slave PROFIBUS DP.
● Con il CM 1243-5 la CPU funziona come un master PROFIBUS DP class1.
● Gli slave PROFIBUS DP, i master PROFIBUS DP e AS-i (i 3 moduli di comunicazione
sulla sinistra) e PROFINET sono reti di comunicazione separate che non si limitano
reciprocamente.

AS-i
Il modulo master AS-i CM 1243-2 S7-1200 consente di collegare una rete AS-i a una CPU
S7-1200.

Comunicazione da CPU a CPU S7


È possibile creare una comunicazione con una stazione partner e utilizzare le istruzioni GET
e PUT per comunicare con le CPU S7.

Comunicazione Teleservice
In TeleService tramite GPRS, una engineering station su cui è installato STEP 7 comunica
tramite la rete GSM e Internet con una stazione SIMATIC S7-1200 con un CP 1242-7. La
connessione avviene tramite un server di telecontrollo che funge da intermediario ed è
collegato ad Internet.

IO-Link
Il master S7-1200 SM 1278 4xIO-Link consente ai dispositivi IO-Link di collegarsi con
un'S7 1200 CPU.

Sistema di automazione S7-1200


524 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.1 Numero di collegamenti di comunicazione asincroni supportati

10.1 Numero di collegamenti di comunicazione asincroni supportati


La CPU supporta al massimo il seguente numero di collegamenti di comunicazione asincroni
paralleli per PROFINET e PROFIBUS:
● 8 collegamenti per Open User Communication (attivi o passivi): TSEND_C, TRCV_C,
TCON, TDISCON, TSEND e TRCV.
● 3 collegamenti da CPU a CPU S7 per i dati GET/PUT del server
● 8 collegamenti da CPU a CPU S7 per i dati GET/PUT del client

Nota
Per la comunicazione tra CPU S7, le CPU S7-1200, S7-300 e S7-400 utilizzano le
istruzioni GET e PUT. Per comunicare con altre CPU S7 la CPU S7-200 utilizza le
istruzioni ETHx_XFER.

● Collegamenti HMI: il numero di collegamenti HMI necessari per l'applicazione è


configurabile con il TIA Portal.
● Collegamenti PG: la CPU dispone di collegamenti che supportano 1 dispositivo di
programmazione (PG).
● Collegamenti per Web server (HTTP): la CPU dispone di collegamenti per il Web server.

Nota
I collegamenti di comunicazione OUC, per l'S7, l'HMI, il dispositivo di programmazione e il
Web server (HTTP) possono utilizzare più risorse di collegamento a seconda delle funzioni
attualmente in uso.

10.2 PROFINET

10.2.1 Collegamento locale/partner


Un collegamento locale / partner (remoto) definisce un'assegnazione logica di due partner di
comunicazione per stabilire servizi di comunicazione. Un collegamento presuppone quanto
segue:
● Partner di comunicazione coinvolti (uno attivo e uno passivo)
● Il tipo di collegamento (ad es. a un PLC, HMI o dispositivo)
● Il percorso del collegamento

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 525
Comunicazione
10.2 PROFINET

I partner di comunicazione eseguono le istruzioni per impostare e stabilire il collegamento. I


parametri consentono di specificare i partner attivi e passivi del punto finale della
comunicazione. Una volta impostato e stabilito, il collegamento viene mantenuto e
controllato automaticamente dalla CPU. Per maggiori informazioni sulla configurazione dei
parametri del collegamento vedere il paragrafo "Configurazione del percorso di collegamento
locale/partner" (Pagina 154).
Se il collegamento termina (ad es. in seguito a un'interruzione della linea) il partner attivo
cerca di ristabilirlo. Non è necessario eseguire nuovamente l'istruzione di comunicazione.
La CPU può comunicare con altre CPU, dispositivi di programmazione, dispositivi HMI e
dispositivi non Siemens mediante i protocolli di comunicazione TCP standard.

Dispositivo di programmazione collegato


alla CPU

HMI collegato alla CPU

Una CPU collegata a un'altra CPU

Sistema di automazione S7-1200


526 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

Commutazione Ethernet
La porta PROFINET delle CPU 1211C, 1212C e 1214C non contiene un dispositivo di
commutazione Ethernet. Un collegamento diretto tra un dispositivo di programmazione o un
HMI e una CPU non richiede uno switch Ethernet che è invece indispensabile per una rete
con più di due CPU o dispositivi HMI.

① CPU 1215C

② Switch Ethernet
CSM1277

Le CPU 1215C e 1217C dispongono di uno switch Ethernet integrato a due porte. Si può
avere una rete con una CPU 1215C e altre due CPU S7-1200. Per collegare più CPU e
dispositivi HMI è inoltre possibile utilizzare uno switch Ethernet a 4 porte CSM1277 montato
su telaio.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 527
Comunicazione
10.2 PROFINET

10.2.2 Open User Communication

10.2.2.1 ID di collegamento per le istruzioni OUC


Quando si inseriscono le istruzioni PROFINET TSEND_C, TRCV_C o TCON nel programma
utente, STEP 7 crea un DB di istanza per configurare il canale delle comunicazioni (o
collegamento) tra i dispositivi. Per configurare i parametri del collegamento utilizzare le
"Proprietà" dell'istruzione. Tra i parametri figura l'ID del collegamento.
● L'ID del collegamento deve essere univoco per la CPU. Ogni collegamento creato deve
avere un diverso DB e ID di collegamento.
● La CPU locale e quella partner possono (ma non devono obbligatoriamente) utilizzare lo
stesso numero di ID per lo stesso collegamento. Questo ID è rilevante solo per le
istruzioni PROFINET all'interno del programma utente della CPU.
● Per l'ID di collegamento della CPU è consentito utilizzare qualsiasi numero. Tuttavia se si
configurano gli ID di collegamento in successione partendo da "1" risulta facile rilevare il
numero dei collegamenti utilizzati per una determinata CPU.

Nota
Ogni istruzione TSEND_C, TRCV_C o TCON nel programma utente crea un nuovo
collegamento. È importante utilizzare per ogni collegamento l'ID corretto.

Sistema di automazione S7-1200


528 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

L'esempio seguente mostra la comunicazione tra due CPU che utilizzano 2 collegamenti
separati per inviare e ricevere i dati.
● L'istruzione TSEND_C nella CPU_1 collega all'istruzione TRCV_C nella CPU_2 tramite il
primo collegamento ("ID di collegamento 1" su entrambe CPU, la CPU_1 e la CPU_2).
● L'istruzione TRCV_C nella CPU_1 collega all'istruzione TSEND_C nella CPU_2 tramite il
secondo collegamento ("ID di collegamento 2" su entrambe CPU, la CPU_1 e la CPU_2).

① TSEND_C sulla CPU_1 crea un


collegamento al quale assegna un ID
(ID di collegamento 1 per la CPU_1).
② TRCV_C sulla CPU_2 crea il
collegamento per la CPU_2 al quale
assegna un ID (ID di collegamento 1
per la CPU_2).
③ TRCV_C sulla CPU_1 crea un
secondo collegamento per CPU_1, al
quale assegna un diverso ID (ID di
collegamento 2 per la CPU_1).
④ TSEND_C sulla CPU_2 crea un
secondo collegamento al quale
assegna un diverso ID (ID di
collegamento 2 per la CPU_2).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 529
Comunicazione
10.2 PROFINET

L'esempio seguente mostra la comunicazione tra due CPU che utilizzano uno stesso
collegamento per inviare e ricevere i dati.
● Ogni CPU utilizza un'istruzione TCON per configurare il collegamento tra due CPU.
● L'istruzione TSEND nella CPU_1 collega all'istruzione TRCV nella CPU_2 tramite l'ID del
collegamento ("ID di collegamento 1") configurato con l'istruzione TCON nella CPU_1.
L'istruzione TRCV nella CPU_2 collega all'istruzione TSEND nella CPU_1 tramite l'ID del
collegamento ("ID di collegamento 1") configurato con l'istruzione TCON nella CPU_2.
● L'istruzione TSEND nella CPU_2 collega all'istruzione TRCV nella CPU_1 tramite l'ID del
collegamento ("ID di collegamento 1") configurato con l'istruzione TCON nella CPU_2.
L'istruzione TRCV nella CPU_1 collega all'istruzione TSEND nella CPU_2 tramite l'ID del
collegamento ("ID di collegamento 1") configurato con l'istruzione TCON nella CPU_1.

① TCON sulla CPU_1 crea un


collegamento al quale assegna un ID
sulla CPU_1 (ID=1).
② TCON sulla CPU_2 crea un
collegamento al quale assegna un ID
sulla CPU_2 (ID=1).
③ TSEND e TRCV sulla CPU_1
utilizzano l'ID di collegamento creato
con l'istruzione TCON sulla CPU_1
(ID=1).
TSEND e TRCV sulla CPU_2
utilizzano l'ID di collegamento creato
con l'istruzione TCON sulla CPU_2
(ID=1).

Sistema di automazione S7-1200


530 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

Come illustrato nell'esempio seguente è anche possibile utilizzare una singola istruzione
TSEND e TRCV per comunicare mediante un collegamento creato con un'istruzione
TSEND_C o TRCV_C. Le istruzioni TSEND e TRCV non creano un nuovo collegamento, è
quindi necessario utilizzare il DB e l'ID di collegamento creato con un'istruzione TSEND_C,
TRCV_C o TCON.

① TSEND_C sulla CPU_1 crea un


collegamento al quale assegna un ID
(ID=1).
② TRCV_C sulla CPU_2 crea un
collegamento al quale assegna un ID
sulla CPU_2 (ID=1).
③ TSEND e TRCV sulla CPU_1
utilizzano l'ID di collegamento creato
con l'istruzione TSEND_C sulla
CPU_1 (ID=1).
TSEND e TRCV sulla CPU_2
utilizzano l'ID di collegamento creato
con l'istruzione TRCV_C sulla CPU_2
(ID=1).

Vedere anche
Configurazione del percorso di collegamento locale/partner (Pagina 154)

10.2.2.2 Protocolli
La porta PROFINET integrata della CPU supporta vari standard di comunicazione tramite
rete Ethernet:
● Protocollo TCP (Transport Control Protocol)
● ISO on TCP (RFC 1006)
● UDP (User Datagram Protocol)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 531
Comunicazione
10.2 PROFINET

Tabella 10- 1 Protocolli e relative istruzioni di comunicazione

Protocollo Esempi di utilizzo Immissione dei dati Istruzioni di Tipo di indirizzamento


nell'area di ricezione comunicazione
TCP Comunicazione da Modo Ad hoc Solo TRCV_C e TRCV Assegna numeri di porta
CPU a CPU Ricezione di dati con TSEND_C, TRCV_C, ai dispositivi locali (attivi)
Trasporto di frame lunghezza specificata TCON, TDISCON, e partner (passivi)
TSEND e TRCV
ISO on TCP Comunicazione da Modo Ad hoc Solo TRCV_C e TRCV Assegna TSAP ai
CPU a CPU Comandata da TSEND_C, TRCV_C, dispositivi locali (attivi) e
Frammentazione e protocollo TCON, TDISCON, partner (passivi)
ricomposizione dei TSEND e TRCV
messaggi
UDP Comunicazione da User Datagram Protocol TUSEND e TURCV Assegna numeri di porta
CPU a CPU ai dispositivi locali (attivi)
Comunicazioni del e partner (passivi) ma
programma utente non è un collegamento
dedicato
Comunicazione S7 Comunicazione da Trasmissione e ricezione GET e PUT Assegna TSAP ai
CPU a CPU di dati con lunghezza dispositivi locali (attivi) e
Lettura/scrittura di specificata partner (passivi)
dati da/in una CPU
PROFINET RT Comunicazione da Trasmissione e ricezione Integrato Integrato
CPU a PROFINET IO di dati con lunghezza
Device specificata

10.2.2.3 Modo Ad hoc


I protocolli standard TCP e ISO on TCP ricevono pacchetti di dati con una lunghezza
specifica compresa tra 1 e 8192 byte. Le istruzioni di comunicazione TRCV_C e TRCV
mettono invece a disposizione il modo di comunicazione "Ad hoc" che consente di ricevere
pacchetti di dati di lunghezza variabile compresa tra 1 e 1472 byte.

Nota
Se si salvano i dati in un DB "ottimizzato" (solo simbolico), si possono ricevere solo dati in
array dei tipi di dati Byte, Char, USInt e SInt.

Per configurare l'istruzione TRCV_C o TRCV per il modo Ad hoc, impostarne il parametro di
ingresso ADHOC.
Se non si richiama spesso l'istruzione TRCV_C o TRCV nel modo Ad hoc, è possibile
ricevere più di un pacchetto in un unico richiamo. Ad esempio: Ponendo che si debbano
ricevere cinque pacchetti di 100 byte in un richiamo, TCP li trasmetterebbe in un unico
pacchetto di 500 byte mentre ISO on TCP li ristrutturerebbe in pacchetti di 100 byte.

Sistema di automazione S7-1200


532 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

10.2.2.4 TCP e ISO on TCP


TCP (Transport Control Protocol) è un protocollo standard descritto dall'RFC 793, per la
precisione un protocollo di controllo di trasmissione. Lo scopo principale del TCP è fornire un
servizio di collegamento sicuro e affidabile tra coppie di processi. Il protocollo ha le seguenti
caratteristiche:
● Efficiente protocollo di comunicazione essendo strettamente collegato all'hardware
● Idoneo per il trasferimento di quantità di dati medio-grandi (fino a 8192 byte)
● Assicura maggiore efficienza a livello applicativo, in particolare correzione degli errori,
controllo del flusso e affidabilità
● Protocollo orientato al collegamento
● Garantisce la massima flessibilità di utilizzo con sistemi di altri produttori che supportano
esclusivamente il TCP
● Supporta la funzione di routing
● Sono ammesse solo lunghezze di dati statiche
● Conferma della ricezione dei messaggi
● Indirizzamento delle applicazioni tramite i numeri delle porte
● La maggior parte dei protocolli delle applicazioni utente, quali TELNET e FTP, utilizzano
TCP.
● L'interfaccia di programmazione SEND / RECEIVE richiede determinate operazioni di
programmazione per la gestione dei dati.
ISO on TCP (International Standards Organization on Transport Control Protocol) (RFC
1006) è un meccanismo che permette di trasferire le applicazioni ISO sulla rete TCP/IP. Il
protocollo ha le seguenti caratteristiche:
● Efficiente protocollo di comunicazione strettamente collegato all'hardware
● Idoneo per il trasferimento di quantità di dati medio-grandi (fino a 8192 byte)
● Contrariamente a quanto accade con il TCP, i messaggi sono caratterizzati da un
identificativo di fine dati e sono orientati al messaggio.
● Supporta la funzione di routing; è utilizzabile nelle WAN
● Sono ammesse lunghezze di dati dinamiche.
● L'interfaccia di programmazione SEND / RECEIVE richiede determinate operazioni di
programmazione per la gestione dei dati.
Grazie all'utilizzo dei punti di accesso TSAP (Transport Service Access Point), il protocollo
TCP consente collegamenti multipli a un unico indirizzo IP (collegamenti fino a 64 K). Con
RFC 1006, i TSAP identificano in modo univoco i collegamenti di questi punti finali di
comunicazione ad un indirizzo IP.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 533
Comunicazione
10.2 PROFINET

10.2.2.5 Istruzioni TSEND_C e TRCV_C (Invia e ricevi dati tramite Ethernet)


L'istruzione TSEND_C riunisce le funzioni delle istruzioni TCON, TDISCON e TSEND .
L'istruzione TRCV_C riunisce le funzioni delle istruzioni TCON, TDISCON e TRCV. (Per
maggiori informazioni su queste istruzioni vedere "Istruzioni TCON, TDISCON, TSEND e
TRCV (comunicazione TCP) (Pagina 541)"
La quantità minima di dati che possono essere trasmessi (TSEND_C) o ricevuti (TRCV_C) è
di un byte; la quantità massima è pari a 8192 byte. TSEND_C non supporta la trasmissione
dei dati da o verso indirizzi booleani e TRCV_C non riceve dati in indirizzi booleani. Per
informazioni sul trasferimento dei dati mediante queste istruzioni consultare il paragrafo sulla
coerenza dei dati (Pagina 183).

Nota
Inizializzazione dei parametri di comunicazione
Dopo aver inserito l'istruzione TSEND_C o TRCV_C utilizzare le "Proprietà" dell'istruzione
(Pagina 154) per configurare i parametri (Pagina 156) di comunicazione. Man mano che si
inseriscono i parametri dei parner di comunicazione nella finestra di ispezione STEP 7
inserisce i dati corrispondenti nel DB dell'istruzione.
Se si utilizza un DB di multiistanza il DB va configurato manualmente in entrambe le CPU.

Sistema di automazione S7-1200


534 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

Tabella 10- 2 Istruzioni TSEND_C e TRCV_C

KOP / FUP SCL Descrizione


"TSEND_C_DB"( TSEND_C stabilisce un collegamento di
req:=_bool_in_, comunicazione TCP o ISO on TCP con una
cont:=_bool_in_, stazione partner, trasmette i dati e può
len:=_uint_in_, concludere il collegamento. Una volta impostato
done=>_bool_out_, e stabilito, il collegamento viene mantenuto e
busy=>_bool_out_, controllato automaticamente dalla CPU.
error=>_bool_out_,
status=>_word_out_,
connect:=_struct_inout_,
data:=_variant_inout_,
com_rst:=_bool_inout_);
"TRCV_C_DB"( TRCV_C stabilisce un collegamento TCP o ISO
en_r:=_bool_in_, on TCP con una CPU partner, riceve i dati e può
cont:=_bool_in_, concludere il collegamento. Una volta impostato
len:=_uint_in_, e stabilito, il collegamento viene mantenuto e
adhoc:=_bool_in_, controllato automaticamente dalla CPU.
done=>_bool_out_,
busy=>_bool_out_,
error=>_bool_out_,
status=>_word_out_,
rcvd_len=>_uint_out_,
connect:=_struct_inout_,
data:=_variant_inout_,
com_rst:=_bool_inout_);
1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.

Tabella 10- 3 Tipi di dati TSEND_C e TRCV_C per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool In seguito a un fronte di salita il parametro di comando REQ
(TSEND_C) avvia l'ordine di trasmissione attraverso il collegamento indicato
in CONNECT.
EN_R IN Bool Parametro di comando abilitato alla ricezione: se EN_R = 1,
(TRCV_C) TRCV_C è pronta a ricevere. L'ordine di ricezione è in corso di
elaborazione.
CONT IN Bool • 0: scollegare
• 1: stabilire e mantenere il collegamento
LEN IN UInt Numero massimo di byte da trasmettere (TSEND_C) o da
ricevere (TRCV_C):
• Default = 0: il parametro DATA determina la lunghezza dei
dati da trasmettere (TSEND_C) o da ricevere (TRCV_C).
• Modo Ad hoc = 65535: una lunghezza variabile di dati è
impostata per la ricezione (TRCV_C).
CONNECT IN_OUT TCON_Param Puntatore alla descrizione del collegamento (Pagina 156)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 535
Comunicazione
10.2 PROFINET

Parametro e tipo Tipo di dati Descrizione


DATA IN_OUT Variant • Contiene l'indirizzo e la lunghezza dei dati da trasmettere
(TSEND_C)
• Contiene l'indirizzo iniziale e la lunghezza massima dei dati
ricevuti (TRCV_C).
COM_RST IN_OUT Bool Consente il riavvio dell'istruzione:
• 0: non rilevante
• 1: riavvio del blocco funzionale completato, il collegamento
esistente viene concluso.
DONE OUT Bool • 0: ordine non ancora avviato o ancora in corso.
• 1: ordine concluso senza errori.
BUSY OUT Bool • 0: ordine concluso.
• 1: ordine non ancora concluso. Non è possibile riavviarne
uno nuovo.
ERROR OUT Bool Parametri di stato con i seguenti valori:
• 0: nessun errore
• 1: si è verificato un errore durante l'elaborazione. STATUS
fornisce informazioni dettagliate sul tipo di errore.
STATUS OUT Word Informazioni di stato incluse informazioni di errore. (Vedere i
"Parametri Error e Status" nella tabella sottostante.)
RCVD_LEN OUT Int Quantità di dati effettivamente ricevuti espressa in byte
(TRCV_C)

Nota
Per avviare un ordine di trasmissione, l'istruzione TSEND_C richiede una commutazione da
low a high nel parametro di ingresso REQ. Durante l'elaborazione il parametro BUSY viene
impostato a 1. La conclusione dell'ordine è segnalata dall'impostazione a 1 dei parametri
DONE o ERROR per un ciclo. Durante questo periodo le eventuali commutazioni low - high
nel parametro di ingresso REQ vengono ignorate.

Nota
L'impostazione di default del parametro LEN (LEN = 0) utilizza il parametro DATA per
determinare la lunghezza dei dati trasmessi. Il parametro DATA trasmesso con l'istruzione
TSEND_C deve avere le stesse dimensioni del parametro DATA dell'istruzione TRCV_C.

Sistema di automazione S7-1200


536 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

Funzionamento dell'istruzione TSEND_C


Le seguenti funzioni descrivono il funzionamento dell'istruzione TSEND_C:
● Per stabilire un collegamento eseguire TSEND_C impostando CONT = 1.
● Dopo che il collegamento è stato stabilito TSEND_C imposta il parametro DONE per un
ciclo.
● Per concludere il collegamento eseguire TSEND_C impostando CONT = 0. Il
collegamento viene interrotto immediatamente anche nella stazione ricevente. Il
collegamento si interrompe in quel punto e i dati eventualmente presenti nel buffer di
ricezione vengono cancellati.
● Per trasmettere i dati attraverso un collegamento attivo eseguire TSEND_C con un fronte
di salita in REQ. Al termine della trasmissione, se non si verificano errori, TSEND_C
imposta il parametro DONE per un ciclo.
● Per stabilire un collegamento e trasmettere i dati, eseguire TSEND_C impostando CONT
=1 e REQ = 1. Al termine della trasmissione, se non si verificano errori, TSEND_C
imposta il parametro DONE per un ciclo.

Funzionamento dell'istruzione TRCV_C


Le seguenti funzioni descrivono il funzionamento dell'istruzione TRCV_C:
● Per stabilire un collegamento eseguire TRCV_C impostando il parametro CONT = 1.
● Per ricevere i dati eseguire TRCV_C impostando il parametro EN_R = 1. TRCV_C riceve i
dati ininterrottamente se il parametro EN_R = 1 e il parametro CONT = 1.
● Per concludere il collegamento eseguire TRCV_C impostando il parametro CONT = 0. Il
collegamento viene interrotto immediatamente e i dati eventualmente presenti potrebbero
andare persi.
TRCV_C gestisce gli stessi modi di ricezione dell'istruzione TRCV. La seguente tabella
mostra come vengono immessi i dati nell'area di ricezione:

Tabella 10- 4 Immissione dei dati nell'area di ricezione

Tipo di Immissione dei dati Parametro Valore del parametro LEN Valore del parametro
protocollo nell'area di ricezione "connection_type" RCVD_LEN (byte)
TCP Modo Ad hoc B#16#11 65535 Da 1 a 1472
TCP Ricezione di dati con B#16#11 0 (consigliato) o da 1 a 8192, da 1 a 8192
lunghezza specificata tranne 65535
ISO on TCP Modo Ad hoc B#16#12 65535 da 1 a 1472
ISO on TCP Comandata da B#16#12 0 (consigliato) o da 1 a 8192, da 1 a 8192
protocollo tranne 65535

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 537
Comunicazione
10.2 PROFINET

Nota
Modo Ad hoc
Il "modo Ad hoc" è disponibile solo nei tipi di protocollo TCP e ISO on TCP e può essere
impostato assegnando "65535" al parametro LEN. L'area di ricezione è identica a quella
formata da DATA. La lunghezza dei dati ricevuti verrà visualizzata nel parametro
RCVD_LEN.
Se si salvano i dati in un DB "ottimizzato" (solo simbolico), si possono ricevere solo dati in
array dei tipi di dati Byte, Char, USInt e SInt.

Nota
Importazione di progetti STEP 7 S7-300/400 contenenti il "modo Ad hoc" nell'S7-1200
Nei progetti STEP 7 S7-300/400 il "modo Ad hoc" viene selezionato assegnando "0" al
parametro LEN. Nell'S7-1200 invece, viene impostato assegnando "65535" al parametro
LEN.
Se si importa nell'S7-1200 un progetto STEP 7 S7-300/400 contenente il "modo Ad hoc" è
necessario modificare il parametro LEN in "65535".

Nota
È necessario mantenere coerenti i dati dell'area di trasmissione finché il parametro DONE o
ERROR non assume il valore "vero".
Poiché TSEND_C viene elaborata in modo asincrono è necessario mantenere coerenti i dati
dell'area di trasmissione finché il parametro DONE o ERROR non assume il valore "vero".
Nel caso di TSEND_C, lo stato "vero" del parametro DONE significa che i dati sono stati
trasmessi correttamente. Non significa che la CPU partner del collegamento ha
effettivamente letto il buffer di ricezione.
Poiché TRCV_C viene elaborata in modo asincrono, i dati nell'area di ricezione sono
coerenti solo se il parametro DONE = 1.

Tabella 10- 5 Istruzioni TSEND_C e TRCV_C , parametri BUSY, DONE e ERROR

BUSY DONE ERROR Descrizione


Vero Non rilevante Non rilevante L'ordine è in corso di elaborazione.
Falso Vero Falso L'ordine è stato concluso correttamente.
Falso Falso Vero L'ordine si è concluso con un errore la cui causa è indicata nel
parametro STATUS.
Falso Falso Falso Non sono stati assegnati nuovi ordini.

Sistema di automazione S7-1200


538 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

Codici delle condizioni per TSEND_C, TRCV_C Error e Status

ERROR STATUS Descrizione


0 0000 ordine eseguito senza errori
0 7000 Nessun ordine in corso di elaborazione
0 7001 Avvio dell'elaborazione dell'ordine, attivazione del collegamento, in attesa del partner
del collegamento
0 7002 I dati vengono trasmessi o ricevuti
0 7003 Il collegamento viene concluso
0 7004 Collegamento stabilito e controllato, nessun ordine in corso di elaborazione
1 8085 Il parametro LEN è maggiore del valore massimo ammesso.
1 8086 Il parametro CONNECT non è compreso entro il campo ammesso.
1 8087 È stato raggiunto il numero massimo di collegamenti, non è possibile aggiungerne altri.
1 8088 Il parametro LEN non è valido per l'area di memoria specificata in DATA.
1 8089 Il parametro CONNECT non indica un blocco dati.
1 8091 Profondità massima di annidamento superata.
1 809A Il parametro CONNECT indica un campo che non rispetta la lunghezza della
descrizione del collegamento.
1 809B Il local_device_id nella descrizione del collegamento non corrisponde alla CPU.
1 80A1 Errore di comunicazione:
• Il collegamento specificato non è ancora stato stabilito
• Il collegamento specificato viene concluso e non può essere utilizzato per la
trasmissione
• L'interfaccia viene reinizializzata.
1 80A3 È in corso il tentativo di concludere un collegamento inesistente
1 80A4 L'indirizzo IP del collegamento con il partner remoto non è valido. A es., l'indirizzo IP del
partner remoto è uguale all'indirizzo IP del partner locale.
1 80A5 L'ID del collegamento (Pagina 528) è già stato utilizzato.
1 80A7 Errore di comunicazione: TDISCON è stata richiamata prima della fine di TSEND_C.
1 80B2 Il parametro CONNECT indica un blocco dati generato con la parola chiave UNLINKED.
1 80B3 Parametri incoerenti:
• Errore nella descrizione del collegamento
• Porta locale (parametro local_tsap_id) già presente in un'altra descrizione del
collegamento
• ID nella descrizione del collegamento diverso da quello specificato come parametro

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 539
Comunicazione
10.2 PROFINET

ERROR STATUS Descrizione


1 80B4 Utilizzando ISO on TCP (tipo_collegamento = B#16#12) per stabilire un collegamento
passivo, il codice della condizione di errore 80B4 segnala che il TSAP immesso non è
conforme a uno dei seguenti requisiti di indirizzamento:
• Se per il primo byte la lunghezza del TSAP locale è pari a 2 e il valore di ID del
TSAP è pari a E0 o E1 (esadecimale), il secondo byte deve essere 00 o 01.
• Se per il primo byte la lunghezza del TSAP locale è pari a 3 o maggiore e il valore di
ID del TSAP è pari a E0 o E1 (esadecimale), il secondo byte deve essere 00 o 01 e
tutti gli altri byte devono essere caratteri ASCII validi.
• Se la lunghezza del TSAP locale è pari a 3 o maggiore e il primo byte dell'ID del
TSAP non ha un valore pari a E0 o E1 (esadecimale), tutti gli altri byte dell'ID del
TSAP devono essere caratteri ASCII validi.
I caratteri ASCII validi sono valori di byte da 20 a 7E (esadecimale).
1 80B7 Il tipo di dati e/o la lunghezza dei dati trasmessi non rientrano nell'area della CPU
partner in cui devono essere scritti.
1 80C3 Tutte le risorse di collegamento sono state utilizzate.
1 80C4 Errore di comunicazione temporaneo:
• non è possibile stabilire il collegamento ora
• L'interfaccia sta ricevendo nuovi parametri
• Il collegamento configurato viene eliminato mediante un'istruzione TDISCON.
1 8722 Parametro CONNECT: area di origine non valida: l'area non esiste nel DB.
1 873A Parametro CONNECT: l'accesso alla descrizione del collegamento non è possibile (ad
es. DB non disponibile)
1 877F Parametro CONNECT: errore interno, ad es. un riferimento ANY non valido.
1 893A Il parametro contiene il numero di un DB non caricato.

Collegamento tramite protocolli Ethernet


Ogni CPU ha una porta PROFINET integrata che supporta la comunicazione PROFINET
standard. Le istruzioni TSEND_C, TRCV_C, TSEND eTRCV supportano tutte i protocolli
Ethernet TCP e ISO on TCP.
Per maggiori informazioni consultare il paragrafo "Configurazione dei dispositivi:
Configurazione del percorso di collegamento locale/partner (Pagina 154)".

Sistema di automazione S7-1200


540 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

10.2.2.6 Istruzioni TCON, TDISCON, TSEND e TRCV (comunicazione TCP)

Comunicazione Ethernet mediante i protocolli TCP e ISO on TCP

Nota
Istruzioni TSEND_C e TRCV_C
Per aiutare a semplificare la programmazione della comunicazione PROFINET/Ethernet, le
istruzioni TSEND_C e TRCV_C combinano le funzioni delle istruzioni TCON, TDISCON.
TSEND e TRCV:
• TSEND_C combina le istruzioni TCON, TDISCON e TSEND.
• TRCV_C combina le istruzioni TCON, TDISCON e TRCV.

Le seguenti istruzioni comandano il processo di comunicazione:


● TCON stabilisce il collegamento TCP/IP tra il PC (CPU) client e server.
● TSEND e TRCV trasmettono e ricevono i dati.
● TDISCON interrompe il collegamento.
La dimensione minima dei dati trasmissibili (TSEND) o ricevibili (TRCV) è di un byte; la
dimensione massima è 8192 byte. TSEND non supporta la trasmissione dei dati dagli
indirizzi booleani e TRCV non riceve dati in indirizzi booleani. Per informazioni sul
trasferimento dei dati mediante queste istruzioni consultare il paragrafo sulla coerenza dei
dati (Pagina 183).
TCON, TDISCON, TSEND e TRCV funzionano in modo asincrono, per cui l'ordine viene
elaborato nel corso di più esecuzioni dell'istruzione. Si supponga, ad esempio, che si avvii
un ordine per impostare e stabilire un collegamento eseguendo un'istruzione TCON con il
parametro REQ = 1. Quindi si esegue TCON altre volte per controllare l'avanzamento
dell'ordine e verificare che si concluda con il parametro DONE.
La seguente tabella mostra come interagiscono i parametri BUSY, DONE e ERROR. La
tabella sotto riportata consente di determinare lo stato attuale dell'ordine:

Tabella 10- 6 Interazioni tra i parametri BUSY, DONE e ERROR

BUSY DONE ERROR Descrizione


Vero Non Non L'ordine è in corso di elaborazione.
rilevante rilevante
Falso Vero Falso L'ordine è stato concluso correttamente.
Falso Falso Vero L'ordine si è concluso con un errore la cui causa è indicata nel parametro
STATUS.
Falso Falso Falso Non sono stati assegnati nuovi ordini.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 541
Comunicazione
10.2 PROFINET

TCON e TDISCON

Nota
Inizializzazione dei parametri di comunicazione
Dopo aver inserito l'istruzione TCON utilizzare le "Proprietà" dell'istruzione (Pagina 154) per
configurare iparametri di comunicazione (Pagina 156). Man mano che si inseriscono i
parametri dei partner di comunicazione nella finestra di ispezione STEP 7 inserisce i dati
corrispondenti nel DB di istanza dell'istruzione.
Se si utilizza un DB di multiistanza il DB va configurato manualmente in entrambe le CPU.

Tabella 10- 7 Istruzioni TCON e TDISCON

KOP / FUP Descrizione


"TCON_DB"( TCP e ISO on TCP: TCON avvia un
req:=_bool_in_, collegamento dalla CPU a un partner di
ID:=_undef_in_, comunicazione.
done=>_bool_out_,
busy=>_bool_out_,
error=>_bool_out_,
status=>_word_out_,
connect:=_struct_inout_);
"TDISCON_DB"( TCP e ISO on TCP: TDISCON conclude un
req:=_bool_in_, collegamento dalla CPU a un partner di
ID:=_word_in_, comunicazione.
done=>_bool_out_,
busy=>_bool_out_,
error=>_bool_out_,
status=>_word_out_);

1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.

Tabella 10- 8 Tipi di dati per i parametri TCON e TDISCON

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool Il parametro di comando REQ avvia l'ordine stabilendo il
collegamento specificato dall'ID. L'ordine inizia in seguito a
un fronte di salita.
ID IN CONN_OUC (Word) Riferimento al collegamento da stabilire (TCON) o
concludere (TDISCON) con il partner remoto o tra il
programma utente e il livello di comunicazione del sistema
operativo. L'ID deve essere identico all'ID del parametro
associato indicato nella descrizione del collegamento
locale.
Campo di valori: W#16#0001 ... W#16#0FFF
CONNECT IN_OUT TCON_Param Puntatore alla descrizione del collegamento (Pagina 156)
(TCON)

Sistema di automazione S7-1200


542 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

Parametro e tipo Tipo di dati Descrizione


DONE OUT Bool • 0: ordine non ancora avviato o ancora in corso.
• 1: ordine concluso senza errori.
BUSY OUT Bool • 0: ordine concluso.
• 1: ordine non ancora concluso. Non è possibile
riavviarne uno nuovo.
ERROR OUT Bool Parametri di stato con i seguenti valori:
• 0: nessun errore
• 1: si è verificato un errore durante l'elaborazione.
STATUS fornisce informazioni dettagliate sul tipo di
errore.
STATUS OUT Word Informazioni di stato incluse informazioni di errore. (Vedere i
codici delle condizioni Error e Status nella tabella
seguente.)

Entrambi i partner di comunicazione eseguono l'istruzione TCON per impostare e stabilire il


collegamento. I parametri consentono di specificare i partner attivi e passivi del punto finale
della comunicazione. Una volta impostato e stabilito, il collegamento viene mantenuto e
controllato automaticamente dalla CPU.
Se il collegamento si conclude in seguito a un'interruzione della linea o a un'azione del
partner di comunicazione remoto, ad esempio, il partner attivo cerca di ristabilire il
collegamento configurato. Non è necessario eseguire nuovamente TCON.
Quando viene eseguita l'istruzione TDISCON o se la CPU è passata in STOP, il
collegamento in corso viene concluso e quello impostato viene eliminato. Per impostare e
ristabilire il collegamento è necessario eseguire nuovamente TCON.

Tabella 10- 9 Codici delle condizioni ERROR e STATUS per TCON e TDISCON

ERROR STATUS Descrizione


0 0000 Il collegamento è stato stabilito correttamente.
0 7000 Nessun ordine in corso di elaborazione
0 7001 Elaborazione dell'ordine iniziale, attivazione (TCON) o conclusione del collegamento
(TDISCON)
0 7002 Chiamata successiva automatica (REQ non rilevante), attivazione (TCON) o
conclusione del collegamento (TDISCON)
1 8086 Il parametro ID non rientra nel campo di indirizzi consentito.
1 8087 TCON: è stato raggiunto il numero massimo di collegamenti, non è possibile
aggiungerne altri.
1 809B TCON: il local_device_id nella descrizione del collegamento non corrisponde alla CPU.
1 80A1 TCON: il collegamento o la porta sono già occupati dall'utente.
1 80A2 TCON: la porta locale o remota è occupata dal sistema.
1 80A3 È in corso il tentativo di ristabilire un collegameno esistente (TCON) o di concluderne
uno inesistente (TDISCON).
1 80A4 TCON: l'indirizzo IP del punto finale del collegamento remoto non è valido; potrebbe
corrispondere all'indirizzo IP locale
1 80A5 TCON: l'ID del collegamento (Pagina 528) è già stato utilizzato.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 543
Comunicazione
10.2 PROFINET

ERROR STATUS Descrizione


1 80A7 TCON: errore di comunicazione: TDISCON è stata richiamata prima che TCON fosse
() terminata.TDISCON deve prima concludere completamente il collegamento a cui fa
riferimento l'ID.
1 80B4 TCON: utilizzando ISO on TCP (tipo_collegamento = B#16#12) per stabilire un
collegamento passivo, il codice della condizione di errore 80B4 segnala che il TSAP
immesso non è conforme a uno dei seguenti requisiti di indirizzamento:
• Se per il primo byte la lunghezza del TSAP locale è pari a 2 e il valore di ID del
TSAP è pari a E0 o E1 (esadecimale), il secondo byte deve essere 00 o 01.
• Se per il primo byte la lunghezza del TSAP locale è pari a 3 o maggiore e il valore di
ID del TSAP è pari a E0 o E1 (esadecimale), il secondo byte deve essere 00 o 01 e
tutti gli altri byte devono essere caratteri ASCII validi.
• Se la lunghezza del TSAP locale è pari a 3 o maggiore e il primo byte dell'ID del
TSAP non ha un valore pari a E0 o E1 (esadecimale), tutti gli altri byte dell'ID del
TSAP devono essere caratteri ASCII validi.
I caratteri ASCII validi sono valori di byte da 20 a 7E (esadecimale).
1 80B6 TCON: errore di assegnazione nel parametro connection_type
1 80B7 TCON: il tipo di dati e/o la lunghezza dei dati trasmessi non sono idonei per l'area della
CPU partner in cui devono essere scritti.
1) 80B8 TCON: il parametro nella descrizione del collegamento locale e l'ID del parametro sono
diversi.
1 80C3 TCON: tutte le risorse di collegamento sono state utilizzate.
1 80C4 Errore di comunicazione temporaneo:
• Non è possibile stabilire il collegamento in questo momento (TCON).
• Il collegamento configurato viene eliminato da TDISCON (TCON).
• Il collegamento viene stabilito (TDISCON).
• L'interfaccia sta ricevendo nuovi parametri (TCON e TDISCON).

TSEND e TRCV

Nota
Quando si utilizza la comunicazione Open User di PROFINET, se si esegue un'istruzione
TSEND senza che venga eseguita la corrispondente istruzione TRCV sul dispositivo remoto,
l'istruzione TSEND si può trovare a tempo indeterminato in uno "stato occupato" in attesa
che l'istruzione TRCV riceva i dati. In questo stato l'uscita "Busy" dell'istruzione TSEND è
impostata e l'uscita "Status" ha il valore "0x7002". Questa condizione può verificarsi se si
trasferiscono più di 4096 byte di dati. Il problema si risolve con la successiva esecuzione
dell'istruzione TRCV.

Sistema di automazione S7-1200


544 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

Tabella 10- 10 Istruzioni TSEND e TRCV

KOP / FUP SCL Descrizione


"TSEND_DB"( TCP e ISO on TCP: TSEND trasmette i dati
req:=_bool_in_, tramite un collegamento dalla CPU alla
ID:=_word_in_, stazione partner.
len:=_udint_in_,
done=>_bool_out_,
busy=>_bool_out_,
error=>_bool_out_,
status=>_word_out_,
data:=_variant_inout_);
"TRCV_DB"( TCP e ISO on TCP: TRCV riceve i dati tramite
en_r:=_bool_in_, un collegamento dalla stazione partner alla
ID:=_word_in_, CPU.
len:=_udint_in_,
ndr=>_bool_out_,
busy=>_bool_out_,
error=>_bool_out_,
status=>_word_out_,
rcvd_len=>_udint_out_,
data:=_variant_inout_);
1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.

Tabella 10- 11 Tipi di dati per i parametri TSEND e TRCV

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool TSEND: avvia l'ordine di trasmissione in seguito a un fronte di
salita. I dati vengono trasferiti dall'area specificata da DATA e
LEN.
EN_R IN Bool TRCV: abilita la CPU a ricevere; se EN_R = 1 TRCV è pronto a
ricevere. L'ordine di ricezione è in corso di elaborazione.
ID IN CONN_OUC Riferimento al collegamento associato. L'ID deve essere identico
(Word) all'ID del parametro associato indicato nella descrizione del
collegamento locale.
Campo di valori: W#16#0001 ... W#16#0FFF
LEN IN UInt Numero massimo di byte da trasmettere (TSEND) o da ricevere
(TRCV):
• Default = 0: il parametro DATA determina la lunghezza dei dati
da trasmettere (TSEND) o da ricevere (TRCV).
• Modo Ad hoc = 65535: una lunghezza variabile di dati è
impostata per la ricezione (TRCV).
DATA IN_OUT Variant Puntatore all'area dati di trasmissione (TSEND) o di ricezione
(TRCV); l'area dati contiene l'indirizzo e la lunghezza. L'indirizzo si
riferisce alla memoria I, Q, M o a un DB.
DONE OUT Bool TSEND:
• 0: ordine non ancora avviato o ancora in corso.
• 1: ordine eseguito senza errori.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 545
Comunicazione
10.2 PROFINET

Parametro e tipo Tipo di dati Descrizione


NDR OUT Bool TRCV:
• NDR = 0: ordine non ancora avviato o ancora in corso.
• NDR = 1: ordine concluso correttamente.
BUSY OUT Bool • BUSY = 1: ordine non ancora concluso. Non è possibile
riavviarne uno nuovo.
• BUSY = 0: ordine concluso.
ERROR OUT Bool ERROR = 1: si è verificato un errore durante l'elaborazione.
STATUS fornisce informazioni dettagliate sul tipo di errore.
STATUS OUT Word Informazioni di stato incluse informazioni di errore. (Vedere i codici
delle condizioni Error e Status nella tabella seguente.)
RCVD_LEN OUT Int TRCV: quantità di dati effettivamente ricevuti espressa in byte

Nota
Per avviare un ordine di trasmissione, l'istruzione TSEND richiede una commutazione da low
a high nel parametro di ingresso REQ. Durante l'elaborazione il parametro BUSY viene
impostato a 1. La conclusione dell'ordine è segnalata dall'impostazione a 1 dei parametri
DONE o ERROR per un ciclo. Durante questo periodo le eventuali commutazioni low - high
nel parametro di ingresso REQ vengono ignorate.

Funzionamento dell'istruzione TRCV


L'istruzione TRCV scrive i dati ricevuti in un'area di ricezione specificata dalle due seguenti
variabili:
● Puntatore all'inizio dell'area
● Lunghezza dell'area o valore presente nell'ingresso LEN se diverso da 0

Nota
L'impostazione di default del parametro LEN (LEN = 0) utilizza il parametro DATA per
determinare la lunghezza dei dati trasmessi. Il parametro DATA trasmesso con
l'istruzione TSEND deve avere le stesse dimensioni del parametro DATA dell'istruzione
TRCV.

Non appena vengono ricevuti tutti i dati dell'ordine, TRCV li trasferisce nell'area di ricezione
e imposta NDR a 1.

Sistema di automazione S7-1200


546 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

Tabella 10- 12 Immissione dei dati nell'area di ricezione

Tipo di Immissione dei dati Parametro Valore del parametro LEN Valore del parametro
protocollo nell'area di ricezione "connection_type" RCVD_LEN (byte)
TCP Modo Ad hoc B#16#11 65535 Da 1 a 1472
TCP Ricezione di dati con B#16#11 0 (consigliato) o da 1 a 8192, Da 1 a 8192
lunghezza specificata tranne 65535
ISO on TCP Modo Ad hoc B#16#12 65535 Da 1 a 1472
ISO on TCP Comandata da B#16#12 0 (consigliato) o da 1 a 8192, Da 1 a 8192
protocollo tranne 65535

Nota
Modo Ad hoc
Il "modo Ad hoc" è disponibile solo nei tipi di protocollo TCP e ISO on TCP e può essere
impostato assegnando "65535" al parametro LEN. L'area di ricezione è identica a quella
formata da DATA. La lunghezza dei dati ricevuti verrà visualizzata nel parametro
RCVD_LEN. Non appena riceve un blocco di dati, TRCV lo scrive nell'area di ricezione e
imposta NDR a 1.
Se si salvano i dati in un DB "ottimizzato" (solo simbolico), si possono ricevere solo dati in
array dei tipi di dati Byte, Char, USInt e SInt.

Nota
Importazione di progetti STEP 7 S7-300/400 contenenti il "modo Ad hoc" nell'S7-1200
Nei progetti STEP 7 S7-300/400 il "modo Ad hoc" viene selezionato assegnando "0" al
parametro LEN. Nell'S7-1200 invece, viene impostato assegnando "65535" al parametro
LEN.
Se si importa nell'S7-1200 un progetto STEP 7 S7-300/400 contenente il "modo Ad hoc" è
necessario modificare il parametro LEN in "65535".

Codici delle condizioni per TSEND , TRCV Error e Status

ERROR STATUS Descrizione


0 0000 • Ordine di trasmissione concluso senza errori (TSEND)
• Nuovi dati accettati. La lunghezza attuale dei dati ricevuti viene indicata in
RCVD_LEN (TRCV).
0 7000 • Nessun ordine in corso di elaborazione (TSEND)
• Blocco non pronto a ricevere (TRCV)
0 7001 • Avvio dell'elaborazione dell'ordine, i dati vengono trasmessi: durante l'elaborazione
il sistema operativo accede ai dati nell'area di trasmissione DATA (TSEND).
• Blocco pronto a ricevere, l'ordine di ricezione è stato attivato (TRCV).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 547
Comunicazione
10.2 PROFINET

ERROR STATUS Descrizione


0 7002 • Esecuzione dell'istruzione successiva automatica (REQ non rilevante), l'ordine è in
corso di elaborazione: durante l'elaborazione il sistema operativo accede ai dati
nell'area di trasmissione DATA (TSEND).
• Esecuzione dell'istruzione successiva automatica, l'ordine di ricezione è in corso di
elaborazione: durante l'elaborazione i dati vengono scritti nell'area di ricezione. Un
errore potrebbe quindi determinare dati incoerenti in tale area (TRCV).
1 8085 • Il parametro LEN è maggiore del valore massimo ammesso (TSEND eTRCV).
• Il parametro LEN o DATA è stato modificato dalla prima esecuzione dell'istruzione
(TRCV).
1 8086 Il parametro ID non rientra nel campo ammesso per gli indirizzi.
1 8088 Il parametro LEN è maggiore dell'area di memoria specificata in DATA.
1 80A1 Errore di comunicazione:
• Il collegamento specificato non è ancora stato stabilito (TSEND e TRCV).
• Il collegamento specificato viene concluso e non può essere utilizzato per eseguire
un ordine di trasmissione o ricezione (TSEND e TRCV).
• L'interfaccia viene reinizializzata (TSEND).
• L'interfaccia sta ricevendo nuovi parametri (TRCV).
1 80C3 Mancanza interna di risorse: un blocco con questo ID è già in corso di elaborazione in
una diversa classe di priorità.
1 80C4 Errore di comunicazione temporaneo:
• Non è possibile stabilire ora il collegamento con il partner di comunicazione.
• L'interfaccia sta ricevendo nuove impostazioni di parametri oppure il collegamento
viene stabilito.

Collegamento tramite protocolli Ethernet


Ogni CPU ha una porta PROFINET integrata che supporta la comunicazione PROFINET
standard. Le istruzioni TSEND_C, TRCV_C, TSEND e TRCV supportano tutte i protocolli
Ethernet TCP e ISO on TCP.
Per maggiori informazioni consultare il paragrafo "Configurazione dei dispositivi:
Configurazione del percorso di collegamento locale/partner (Pagina 154)".

Sistema di automazione S7-1200


548 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

10.2.2.7 UDP
UDP è un protocollo standard descritto dall'RFC 768: User Datagram Protocol. UDP mette a
disposizione di un'applicazione un meccanismo per inviare un datagramma ad un'altra;
tuttavia la consegna dei dati non è garantita. Il protocollo ha le seguenti caratteristiche:
● Un protocollo di comunicazione rapido perché è strettamento collegato all'hardware
● Idoneo per il trasferimento di quantità di dati piccolo-medie (fino a 1472 byte)
● UDP è un protocollo di controllo del trasporto più semplice del TCP ed ha un livello sottile
con meno overhead
● Può essere usato in modo molto flessibile con numerosi sistemi di terzi
● Supporta la funzione di routing
● Utilizza i numeri delle porte per indirizzare i datagrammi
● I messaggi non vengono confermati: L'applicazione si deve assumere la responsabilità di
correggere gli errori e garantire la sicurezza
● L'interfaccia di programmazione SEND / RECEIVE richiede determinate operazioni di
programmazione per la gestione dei dati
UDP supporta la comunicazione broadcast. Per poterla utilizzare si deve configurare la parte
dell'indirizzo IP di ADDR. Ad esempio: Una CPU con indirizzo IP 192.168.2.10 e maschera
di sottorete 255.255.255.0 utilizzerà l'indirizzo broadcast 192.168.2.255.

10.2.2.8 TUSEND e TURCV


Le seguenti istruzioni comandano il processo di comunicazione UDP:
● TCON stabilisce il collegamento tra il PC (CPU) client e server.
● TUSEND e TURCV trasmettono e ricevono i dati.
● TDISCON interrompe il collegamento tra il client e il server.
Per maggiori informazioni sulle istruzioni di comunicazione TCON e TDISCON vedere la
descrizione di TCON, TDISCON, TSEND e TRCV (Pagina 541) nel paragrafo "TCP e ISO on
TCP".

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 549
Comunicazione
10.2 PROFINET

Tabella 10- 13 Istruzioni TUSEND e TURCV

KOP / FUP SCL Descrizione


"TUSEND_DB"( L'istruzione TUSEND trasmette i dati tramite UDP
req:=_bool_in_, al partner remoto specificato dal parametro ADDR.
ID:=_word_in_, Per avviare l'ordine di trasmissione dei dati
len:=_udint_in_, richiamare l'istruzione TUSEND impostando il
done=>_bool_out_, parametro REQ = 1.
busy=>_bool_out_,
error=>_bool_out_,
status=>_word_out_,
data:=_variant_inout_);
"TURCV_DB"( L'istruzione TURCV riceve i dati tramite UDP. Il
en_r:=_bool_in_, parametro ADDR visualizza l'indirizzo del mittente.
ID:=_word_in_, Una volta eseguita correttamente l'istruzione
len:=_udint_in_, TURCV, il parametro ADDR contiene l'indirizzo del
ndr=>_bool_out_, partner remoto (il mittente).
busy=>_bool_out_, TURCV non supporta la modalità ad hoc.
error=>_bool_out_, Per avviare l'ordine di ricezione dei dati richiamare
status=>_word_out_, l'istruzione TURCV impostando il
rcvd_len=>_udint_out_, parametroEN_R = 1.
data:=_variant_inout_);
1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.

TCON, TDISCON, TUSEND e TURCV funzionano in modo asincrono, per cui l'ordine viene
elaborato nel corso di più esecuzioni dell'istruzione.

Tabella 10- 14 Tipi di dati TUSEND e TURCV per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool Avvia l'ordine di trasmissione in seguito a un fronte di salita. I
(TUSEND) dati vengono trasferiti dall'area specificata da DATA e LEN.
EN_R IN Bool • 0: la CPU non può ricevere.
(TURCV) • 1: abilita la CPU a ricevere. L'istruzione TURCV è pronta a
ricevere e l'ordine di ricezione è in corso di elaborazione.
ID IN Word Riferimento al collegamento associato tra il programma utente e
il livello di comunicazione del sistema operativo. L'ID deve
essere identico all'ID del parametro associato indicato nella
descrizione del collegamento locale.
Campo di valori: W#16#0001 ... W#16#0FFF.
LEN IN UDInt Numero di byte da trasmettere (TUSEND) o da ricevere
(TURCV).
• Default = 0. Il parametro DATA determina la lunghezza dei
dati da trasmettere o da ricevere.
• Altrimenti, campo di valori: Da 1 a 1472
DONE IN Bool Parametro di stato DONE (TUSEND):
(TUSEND) • 0: ordine non ancora avviato o ancora in corso.
• 1: ordine concluso senza errori.

Sistema di automazione S7-1200


550 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

Parametro e tipo Tipo di dati Descrizione


NDR OUT Bool Parametro di stato NDR (TURCV):
(TURCV) • 0: ordine non ancora avviato o ancora in corso.
• 1: ordine concluso correttamente.
BUSY OUT Bool • 1: ordine non ancora concluso. Non è possibile riavviarne
uno nuovo.
• 0: ordine concluso.
ERROR OUT Bool Parametri di stato con i seguenti valori:
• 0: nessun errore
• 1: si è verificato un errore durante l'elaborazione. STATUS
fornisce informazioni dettagliate sul tipo di errore.
STATUS OUT Word Informazioni di stato incluse informazioni di errore. (Vedere i
codici delle condizioni Error e Status nella tabella seguente.)
RCVD_LEN OUT UDInt Numero di byte ricevuti (TURCV)
DATA IN_OUT Variant Indirizzo dell'area di trasmissione (TUSEND) o di ricezione
(TURCV):
• Tabella dell'immagine di processo degli ingressi
• Tabella dell'immagine di processo delle uscite
• Un merker
• Un blocco dati
ADDR IN_OUT Variant Puntatore all'indirizzo del ricevente (per TUSEND) o mittente
(per TURCV) (ad esempio P#DB100.DBX0.0 byte 8). Il
puntatore può indicare qualsiasi area di memoria.
È richiesta una struttura di 8 byte come la seguente:
• I primi 4 byte contengono l'indirizzo IP remoto.
• I 2 byte successivi specificano il numero della porta remota.
• Gli ultimi 2 byte sono riservati.

Lo stato degli ordini è indicato nei parametri di uscita BUSY e STATUS. STATUS
corrisponde al parametro di uscita RET_VAL delle istruzioni che funzionano in modo
asincrono.
La seguente tabella mostra come interagiscono i parametri BUSY, DONE (TUSEND), NDR
(TURCV) e ERROR. Sulla base di questa tabella è possibile determinare lo stato attuale
dell'istruzione (TUSEND o TURCV) o quando il processo di tramissione/ricezione è
terminato.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 551
Comunicazione
10.2 PROFINET

Tabella 10- 15 Stato dei parametri BUSY, DONE (TUSEND) / NDR (TURCV) e ERROR

BUSY DONE / NDR ERROR Descrizione


Vero Non rilevante Non rilevante L'ordine è in corso di elaborazione.
Falso Vero Falso L'ordine è stato concluso correttamente.
Falso Falso Vero L'ordine si è concluso con un errore la cui causa è indicata nel
parametro STATUS.
Falso Falso Falso All'istruzione non è stato assegnato un (nuovo) ordine.
1 Poiché le istruzioni vengono elaborate in modo asincrono: per TUSEND è necessario mantenere coerenti i dati dell'area
di trasmissione finché il parametro DONE o ERROR non assume il valore "vero". Per TURCV i dati nell'area di ricezione
sono coerenti solo se il parametro NDR assume il valore "vero".

Tabella 10- 16 Codici delle condizioni TUSEND e TURCV per ERROR e STATUS

ERROR STATUS Descrizione


0 0000 • Ordine di trasmissione concluso senza errori (TUSEND).
• Nuovi dati accettati. La lunghezza attuale dei dati ricevuti viene indicata in
RCVD_LEN (TURCV).
0 7000 • Nessun ordine in corso di elaborazione (TUSEND)
• Blocco non pronto a ricevere (TURCV)
0 7001 • Avvio dell'elaborazione dell'ordine, i dati vengono trasmessi (TUSEND): durante
l'elaborazione il sistema operativo accede ai dati nell'area di trasmissione DATA.
• Blocco pronto a ricevere, l'ordine di ricezione è stato attivato (TURCV).
0 7002 • Esecuzione dell'istruzione successiva automatica (REQ non rilevante), l'ordine è in
corso di elaborazione (TUSEND): durante l'elaborazione il sistema operativo accede
ai dati nell'area di trasmissione DATA.
• Esecuzione dell'istruzione successiva automatica, l'ordine è in corso di
elaborazione: durante l'elaborazione l'istruzione TURCV scrive i dati nell'area di
ricezione. Un errore potrebbe quindi determinare dati incoerenti in tale area.
1 8085 Il parametro LEN è maggiore del valore massimo consentito, ha il valore 0 (TUSEND)
oppure il valore di LEN o DATA è stato modificato dalla prima esecuzione dell'istruzione
(TURCV).
1 8086 Il parametro ID non rientra nel campo ammesso per gli indirizzi.
1 8088 • Il parametro LEN è maggiore dell'area di memoria (TUSEND) o dell'area di ricezione
(TURCV) specificata in DATA.
• L'area di ricezione è troppo piccola (TURCV).
1 8089 Il parametro ADDR non indica un blocco dati.
1 80A1 Errore di comunicazione:
• Il collegamento specificato tra il programma utente e il livello di comunicazione del
sistema operativo non è ancora stato stabilito.
• Il collegamento specificato tra il programma utente e il livello di comunicazione del
sistema operativo viene concluso e non può essere utilizzato per eseguire un ordine
di trasmissione (TUSEND) o ricezione (TURCV).
• L'interfaccia viene reinizializzata.

Sistema di automazione S7-1200


552 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

ERROR STATUS Descrizione


1 80A4 L'indirizzo IP del punto finale del collegamento remoto non è valido; potrebbe
corrispondere all'indirizzo IP locale (TUSEND).
1 80B3 • Il tipo di protocollo impostato (parametro connection_type nella descrizione del
collegamento) non è UDP. Utilizzare l'istruzione TSEND o TRCV.
• Parametro ADDR: impostazioni non valide per il numero della porta (TUSEND)
1 80C3 • Un blocco con questo ID è già in corso di elaborazione in una diversa classe di
priorità.
• Mancanza interna di risorse
1 80C4 Errore di comunicazione temporaneo:
• Il collegamento tra il programma utente e il livello di comunicazione del sistema
operativo non può essere stabilito in questo momento (TUSEND).
• L'interfaccia sta ricevendo nuovi parametri (TUSEND).
• Il collegamento viene riavviato (TURCV).

Collegamento tramite protocolli Ethernet


Ogni CPU ha una porta PROFINET integrata che supporta la comunicazione PROFINET
standard. Le istruzioni TUSEND e TURCV supportano il protocollo Ethernet UDP.
Per maggiori informazioni vedere il paragrafo "Configurazione del percorso di collegamento
locale/partner" (Pagina 154) nel capitolo "Configurazione dei dispositivi".

Funzionamento dell'istruzione
Nella comunicazione UDP entrambi i partner sono passivi. I valori iniziali tipici dei parametri
per il tipo di dati "TCON_Param" sono riportati nelle seguenti figure. I numeri delle porte
(LOCAL_TSAP_ID) vengono scritti in un formato di 2 byte. Sono consentite tutte le porte
tranne 161, 34962, 34963 e 34964.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 553
Comunicazione
10.2 PROFINET

L'istruzione TUSEND trasmette i dati tramite UDP al partner remoto specificato nel tipo di
dati "TADDR_Param". L'istruzione TURCV riceve i dati tramite UDP. Una volta eseguita
correttamente l'istruzione TURCV, il tipo di dati "TADDR_Param" mostra l'indirizzo del
partner remoto (il mittente), come indicato nelle figure riportate di seguito.

Sistema di automazione S7-1200


554 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

10.2.2.9 T_CONFIG
L'istruzione T_CONFIG modifica i parametri di configurazione IP della porta PROFINET dal
programma utente, permettendo di modificare o impostare in modo permanente i seguenti
parametri:
● Nome stazione
● Indirizzo IP
● Maschera di sottorete
● Indirizzo del router

Nota
Il pulsante "Acquisisci indirizzo IP in altro modo" (Pagina 560) (nella pagina della CPU
"Proprietà", "Indirizzo Ethernet") consente di modificare l'indirizzo IP online oppure
utilizzando l'istruzione "T_CONFIG" dopo aver caricato il programma. Questo metodo di
assegnazione dell'indirizzo IP è possibile solo per la CPU.
Il pulsante "Acquisisci nome dispositivo PROFINET in altro modo" (Pagina 561) (nella
pagina della CPU "Proprietà", "Indirizzo Ethernet") consente di modificare il nome del
dispositivo PROFINET online oppure utilizzando l'istruzione "T_CONFIG" dopo aver
caricato il programma. Questo metodo di assegnazione del nome PROFINET è possibile
solo per la CPU.

AVVERTENZA
Se si modifica il parametro di configurazione dell'IP con T_CONFIG la CPU si riavvia.
Se si utilizza T_CONFIG per modificare un parametro della configurazione IP la CPU
viene riavviata. La CPU passa in STOP, esegue un avviamento a caldo e torna in RUN.
Non utilizzare l'istruzione T_CONFIG in un ambiente produttivo. In condizioni non sicure
i dispositivi di comando possono funzionare in modo errato e determinare un
funzionamento scorretto delle apparecchiature comandate. Ciò può causare la morte o
gravi lesioni alle persone e/o danni alle apparecchiature.
Assicurarsi che il processo passi ad uno stato sicuro quando la CPU effettua un avvio a
caldo in seguito all'esecuzione dell'istruzione T_CONFIG. Il riavvio a caldo non resetta
la memoria, inizializza tutti i dati di sistema e i dati utente non a ritenzione e mantiene i
valori dei dati utente a ritenzione.

Nota
Non tentare di eseguire più di un'istruzione T_CONFIG alla volta.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 555
Comunicazione
10.2 PROFINET

Tabella 10- 17 Istruzione T_CONFIG

KOP / FUP SCL Descrizione


"T_CONFIG_DB"( Per modificare i parametri di configurazione IP dal
req:=_bool_in_, programma utente utilizzare l'istruzione
interface:=_word_in_, T_CONFIG.
conf_Data:=_variant_in_, T_CONFIG funziona in modo asincrono. L'ordine
done=>_bool_out_, viene elaborato nel corso di più richiami.
busy=>_bool_out_,
error=>_bool_out_,
status=>_dword_out_,
err_loc=>_word_out_);

Tabella 10- 18 Tipi di dati T_CONFIG per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ Input Bool Avvia l'istruzione in seguito a un fronte di salita.
INTERFACE Input HW_Interface ID dell'interfaccia di rete
CONF_DATA Input Variant Riferimento alla struttura dei dati di configurazione;
CONF_DATA viene definito da un SDT (System Data
Type).
DONE Output Bool • 0: ordine non ancora avviato o ancora in corso.
• 1: ordine eseguito senza errori.
BUSY Output Bool • 0: ordine concluso.
• 1: ordine non ancora concluso. Non è possibile
riavviarne uno nuovo.
ERROR Output Bool Parametri di stato con i seguenti valori:
• 0: nessun errore
• 1: si è verificato un errore durante l'elaborazione.
STATUS fornisce informazioni dettagliate sul tipo di
errore.
STATUS Output DWord Informazioni di stato incluse informazioni di errore.
(Vedere i codici delle condizioni Error e Status nella
tabella seguente.)
ERR_LOC Output DWord Posizione dell'errore (campo ID e sottocampo ID del
parametro di errore)

Le informazioni sulla configurazione IP si trovano nel blocco dati CONF_DATA insieme ad


un puntatore Variant nel parametro CONF_DATA a cui si fa riferimento precedentemente. La
corretta esecuzione dell'istruzione T_CONFIG si conclude con la trasmissione dei dati di
configurazione IP nell'interfaccia di rete. Gli errori sono assegnati al parametro di uscita
STATUS.

Sistema di automazione S7-1200


556 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

Tabella 10- 19 Codici delle condizioni per ERROR e STATUS

ERROR STATUS Descrizione


(DW#16#...)
0 00000000 Nessun errore
Nota: Se l'istruzione viene eseguita correttamente non sempre viene restituito lo stato
"nessun errore".
0 00700000 Ordine non ancora concluso (BUSY = 1).
0 00700100 Avvio dell'esecuzione dell'ordine
0 00700200 Richiamo intermedio (REQ non rilevante)
1 C08xyy00 Errore generale
1 C0808000 I parametri LADDR per l'identificazione dell'interfaccia non sono validi.
1 C0808100 I parametri LADDR per l'identificazione dell'interfaccia sono stati assegnati a
un'interfaccia hardware non supportata.
1 C0808200 Errore nel parametro CONF_DATA: il tipo di dati del puntatore Variant non corrisponde
al tipo di dati Byte.
1 C0808300 Errore nel parametro CONF_DATA: il puntatore d'area non si trova nel DB del
puntatore Variant.
1 C0808400 Errore nel parametro CONF_DATA: la lunghezza del puntatore Variant è errata.
1 C0808600 Riservato
1 C0808700 Incoerenza nella lunghezza del blocco dati CONF_DATA rispetto alla configurazione IP
1 C0808800 I parametri del blocco dati CONF_DATA field_type_id non sono validi. (È consentito
solo field_type_id = 0.)
1 C0808900 I parametri del blocco dati CONF_DATA field_type_id non sono validi o sono stati
utilizzati diverse volte.
1 C0808A00 Lunghezza LEN dei parametri di configurazione IP o degli errori subfield_cnt
1 C0808B00 Il parametro ID di configurazione IP non è valido o non è supportato.
1 C0808C00 Il sottoblocco della configurazione IP non è posizionato correttamente (sottoblocco
errato, cartella errata o utilizzo multiplo).
1 C0808D00 La lunghezza di un'istruzione LEN per i sottoblocchi non è valida.
1 C0808E00 Il valore del parametro nella modalità Sottoblocchi non è valido.
1 C0808F00 Conflitto di sottoblocchi tra la configurazione IP e un sottoblocco precedente.
1 C0809000 I parametri del sottocampo sono protetti dalla scrittura (ad es.: i parametri sono
specificati dalla configurazione, o è abilitato il modo PNIO).
1 C0809100 Riservato
1 C0809400 Un parametro nella configurazione IP del sottoblocco non è stato definito oppure non
può essere utilizzato.
1 C0809500 Esiste un'incoerenza tra un parametro della configurazione IP del sottoblocco e altri
parametri.
1 C080C200 Impossibile eseguire l'istruzione. Questo errore può verificarsi se, ad esempio, la
comunicazione con l'interfaccia è andata persa.
1 C080C300 Risorse insufficienti. Questo errore può verificarsi se, ad esempio, l'istruzione viene
richiamata più volte con diversi parametri.
1 C080C400 Interruzione della comunicazione. L'errore può verificarsi termporaneamente e richiede
la ripetizione del programma utente.
1 C080D200 L'esecuzione dell'istruzione non è supportata dall'interfaccia PROFINET.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 557
Comunicazione
10.2 PROFINET

Blocco dati CONF_DATA


Il seguente diagramma mostra le modalità di salvataggio nel DB di configurazione dei dati di
configurazione da trasferire.

① DB di configurazione ④ Sottocampo 2
② Dati di configurazione ⑤ Sottocampo n
③ Sottocampo 1 ⑥ Parametri specifici del sottocampo

I dati di configurazione di CONF_DB consistono in un campo che contiene un'intestazione


(IF_CONF_Header) e diversi sottocampi. IF_CONF_Header offre i seguenti elementi:
● field_type_id (tipo di dati UInt): zero
● field_id (tipo di dati UInt): zero
● subfield_cnt (tipo di dati UInt): Numero di sottocampi
Ogni sottocampo è costituito da un'intestazione (subfield_type_id, subfield_length,
subfield_mode) e da parametri specifici. Ogni sottocampo deve essere formato da un
numero pari di byte. Il subfield_mode supporta un valore di 1.

Nota
Attualmente è consentito un solo campo (IF_CONF_Header). I suoi parametri field_type_id e
field_id devono avere il valore zero. Altri campi con valori diversi per field_type_id e field_id
sono soggetti a futuri ampliamenti.
Attualmente nel campo IF_CONF_Header sono consentiti solo due sottocampi: "addr"
(indirizzo IP) e "nos" (Name of station).

Tabella 10- 20 Sottocampo supportato

subfield_type_id Tipo di dati Spiegazione


30 IF_CONF_V4 Parametri IP: indirizzo IP, maschera di sottorete, indirizzo del
router
40 IF_CONF_NOS Nome del PROFINET IO Device (Name of station)

Sistema di automazione S7-1200


558 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

Tabella 10- 21 Elementi del tipo di dati IF_CONF_V4

Nome Tipo di dati Start Value (Valore Descrizione


iniziale)
Id UInt 30 subfield_type_id
len UInt 18 subfield_length
mode UInt 1 subfield_mode (1: permanente)
InterfaceAddress IP_V4 - Indirizzo dell'interfaccia
ADDR Array [1..4] of Byte
ADDR[1] Byte b#16#C8 Byte high dell'indirizzo IP: 200
ADDR[2] Byte b#16#0C Byte high dell'indirizzo IP: 12
ADDR[3] Byte b#16#01 Byte low dell'indirizzo IP: 1
ADDR[4] Byte b#16#90 Byte low dell'indirizzo IP: 144
SubnetMask IP_V4 - Maschera di sottorete
ADDR Array [1..4] of Byte
ADDR[1] Byte b#16#FF Byte high della maschera di sottorete: 255
ADDR[2] Byte b#16#FF Byte high della maschera di sottorete: 255
ADDR[3] Byte b#16#FF Byte low della maschera di sottorete: 255
ADDR[4] Byte b#16#00 Byte low della maschera di sottorete: 0
DefaultRouter IP_V4 - Router di default
ADDR Array [1..4] of Byte
ADDR[1] Byte b#16#C8 Byte high del router: 200
ADDR[2] Byte b#16#0C Byte high del router: 12
ADDR[3] Byte b#16#01 Byte low del router: 1
ADDR[4] Byte b#16#01 Byte low del router: 1

Tabella 10- 22 Elementi del tipo di dati IF_CONF_NOS

Nome Tipo di dati Start Value Descrizione


(Valore iniziale)
id UInt 40 subfield_type_id
len UInt 246 subfield_length
mode UInt 1 subfield_mode (1: permanente)
Nos (Name of Array[1..240] 0 Nome stazione: l'ARRAY deve sempre essere occupato fin dal
station) of Byte primo byte. Se la lunghezza dell'ARRAY supera quella del nome
della stazione da assegnare è necessario inserire un byte zero
dopo il nome della stazione (secondo IEC 61158-6-10). In caso
contrario nos viene rifiutato e l'istruzione "T_CONFIG
(Pagina 555)" inserisce il codice di errore DW#16#C0809400 in
STATUS. Se si assegna il valore zero al primo byte, il nome
della stazione viene cancellato.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 559
Comunicazione
10.2 PROFINET

Per il nome della stazione esistono le seguenti limitazioni:


● Un componente del nome della stazione, ad es. una stringa di caratteri tra due punti, non
deve avere più di 63 caratteri.
● Non sono ammessi caratteri speciali come dieresi, parentesi, trattino basso, barra,
spazio, ecc. L'unico carattere speciale consentito è il trattino.
● Il nome della stazione non deve iniziare o terminare con il carattere "-".
● Il nome della stazione non deve iniziare con un numero.
● Non è consentita la forma n.n.n.n (n = 0, ... 999).
● Il nome della stazione non deve iniziare con la stringa "porta-xyz" o "porta-xyz-abcde" (a,
b, c, d, e, x, y, z = 0, ... 9).

Nota
È anche possibile creare un ARRAY "nos" con meno di 240 byte partendo da un minimo
di 2. In questo caso occorre adattare di conseguenza la variabile "len" (lunghezza del
sottocampo).

Modifica dei parametri IP


In questo esempio vengono modificati "InterfaceAddress" (indirizzo IP), "SubnetMask" e
"DefaultRouter" (router IP) nel campo "addr". Il pulsante "Acquisisci indirizzo IP in altro
modo" della pagina della CPU "Proprietà", "Indirizzo Ethernet" deve essere attivo perché sia
possibile modificare l'indirizzo IP con l'istruzione "T_CONFIG" dopo aver caricato il
programma.

Sistema di automazione S7-1200


560 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

Modifica dei parametri IP e dei nomi del dispositivo PROFINET IO


In questo esempio vengono modificati i sottocampi "addr" e "nos" (Name of station). Il
pulsante "Acquisisci nome dispositivo PROFINET in altro modo" della pagina della CPU
"Proprietà", "Indirizzo Ethernet" deve essere attivo perché sia possibile modificare il nome
del dispositivo PROFINET con l'istruzione "T_CONFIG" dopo aver caricato il programma.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 561
Comunicazione
10.2 PROFINET

10.2.2.10 Parametri comuni delle istruzioni

Parametro di ingresso REQ


Molte delle istruzioni Open User Communication usano l'ingresso REQ per avviare
l'operazione in una transizione da low a high (fronte di salita). L'ingresso REQ deve essere
high (vero) durante l'esecuzione di un'istruzione e può restare vero senza limitazione di
tempo. L'istruzione non avvia un'altra operazione fino a quando non è stata eseguita con
l'ingresso REQ falso in modo da poter resettare lo stato dell'ingresso REQ. Questo affinché
l'istruzione possa identificare la transizione da low a high e avviare l'operazione successiva.
Quando si inserisce una di queste istruzioni nel proprio programma STEP 7 chiede di
identificare il DB di istanza. Utilizzare un DB univoco per ogni richiamo di un'istruzione.
Questo assicura che tutte le istruzioni gestiscano correttamente gli ingressi quali REQ.

Parametro di ingresso ID
Questo parametro è un riferimento all'"ID locale (esadec.)" nella "Vista di rete" di "Dispositivi
e reti" in STEP 7 ed è l'ID della rete da utilizzare per questo blocco di comunicazione. L'ID
deve essere identico all'ID del parametro associato indicato nella descrizione del
collegamento locale.

Sistema di automazione S7-1200


562 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

Parametri di uscita DONE, NDR, ERROR e STATUS


Queste istruzioni mettono a disposizione delle uscite che descrivono lo stato completo:

Tabella 10- 23 Parametri di uscita delle istruzioni Open User Communication

Parametro Tipo di dati Default Descrizione


DONE Bool Falso Viene impostato su vero per un'esecuzione per indicare che
l'ultima richiesta è stata completata senza errori; altrimenti è su
falso.
NDR Bool Falso Viene impostato su vero per un'esecuzione per indicare che
l'azione richiesta è stata completata senza errori e che sono stati
ricevuti nuovi dati; in caso contrario è falso.
BUSY Bool Falso Viene impostato come vero quando il task è attivo per indicare:
• ordine non ancora concluso.
• Non è possibile riavviarne uno nuovo.
Viene impostato come falso quando l'ordine è concluso.
ERROR Bool Falso Viene impostato su vero per un'esecuzione per indicare che
l'ultima richiesta è stata completata con errori, con il codice di
errore applicabile in STATUS; altrimenti è su falso.
STATUS Word 0 Stato del risultato:
• Se è impostato il bit DONE o NDR, STATUS è impostato a 0 o
su un codice di informazione.
• Se è impostato il bit ERROR, STATUS è impostato su un
codice di errore.
• Se non è impostato nessuno dei bit precedenti, l'istruzione
restituisce risultati che descrivono lo stato attuale della
funzione.
STATUS mantiene il proprio valore durante l'esecuzione della
funzione.

Nota
Tenere presente che DONE, NDR e ERROR sono impostati per una sola esecuzione.

TSAP e numeri di porta limitati per la comunicazione ISO e TPC passiva


Se si utilizza l'istruzione "TCON" per impostare e stabilire un collegamento passivo, i
seguenti indirizzi della porta sono limitati e non dovrebbero essere utilizzati:
● TSAP ISO (passivo):
– 01.00, 01.01, 02.00, 02.01, 03.00, 03.01
– 10.00, 10.01, 11.00, 11.01, ... BF.00, BF.01
● Porta TCP (passiva): 5001, 102, 123, 20, 21, 25, 34962, 34963, 34964, 80
● Porta UDP (passiva): 161, 34962, 34963, 34964

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 563
Comunicazione
10.2 PROFINET

10.2.3 Comunicazione con un dispositivo di programmazione

Una CPU può comunicare con un dispositivo


di programmazione STEP 7 collegato in rete.

Per configurare la comunicazione tra una CPU e un dispositivo di programmazione è


necessario tener conto di quanto segue:
● Configurazione/impostazione: è necessario effettuare la configurazione hardware.
● Per la comunicazione diretta tra due dispositivi non è necessario utilizzare uno switch
Ethernet, che è invece indispensabile se si collegano in rete più di due dispositivi.

10.2.3.1 Realizzazione del collegamento hardware per la comunicazione


Le interfacce PROFINET realizzano i collegamenti fisici tra un dispositivo di
programmazione e una CPU. Poiché la CPU dispone della funzionalità Autocrossover, per
l'interfaccia è possibile utilizzare indifferentemente un cavo Ethernet di tipo standard o
crossover. Il collegamento diretto di un dispositivo di programmazione a una CPU non
richiede uno switch Ethernet.
Per realizzare un collegamento hardware tra un dispositivo di programmazione e una CPU
procedere nel seguente modo:
1. Installare la CPU (Pagina 56).
2. Innestare il cavo Ethernet nella porta PROFINET sotto illustrata.
3. Collegare il cavo Ethernet al dispositivo di programmazione.

① Porta PROFINET

Il collegamento PROFINET può essere rinforzato con uno scarico della trazione opzionale.

Sistema di automazione S7-1200


564 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

10.2.3.2 Configurazione dei dispositivi


Se è già stato creato un progetto con una CPU aprirlo in STEP 7.
In caso contrario creare un progetto e inserire una CPU (Pagina 142) nel telaio di
montaggio. Nel progetto sotto illustrato la "Vista dispositivi" visualizza una CPU.

10.2.3.3 Assegnazione degli indirizzi IP (Internet Protocol)

Assegnazione dell'indirizzo IP
In una rete PROFINET ogni dispositivo deve avere anche un indirizzo IP (Internet Protocol)
che gli consenta di fornire i dati in una rete più complessa e provvista di router:
● Se si dispone di dispositivi di programmazione o di altri dispositivi di rete che utilizzano
una scheda adattatore onboard collegata alla LAN dell'impianto o una scheda adattatore
Ethernet-USB collegata a una rete isolata, è necessario assegnarvi degli indirizzi IP. Per
maggiori informazioni consultare il capitolo "Assegnazione degli indirizzi IP ai dispositivi
di programmazione e ai dispositivi di rete" (Pagina 159).
● Il sistema permette anche di assegnare un indirizzo IP ad una CPU o un dispositivo di
rete online, una soluzione particolarmente utile durante la configurazione iniziale di un
dispositivo. Per maggiori informazioni consultare il capitolo "Assegnazione dell'indirizzo
IP a una CPU online" (Pagina 159).
● Dopo aver configurato la CPU o il dispositivo di rete nel progetto è possibile configurare i
parametri per l'interfaccia PROFINET, incluso l'indirizzo IP. Per maggiori informazioni
consultare il paragrafo "Configurazione dell'indirizzo IP per una CPU del progetto
(Pagina 162)".

10.2.3.4 Test della propria rete PROFINET


Una volta terminata la configurazione caricare il progetto nella CPU. Durante la fase di
caricamento vengono configurati tutti gli indirizzi IP.
Utilizzando la funzione "Carica nel dispositivo" della CPU e la relativa finestra "Caricamento
avanzato" è possibile visualizzare tutti i dispositivi di rete accessibili e verificare se vi sono
stati assegnati o meno indirizzi IP univoci. Per maggiori informazioni consultare il paragrafo
"Test della rete PROFINET" (Pagina 167).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 565
Comunicazione
10.2 PROFINET

10.2.4 Comunicazione da HMI a PLC

La CPU supporta i collegamenti con gli HMI


(Pagina 32) per la comunicazione PROFINET.
In fase di configurazione della comunicazione
tra CPU e HMI è necessario tener conto dei
seguenti requisiti:

Configurazione/impostazione:
● La porta PROFINET della CPU deve essere configurata in modo da collegarsi all'HMI.
● L'HMI deve essere impostato e configurato.
● Le informazioni di configurazione dell'HMI fanno parte del progetto della CPU e possono
essere configurate e scaricate dal progetto stesso.
● Per la comunicazione diretta tra due dispositivi non è necessario utilizzare uno switch
Ethernet, che è invece indispensabile se si collegano in rete più di due dispositivi.

Nota
Per collegare le CPU e i dispositivi HMI è possibile utilizzare lo switch Ethernet a 4 porte
CSM1277 montato su telaio. La porta PROFINET della CPU non contiene un dispositivo
di commutazione Ethernet.

Funzioni supportate:
● L'HMI è in grado di accedere ai dati della CPU sia in lettura che in scrittura.
● È possibile attivare dei messaggi sulla base delle informazioni recuperate dalla CPU.
● Diagnostica di sistema

Tabella 10- 24 Procedura di configurazione della comunicazione tra un HMI e una CPU

Operazione Task
1 Realizzazione del collegamento hardware per la comunicazione
Il collegamento fisico tra un HMI e una CPU è costituito da un'interfaccia PROFINET. Poiché la CPU
dispone della funzionalità Autocrossover, per l'interfaccia è possibile utilizzare indifferentemente un cavo
Ethernet di tipo standard o crossover. Questo tipo di collegamento non richiede uno switch Ethernet.
Per maggiori informazioni consultare il paragrafo "Comunicazione con un dispositivo di programmazione:
Realizzazione del collegamento hardware per la comunicazione" (Pagina 564).
2 Configurazione dei dispositivi
Per maggiori informazioni consultare il paragrafo "Comunicazione con un dispositivo di programmazione:
Configurazione dei dispositivi" (Pagina 565).
3 Configurazione dei collegamenti logici di rete tra un HMI e una CPU
Per maggiori informazioni consultare il paragrafo "Comunicazione da HMI a PLC: Configurazione dei
collegamenti logici di rete tra due dispositivi" (Pagina 567).

Sistema di automazione S7-1200


566 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

Operazione Task
4 Configurazione di un indirizzo IP del progetto
Utilizzare lo stesso procedimento di configurazione, ricordando tuttavia che è necessario configurare gli
indirizzi IP per l'HMI e la CPU.
Per maggiori informazioni consultare il paragrafo "Configurazione dei dispositivi: Configurazione
dell'indirizzo IP per una CPU del progetto" (Pagina 163).
5 Test della rete PROFINET
È necessario caricare la configurazione per ciascuna CPU e dispositivo HMI.
Per maggiori informazioni consultare il paragrafo "Configurazione dei dispositivi: Test della rete
PROFINET" (Pagina 167).

10.2.4.1 Configurazione dei collegamenti logici di rete tra due dispositivi


Dopo avere configurato il telaio di montaggio con la CPU è possibile procedere con la
configurazione dei collegamenti di rete.
Nel portale Dispositivi e reti, utilizzare la "Vista di rete" per creare i collegamenti di rete tra i
dispositivi inseriti nel progetto. Fare clic sulla scheda "Collegamenti", quindi selezionare il
tipo di collegamento dal menu a discesa a destra (ad esempio un collegamento ISO on
TCP).
Fare clic sulla casella verde (PROFINET) nel primo dispositivo e tracciare una linea alla
casella PROFINET nell'altro per creare un collegamento PROFINET. Quindi rilasciare il
pulsante del mouse. Il collegamento PROFINET è così stabilito.
Per maggiori informazioni consultare il paragrafo "Configurazione dei dispositivi: Creazione
di un collegamento di rete" (Pagina 153).

10.2.5 Comunicazione da PLC a PLC

Una CPU può comunicare con un'altra CPU di una


rete mediante le istruzioni TSEND_C e TRCV_C.

Quando si configura la comunicazione tra due CPU è necessario tener conto di quanto
segue:
● Configurazione/impostazione: è necessario effettuare la configurazione hardware.
● Funzioni supportate: accesso in lettura/scrittura ai dati di una CPU paritaria
● Per la comunicazione diretta tra due dispositivi non è necessario utilizzare uno switch
Ethernet, che è invece indispensabile se si collegano in rete più di due dispositivi.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 567
Comunicazione
10.2 PROFINET

Tabella 10- 25 Procedura di configurazione della comunicazione tra due CPU

Operazione Task
1 Realizzazione del collegamento hardware per la comunicazione
Il collegamento fisico tra due CPU è costituito da un'interfaccia PROFINET. Poiché la CPU dispone della
funzionalità Autocrossover, per l'interfaccia è possibile utilizzare indifferentemente un cavo Ethernet di tipo
standard o crossover. Questo tipo di collegamento non richiede uno switch Ethernet.
Per maggiori informazioni consultare il paragrafo "Comunicazione con un dispositivo di programmazione:
Realizzazione del collegamento hardware per la comunicazione" (Pagina 564).
2 Configurazione dei dispositivi
Nel progetto devono essere configurate due CPU.
Per maggiori informazioni consultare il paragrafo "Comunicazione con un dispositivo di programmazione:
Configurazione dei dispositivi" (Pagina 565).
3 Configurazione dei collegamenti logici di rete tra due CPU
Per maggiori informazioni consultare il paragrafo "Comunicazione da PLC a PLC: Configurazione dei
collegamenti logici di rete tra due dispositivi" (Pagina 568).
4 Configurazione di un indirizzo IP del progetto
Utilizzare lo stesso procedimento di configurazione, ricordando tuttavia che è necessario configurare gli
indirizzi IP per due CPU (ad esempio PLC_1 e PLC_2).
Per maggiori informazioni consultare il paragrafo "Configurazione dei dispositivi: Configurazione
dell'indirizzo IP per una CPU del progetto" (Pagina 163).
5 Configurazione dei parametri di trasmissione (invio) e di ricezione
Perché due CPU possano comunicare tra loro è necessario configurare le istruzioni TSEND_C e TRCV_C
su entrambe.
Per ulteriori informazioni consultare il paragrafo "Configurazione della comunicazione tra due CPU:
Configurazione dei parametri di trasmissione (invio) e di ricezione" (Pagina 569).
6 Test della rete PROFINET
È necessario caricare la configurazione per ciascuna CPU.
Per maggiori informazioni consultare il paragrafo "Configurazione dei dispositivi: Test della rete
PROFINET" (Pagina 167).

10.2.5.1 Configurazione dei collegamenti logici di rete tra due dispositivi


Dopo avere configurato il telaio di montaggio con la CPU è possibile procedere con la
configurazione dei collegamenti di rete.
Nel portale Dispositivi e reti, utilizzare la "Vista di rete" per creare i collegamenti di rete tra i
dispositivi inseriti nel progetto. Fare clic sulla scheda "Collegamenti", quindi selezionare il
tipo di collegamento dal menu a discesa a destra (ad esempio un collegamento ISO on
TCP).
Fare clic sulla casella verde (PROFINET) nel primo dispositivo e tracciare una linea alla
casella PROFINET nell'altro per creare un collegamento PROFINET. Quindi rilasciare il
pulsante del mouse. Il collegamento PROFINET è così stabilito.
Per maggiori informazioni consultare il paragrafo "Configurazione dei dispositivi: Creazione
di un collegamento di rete" (Pagina 153).

Sistema di automazione S7-1200


568 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

10.2.5.2 Configurazione del percorso di collegamento locale/partner tra due dispositivi

Configurazione dei parametri generali


I parametri di comunicazione vanno specificati nella finestra di configurazione "Proprietà"
dell'istruzione di comunicazione. La finestra compare in basso nella pagina ogni volta che si
seleziona una parte qualsiasi dell'istruzione.
Per maggiori informazioni consultare il paragrafo "Configurazione dei dispositivi:
Configurazione del percorso di collegamento locale/partner (Pagina 154)".
Nella sezione "Dettagli dell'indirizzo" della finestra Parametri di collegamento è possibile
definire i TSAP o le porte da utilizzare. Nel campo "TSAP locale" si inserisce il TSAP o la
porta di un collegamento nella CPU. Il TSAP o la porta assegnati al collegamento nella CPU
partner vengono invece inseriti nel campo "TSAP del partner".

10.2.5.3 Configurazione dei parametri di trasmissione (invio) e di ricezione


Per realizzare i collegamenti tra due CPU vengono utilizzati dei blocchi di comunicazione (ad
esempio TSEND_C e TRCV_C). Perché le CPU possano stabilire una comunicazione
PROFINET è necessario configurare i parametri per la trasmissione (o invio) e la ricezione
dei messaggi. Questi parametri determinano le modalità di comunicazione per la ricezione e
la trasmissione dei messaggi da e verso un dispositivo di destinazione.

Configurazione dei parametri di trasmissione (invio) dell'istruzione TSEND_C

Istruzione TSEND_C
L'istruzione TSEND_C (Pagina 534) crea un collegamento per la comunicazione con una
stazione partner. Il collegamento viene configurato, creato e controllato automaticamente
finché l'istruzione non ne determina l'interruzione. L'istruzione TSEND_C riunisce le funzioni
delle istruzioni TCON, TDISCON e TSEND.
Nella finestra Configurazione dei dispositivi in STEP 7 si può configurare in che modo
un'istruzione TSEND_C trasmette i dati. Innanzitutto è necessario inserire l'istruzione nel
programma dalla cartella "Comunicazione" nella task card "Istruzioni". L'istruzione TSEND_C
viene visualizzata insieme alla finestra Opzioni di richiamo che consente di assegnare un DB
per la memorizzazione dei parametri dell'istruzione.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 569
Comunicazione
10.2 PROFINET

È possibile assegnare agli ingressi e alle uscite indirizzi della memoria delle variabili, come
illustrato nella figura seguente:

Configurazione dei parametri generali


I parametri devono essere specificati nella finestra di configurazione delle proprietà
dell'istruzione TSEND_C. La finestra compare vicino al bordo inferiore della pagina ogni
volta che si seleziona una parte qualsiasi dell'istruzione TSEND_C.

Configurazione dei parametri di ricezione dell'istruzione TRCV_C

Istruzione TRCV_C
L'istruzione TRCV_C (Pagina 534) crea un collegamento per la comunicazione con una
stazione partner. Il collegamento viene configurato, creato e controllato automaticamente
finché l'istruzione non ne determina l'interruzione. L'istruzione TRCV_C riunisce le funzioni
delle istruzioni TCON, TDISCON e TRCV.
Nella finestra Configurazione dei dispositivi di STEP 7 si può configurare in che modo
l'istruzione TRCV_C riceve i dati. Innanzitutto è necessario inserire l'istruzione nel
programma dalla cartella "Comunicazione" nella task card "Istruzioni". Insieme all'istruzione
TRCV_C viene visualizzata la finestra Opzioni di richiamo, nella quale si assegna un DB per
il salvataggio dei parametri corrispondenti.

Sistema di automazione S7-1200


570 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

È possibile assegnare agli ingressi e alle uscite indirizzi della memoria delle variabili, come
illustrato nella figura seguente:

Configurazione dei parametri generali


I parametri devono essere specificati nella finestra di configurazione delle proprietà
dell'istruzione TRCV_C. Questa finestra compare vicino al bordo inferiore della pagina ogni
volta che si seleziona una parte qualsiasi dell'istruzione TRCV_C .

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 571
Comunicazione
10.2 PROFINET

10.2.6 Configurazione di una CPU e di un dispositivo PROFINET IO

10.2.6.1 Aggiunta di un dispositivo PROFINET IO

Aggiunta di un dispositivo PROFINET IO


Nel portale "Dispositivi e reti", utilizzare il catalogo hardware per aggiungere PROFINET IO
device.

Nota
Per aggiungere un dispositivo PROFINET IO si può usare STEP 7 Professional o Basic, V11
o superiore.

Ad esempio, per inserire un ET200S si possono espandere i seguenti contenitori del


catalogo hardware: Periferia decentrata, ET200S, Moduli di interfaccia e PROFINET. Quindi
si può selezionare il modulo di interfaccia dall'elenco dei dispositivi ET200S (ordinati in base
al codice) e inserire il dispositivo ET200S IO.

Tabella 10- 26 Aggiunta di un dispositivo ET200S IO alla configurazione dei dispositivi

Inserire il dispositivo IO Risultato

Ora si può collegare il dispositivo PROFINET IO alla CPU:


1. Fare clic con il tasto destro del mouse sul link "Non assegnato" del dispositivo e
selezionare "Assegna al nuovo IO Controller" nel menu di scelta rapida per visualizzare la
finestra di dialogo "Seleziona IO Controller".
2. Selezionare la CPU S7-1200 (in questo esempio "PLC_1") dall'elenco degli IO controller
del progetto.
3. Fare clic su "OK" per il collegamento di rete.

Sistema di automazione S7-1200


572 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

10.2.6.2 Configurazione di collegamenti di rete logici tra una CPU e un PROFINET IO Device

Configurazione dei collegamenti di rete logici


Dopo avere configurato il telaio di montaggio con la CPU è possibile procedere con la
configurazione dei collegamenti di rete.
Nel portale "Dispositivi e reti" utilizzare la "Vista di rete" per creare i collegamenti di rete tra i
dispositivi inseriti nel progetto. Fare clic sulla casella verde (PROFINET) nel primo
dispositivo e tracciare una linea alla casella PROFINET nell'altro per creare un collegamento
PROFINET. Quindi rilasciare il pulsante del mouse. Il collegamento PROFINET è così
stabilito.
Per maggiori informazioni consultare il paragrafo "Configurazione dei dispositivi: Creazione
di un collegamento di rete" (Pagina 153).

10.2.6.3 Assegnazione di CPU e nomi dei dispositivi

Assegnazione di CPU e nomi dei dispositivi


I collegamenti di rete tra i dispositivi assegnano anche il PROFINET IO Device alla CPU,
operazione necessaria affinché la CPU possa controllare il dispositivo. Per modificare
quest'assegnazione fare clic sul nome del PLC riportato sul PROFINET IO Device. Si aprirà
una casella di dialogo che permette di scollegare il PROFINET IO Device dalla CPU attuale
ed eseguire o meno una nuova assegnazione.
Prima di collegare i dispositivi sulla rete PROFINET alla CPU è necessario assegnarli un
nome. Se questi dispositivi PROFINET non hanno ancora un nome o se si desidera
modificare il nome esistente è possibile assegnare un nuovo nome utilizzando la "Vista di
rete". Fare clic con il tasto destro del mouse sul PROFINET IO device e selezionare
"Assegna nome al dispositivo".
Per ogni PROFINET IO Device si deve assegnare lo stesso nome sia nel progetto STEP 7
che, utilizzando lo strumento "Online & Diagnostica", nella memoria di configurazione del
PROFINET IO Device (ad esempio, la memoria di configurazione del modulo di interfaccia
ET200 S). Se manca un nome o i due nomi delle diverse posizioni non corrispondono, lo
scambio di dati PROFINET IO non viene eseguito. Per maggiori informazioni consultare il
paragrafo "Tool online e di diagnostica: Assegnazione online di un nome a un dispositivo
PROFINET IO (Pagina 811)".

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 573
Comunicazione
10.2 PROFINET

10.2.6.4 Assegnazione degli indirizzi IP (Internet Protocol)

Assegnazione dell'indirizzo IP
In una rete PROFINET ogni dispositivo deve avere anche un indirizzo IP (Internet Protocol)
che gli consenta di fornire i dati in una rete più complessa e provvista di router:
● Se si dispone di dispositivi di programmazione o di altri dispositivi di rete che utilizzano
una scheda adattatore onboard collegata alla LAN dell'impianto o una scheda adattatore
Ethernet-USB collegata a una rete isolata, è necessario assegnarvi degli indirizzi IP. Per
maggiori informazioni consultare il capitolo "Assegnazione degli indirizzi IP ai dispositivi
di programmazione e ai dispositivi di rete" (Pagina 159).
● Il sistema permette anche di assegnare un indirizzo IP ad una CPU o un dispositivo di
rete online, una soluzione particolarmente utile durante la configurazione iniziale di un
dispositivo. Per maggiori informazioni consultare il capitolo "Assegnazione dell'indirizzo
IP a una CPU online" (Pagina 162).
● Dopo aver configurato la CPU o il dispositivo di rete nel progetto è possibile configurare i
parametri per l'interfaccia PROFINET, incluso l'indirizzo IP. Per maggiori informazioni
consultare il paragrafo "Configurazione dell'indirizzo IP per una CPU del progetto
(Pagina 163)".

10.2.6.5 Configurazione del tempo di ciclo IO

Configurazione del tempo di ciclo IO


Un PROFINET IO Device riceve nuovi dati dalla CPU entro un periodo di tempo "Ciclo IO". Il
tempo di aggiornamento può essere configurato separatamente per ogni dispositivo e
determina l'intervallo di tempo in cui i dati vengono trasmessi dalla CPU e dal dispositivo.
STEP 7 calcola automaticamente il tempo di aggiornamento "Ciclo IO" nell'impostazione di
default per ogni dispositivo della rete PROFINET tenendo conto del volume dei dati da
scambiare e del numero di dispositivi assegnati al controllore. Se non si desidera che il
tempo di aggiornamento venga calcolato automaticamente è possibile modificare
l'impostazione.
I parametri "Ciclo IO" vengono specificati nella finestra di configurazione "Proprietà" del
PROFINET IO Device. La finestra compare in basso nella pagina ogni volta che si seleziona
una parte qualsiasi dell'istruzione.
Nella "Vista dispositivi" del PROFINET IO Device fare clic sulla porta PROFINET. Nella
finestra di dialogo "Interfaccia PROFINET" accedere ai parametri "Ciclo IO" utilizzando le
seguenti opzioni nel menu:
● "Opzioni ampliate"
● "Impostazioni Realtime"
● "Ciclo IO"

Sistema di automazione S7-1200


574 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

Definire il ciclo IO "Tempo di aggiornamento" utilizzando le seguenti opzioni:


● Per calcolare automaticamente un tempo di aggiornamento adatto selezionare
"Automatico".
● Per impostare manualmente l'aggiornamento selezionare "Impostabile" e immettere il
tempo di aggiornamento richiesto in ms.
● Per garantire coerenza tra l'intervallo di trasmissione e il tempo di aggiornamento attivare
l'opzione "Adegua il tempo di aggiornamento se viene modificato l'intervallo di
trasmissione". Questa opzione assicura che il tempo di aggiornamento impostato non sia
inferiore all'intervallo di trasmissione.

Tabella 10- 27 Configurazione del tempo di ciclo IO del PROFINET IO Device ET200S

PROFINET IO Device ET200S Finestra di dialogo del ciclo IO del PROFINET IO Device
ET200S

① Porta PROFINET

10.2.7 Configurazione di una CPU e di un I device PROFINET

10.2.7.1 Funzionalità degli I device


La funzionalità "I device" (IO device intelligente) di una CPU facilitata lo scambio dei dati con
un IO Controller e il funzionamento della CPU come unità intelligente di preelaborazione, ad
esempio dei processi secondari. L'I device viene collegato come IO device a un IO Controller
"sovraordinato".
La preelaborazione viene gestita dal programma utente nella CPU. I valori di processo
acquisiti nella periferia centrale o decentrata (PROFINET IO o PROFIBUS DP) vengono
preelaborati dal programma utente e resi disponibili attraverso un'interfaccia PROFINET IO
nella CPU di una stazione sovraordinata.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 575
Comunicazione
10.2 PROFINET

Convenzioni per la definizione del nome degli "I device"


Nel seguito della presente descrizione le CPU o i CP con funzionalità I device vengono
chiamati semplicemente "I device".

10.2.7.2 Proprietà e vantaggi dell'I device

Campi di impiego
Campi di applicazione dell'I device:
● Elaborazione decentrata:
I task di automazione complessi possono essere suddivisi in unità/sottoprocessi più
piccoli. Si ottengono così processi più facili da gestire e di conseguenza task più semplici.
● Separazione dei sottoprocessi:
Grazie agli I device i processi complessi e con una periferia decentrata molto estesa
possono essere suddivisi in diversi sottoprocessi con interfacce meglio gestibili. Se
necessario è possibile salvare i sottoprocessi in progetti STEP 7 separati e riunirli in
seguito in un progetto master.
● Protezione del know-how:
Invece che con un progetto STEP 7, i componenti possono essere forniti in un file GSD di
descrizione dell'interfaccia dell'I device. L'utente può proteggere il programma perché non
deve più essere pubblicato.

Sistema di automazione S7-1200


576 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

Proprietà
Proprietà dell'I device:
● Scollegamento dei progetti STEP 7:
Gli autori e gli utenti di un I device possono avere progetti di automazione STEP 7
completamente separati. Il file GSD costituisce l'interfaccia tra i progetti STEP 7,
consentendo un collegamento con gli IO Controller standard tramite un'interfaccia
standardizzata.
● Comunicazione in tempo reale:
L'I device viene fornito con un sistema PROFINET IO deterministico tramite un'interfaccia
PROFINET IO e quindi supporta RT (comunicazione in tempo reale) e IRT (tempo reale
isocrono).

Vantaggi
L'I device presenta i seguenti vantaggi:
● Collegamento semplice agli IO Controller
● Comunicazione in tempo reale tra IO Controller
● Alleggerimento del lavoro dell'IO Controller grazie alla distribuzione delle capacità di
calcolo agli I device.
● Carico di comunicazione ridotto grazie all'elaborazione locale dei dati di processo.
● Facilità di gestione grazie all'elaborazione dei task secondari in progetti STEP 7 separati

10.2.7.3 Caratteristiche di un I device


Gli I device vengono inseriti nei sistemi di IO come i normali IO device.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 577
Comunicazione
10.2 PROFINET

I device senza sistema PROFINET IO subordinato


L'I device non dispone di una propria periferia decentrata. La configurazione e
l'assegnazione dei parametri degli I device che fungono da IO device è uguale a quella di un
sistema di periferia decentrata (ad esempio un ET 200).

I device con sistema PROFINET IO subordinato


In funzione della configurazione, l'I device può anche fungere da IO Controller su interfaccia
PROFINET oltre a svolgere la funzione di IO device.
Questo significa che l'I device può far parte di un sistema di IO sovraordinato attraverso la
propria interfaccia PROFINET e, in quanto IO Controller, può supportare un proprio sistema
di IO subordinato.
Quest'ultimo può a sua volta contenere degli I device (vedere la figura qui di seguito). In
questo modo è possibile realizzare sistemi di IO con una struttura gerarchica.
Oltre a fungere da IO Controller, l'I device può essere utilizzato come master DP per un
sistema PROFIBUS subordinato tramite un'interfaccia PROFIBUS.

Sistema di automazione S7-1200


578 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 579
Comunicazione
10.2 PROFINET

Esempio - I device con funzione di IO device e IO Controller


L'utilizzo dell'I device come IO device e come IO Controller è descritto sulla base
dell'esempio di un processo di stampa. L'I device controlla un'unità (un sottoprocesso).
Un'unità viene ad esempio utilizzata per inserire dei fogli, ad es. volantini o brochure, in una
confezione di materiale di stampa.

L'unità 1 e l'unità 2 sono costituite ognuna da un I device con una periferia centrale. L'I
device assieme al sistema di periferia decentrata (ad esempio un ET 200) costituisce l'unità
3.
Il programma utente nell'I device esegue la preelaborazione dei dati di processo. Per questo
task utilizza le impostazioni di default (ad esempio i dati di comando) dell'IO Controller
sovraordinato. L'I device fornisce i risultati (ad esempio lo stato dei suo task secondari) all'IO
Controller sovraordinato.

10.2.7.4 Scambio dei dati tra un sistema di IO sovraordinato e subordinato


Le aree di trasferimento sono un'interfaccia verso il programma utente della CPU I device.
Gli ingressi vengono elaborati nel programma utente e le uscite sono il risultato
dell'elaborazione nel programma utente.
I dati per la comunicazione tra l'IO Controller e gli I device vengono messi a disposizione
nelle aree di trasferimento. L'area di trasferimento contiene un'unità di informazione che
viene scambiata in modo coerente tra l'IO Controller e l'I device. Per maggiori informazioni
sulla configurazione e l'uso delle aree di trasferimento consultare il paragrafo
"Configurazione dell'I device".
La figura sottostante rappresenta lo scambio dei dati tra il sistema di IO sovraordinato e
subordinato. I numeri si riferiscono alla spiegazione delle diverse relazioni di comunicazione:

Sistema di automazione S7-1200


580 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

① Scambio dei dati tra l'IO Controller sovraordinato e l'IO device normale
In questo caso l'IO Controller e gli IO device scambiano i dati tramite PROFINET.
② Scambio dei dati tra l'IO Controller sovraordinato e l'I device
In questo caso l'IO Controller e l'I device scambiano i dati tramite PROFINET.
Lo scambio dei dati tra un IO Controller sovraordinato e un I device si basa sulle relazioni
convenzionali tra IO Controller e IO device.
Per l'IO Controller sovraordinato, le aree di trasferimento dell'I device rappresentano i
sottomoduli di una stazione preconfigurata.
I dati di uscita dell'IO Controller sono i dati di ingresso dell'I device. Allo stesso modo, i dati di
ingresso dell'IO Controller sono i dati di uscita dell'I device.
③ Relazione di trasferimento tra il programma utente e l'area di trasferimento
In questo caso il programma utente e l'area di trasferimento scambiano i dati di ingresso e di
uscita.
④ Scambio dei dati tra il programma utente e gli I/O dell'I device
In questo caso il programma utente e la periferia centrale/decentrata scambiano i dati di
ingresso e di uscita.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 581
Comunicazione
10.2 PROFINET

⑤ Scambio dei dati tra l'I device e un IO device subordinato


In questo caso l'I device e i suoi IO device si scambiano i dati. Il trasferimento dei dati avviene
tramite PROFINET.

10.2.7.5 Configurazione dell'I device


Di base sono possibili due configurazioni:
● Configurazione di un I device all'interno di un progetto
● Configurazione di un I device che viene utilizzato in un altro progetto o un altro sistema di
engineering.
STEP 7 consente di configurare un I device per un altro progetto o un altro sistema di
engineering esportando un I device configurato in un file GSD. Il file GSD può essere
importato in altri progetti o sistemi di engineering come un qualsiasi altro file GSD. Le aree di
trasferimento per lo scambio dei dati vengono salvate nel file GSD assieme ad altri dati.

Configurazione di un I device all'interno di un progetto


1. Selezionare una CPU PROFINET nel catalogo hardware e trascinarla nella vista di rete.
2. Selezionare nel catalogo hardware una CPU PROFINET che possa essere configurata
anche come IO device e trascinarla nella vista di rete. Questo dispositivo è configurato
come I device (ad esempio, CPU 1215C).
3. Selezionare l'interfaccia PROFINET per l'I device.
4. Nella finestra di ispezione della navigazione nell'area selezionare "Modo di
funzionamento" e attivare la casella di opzione "IO device".
5. Ora si può selezionare l'IO Controller nell'elenco a discesa "IO Controller assegnato".
Una volta selezionato l'IO Controller, la rete e il sistema di IO tra i due dispositivi vengono
visualizzati nella vista di rete.

6. Con la casella di opzione "Parametrizzazione dell'interfaccia PN tramite l'IO Controller


sovraordinato" si specifica se i parametri dell'interfaccia verranno assegnati dall'I device o
da un IO Controller sovraordinato.
Se si utilizza l'I device con un sistema di IO subordinato, i parametri dell'interfaccia
PROFINET dell'I device (ad esempio il parametro della porta) non possono essere
assegnati con l'IO Controller sovraordinato.

Sistema di automazione S7-1200


582 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.2 PROFINET

7. Configurare le aree di trasferimento. Le aree di trasferimento si trovano nella navigazione


nell'area "Comunicazione I-Device":
– Fare clic sul primo campo della colonna "Area di trasferimento". STEP 7 assegna un
nome di default che può essere modificato.
– Selezionare il tipo di relazione di comunicazione: attualmente si può selezionare solo
CD o F-CD.
– Gli indirizzi sono preimpostati automaticamente; se necessario li si può correggere e
determinare la lunghezza dell'area di trasferimento da trasferire in modo coerente.

8. Nella navigazione nell'area viene creata una voce separata per ogni area di
trasferimento. Selezionando una voce si possono modificare i dettagli dell'area di
trasferimento, oppure correggerli e commentarli.

Configurazione di un I device con un file GSD


Se si usa un I device in un altro progetto o se l'I device viene utilizzato in un altro sistema di
engineering, configurare l'IO Controller sovraordinato e l'I device nel modo descritto più
sopra.
Per creare un nuovo file GSD per l'I device, dopo aver configurato le aree di trasferimento si
deve selezionare sul pulsante "Esporta". Il file GSD rappresenta l'I device configurato negli
altri progetti.
Il pulsante "Esporta" compare nell'area "Comunicazione I-Device" della finestra di ispezione.
La configurazione hardware viene compilata e si apre la finestra di dialogo per
l'esportazione.
Assegnare un nome per il proxy dell'I device e una descrizione nei campi disponibili. Fare
clic sul pulsante "Esporta" per concludere il processo.
Infine importare il file GSD, ad esempio in un altro progetto.

10.2.8 Diagnostica
Per maggiori informazioni su come utilizzare i blocchi organizzativi (OB) per la diagnostica
con queste reti di comunicazione consultare "Blocchi organizzativi (OB)" (Pagina 85).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 583
Comunicazione
10.3 PROFIBUS

10.2.9 Istruzioni per la periferia decentrata


Per informazioni su come utilizzare le istruzioni per la periferia decentrata con queste reti di
comunicazione consultare "Periferia decentrata (PROFINET, PROFIBUS o AS-i)"
(Pagina 321).

10.2.10 Istruzioni di diagnostica


Consultare "Diagnostica (PROFINET o PROFIBUS)": "Istruzioni di diagnostica" (Pagina 352)
per informazioni su come utilizzare queste istruzioni con queste reti di comunicazione.

10.2.11 Eventi di diagnostica per la periferia decentrata


Consultare "Diagnostica (PROFINET o PROFIBUS)": "Eventi di diagnostica per la periferia
decentrata" (Pagina 352) per informazioni su come utilizzare queste informazioni di
diagnostica con queste reti di comunicazione.

10.3 PROFIBUS
Un sistema PROFIBUS utilizza un master bus per interrogare i dispositivi slave distribuiti in
multidrop sul bus seriale RS485. Uno slave PROFIBUS è qualsiasi dispositivo periferico
(trasduttore I/O, valvola, azionamento motore o altro dispositivo di misura) che elabora le
informazioni e ne invia il risultato al master. Lo slave costituisce una stazione passiva sulla
rete poiché non dispone dei diritti di accesso al bus e può solo confermare la ricezione di
messaggi o inviare messaggi di risposta al master su richiesta. Tutti gli slave PROFIBUS
hanno la stessa priorità e l'intera comunicazione di rete parte dal master.
Un master PROFIBUS costituisce una "stazione attiva" sulla rete. PROFIBUS DP definisce
due classi di master. Un master di classe 1 (generalmente un controllore programmabile
centrale (PLC) o un PC con installato un software particolare) gestisce la normale
comunicazione o scambio di dati con gli slave assegnategli. Un master di classe 2
(solitamente un dispositivo di configurazione quali un laptop o una console di
programmazione utilizzati per la messa in servizio, la manutenzione o la diagnostica) è uno
speciale dispositivo utilizzato principalmente per mettere in servizio gli slave e per la
diagnostica.
L'S7-1200 è collegato ad una rete PROFIBUS come slave DP con il modulo di
comunicazione CM 1242-5. Il modulo CM 1242-5 (slave DP) può essere il partner di
comunicazione dei master V0/V1 DP. Per configurare il modulo in un sistema di un altro
produttore utilizzare il file GSD per il CM 1242-5 (slave DP) disponibile nel CD fornito
insieme al modulo e in Internet alle pagine del Siemens Automation Customer Support
(http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&lang=en&objid=6G
K72425DX300XE0&caller=view).

Sistema di automazione S7-1200


584 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.3 PROFIBUS

Nella figura seguente l'S7-1200 è uno slave DP di un controllore S7-300:

L'S7-1200 è collegato ad una rete PROFIBUS come master DP con il modulo di


comunicazione CM 1243-5. Il modulo CM 1243-5 (master DP) può essere il partner di
comunicazione degli slave V0/V1 DP. Nella figura seguente l'S7-1200 è un master che
comanda uno slave ET200S DP:

Se i moduli CM 1242-5 e CM 1243-5 vengono installati insieme, l'S7-1200 può agire


simultaneamente sia come slave di un sistema master DP di livello superiore che come
master di un sistema slave DP di livello inferiore:

Per V4.0 si possono configurare al massimo tre CM PROFIBUS per stazione nei quali si può
avere una combinazione qualsiasi di CM master DP o slave DP. I master DP di
un'implementazione con firmware della CPU della V3.0 o superiore possono comandare
ciascuno al massimo 32 slave.
I dati di configurazione dei CM PROFIBUS vengono salvati nella CPU locale. Ciò consente,
all'occorrenza, una rapida sostituzione dei moduli di comunicazione.
Per utilizzare PROFIBUS con le CPU S7-1200 V4.0 si deve aggiornare il firmware del CM
master PROFIBUS alla versione V1.3.
Per l'aggiornamento si può utilizzare una scheda Secure Digital (SD).

Nota
Si consiglia di aggiornare sempre il firmware del CM PROFIBUS alla versione più recente
(http://support.automation.siemens.com/WW/view/it/42131407) scaricando l'aggiornamento
dal sito del servizio di assistenza tecnica Siemens.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 585
Comunicazione
10.3 PROFIBUS

10.3.1 Servizi di comunicazione dei CM PROFIBUS


I CM PROFIBUS utilizzano il protocollo PROFIBUS DP-V1.

Tipi di comunicazione con DP-V1


I DP-V1 mettono a disposizione i seguenti tipi di comunicazione:
● Comunicazione ciclica (CM 1242-5 e CM 1243-5)
Entrambi i moduli PROFIBUS supportano la comunicazione ciclica per il trasferimento dei
dati di processo tra slave DP e master DP.
La comunicazione ciclica è gestita dal sistema operativo della CPU e non richiede blocchi
software. I dati di I/O vengono letti o scritti direttamente dalla/nell'immagine di processo
della CPU.
● Comunicazione aciclica (solo CM 1243-5)
Il modulo master DP supporta anche la comunicazione aciclica mediante blocchi
software:
– Per la gestione degli allarmi è disponibile l'istruzione "RALRM".
– Per il trasferimento della configurazione e dei dati di diagnostica sono disponibili le
istruzioni "RDREC" e "WRREC".
Funzioni non supportate dal CM 1243-5: SYNC/FREEZE e Get_Master_Diag

Altri servizi di comunicazione del CM 1243-5


Il modulo master DP CM 1243-5 supporta anche i seguenti servizi di comunicazione:
● Comunicazione S7
– Servizi PUT/GET
Il master DP funge da client e server per le interrogazioni da altri controllori S7 o PC
tramite PROFIBUS.
– Comunicazione PG/OP
Le funzioni per il PG consentono di scaricare i dati di configurazione e i programmi
utente da un PG e di trasferire i dati di diagnostica in un PG.
I possibili partner della comunicazione OP sono i pannelli HMI, i PC SIMATIC panel
con WinCC flexible o sistemi SCADA che supportano la comunicazione S7.

Sistema di automazione S7-1200


586 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.3 PROFIBUS

10.3.2 Riferimento ai manuali utente dei CM PROFIBUS

Maggiori informazioni
Per maggiori informazioni sui CM PROFIBUS consultare i manuali dei dispositivi, che sono
disponibili nelle pagine Internet del servizio clienti di Siemens Industrial Automation ai
seguenti link:
● CM 1242-5 (http://support.automation.siemens.com/WW/view/en/49852105)
● CM 1243-5 (http://support.automation.siemens.com/WW/view/en/49851842)

10.3.3 Configurazione di un master DP e un dispositivo slave

10.3.3.1 Aggiunta del modulo CM 1243-5 (master DP) e di uno slave DP


Nel portale "Dispositivi e reti" utilizzare il catalogo hardware per aggiungere moduli
PROFIBUS alla CPU. Questi moduli vengono collegati a sinistra della CPU. Per inserire un
modulo nella configurazione, selezionarlo nel catalogo hardware e fare doppio clic o
trascinarlo nel posto connettore selezionato.

Tabella 10- 28 Aggiunta di un modulo PROFIBUS CM 1243-5 (master DP) alla configurazione dei dispostivi

Modulo Selezione del modulo Inserimento del modulo Risultato


CM 1243-5
(master
DP)

Anche per aggiungere gli slave DP utilizzare il catalogo hardware. Ad esempio, per
aggiungere uno slave ET200 S DP, nel catalogo hardware, selezionare i contenitori
seguenti:
● I/O distribuiti
● ET200 S
● Moduli di interfaccia
● PROFIBUS
Quindi selezionare "6ES7 151-1BA02-0AB0" (IM151-1 HF) dall'elenco dei codici e
aggiungere lo slave ET200 S DP come illustrato nella figura seguente.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 587
Comunicazione
10.3 PROFIBUS

Tabella 10- 29 Aggiunta di uno slave ET200 S DP alla configurazione dei dispositivi

Inserimento dello slave DP Risultato

10.3.3.2 Configurazione dei collegamenti logici di rete tra due dispositivi PROFIBUS
Dopo aver configurato il modulo CM 1243-5 (master DP), è possibile procedere alla
configurazione dei collegamenti di rete.
Nel portale Dispositivi e reti, utilizzare la "Vista di rete" per creare i collegamenti di rete tra i
dispositivi inseriti nel progetto. Per creare un collegamento PROFIBUS, selezionare la
casella viola (PROFIBUS) sul primo dispositivo e trascinarla verso la casella PROFIBUS sul
secondo dispositivo tracciando una linea di congiunzione. Quindi rilasciare il pulsante del
mouse. Il collegamento PROFIBUS è così stabilito.
Per maggiori informazioni consultare il paragrafo "Configurazione dei dispositivi: creazione di
un collegamento di rete" (Pagina 153).

Sistema di automazione S7-1200


588 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.3 PROFIBUS

10.3.3.3 Assegnazione degli indirizzi PROFIBUS al modulo CM 1243-5 e allo slave DP

Configurazione dell'interfaccia PROFIBUS


Dopo aver configurato i collegamenti logici di rete tra due dispositivi PROFIBUS, è possibile
procedere alla configurazione dei parametri per le interfacce PROFIBUS. Fare quindi clic
sulla casella viola PROFIBUS sul modulo CM 1243-5, la scheda "Proprietà" della finestra di
ispezione visualizzerà l'interfaccia PROFIBUS. Per la configurare l'interfaccia PROFIBUS
dello slave DP procedere nello stesso modo.

Tabella 10- 30 Configurazione delle interfacce PROFIBUS del modulo CM 1243-5 (master DP) e
dello slave ET200 S DP

Modulo CM 1243-5 (master DP) Slave ET200 S DP

① Porta PROFIBUS

Assegnazione dell'indirizzo PROFIBUS


In una rete PROFIBUS a ciascun dispositivo viene assegnato un indirizzo PROFIBUS.
Questo indirizzo ha un campo da 0 a 127, con le seguenti eccezioni:
● Indirizzo 0: riservato agli strumenti di configurazione di rete e/o di programmazione
relativi al bus
● Indirizzo 1: riservato da Siemens al primo master
● Indirizzo 126: riservato dalla fabbrica a quei dispositivi che non hanno un'impostazione di
commutazione e che devono essere reindirizzati attraverso la rete
● Indirizzo 127: riservato alla trasmissione di messaggi a tutti i dispositivi sulla rete e non
può essere assegnato a dispositivi operativi
Quindi gli indirizzi che possono essere utilizzati per i dispositivi operativi PROFIBUS vanno
da 2 a 125.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 589
Comunicazione
10.3 PROFIBUS

Nella finestra Proprietà, selezionare il comando di configurazione "Indirizzo PROFIBUS".


STEP 7 visualizza la finestra di configurazione dell'indirizzo PROFIBUS che viene utilizzata
per assegnare l'indirizzo PROFIBUS del dispositivo.

Tabella 10- 31 Parametri dell'indirizzo PROFIBUS

Parametro Descrizione
Sottorete Nome della sottorete a cui è collegato il dispositivo. Per creare una nuova sottorete fare clic sul
pulsante "Inserisci nuova sottorete". L'impostazione di default è "Non collegato in rete" Sono possibili
due tipi di collegamento:
• L'opzione "Non collegato in rete" impostata per default consente di realizzare un collegamento
locale.
• La sottorete è necessaria se la rete contiene almeno due dispositivi.
Parametri Indirizzo Indirizzo PROFIBUS assegnato al dispositivo
Indirizzo più alto L'indirizzo PROFIBUS più alto si basa sulle stazioni attive sul PROFIBUS
(ad es. il master DP). Gli slave DP passivi hanno degli indirizzi PROFIBUS
da 1 a 125 anche se l'indirizzo PROFIBUS più alto è impostato a 15, ad
esempio. L'indirizzo PROFIBUS più alto è importante per l'inoltro del token
(inoltro dei diritti di invio) e il token viene inoltrato solo alle stazioni attive.
Se si specifica l'indirizzo PROFIBUS più alto si ottimizza il bus.
Velocità di trasmissione Velocità di trasmissione della rete PROFIBUS configurata: le velocità di
trasmissione PROFIBUS vanno da 9,6 Kbit/sec a 12 Mbit/sec.
L'impostazione della velocità di trasmissione dipende dalle proprietà dei
nodi PROFIBUS in uso. La velocità di trasmissione non deve essere
superiore alla velocità supportata dal nodo più lento.
Normalmente sulla rete PROFIBUS la velocità di trasmissione è impostata
per il master e tutti gli slave DP utilizzano automaticamente la stessa
velocità di trasmissione (auto-baud).

10.3.4 Istruzioni per la periferia decentrata


Per informazioni su come utilizzare le istruzioni per la periferia decentrata con queste reti di
comunicazione consultare "Periferia decentrata (PROFINET, PROFIBUS o AS-i)"
(Pagina 321).

Sistema di automazione S7-1200


590 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.4 ASi

10.3.5 Istruzioni di diagnostica


Consultare "Diagnostica (PROFINET o PROFIBUS)": "Istruzioni di diagnostica" (Pagina 352)
per informazioni su come utilizzare queste istruzioni con queste reti di comunicazione.

10.3.6 Eventi di diagnostica per la periferia decentrata


Consultare "Diagnostica (PROFINET o PROFIBUS)": "Eventi di diagnostica per la periferia
decentrata" (Pagina 352) per informazioni su come utilizzare queste informazioni di
diagnostica con queste reti di comunicazione.

10.4 ASi
Il master AS-i CM 1243-2 dell'S7-1200 consente di collegare una rete AS-i ad una CPU
dell'S7-1200.
L'AS-i, ovvero "interfaccia per attuatori/sensori", è un sistema di collegamento di rete a un
master per il livello più basso dei sistemi di automazione. Il CM 1243-2 funge da master AS-i
della rete. Utilizzando un solo cavo AS-i, i sensori e gli attuatori (dispositivi slave AS-i)
possono essere collegati alla CPU attraverso il CM 1243-2 che gestisce tutti i dati di
coordinamento e relè della rete AS-i e le informazioni di stato provenienti da attuatori e
sensori alla CPU attraverso gli indirizzi di I/O assegnati al CM 1243-2. A seconda del tipo di
slave è possibile accedere a valori binari o analogici. Gli slave AS-i sono i canali di ingresso
e uscita del sistema AS-i e sono attivi solo quando vengono richiamati dal CM 1243-2.
Nella figura sotto riportata l'S7-1200 è un master AS-i che controlla il pannello operatore AS-i
e i moduli I/O slave digitali/analogici.

Per utilizzare AS-i con le CPU S7-1200 V4.0 si deve aggiornare il firmware del CM master
AS-i alla versione V1.1.
Per l'aggiornamento si può utilizzare una scheda Secure Digital (SD).

Nota
Si consiglia di aggiornare sempre il firmware del CM AS-i alla versione più recente
(http://support.automation.siemens.com/WW/view/it/43416171) scaricando l'aggiornamento
dal sito del servizio di assistenza tecnica Siemens.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 591
Comunicazione
10.4 ASi

10.4.1 Configurazione di un master e uno slave AS-i


Il master AS-i CM 1243-2 è integrato nel sistema di automazione S7-1200 come modulo di
comunicazione.
Le informazioni dettagliate sul master AS-i CM 1243-2 sono disponibili nel manuale "Master
AS-i CM 1243-2 e unità di disaccoppiamento dati AS-i DCM 1271 per SIMATIC S7-1200"
(http://support.automation.siemens.com/WW/view/en/50414115/133300).

10.4.1.1 Aggiunta del master AS-i CM 1243-2 e dello slave AS-i


Per aggiungere i moduli master AS-i CM 1243-2 alla CPU si utilizza il catalogo hardware.
Questi moduli sono collegati al lato sinistro della CPU ed è possibile utilizzare fino a un
massimo di tre moduli AS-i CM 1243-2. Per inserire un modulo nella configurazione,
selezionarlo nel catalogo hardware e fare doppio clic o trascinarlo nel posto connettore
selezionato.

Tabella 10- 32 Aggiunta di un modulo master AS-i CM 1243-2 alla configurazione dei dispositivi

Modulo Selezione del modulo Inserimento del modulo Risultato


Master AS-
i CM 1243-
2

Anche per aggiungere gli slave AS-i si utilizza il catalogo hardware. Ad esempio, per
aggiungere uno slave "modulo I/O, compatto, digitale, di ingresso" selezionare i seguenti
contenitori nel catalogo hardware:
● Apparecchiature da campo
● Slave AS-Interface
Selezionare quindi "3RG9 001-0AA00" (AS-i SM-U, 4DI) dall'elenco dei codici e aggiungere
lo slave "modulo I/O, compatto, digitale, di ingresso" come indicato nella figura seguente.

Tabella 10- 33 Aggiunta di uno slave AS-i alla configurazione dei dispositivi

Inserire lo slave AS-i Risultato

Sistema di automazione S7-1200


592 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.4 ASi

10.4.1.2 Configurazione dei collegamenti logici di rete tra due dispositivi AS-i
Dopo avere configurato il master AS-i CM 1243-2 è possibile procedere con la
configurazione dei collegamenti di rete.
Nel portale Dispositivi e reti, utilizzare la "Vista di rete" per creare i collegamenti di rete tra i
dispositivi inseriti nel progetto. Per creare il collegamento AS-i selezionare la casella gialla
(AS-i) sul primo dispositivo e trascinarla verso la casella AS-i del secondo dispositivo
tracciando una linea di congiunzione. Quindi rilasciare il tasto del mouse.
Per maggiori informazioni vedere "Configurazione dei dispositivi: creazione di un
collegamento di rete" (Pagina 153).

10.4.1.3 Configurazione delle proprietà del master AS-i CM 1243-2


Per configurare i parametri per l'interfaccia AS-i, cliccare sulla casella gialla AS-i sul modulo
master AS-i CM 1243-2 e nella scheda "Proprietà" della finestra di ispezione viene
visualizzata l'interfaccia AS-i.
Nella finestra di ispezione di STEP 7 è possibile visualizzare, configurare e modificare le
informazioni generali, gli indirizzi e i parametri di esercizio:

Tabella 10- 34 Proprietà del modulo master AS-i CM 1243-2

Proprietà Descrizione
Dati generali Nome del master AS-i CM 12432
Parametri di esercizio Parametri per la risposta del master AS-i
Indirizzi di I/O Area di indirizzo per gli indirizzi di I/O dello slave
Interfaccia AS-i (X1) Rete AS-i assegnata

Nota
"Allarme di diagnostica per errori nella configurazione AS-i" e "Programmazione indirizzi
automatica" sono sempre attivi e sono quindi visualizzati in grigio.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 593
Comunicazione
10.4 ASi

10.4.1.4 Assegnazione di un indirizzo AS-i ad uno slave AS-i

Configurazione dell'interfaccia dello slave AS-i


Per configurare i parametri per l'interfaccia AS-i, cliccare sulla casella gialla AS-i sullo slave
AS-i e nella scheda "Proprietà" della finestra di ispezione viene visualizzata l'interfaccia AS-i.

① porta AS-i

Assegnazione di un indirizzo slave AS-i


In una rete AS-i a ciascun dispositivo viene assegnato un indirizzo slave AS-i. L'indirizzo può
essere compreso tra 0 e 31, ma lo 0 è riservato solo ai nuovi dispositivi slave. Gli indirizzi
slave vanno da 1(A o B) a 31(A o B) per un totale di 62 slave.
I dispositivi AS-i "Standard" utilizzano l'intero indirizzo che è un indirizzo numerico senza la
designazione A o B. I dispositivi AS-i con "nodo A/B" utilizzano la parte A o B di ogni
indirizzo consentendo così di utilizzare due volte ciascuno dei 31 indirizzi. Il campo di
indirizzi va da 1A a 31A e da 1B a 31B.
Gli slave AS-i possono avere qualsiasi indirizzo da 1 a 31, in altre parole non è rilevante se
iniziano dall'indirizzo 21 o se si assegna l'indirizzo 1 proprio al primo slave.
Nell'esempio seguente a tre dispositivi AS-i sono stati assegnati rispettivamente l'indirizzo
"1" (dispositivo standard), "2A" (dispositivo con nodo A/B) e "3" (dispositivo standard):

Sistema di automazione S7-1200


594 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.4 ASi

① Indirizzo slave AS-i 1; dispositivo: AS-i SM-U, 4DI; numero di ordinazione: 3RG9 001-0AA00
② Indirizzo slave AS-i 2A; dispositivo: AS-i 8WD44, 3DO, A/B; numero di ordinazione: 8WD4 428-
0BD
③ Indirizzo slave AS-i 3; dispositivo: AS-i SM-U, 2DI/2DO; numero di ordinazione: 3RG9 001-
0AC00

Inserire qui l'indirizzo slave AS-i:

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 595
Comunicazione
10.4 ASi

Tabella 10- 35 Parametri per l'interfaccia AS-i

Parametro Descrizione
Rete Nome della rete a cui è collegato il dispositivo
Indirizzo/i L'indirizzo AS-i assegnato allo slave va da 1(A o B) a 31(A o B) per un totale di 62 slave.

10.4.2 Scambio dei dati tra il programma utente e gli slave AS-i

10.4.2.1 Configurazione di base di STEP 7


Il master AS-i riserva un'area dati di 62 byte nell'area I/O della CPU. L'accesso ai dati digitali
viene effettuato in byte; per ogni slave c'è un byte di ingresso e un byte di dati di uscita.
Il modo in cui i collegamenti AS-i degli slave AS-i digitali sono assegnati ai bit di dati del byte
assegnato è indicato nella finestra di ispezione del master AS-i CM 1243-2.

Sistema di automazione S7-1200


596 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.4 ASi

Per accedere ai dati degli slave AS-i nel programma utente si utilizzano gli indirizzi di I/O
visualizzati con le operazioni logiche di bit (ad es. "AND") o le assegnazioni di bit
appropriate.

Nota
"Assegnazione di sistema" viene attivata automaticamente se non si configurano gli slave
AS-i con STEP 7.
Se non si configura nessuno slave, occorre informare il master AS-i CM1243-2 dell'effettiva
configurazione bus utilizzando la funzione online "ACTUAL > EXPECTED".

Maggiori informazioni
Le informazioni dettagliate sul master AS-i CM 1243-2 sono disponibili nel manuale "Master
AS-i CM 1243-2 e unità di disaccoppiamento dati AS-i DCM 1271 per SIMATIC S7-1200"
(http://support.automation.siemens.com/WW/view/en/50414115/133300).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 597
Comunicazione
10.4 ASi

10.4.2.2 Configurazione degli slave con STEP 7

Trasferimento dei valori digitali AS-i


La CPU accede ciclicamente agli ingressi e alle uscite digitali degli slave AS-i attraverso il
master AS-i CM1243-2. L'accesso ai dati avviene mediante indirizzi di I/O o un trasferimento
di record di dati.

① Indirizzo slave AS-i 1


② Indirizzo slave AS-i 2A
③ Indirizzo slave AS-i 3

L'accesso ai dati digitali viene effettuato in byte (in altre parole, a ogni slave digitale AS-i
viene assegnato un byte). Quando si configurano gli slave AS-i in STEP 7, l'indirizzo di I/O
per accedere ai dati dal programma utente viene indicato nella finestra di ispezione del
rispettivo slave AS-i.
Al modulo di ingressi digitali (AS-i SM-U, 4DI) nella rete AS-i di cui sopra è stato assegnato
l'indirizzo slave 1. Cliccando sul modulo di ingressi digitali, nella scheda "Interfaccia AS" in
"Proprietà" del dispositivo viene visualizzato l'indirizzo slave come illustrato di seguito:

Sistema di automazione S7-1200


598 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.4 ASi

Al modulo di ingressi digitali (AS-i SM-U, 4DI) nella rete AS-i di cui sopra è stato assegnato
l'indirizzo di I/O 2. Cliccando sul modulo di ingressi digitali, nella scheda "Indirizzi di I/O" in
"Proprietà" del dispositivo viene visualizzato l'indirizzo di I/O come illustrato di seguito:

Nel programma utente è possibile accedere ai dati degli slave AS-i utilizzando i rispettivi
indirizzi di I/O con operazioni di combinazione logica di bit appropriate (ad esempio "AND") o
assegnazioni di bit. Il seguente programma chiarisce il funzionamento dell'assegnazione:
In questo programma viene interrogato l'ingresso 2.0. Nel sistema AS-i questo ingresso
appartiene allo slave1 (byte di ingresso 2, bit 0). L'uscita 4.3 che viene impostata
corrisponde allo slave AS-i 3 (byte di uscita 4, bit 3)

Trasferimento dei valori analogici AS-i


È possibile accedere ai dati analogici di uno slave AS-i attraverso l'immagine di processo
della CPU se lo slave AS-i è stato configurato in STEP 7 come slave analogico.
Se non si configura lo slave analogico in STEP 7 si può accedere ai dati dello slave AS-i
solamente mediante le unzioni acicliche (interfaccia dei record di dati). Nel programma
utente della CPU, i richiami AS-i vengono letti e scritti con le istruzioni per la periferia
decentrata RDREC (leggi set di dati) e WRREC (scrivi set di dati).

Nota
Una configurazione degli slave AS-i specificati con STEP 7 e caricati nella stazione S7 viene
trasferita dalla CPU nel master AS-i CM1243-2 all'avvio della stazione S7. Le eventuali
configurazioni determinate mediante la funzione online di assegnazione del sistema
(Pagina 596) ("ACTUAL -> EXPECTED") vengono sovrascritte.

Maggiori informazioni
Le informazioni dettagliate sul master AS-i CM 1243-2 sono disponibili nel manuale "Master
AS-i CM 1243-2 e unità di disaccoppiamento dati AS-i DCM 1271 per SIMATIC S7-1200"
(http://support.automation.siemens.com/WW/view/en/50414115/133300).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 599
Comunicazione
10.4 ASi

10.4.3 Istruzioni per la periferia decentrata


Per informazioni su come utilizzare le istruzioni per la periferia decentrata con queste reti di
comunicazione consultare "Periferia decentrata (PROFINET, PROFIBUS o AS-i)"
(Pagina 321).

10.4.4 Utilizzo dei tool online AS-i

Modifica i modi operativi online AS-i


Per poter visualizzare e modificare i modi operativi AS-i si deve attivare la modalità online.
Per accedere alla modalità online, occorre innanzitutto essere in "Configurazione dispositivi"
con il modulo master AS-i CM1243-2 selezionato e cliccare quindi sul tasto "Collega online"
della barra degli strumenti Selezionare il comando "Online e diagnostica" nel menu "Online".

Sistema di automazione S7-1200


600 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.4 ASi

I modi operativi AS-i sono due:


● Modo di protezione:
– non è possibile modificare gli indirizzi degli slave AS-i e I/O della CPU.
– Il LED verde "CM" è spento.
● Modalità di configurazione:
– è possibile apportare le modifiche desiderate allo slave AS-i e agli indirizzi I/O della
CPU.
– Il LED verde "CM" è acceso.

Nel campo "Imposta indirizzo AS-i" è possibile modificare l'indirizzo slave AS-i. I nuovi slave
a cui non è stato assegnato l'indirizzo hanno sempre l'indirizzo 0. Vengono rilevati dal
master come nuovi slave senza indirizzo e non vengono inclusi nella comunicazione
normale finché non gliene viene assegnato uno.

Errore di configurazione
Se si accende il LED giallo "CER" significa che la configurazione dello slave AS-i contiene
un errore. Selezionare il tasto "ACTUAL > EXPECTED" per sovrascrivere la configurazione
del dispositivo slave del modulo master AS-i CM1243-2 con la configurazione del dispositivo
slave della rete di campo AS-i.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 601
Comunicazione
10.5 Comunicazione S7

10.5 Comunicazione S7

10.5.1 Istruzioni GET e PUT (Leggi e scrivi dati da/in una CPU remota)
Le istruzioni GET e PUT sono utilizzate per comunicare con le CPU S7 attraverso
collegamenti PROFINET e PROFIBUS. Questo è possibile solo se, nella voce "Protezione"
delle proprietà della CPU locale, è stata attivata la funzione "Consenti accesso tramite la
comunicazione PUT/GET":
● Accesso ai dati in una CPU remota: per indirizzare le variabili delle CPU remote (S7-
200/300/400/1200) la CPU S7-1200 può usare solo indirizzi assoluti nel campo di
ingresso ADDR_x.
● Accesso ai dati in un DB standard: una CPU S7-1200 può utilizzare indirizzi assoluti nel
campo di ingresso ADDR_x per indirizzare le variabili di DB nel DB standard di una CPU
S7 remota.
● Accesso ai dati in un DB ottimizzato: Una CPU S7-1200 non può accedere alle variabili di
DB di un DB ottimizzato di una CPU S7-1200 remota.
● Accesso ai dati di una CPU locale: Una CPU S7-1200 può utilizzare indirizzi assoluti o
simbolici rispettivamente come ingresso ai campi di ingresso RD_x o SD_x dell'istruzione
GET o PUT.

Nota
L'operazione GET/PUT del programma della CPU V4.0 non è abilitata automaticamente
Un'operazione GET/PUT del programma di una CPU V3.0 è abilitata automaticamente in
una CPU V4.0.
Invece un'operazione GET/PUT del programma di una CPU V4.0 non è abilitata
automaticamente in una CPU V4.0. Per abilitare l'accesso GET/PUT (Pagina 195) occorre
entrare nella "Configurazione dispositivi" della CPU, scheda "Proprietà" della finestra di
ispezione, proprietà "Protezione".

Sistema di automazione S7-1200


602 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.5 Comunicazione S7

Tabella 10- 36 Istruzioni GET e PUT

KOP / FUP SCL Descrizione


"GET_DB"( L'istruzione GET viene utilizzata per
req:=_bool_in_, leggere i dati da una CPU S7 remota. La
ID:=_word_in_, CPU remota può essere sia in modo RUN
ndr=>_bool_out_, che STOP.
error=>_bool_out_, STEP 7 crea automaticamente il DB
status=>_word_out_, all'inserimento dell'istruzione.
addr_1:=_remote_inout_,
[...addr_4:=_remote_inout_,]
rd_1:=_variant_inout_
[,...rd_4:=_variant_inout_]);

"PUT_DB"( L'istruzione PUT viene utilizzata per


req:=_bool_in_, scrivere i dati in una CPU S7 remota. La
ID:=_word_in_, CPU remota può essere sia in modo RUN
done=>_bool_out_, che STOP.
error=>_bool_out_, STEP 7 crea automaticamente il DB
status=>_word_out_, all'inserimento dell'istruzione.
addr_1:=_remote_inout_,
[...addr_4:=_remote_inout_,]
sd_1:=_variant_inout_,
[....sd_4:=_variant_inout_]);

Tabella 10- 37 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ Input Bool La commutazione di un segnale da low a high (fronte di salita)
avvia l'operazione.
ID Input CONN_PRG ID di collegamento S7 (Hex)
(Word)
NDR (GET) Output Bool Nuovi dati disponibili:
• 0: la richiesta non è ancora stata avviata o è ancora in
esecuzione
• 1: il task è stato concluso correttamente
DONE (PUT) Output Bool DONE:
• 0: la richiesta non è ancora stata avviata o è ancora in
esecuzione
• 1: il task è stato concluso correttamente

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 603
Comunicazione
10.5 Comunicazione S7

Parametro e tipo Tipo di dati Descrizione


ERROR Output Bool • ERROR=0
STATUS Output Word
Valore STATUS:
– 0000H: né avvertenza né errore
– <> 0000H: Avvertenza, STATUS fornisce informazioni
dettagliate
• ERROR=1

È presente un errore. STATUS fornisce informazioni dettagliate


sulla natura dell'errore.
ADDR_1 InOut Remote Puntatore alle aree di memoria nella CPU remota che memorizza i
ADDR_2 InOut Remote dati da leggere (GET) o inviati (PUT).
ADDR_3 InOut Remote
ADDR_4 InOut Remote
RD_1 (GET) InOut Variant Puntatore alle aree di memoria nella CPU locale che memorizza i
SD_1 (PUT) dati da leggere (GET) o inviati (PUT).
RD_2 (GET) InOut Variant Tipi di dati ammessi: Bool (è ammesso un solo bit), Byte, Char,
SD_2 (PUT) Word, Int, DWord, DInt o Real.
RD_3 (GET) InOut Variant Nota: se il puntatore accede a un DB, occorre specificare l'indirizzo
SD_3 (PUT) assoluto quale:
RD_4 (GET) InOut Variant P# DB10.DBX5.0 Byte 10
SD_4 (PUT) In questo caso 10 corrisponde al numero di byte da leggere o
inviare.

Assicurarsi che la lunghezza (numero di byte) e i tipi di dati per i parametri ADDR_x (CPU
remota) e RD_x o SD_x (CPU locale) corrispondano. Il numero che segue l'ID "Byte"
corrisponde al numero di byte indirizzati dai parametri ADDR_x, RD_x o SD_x .

Nota
Il numero complessivo di byte ricevuti in un'istruzione GET o inviati da un'istruzione PUT è
limitato. I limiti dipendono da quante aree di indirizzi e di memoria si utilizzano tra le quattro
disponibili:
• se si usano solo ADDR_1 e RD_1/SD_1 l'istruzione GET può ricevere solo 222 byte e
l'istruzione PUT ne può inviare 212.
• se si usano ADDR_1, RD_1/SD_1, ADDR_2 e RD_2/SD_2, l'istruzione GET può ricevere
complessivamente 218 byte e l'istruzione PUT ne può inviare complessivamente 196.
• se si usano ADDR_1, RD_1/SD_1, ADDR_2, RD_2/SD_2, ADDR_3, e RD_3/SD_3
l'istruzione GET può ricevere complessivamente 214 byte e l'istruzione PUT ne può
inviare complessivamente 180.
• se si usano ADDR_1, RD_1/SD_1, ADDR_2, RD_2/SD_2, ADDR_3, RD_3/SD_3,
ADDR_4, RD_4/SD_4 l'istruzione GET può ricevere complessivamente 210 byte e
l'istruzione PUT ne può inviare complessivamente 164.
Il numero complessivo dei byte specificati dai parametri delle aree di indirizzi e di memoria
deve essere inferiore o uguale ai limiti definiti. Se si superano questi limiti l'istruzione GET o
PUT restituisce un errore.

Sistema di automazione S7-1200


604 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.5 Comunicazione S7

Sul fronte di salita del parametro REQ, l'operazione di lettura (GET) o di scrittura (PUT)
carica i parametri ID, ADDR_1 e RD_1 (GET) o SD_1 (PUT).
● Per GET: la CPU remota restituisce i dati richiesti alle aree di ricezione (RD_x), a partire
dalla scansione successiva. Una volta completata l'operazione di lettura senza errori, il
parametro NDR viene impostato a 1. Una nuova operazione può essere avviata solo
dopo il termine dell'operazione precedente.
● Per PUT: la CPU locale inizia l'invio dei dati (SD_x) alla locazione di memoria (ADDR_x)
nella CPU remota. Una volta completata l'operazione di scrittura senza errori, la CPU
remota restituisce una ricevuta di esecuzione. Il parametro DONE dell'istruzione PUT
viene impostato a 1. Una nuova operazione di scrittura può essere avviata solo dopo il
termine dell'operazione precedente.

Nota
Per assicurare la coerenza dei dati, verificare sempre se l'operazione è stata conclusa
(NDR = 1 per GET o DONE = 1 per PUT) prima di accedere ai dati o iniziare un'altra
operazione di lettura o scrittura.

I parametri ERROR e STATUS forniscono informazioni sullo stato dell'operazione di lettura


(GET) o di scrittura (PUT).

Tabella 10- 38 Informazioni di errore

ERROR STATUS Descrizione


(decimale)
0 11 • Il nuovo ordine non può essere preso in considerazione dal momento che l'ordine
precedente non è stato ancora completato.
• L'ordine è in corso di elaborazione in una classe di priorità con priorità inferiore.
0 25 La comunicazione è stata avviata. L'ordine è in corso di elaborazione.
1 1 Problemi di comunicazione quali:
• Descrizione del collegamento non caricata (locale o remoto)
• Collegamento interrotto (ad esempio: cavo, CPU spenta o CM/CB/CP in STOP).
• Collegamento al partner non ancora stabilito
1 2 Conferma negativa dal dispositivo partner. Il task non può essere eseguito.
1 4 Errori nei puntatori dell'area di invio (RD_x per GET o SD_x per PUT) che riguardano la
lunghezza dei dati o il tipo di dati.
1 8 Errore di accesso sulla CPU partner
1 10 Accesso alla memoria utente locale non possibile (ad esempio, tentativo di accesso ad
un DB eliminato)
1 12 Quando è stato richiamato l'SFB:
• È stato specificato un DB che non appartiene a GET o PUT
• Non è stato specificato nessun DB, piuttosto un DB condiviso
• Non è stato trovato nessun DB (caricamento di un nuovo DB di istanza)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 605
Comunicazione
10.5 Comunicazione S7

ERROR STATUS Descrizione


(decimale)
1 20 • Superamento del numero massimo di ordini/istanze paralleli
• Sovraccarico di istanze nella CPU in RUN
Questo stato è possibile per la prima esecuzione dell'istruzione GET o PUT
1 27 Nella CPU non esiste un'istruzione GET o PUT corrispondente.

10.5.2 Creazione di un collegamento S7

Meccanismi di collegamento
Anche per accedere ai partner di collegamento remoti mediante le istruzioni PUT/GET si
deve disporre di un permesso.
Per default è attiva l'opzione "Consenti accesso tramite la comunicazione PUT/GET". In
questo caso l'accesso in lettura e in scrittura ai dati della CPU è possibile solo per i
collegamenti che richiedono la configurazione o la programmazione della CPU locale e del
partner della comunicazione. È ad esempio possibile effettuare l'accesso con le istruzioni
BSEND/BRCV.
I collegamenti per cui la CPU locale funge solo da server (e quindi non dispone di una
configurazione/programmazione della comunicazione con un partner) non sono quindi
possibili mentre la CPU è in funzione, ad esempio:
● l'accesso PUT/GET, FETCH/WRITE o FTP attraverso i moduli di comunicazione
● l'accesso PUT/GET da altre CPU S7
● l'accesso HMI attraverso la comunicazione PUT/GET
Per informazioni su come consentire l'accesso ai dati della CPU dal client, nel caso non si
vogliano limitare i servizi di comunicazione della CPU, consultare il paragrafo "Protezione
dell'accesso alla CPU S7-1200" (Pagina 195):

Tipi di collegamenti
Il tipo di collegamento selezionato crea un collegamento di comunicazione ad una stazione
partner. Il collegamento viene attivato, stabilito e controllato automaticamente.
Nel portale Dispositivi e reti, utilizzare la "Vista di rete" per creare i collegamenti di rete tra i
dispositivi inseriti nel progetto. Fare clic sulla scheda "Collegamenti", quindi selezionare il
tipo di collegamento dal menu a discesa a destra (ad esempio un collegamento S7). Fare
clic sulla casella verde (PROFINET) nel primo dispositivo e tracciare una linea alla casella
PROFINET nell'altro. Quindi rilasciare il pulsante del mouse. Il collegamento PROFINET è
così stabilito.
Per maggiori informazioni vedere il paragrafo "Creazione di un collegamento di rete"
(Pagina 153).

Sistema di automazione S7-1200


606 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.5 Comunicazione S7

Fare clic sul pulsante "Evidenziato: Collegamento" per accedere alla finestra di
configurazione "Proprietà" dell'istruzione di comunicazione.

10.5.3 Configurazione del percorso di collegamento locale/partner tra due dispositivi

Configurazione dei parametri generali


I parametri di comunicazione vanno specificati nella finestra di configurazione "Proprietà"
dell'istruzione di comunicazione. La finestra compare in basso nella pagina ogni volta che si
seleziona una parte qualsiasi dell'istruzione.
Per maggiori informazioni consultare il paragrafo "Configurazione dei dispositivi:
Configurazione del percorso di collegamento locale/partner (Pagina 154)".
Nella sezione "Dettagli dell'indirizzo" della finestra Parametri di collegamento è possibile
definire i TSAP o le porte da utilizzare. Nel campo "TSAP locale" si inserisce il TSAP o la
porta di un collegamento nella CPU. Il TSAP o la porta assegnati al collegamento nella CPU
partner vengono invece inseriti nel campo "TSAP del partner".

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 607
Comunicazione
10.5 Comunicazione S7

10.5.4 Assegnazione dei parametri di collegamento di GET/PUT


L'assegnazione dei parametri di collegamento per le istruzioni GET/PUT consente di
configurare più facilmente i collegamenti per la comunicazione tra le CPU S7.
Quando si inserisce un blocco GET o PUT si avvia automaticamente l'assegnazione dei
parametri di collegamento delle istruzioni GET/PUT:

La finestra di ispezione visualizza le proprietà del collegamento ogniqualvolta si seleziona


una parte dell'istruzione. I parametri per l'istruzione di comunicazione devono essere
specificati nella scheda "Configurazione" delle "Proprietà".

Nota
L'operazione GET/PUT del programma della CPU V4.0 non è abilitata automaticamente
Un'operazione GET/PUT del programma di una CPU V3.0 è abilitata automaticamente in
una CPU V4.0.
Invece un'operazione GET/PUT del programma di una CPU V4.0 non è abilitata
automaticamente in una CPU V4.0. Per abilitare l'accesso GET/PUT (Pagina 195) occorre
entrare nella "Configurazione dispositivi" della CPU, scheda "Proprietà" della finestra di
ispezione, proprietà "Protezione".

Sistema di automazione S7-1200


608 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.5 Comunicazione S7

10.5.4.1 Parametri di collegamento


La pagina "Parametri di collegamento" consente di configurare il collegamento S7
necessario e il parametro "ID collegamento" a cui fa riferimento il parametro "ID" del blocco
GET/PUT. La pagina contiene informazioni sul punto finale locale e consente di definire
l'interfaccia locale. È inoltre possibile definirvi il punto finale del partner.
La pagina "Parametri del blocco" consente di configurare altri parametri di blocco.

Tabella 10- 39 Parametro di collegamento: Definizioni generali

Parametro Definizione
Parametro di Punto finale "Punto finale locale": Nome assegnato alla CPU locale
collegamento: "Punto finale Partner": Nome assegnato alla CPU partner (remota)
Dati generali Avvertenza: Nella casella di riepilogo "Punto finale partner" il sistema
visualizza i potenziali partner di collegamento S7 del progetto attuale e
l'opzione "non specificata". Un partner non specificato è un partner di
comunicazione che non si trova attualmente nel progetto STEP 7 (ad esempio
un dispositivo di un altro produttore).
Interfaccia Nome assegnato alle interfacce
Avvertenza: È possibile modificare il collegamento cambiando le interfacce
Locale e Partner
Tipo di interfaccia Tipo di interfaccia
Nome di sottorete Nome assegnato alle sottoreti
Indirizzo Indirizzi IP assegnati
Avvertenza: È possibile specificare l'indirizzo remoto del dispositivo di un altro
produttore per un partner di comunicazione "non specificato".
ID del collegamento Numero di ID: generato automaticamente dall'istruzione di assegnazione dei
parametri di collegamento GET/PUT
Nome del collegamento Indirizzo di memoria dei dati della CPU locale e partner: generato
automaticamente dall'istruzione di assegnazione dei parametri di
collegamento GET/PUT
Creazione attiva del Casella di spunta per la selezione della CPU locale come collegamento attivo
collegamento

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 609
Comunicazione
10.5 Comunicazione S7

Parametro Definizione
Unilaterale Casella di spunta che specifica un collegamento unilaterale o bilaterale; di
sola lettura
Nota: In un collegamento PROFINET GET/PUT il dispositivo locale e quello
partner possono avere funzione di server o client. È quindi possibile stabilire
un collegamento bilaterale (la casella "Unilaterale" è deselezionata).
In un collegamento PROFIBUS GET/PUT, in alcuni casi il partner può fungere
solo da server (ad es. un'S7-300) e la casella "Unilaterale" è selezionata.

Parametro ID del collegamento


Gli ID del collegamento definiti dal sistema possono essere modificati in tre modi:
1. si può modificare l'ID attuale direttamente nel blocco GET/PUT. Se il nuovo ID appartiene
a un collegamento già esistente, viene modificato il collegamento.
2. Si può modificare l'ID attuale direttamente nel blocco GET/PUT, ma se l'ID non è già
presente il sistema crea un nuovo collegamento S7.
3. Si può modificare l'ID attuale con la finestra della vista generale dei collegamenti: le
immissioni dell'utente vengono sincronizzate con il parametro ID nel corrispondente
blocco GET/PUT.

Nota
Il parametro "ID" del blocco GET/PUT non corrisponde al nome di un collegamento ma a
un'espressione numerica espressa nel seguente formato: W#16#1

Parametro Nome del collegamento


Il nome del collegamento può essere immesso con uno speciale comando utente, la vista
generale dei collegamenti. Questa finestra di dialogo riepiloga i collegamenti S7 disponibili
che possono essere selezionati in alternativa per l'attuale comunicazione GET/PUT. La
tabella consente di creare un collegamento completamente nuovo. Per avviare la vista
generale dei collegamenti fare clic sul pulsante a destra del campo "Nome del
collegamento".

Sistema di automazione S7-1200


610 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.5 Comunicazione S7

10.5.4.2 Configurazione di un collegamento da CPU a CPU S7


Data la configurazione di PLC_1, PLC_2 e PLC_3 illustrata nella figura sottostante, inserire i
blocchi GET o PUT per "PLC_1".

Nel caso dell'istruzione GET o PUT la scheda "Proprietà" compare automaticamente nella
finestra di ispezione con le seguenti voci di menu:
● "Configurazione"
● "Parametri di collegamento"

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 611
Comunicazione
10.5 Comunicazione S7

Configurazione di un collegamento PROFINET S7


Per "Punto finale partner" selezionare "PLC_3".

Il sistema effettua le seguenti modifiche:

Tabella 10- 40 Parametro di collegamento: Valori generali

Parametro Definizione
Parametro di Punto finale "Punto finale Locale" contiene "PLC_1" in sola lettura.
collegamento: Il campo "Punto finale Partner" contiene "PLC_3[CPU319-3PN/DP]":
Dati generali
• Il colore cambia da rosso a bianco.
• Compare l'immagine del dispositivo "Partner".
• Compare la linea di collegamento tra PLC_1 e PLC_3 (linea Ethernet
verde).
Interfaccia "Interfaccia Locale" contiene "CPU1214C DC/DC/DC, PROFINET interface
(R0/S1)".
"Interfaccia Partner" contiene: "CPU319-3PN/DP, PROFINET interface
(R0/S2)".
Tipo di interfaccia "Tipo di interfaccia Locale" contiene "Ethernet/IP"; il controllo è di sola lettura.
Tipo di interfaccia Partner" contiene "Ethernet/IP"; il controllo è di sola lettura.
Il tipo di interfaccia compare a destra accanto al "Tipo di interfaccia" locale e
partner (icona Ethernet verde).
Nome di sottorete "Nome di sottorete Locale" contiene "PN/IE_1"; il controllo è di sola lettura.
"Nome di sottorete Partner" contiene "PN/IE_1"; il controllo è di sola lettura.
Indirizzo "Indirizzo Locale" contiene l'indirizzo IP locale; il controllo è di sola lettura.
"Indirizzo Partner" contiene l'indirizzo IP partner; il controllo è di sola lettura.
ID del collegamento "ID del collegamento" contiene "100".
Nell'editor di programma è "100" anche il valore "ID del collegamento" del
blocco GET/PUT dell'OB principale [OB1].

Sistema di automazione S7-1200


612 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.5 Comunicazione S7

Parametro Definizione
Nome del collegamento Il nome del collegamento è quello di default (ad esempio "S7_Connection_1");
il controllo è attivo.
Creazione attiva del Attivata per selezionare la CPU locale come collegamento attivo.
collegamento
Unilaterale Di sola lettura e deselezionata.
Nota: "PLC_1" (una CPU S7-1200 1214CDC/DC/Rly) e "PLC_3" (una CPU
S7-300 319-3PN/DP) possono fungere sia da server che da client di un
collegamento PROFINET GET/PUT consentendo un collegamento bilaterale.

Anche l'icona GET/PUT dell'albero della vista delle proprietà cambia colore da rosso a
verde.

Collegamento PROFINET S7 concluso


Nella "Vista di rete", il collegamento S7 bilaterale è visibile nella tabella dei collegamenti tra
"PLC_1" e "PLC_3".

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 613
Comunicazione
10.5 Comunicazione S7

Configurazione di un collegamento PROFIBUS S7


Per "Punto finale partner" selezionare "PLC_3".

Il sistema effettua le seguenti modifiche:

Tabella 10- 41 Parametro di collegamento: Valori generali

Parametro Definizione
Parametro di Punto finale "Punto finale Locale" contiene "PLC_1" in sola lettura.
collegamento: Il campo "Punto finale Partner" contiene "PLC_3[CPU319-3PN/DP]":
Dati generali
• Il colore cambia da rosso a bianco.
• Compare l'immagine del dispositivo "Partner".
• Compare la linea di collegamento tra PLC_1 e PLC_3 (linea PROFIBUS
viola).
Interfaccia "Interfaccia Locale" contiene "CPU1214C DC/DC/DC, PROFIBUS interface
(R0/S1)".
"Interfaccia Partner" contiene: "CPU319-3PN/DP, PROFIBUS interface
(R0/S2)".
Tipo di interfaccia "Tipo di interfaccia Locale" contiene "PROFIBUS"; il controllo è di sola lettura.
"Tipo di interfaccia Partner" contiene "PROFIBUS"; il controllo è di sola lettura.
Il tipo di interfaccia compare a destra accanto al "Tipo di interfaccia" locale e
partner (icona PROFIBUS viola).
Nome di sottorete "Nome di sottorete Locale" contiene PROFIBUS _1"; il controllo è di sola
lettura.
"Nome di sottorete Partner" contiene PROFIBUS _1"; il controllo è di sola
lettura.
Indirizzo "Indirizzo Locale" contiene l'indirizzo IP locale; il controllo è di sola lettura.
"Indirizzo Partner" contiene l'indirizzo IP partner; il controllo è di sola lettura.
ID del collegamento "ID del collegamento" contiene "100".
Nell'editor di programma è "100" anche il valore "ID del collegamento" del
blocco GET/PUT dell'OB principale [OB1].

Sistema di automazione S7-1200


614 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione
10.5 Comunicazione S7

Parametro Definizione
Nome del collegamento Il nome del collegamento è quello di default (ad esempio "S7_Connection_1");
il controllo è attivo.
Creazione attiva del Di sola lettura, attivata per selezionare la CPU locale come collegamento
collegamento attivo.
Unilaterale Di sola lettura e selezionata.
Nota: "PLC_3" (una CPU S7-300 319-3PN/DP) può avere solo funzione di
server (e non di client) in un collegamento PROFIBUS GET/PUT e consentire
un collegamento unilaterale.

Anche l'icona GET/PUT dell'albero della vista delle proprietà cambia colore da rosso a
verde.

Collegamento PROFIBUS S7 concluso


Nella "Vista di rete", il collegamento S7 unilaterale è visibile nella tabella dei collegamenti tra
"PLC_1" e "PLC_3".

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 615
Comunicazione
10.5 Comunicazione S7

Sistema di automazione S7-1200


616 Manuale di sistema, 03/2014, A5E02486684-AG
Web server 11
Il Web server per l'S7-1200 consente di accedere dalle pagine Web ai dati della CPU e ai
dati di processo che vi sono contenuti.

È possibile accedere alle pagine Web dell'S7-


1200 da un PC o da un dispositivo portatile. Il
Web server visualizza le pagine Web in un
formato e con una dimensione compatibili con
il dispositivo in cui vengono aperte e supporta
una risoluzione minima di 240 x 240 pixel.

Pagine Web standard


L'S7-1200 comprende delle pagine Web standard a cui si può accedere dal Web browser del
PC (Pagina 622) o da un dispositivo portatile (Pagina 623):
● Introduzione (Pagina 629) - punto di accesso alle pagine Web standard
● Pagina iniziale (Pagina 630) - informazioni generali sulla CPU
● Identificazione (Pagina 630) - informazioni dettagliate sulla CPU tra cui numero di serie,
di ordinazione e di versione
● Stato dell'unità (Pagina 632) - informazioni sui moduli del telaio di montaggio locale e
sulla funzione di aggiornamento del firmware
● Comunicazione (Pagina 636) - informazioni su indirizzi di rete, proprietà fisiche delle
interfacce di comunicazione e statistiche di comunicazione
● Buffer di diagnostica (Pagina 631) - il buffer di diagnostica
● Stato delle variabili (Pagina 636) - variabili della CPU e I/O, accessibili con l'indirizzo o
con il nome della variabile del PLC
● Unità di selezione file (Pagina 638) - browser per i file memorizzati nella CPU o in una
memory card, ad esempio log di dati e ricette
● Accedi (Pagina 626) - log in come utente diverso o log out.
Queste pagine sono integrate nella CPU S7-1200 e sono disponibili in inglese, tedesco,
francese, spagnolo, italiano e cinese semplificato. Per poter essere visualizzate alcune
pagine richiedono ulteriori privilegi utente (Pagina 620) che possono essere configurati in
STEP 7. Per maggiori informazioni sulle pagine Web standard e su come accedervi
consultare il paragrafo Pagine Web standard (Pagina 625).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 617
Web server

Nota
Le CPU S7-1200 V4.0 non comprendono una pagina Web standard separata per
l'aggiornamento del firmware. L'aggiornamento del firmware è incluso nella pagina di
informazioni sul modulo.

Pagine Web personalizzate


L'S7-1200 fornisce inoltre un supporto per la creazione di pagine Web personalizzate dalle
quali è possibile accedere ai dati della CPU. Queste pagine possono essere sviluppate con
un qualsiasi strumento di progettazione HTML e comprendono dei comandi "AWP"
(Automation Web Programming) predefiniti nel codice HTML per accedere ai dati della CPU.
Per informazioni più precise sullo sviluppo delle pagine Web personalizzate e la relativa
configurazione e programmazione in STEP 7, consultare il capitolo Pagine Web
personalizzate (Pagina 641).
È possibile accedere alle pagine personalizzare dalle pagine Web standard usando un PC o
un dispositivo portatile.

Requisito del Web browser


Il Web server supporta i seguenti Web browser:
● Internet Explorer 8.0
● Internet Explorer 9.0
● Mozilla Firefox 17.0.1
● Google Chrome 23.0
● Apple Safari 5.1.7 (Windows)
● Apple Safari 6.0.2 (Mac)
Il Web server supporta i seguenti Web browser per i dispositivi portatili:
● Internet Explorer 6.0 e versioni precedenti per i pannelli HMI
● Mobile Safari 7534.48.3 (iOS 5.0.1)
● Mobile Android Browser 2.3.4
● Mobile Google Chrome 23.0
Per informazioni sulle limitazioni del browser che possono interferire con la visualizzazione
delle pagine standard o personalizzate, consultare il capitolo Limitazioni (Pagina 682).

Sistema di automazione S7-1200


618 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.1 Abilitazione del Web server

11.1 Abilitazione del Web server


Il Web server in STEP 7 viene abilitato dalla finestra Configurazioni dispositivi per la CPU
che si desidera collegare.
Per abilitare il Web server procedere nel seguente modo:
1. Selezionare la CPU nella finestra Configurazione dispositivi.
2. Nella finestra di ispezione, selezionare "Web server" dalle proprietà della CPU.
3. Selezionare la casella di opzione "Abilita Web server su quest'unità".
4. Per un accesso sicuro al Web server selezionare la casella di opzione "Consenti
l'accesso solo con HTTPS".

AVVERTENZA
Accesso non autorizzato alla CPU tramite Web server
L'accesso non autorizzato alla CPU o l'impostazione delle variabili del PLC su valori non
validi possono compromettere il funzionamento del processo, causando la morte o gravi
lesioni alle persone e/o danni alle cose.
Poiché abilitando il Web server si consente agli utenti autorizzati di apportare modifiche
al modo di funzionamento, scrivere nei dati del PLC e aggiornare il firmware, Siemens
consiglia di attenersi alle seguenti norme di sicurezza:
• Abilitare l'accesso al Web server solo con il protocollo HTTPS.
• Proteggere gli ID utente del Web server (Pagina 620) mediante una password con
livello di sicurezza elevato. Le password con livello di sicurezza elevato contengono
almeno dieci caratteri, lettere diverse, numeri e caratteri speciali, non corrispondono
a parole del dizionario, né a nomi o identificatori che possono essere dedotti dai dati
personali dell'utente. Tenere la password segreta e cambiarla spesso.
• Non estendere i privilegi minimi di default all'utente "tutti".
• Controllare gli eventuali errori e i range delle variabili della logica di programma
perché gli utenti delle pagine Web possono modificare le variabili del PLC
impostandole su valori non validi.
• Per collegarsi al Web server dell'S7-1200 da un luogo esterno alla rete protetta
utilizzare una Virtual Private Network (VPN) sicura.

Dopo aver caricato la configurazione del dispositivo si può accedere alla CPU dalle pagine
Web standard. Selezionando "Abilita" per "Aggiornamento automatico" le pagine Web
standard vengono aggiornate ogni dieci secondi.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 619
Web server
11.2 Configurazione degli utenti del Web server

Se sono state create e attivate delle pagine Web personalizzate (Pagina 641) è possibile
accedervi dal menu delle pagine Web standard.

Nota
Sostituzione di un dispositivo: sostituzione di una CPU V3.0 con una CPU V4.0 e
conversione del progetto
Se si sostituisce una CPU V3.0 con una CPU V4.0 (Pagina 1025) e si converte il progetto
dalla V3.0 alla V4.0, tenere presente che STEP 7 e la CPU V4.0 mantengono le
impostazioni del Web server per
• "Abilita server web su quest'unità"
• "Consenti accesso solo tramite HTTPS"

Nota
Se è in corso un caricamento delle modifiche in RUN (Pagina 828) le pagine Web standard e
quelle definite dall'utente non aggiornano i valori dei dati né consentono di scriverli fino al
termine del caricamento. Il Web server blocca i tentativi di scrittura dei valori di dati durante il
caricamento.

Attivazione di altre lingue per il Web server


In opzione è possibile selezionare anche altre lingue per visualizzare le pagine Web
standard. Selezionare "Lingue dell'interfaccia utente" nella scheda Proprietà della
configurazione del dispositivo, quindi assegnare una lingua di progetto STEP 7 a una delle
sei lingue supportate dal Web server. Una volta caricata la configurazione del dispositivo, le
pagine Web standard contengono un selettore per la lingua dell'interfaccia utente. Se non si
selezionano delle lingue specifiche viene impostato per default l'inglese.

11.2 Configurazione degli utenti del Web server


È possibile configurare gli utenti con diversi livelli di accesso alla CPU tramite il Web server.
Per configurare gli utenti del Web server e i loro privilegi procedere nel seguente modo:
1. Selezionare la CPU nella finestra Configurazione dispositivi.
2. Nella finestra di ispezione, selezionare "Web server" dalle proprietà della CPU e abilitare
il Web server (Pagina 619).
3. Selezionare "Gestione utenti" nelle proprietà del Web server.
4. Specificare il nome, il livello di accesso e la password degli utenti per i log in che si
desidera consentire.
Una volta caricata la configurazione nella CPU, solo gli utenti autorizzati potranno accedere
alle funzioni del Web server per cui hanno i privilegi.

Sistema di automazione S7-1200


620 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.2 Configurazione degli utenti del Web server

Livelli di accesso al Web server


STEP 7 imposta per default l'utente "tutti" senza password. Per default questo utente non ha
alcun privilegio e può solo visualizzare le pagine Web dopo aver effettuato il log in. È tuttavia
possibile attribuire privilegi particolari sia a "tutti" che ad altri utenti configurati che saranno
così autorizzati a:
● interrogare la diagnostica
● leggere le variabili
● scrivere le variabili
● leggere lo stato delle variabili
● scrivere lo stato delle variabili
● richiamare pagine definite dall'utente
● scrivere pagine definite dall'utente
● leggere file
● scrivere/cancellare file
● cambiare lo stato di funzionamento
● attivare il lampeggio del LED
● eseguire l'aggiornamento del firmware
Se non si aggiungono altri privilegi l'utente "tutti" può visualizzare solo la pagina iniziale
(Pagina 630) e di introduzione (Pagina 629).

AVVERTENZA
Accesso al Web server
Attribuendo dei privilegi all'utente "tutti" si consente a chiunque di accedere al Web server
senza password. L'accesso non autorizzato alla CPU o l'impostazione delle variabili del
PLC su valori non validi possono compromettere il funzionamento del processo, causando
la morte o gravi lesioni alle persone e/o danni alle cose.
Poiché se si attribuiscono privilegi sufficienti all'utente "tutti" chiunque può apportare
modifiche al modo di funzionamento, scrivere nei dati del PLC e aggiornare il firmware
senza password, Siemens consiglia di attenersi alle seguenti norme di sicurezza:
• Abilitare l'accesso al Web server solo con il protocollo HTTPS.
• Proteggere gli ID utente del Web server mediante una password con livello di sicurezza
elevato. Le password con livello di sicurezza elevato contengono almeno dieci caratteri,
lettere diverse, numeri e caratteri speciali, non corrispondono a parole del dizionario, né
a nomi o identificatori che possono essere dedotti dai dati personali dell'utente. Tenere
la password segreta e cambiarla spesso.
• Non estendere i privilegi minimi di default all'utente "tutti".
• Controllare gli eventuali errori e i range delle variabili della logica di programma perché
gli utenti delle pagine Web possono modificare le variabili del PLC impostandole su
valori non validi.
• Per collegarsi al Web server dell'S7-1200 da un luogo esterno alla rete protetta
utilizzare una Virtual Private Network (VPN) sicura.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 621
Web server
11.3 Accesso alle pagine Web da un PC

11.3 Accesso alle pagine Web da un PC


Si può accedere alle pagine Web standard dell'S7-1200 da un PC o da un dispositivo
portatile.
Per accedere alle pagine Web standard di S7-1200 da un PC procedere nel seguente modo:
1. Assicurarsi che l'S7-1200 e il PC abbiano una rete Ethernet comune o siano collegati
direttamente l'uno all'altro con un cavo Ethernet standard.
2. Aprire un Web browser e inserire l'URL "http://ww.xx.yy.zz" dove "ww.xx.yy.zz"
corrisponde all'indirizzo IP della CPU dell'S7-1200.
Il Web browser apre la pagina di introduzione.

Nota
Per collegarsi al Web server dell'S7-1200 da un luogo esterno alla rete protetta utilizzare
una Virtual Private Network (VPN) sicura. Inoltre tener conto degli eventuali limiti
(Pagina 682) dell'ambiente Web o del sistema operativo.

In alternativa, il Web browser può essere indirizzato ad una specifica pagina Web standard.
A tal fine, inserire l'URL "http://ww.xx.yy.zz/<page>.html" dove <page> corrisponde a una
delle pagine Web standard:
● Pagina iniziale (Pagina 630) - informazioni generali sulla CPU
● Identificazione (Pagina 630) - informazioni dettagliate sulla CPU tra cui numero di serie,
di ordinazione e di versione
● Stato dell'unità (Pagina 632) - informazioni sui moduli del telaio di montaggio locale e
sulla funzione di aggiornamento del firmware
● Comunicazione (Pagina 636) - informazioni su indirizzi di rete, proprietà fisiche delle
interfacce di comunicazione e statistiche di comunicazione
● Buffer di diagnostica (Pagina 631) - il buffer di diagnostica
● Stato delle variabili (Pagina 636) - variabili della CPU e I/O, accessibili con l'indirizzo o
con il nome della variabile del PLC
● Unità di selezione file (Pagina 638) - browser per l'accesso ai file di log di dati o ai file
delle ricette memorizzati internamente alla CPU o in una memory card
● Pagine utente (Pagina 629) - pagina di introduzione alle pagine Web standard
● login??? (Pagina 626) - pagina per il log in come utente diverso o per il log out. (In tutte le
pagine Web standard del PC è presente una finestra di log in, ma per collegarsi da un
dispositivo portatile si deve utilizzare una pagina di log in apposita.)
Ad esempio, se si specifica "http://ww.xx.yy.zz/communication.html", il browser visualizza la
pagina per la comunicazione.

Sistema di automazione S7-1200


622 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.4 Accesso alle pagine Web da un dispositivo portatile

Accesso sicuro
Per collegarsi al Web server dell'S7-1200 da un luogo esterno alla rete protetta utilizzare una
Virtual Private Network (VPN) sicura. L'uso di https:// invece di http:// consente l'accesso
sicuro alle pagine Web standard. Quando ci si collega all'S7-1200 con https://, il sito Web
codifica la sessione con un certificato digitale. Il Web server trasmette i dati in modo sicuro e
non è visualizzabile da nessuno. Generalmente compare un'avvertenza di sicurezza che, se
confermata con "Sì", permette di passare alla pagina Web standard. Per evitare l'avvertenza
di sicurezza ad ogni accesso sicuro, è possibile importare il certificato software Siemens nel
Web browser (Pagina 684).
Se lo si desidera è inoltre possibile configurare il PLC in STEP 7 (Pagina 619) in modo da
renderlo accessibile solo con un accesso sicuro (https).

11.4 Accesso alle pagine Web da un dispositivo portatile


Per accedere a un S7-1200 da un dispositivo portatile si deve collegare il PLC a una rete
che si connette a Internet o a un punto di accesso wireless locale. Per collegarsi un
dispositivo portatile al Web server del PLC S7-1200 server utilizzare una Virtual Private
Network (VPN) sicura. Per mappare l'indirizzo IP del PLC su un indirizzo che lo renda
accessibile a un dispositivo portatile tramite Internet, si può utilizzare il port forwarding nel
router wireless. Per configurare il port forwarding seguire le istruzioni per la configurazione
del software del router. È possibile collegarsi a tanti PLC e dispositivi di commutazione
quanti ne supporta il router.
Senza port forwarding ci si può collegare a un PLC solo localmente entro il campo dei
segnale wireless.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 623
Web server
11.4 Accesso alle pagine Web da un dispositivo portatile

In questo esempio un dispositivo portatile che si trova entro il campo del punto di accesso
wireless locale può collegarsi al PLC 3 e al PLC 4 attraverso i rispettivi indirizzi IP.
Attraverso Internet, fuori dal campo wireless locale, un dispositivo portatile può collegarsi al
PLC 1 e al PLC 2 tramite il rispettivo indirizzo impostato nel port forwarding.
Per accedere alle pagine Web standard si deve disporre dell'accesso a una rete mobile o a
un punto di accesso wireless. Per accedere a un PLC da Internet, specificare nel Web
browser del dispositivo portatile l'indirizzo impostato nel port forwarding per accedere al
PLC, ad esempio http://ww.xx.yy.zz:pppp o https::/ww.xx.yy.zz:pppp, dove ww.xx.yy.zz
corrisponde all'indirizzo del router e pppp alla porta assegnata a un PLC specifico.
Per l'accesso locale attraverso un punto di accesso wireless locale immettere l'indirizzo IP
della CPU: http://ww.xx.yy.zz o https::/ww.xx.yy.zz. Si può anche entrare in una pagina Web
particolare specificandone il nome come spiegato nel paragrafo Accesso alle pagine Web da
un PC (Pagina 622).
Se lo si desidera è inoltre possibile configurare il PLC in STEP 7 (Pagina 619) in modo da
renderlo accessibile solo con un accesso sicuro (https).

Sistema di automazione S7-1200


624 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.5 Pagine Web standard

11.5 Pagine Web standard

11.5.1 Layout delle pagine Web standard


Ogni pagina Web standard ha un layout comune con i link di navigazione e i controlli di
pagina. Tutte le pagine hanno la stessa area dei contenuti, che siano visualizzate in un PC o
in un dispositivo portatile, ma il layout e i comandi per la navigazione variano in base alla
dimensione dello schermo e alla risoluzione dell'apparecchio. In un PC standard o un
dispositivo portatile di grandi dimensioni le pagine Web standard vengono visualizzate con il
seguente layout:

① Intestazione del Web server con il selettore che indica l'ora locale del PLC o l'ora UTC e il
selettore per la lingua di visualizzazione (Pagina 146)
② Log in o log out
③ Intestazione della pagina Web standard con il nome della pagina visualizzata. In questo
esempio è la pagina di identificazione della CPU. Alcune pagine Web standard, quali le
informazioni sui moduli, visualizzano anche un percorso di navigazione se è possibile
accedere a più schermate di questo tipo.
④ Icona di aggiornamento: per le pagine con aggiornamento automatico, abilita o disabilita la
funzione di aggiornamento automatico; per le pagine senza aggiornamento automatico,
consente l'aggiornamento della pagina con i dati attuali
⑤ Icona di stampa: prepara e visualizza una versione stampabile delle informazioni disponibili
nella pagina visualizzata
⑥ Area di navigazione per passare ad un'altra pagina
⑦ Area dei contenuti per la specifica pagina Web standard visualizzata. In questo esempio è la
pagina di identificazione della CPU.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 625
Web server
11.5 Pagine Web standard

Layout nel dispositivo portatile


Nei dispositivi con larghezza inferiore a 768 pixel il Web server visualizza le pagine nella
versione per dispositivi portatili. La pagina non comprende le aree per la navigazione, il log
in e l'intestazione e contiene pulsanti che consentono di spostarsi in avanti e indietro nelle
pagine Web e un pulsante Home che porta alla pagina di navigazione. Per navigare si
possono anche utilizzare i comandi del dispositivo portatile. Ad esempio, in un dispositivo
portatile che dispone di uno schermo con larghezza inferiore a 768 pixel la pagina
Identificazione viene visualizzata con orientamento verticale nel seguente modo:

Si noti che gli screenshot delle pagine Web riportati nel presente capitolo corrispondono alle
pagine Web standard del PC. Ogni pagina ha un layout equivalente per i dispositivi portatili.

11.5.2 Log in e privilegi degli utenti


Ogni pagina Web standard del PC visualizza una finestra di log in sopra il riquadro di
navigazione. Per motivi di spazio le pagine Web per i dispositivi portatili mettono a
disposizione una pagina di log in separata. L'S7-1200 supporta il log in di più utenti con livelli
di accesso (privilegi) diversi che li autorizzano a:
● interrogare la diagnostica
● leggere le variabili
● scrivere le variabili
● leggere lo stato delle variabili
● scrivere lo stato delle variabili
● richiamare pagine definite dall'utente
● scrivere pagine definite dall'utente
● leggere file
● scrivere/cancellare file
● cambiare lo stato di funzionamento
● attivare il lampeggio del LED
● eseguire l'aggiornamento del firmware

Sistema di automazione S7-1200


626 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.5 Pagine Web standard

I ruoli degli utenti, i livelli di accesso associati (privilegi) e le password (Pagina 620) possono
essere configurati nelle proprietà di gestione degli utenti del Web server, nella
configurazione del dispositivo STEP 7 della CPU.

Log in
Generalmente non è necessario effettuare il log in per visualizzare i dati nelle pagine Web
standard. STEP 7 consente di impostare l'utente "tutti" che, per default, dispone dei privilegi
per visualizzare tutte le pagine Web standard. Per eseguire alcune operazioni, ad esempio
modificare il modo di funzionamento del controllore, scrivere valori nella memoria e
aggiornare il firmware della CPU, si deve disporre dei privilegi richiesti. Si noti che, se è stato
configurato il livello di protezione dell'accesso alla CPU "Nessun accesso (protezione
completa)", l'utente "tutti" non può accedere al server Web.

Se le pagine Web standard vengono visualizzate


in un PC o un dispositivo portatile di grandi
dimensioni il riquadro per il log in compare vicino
all'angolo in alto a sinistra.
Nei dispositivi portatili piccoli la pagina di log in è
indipendente e può essere selezionata nella
Home page.

Per effettuare il log in procedere nel seguente modo:


1. Immettere il nome utente nel campo Nome.
2. Specificare la password utente nel campo Password.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 627
Web server
11.5 Pagine Web standard

Il log in scade dopo trenta minuti di inattività. Se la pagina caricata si aggiorna di continuo il
log in non scade.

AVVERTENZA
Accesso non autorizzato alla CPU tramite Web server
L'accesso non autorizzato alla CPU o l'impostazione delle variabili del PLC su valori non
validi possono compromettere il funzionamento del processo, causando la morte o gravi
lesioni alle persone e/o danni alle cose.
Poiché abilitando il Web server si consente agli utenti autorizzati di apportare modifiche al
modo di funzionamento, scrivere nei dati del PLC e aggiornare il firmware, Siemens
consiglia di attenersi alle seguenti norme di sicurezza:
• Abilitare l'accesso al Web server solo con il protocollo HTTPS.
• Proteggere gli ID utente del Web server (Pagina 195) mediante una password con
livello di sicurezza elevato. Le password con livello di sicurezza elevato contengono
almeno otto caratteri, lettere diverse, numeri e caratteri speciali, non corrispondono a
parole del dizionario, né a nomi o identificatori che possono essere dedotti dai dati
personali dell'utente. Tenere la password segreta e cambiarla spesso.
• Controllare gli eventuali errori e i range delle variabili della logica di programma perché
gli utenti delle pagine Web possono modificare le variabili del PLC impostandole su
valori non validi.

Se si verificano errori durante il collegamento, tornare nella pagina di introduzione


(Pagina 629) e scaricare il certificato di sicurezza Siemens (Pagina 684) che consente di
collegarsi correttamente.

Log out

Per effettuare il log out fare semplicemente clic sul link


"Esci" da qualsiasi pagina, sia dal PC che dal portatile.

Se il dispositivo portatile è piccolo si deve entrare nella


pagina di log in/out dalla Home page e selezionare il
pulsante "Esci".

Sistema di automazione S7-1200


628 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.5 Pagine Web standard

Se non si effettua il log in, si può comunque accedere alle pagine Web standard e
visualizzarle in base ai privilegi dell'utente "tutti" ma non si possono eseguire operazioni che
richiedono privilegi superiori. Ciascuna descrizione delle pagine Web standard definisce le
eventuali azioni che richiedono ulteriori privilegi.

Nota
Log off prima della chiusura del Web server
Se ci si è collegati al Web server accertarsi di fare il log off prima di chiudere il Web browser.
Il Web server supporta al massimo sette log in contemporaneamente.

11.5.3 Introduzione
La pagina di introduzione è la schermata di benvenuto per accedere alle pagine Web
standard dell'S7-1200.

Da questa pagina è sufficiente cliccare su "Enter" per accedere alle pagine Web dell'S7-
1200. Nella parte superiore dello schermo sono presenti dei collegamenti a degli utili siti
Web Siemens, nonché un collegamento per scaricare il certificato di sicurezza Siemens
(Pagina 684).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 629
Web server
11.5 Pagine Web standard

11.5.4 Pagiona iniziale


La pagina iniziale visualizza la CPU alla quale si è collegati e riporta informazioni generali
sulla stessa. Se si effettua il log in (Pagina 626) con i privilegi adatti, si può modificare il
modo di funzionamento della CPU e impostare il lampeggio dei LED anche con i pulsanti.

11.5.5 Identification
La pagina Identificazione visualizza le caratteristiche di identificazione della CPU:
● Numero di serie
● Numero di ordinazione
● Informazioni sulla versione

Sistema di automazione S7-1200


630 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.5 Pagine Web standard

Per visualizzare la pagina Identificazione si deve disporre del privilegio per l'interrogazione
della diagnostica. Per default l'utente "tutti" ha questo privilegio senza effettuare il log in.

Vedere anche
Configurazione degli utenti del Web server (Pagina 620)

11.5.6 Diagnostic Buffer


La pagina Buffer di diagnostica visualizza gli eventi di diagnostica. Il selettore a sinistra
consente di scegliere l'intervallo di voci del buffer di diagnostica da visualizzare: da 1 a 25 o
da 26 a 50. Il selettore a destra consente di scegliere se visualizzare l'ora UTC o l'ora locale
del PLC. Nell'area in alto nella pagina compaiono le voci di diagnostica con l'ora e la data in
cui si è verificato l'evento.
Dalla parte superiore della pagina è possibile selezionare una singola voce per visualizzare
le informazioni dettagliate su quella voce nella parte inferiore della pagina.

Per visualizzare la pagina Stato dell'unità si deve disporre del privilegio (Pagina 620) per
l'interrogazione della diagnostica. Per default l'utente "tutti" ha questo privilegio senza
effettuare il log in.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 631
Web server
11.5 Pagine Web standard

11.5.7 Informazioni sui moduli


La pagina Stato dell'unità fornisce informazioni su tutti i moduli nel rack locale. Nell'area in
alto nella pagina compare un riepilogo dei moduli, mentre nell'area in basso sono indicate le
informazioni sullo stato, l'identificazione e il firmware del modulo selezionato. La pagina
Stato dell'unità contiene inoltre una funzione per l'aggiornamento del firmware.
Per visualizzare la pagina Stato dell'unità si deve disporre del privilegio (Pagina 620) per
l'interrogazione della diagnostica. Per default l'utente "tutti" ha questo privilegio senza
effettuare il log in.

Stato dell'unità: scheda Stato


La scheda Stato nella parte inferiore della pagina Stato dell'unità visualizza una descrizione
dello stato attuale del modulo selezionato nella parte superiore.

Nota
Nei dispositivi portatili la pagina Stato dell'unità visualizza le informazioni "Indirizzo I",
"Indirizzo Q" e "Commento" nella scheda Identificazione invece che nelle colonne della
tabella principale di stato dell'unità.

Sistema di automazione S7-1200


632 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.5 Pagine Web standard

Scorrimento
Nella parte superiore è possibile selezionare un collegamento e farlo scorrere giù fino alle
informazioni su quel particolare modulo. I moduli con sottomoduli presentano collegamenti
per ogni sottomodulo. Il tipo di informazioni visualizzate varia in base al modulo selezionato.
Ad esempio, inizialmente la finestra delle informazioni sui moduli visualizza il nome della
stazione SIMATIC 1200, un indicatore di stato e un commento. Scorrendo verso il basso fino
alla CPU, la finestra delle informazioni sui moduli visualizza il nome di ingressi e uscite
digitali ed analogici forniti da quel modello di CPU (ad es. "DI14/DO10", "AI2"), indirizzando
le informazioni su I/O, indicatori di stato, numeri di slot e commenti.

Scorrendo verso il basso, la pagina di informazioni sui moduli mostra il percorso seguito. Per
tornare ad un livello superiore basta fare clic su un collegamento qualsiasi del percorso.

Campi di ordinamento

Quando l'elenco contiene più moduli, è possibile


fare clic sull'intestazione della colonna di un
campo per ordinarlo per quel campo sia dall'alto
che dal basso .
Nota: Questa funzione non è ancora disponibile
per la pagina Stato dell'unità in cinese.

Filtraggio delle informazioni sui moduli


Qualsiasi campo dell'elenco di informazioni sui moduli può essere filtrato. Dall'elenco a
discesa selezionare il nome del campo per cui si desidera filtrare i dati. Inserire il testo nella
relativa casella e fare clic su Filtro. L'elenco si aggiorna e visualizza i moduli che
corrispondono ai criteri di filtraggio impiegati.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 633
Web server
11.5 Pagine Web standard

Stato dell'unità: scheda Identificazione


La scheda Identificazione visualizza il numero di serie e i numeri di versione del modulo
selezionato.

Stato dell'unità: scheda Firmware


La scheda Firmware della pagina Stato dell'unità contiene informazioni sul firmware del
modulo selezionato. Se si dispone del privilegio (Pagina 620) per l'aggiornamento del
firmware si può anche aggiornare il firmware della CPU o di altri moduli che consentono
l'aggiornamento del firmware.

Nota
La funzione di aggiornamento del firmware consente di aggiornare solo le CPU S7-1200 a
partire dalla versione 3.0.
Per eseguire l'aggiornamento del firmware il Web server utilizza il protocollo "https".

Sistema di automazione S7-1200


634 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.5 Pagine Web standard

L'aggiornamento del firmware può essere eseguito solo se la CPU è in STOP. Con la CPU in
STOP, fare clic sul pulsante Browse per cercare il file del firmware e selezionarlo. Gli
aggiornamenti del firmware sono disponibili nel sito Web dell'assistenza clienti
(http://support.automation.siemens.com).
Durante l'aggiornamento la pagina indica in un messaggio che l'aggiornamento è in corso. Al
termine dell'aggiornamento la pagina indica il numero d'ordine e la versione del firmware
aggiornato. Se è stato aggiornato il firmware di una CPU o di una Signal Board il Web server
riavvia la CPU.

Nota
È anche possibile aggiornare il firmware da STEP 7 (Pagina 814) o con una memory card
(Pagina 136).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 635
Web server
11.5 Pagine Web standard

11.5.8 Comunicazione
La pagina Comunicazione visualizza i parametri della CPU collegata, tra cui l'indirizzo MAC,
l'indirizzo IP e le impostazioni IP della CPU.

Per visualizzare la pagina Comunicazione si deve disporre del privilegio per l'interrogazione
della diagnostica.

11.5.9 Variable Status


La pagina Stato delle variabili permette di visualizzare qualsiasi dato di I/O o della memoria
nella CPU. È possibile inserire un indirizzo diretto (come I0.0), il nome di una variabile PLC o
una variabile da un blocco dati specifico. Per le variabili dei blocchi dati, racchiudere il nome
del blocco tra virgolette doppie. Per ogni valore di controllo è possibile selezionare un
formato di visualizzazione dei dati. È possibile continuare ad inserire e specificare i valori
fino a disporne della quantità desiderata entro i limiti della pagina. I valori di controllo
vengono visualizzati automaticamente e si aggiornano per default, a meno che non si faccia
clic sul simbolo "Off" nella parte superiore destra della pagina. Quando la funzione di
aggiornamento è disabilitata, si può fare clic su "On" per riabilitare l'aggiornamento
automatico.
Per visualizzare la pagina Stato delle variabili si deve disporre del privilegio per la lettura
dello stato delle variabili.
Se si effettua il log in come utente con il privilegio di scrittura dello stato delle variabili si
possono anche modificare i valori dei dati. Inserire il valore che si desidera modificare nel
relativo campo "Valore". Fare clic sul pulsante "Vai" accanto ad un valore per scrivere quel
valore nella CPU. È anche possibile inserire più valori e fare clic su "Applica" per scrivere
tutti i valori nella CPU. I pulsanti e le etichette delle colonne per la modifica compaiono solo
se si dispone del privilegio di lettura dello stato delle variabili.

Sistema di automazione S7-1200


636 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.5 Pagine Web standard

Se si esce dalla pagina Stato delle variabili e vi si ritorna, la pagina non conserva le voci
inserite. È possibile mettere un segnalibro alla pagina e ritornare al segnalibro per
visualizzare le stesse voci. Se non si mette il segnalibro, le variabili devono essere
reinserite.

Nota
Tenere presente i seguenti punti durante l'uso della pagina di stato delle variabili:
• Racchiudere tutte le modifiche apportate alle stringhe tra virgolette singole.
• La pagina Stato delle variabili non consente di controllare o modificare le variabili che
contengono uno qualsiasi dei seguenti caratteri: &, <, (, +, ,(virgola), ., [, ], $ o %. Non è
ad esempio possibile controllare la variabile "Clock_2.5Hz".
• La pagina Stato delle variabili non consente di modificare una stringa più lunga di 198
caratteri.
• Se viene utilizzata una notazione esponenziale per immettere un valore per un tipo di dati
Real o LReal nella pagina di stato delle variabili:
– Per immettere un valore di numero reale (Real o LReal) con un esponente positivo (ad
es. +3.402823e+25) utilizzare uno dei seguenti formati:
+3.402823e25
+3.402823e+25
– Per immettere un valore di numero reale (Real o LReal) con un esponente negativo
(ad es. +3.402823e-25), immettere il valore nel seguente formato:
+3.402823e-25
– Accertarsi che la mantissa del valore reale nella notazione esponenziale comprenda il
punto decimale. Se non si include il punto decimale il valore viene modificato in un
valore intero imprevisto. Ad es. si deve immettere -1.0e8 invece che -1e8.
• La pagina di stato delle variabili supporta solo 15 cifre per un valore LReal
(indipendentemente dalla posizione del punto decimale). Se vengono immesse più di 15
cifre viene creato un errore di arrotondamento.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 637
Web server
11.5 Pagine Web standard

Limiti della pagina Stato delle variabili:


● Il numero massimo di variabili è di 50 per pagina.
● Il numero massimo di caratteri dell'URL corrispondente alla pagina di stato delle variabili
è 2083. L'URL che rappresenta la pagina delle variabili attuale può essere visualizzato
nella barra degli indirizzi del proprio browser.
● Per quanto riguarda il formato di visualizzazione dei caratteri, la pagina visualizza i valori
esadecimali se i valori attuali della CPU non sono dei validi caratteri ASCII secondo
l'interpretazione del browser.

Nota
Se il nome di una variabile contiene caratteri speciali e per questo non viene accettato
nella pagina di stato delle variabili, può essere racchiuso tra virgolette doppie. Nella
maggior parte dei casi la pagina di stato delle variabili riconoscerà così il nome della
variabile.

Vedere anche
Log in e privilegi degli utenti (Pagina 626)

11.5.10 Unità di selezione file


La pagina Unità di selezione file consente di accedere ai file della memoria di caricamento
interna della CPU o della memory card (memoria di caricamento esterna). Inizialmente la
pagina Unità di selezione file visualizza la root della memoria di caricamento con le cartelle
"DataLogs" e "Recipes" ma, se si utilizza una memory card, mostra anche le eventuali altre
cartelle che vi sono state create.
Il tipo di accesso ai file e alle cartelle dipende dai privilegi (Pagina 620) utente di cui si
dispone. Gli utenti con privilegi di lettura dei file possono visualizzare i file e le cartella con
l'unità di selezione. Indipendentemente dai privilegi di log in dell'utente, le cartelle DataLogs
o Recipes non sono cancellabili; se tuttavia sono state create cartelle personalizzate nella
memory card e si dispone dei privilegi di scrittura/lettura dei file, le si può eliminare.
Per accedere ai file di una cartella selezionarla con un clic del mouse.

Sistema di automazione S7-1200


638 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.5 Pagine Web standard

Log di dati
È possibile aprire qualsiasi file di log di dati dalla cartella "Data Logs". Se il log in è stato
effettuato con il privilegio (Pagina 620) di scrittura/lettura dei file si possono anche eliminare,
rinominare e caricare i file. I file di log di dati sono disponibili nel formato CSV (comma
separated value). Li si può salvare nel PC o aprirli in Microsoft Excel (default) o un altro
programma. Se un file di log del programma del PLC è aperto non lo si può cancellare dalla
pagina dell'unità di selezione file. Inoltre non è possibile caricare un file di log di dati se il
nome del file esiste già.

Nota
Data e ora dei log di dati
Il Web server visualizza la data e l'ora dei log di dati come ora UTC o ora locale del PLC in
funzione dell'opzione selezionata in alto nella pagina.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 639
Web server
11.5 Pagine Web standard

Nota: le opzioni "Annulla" e "Rinomina" non sono disponibili se il log in non è stato effettuato con il
privilegio di scrittura/cancellazione dei file.

Nota
Il file di log di dati è nel formato americano/inglese CSV . Per aprirlo in Excel su sistemi non
americani/inglesi, occorre importarlo in Excel con impostazioni specifiche (Pagina 686).

File delle ricette


Come la cartella dei log di dati, la cartella delle ricette visualizza le ricette presenti nella
memoria di caricamento. Anche i file delle ricette sono in formato CSV e possono essere
aperti in Microsoft Excel o in un altro programma. Come nel caso dei log di dati, per poter
eliminare, modificare e salvare, rinominare o caricare i file delle ricette si deve disporre dei
privilegi di modifica.

Caricamento dei file e refresh automatico delle pagine


Se si inizia a caricare un file il caricamento continua finché si resta nella pagina Unità di
selezione file. Se è stato attivato l'aggiornamento automatico delle pagine del Web server
ogni dieci secondi, quando viene eseguito un refresh si vede l'avanzamento incrementale
del caricamento. Se, ad esempio, si sta caricando un file di 2 MB, man mano che il
caricamento procede vengono indicate le dimensioni del file in byte in incrementi di 2500,
5000, 10000, 15000 e 20000.
Se si esce dalla pagina Unità di selezione file prima che il caricamento sia terminato il file
non viene scaricato sarà incompleto. Quando si rientra nella pagina Unità di selezione file
compare un'indicazione con il nome del file e le dimensioni che aveva quando è stato
interrotto il caricamento. Non viene segnalato che il file è incompleto. Per accertarsi di aver
caricato il file completo restare nella pagina Unità di selezione file finché le dimensioni
indicate non corrispondono a quelle effettive del file.

Sistema di automazione S7-1200


640 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.6 Pagine Web personalizzate

Ulteriori informazioni
Per maggiori informazioni sulla programmazione con le istruzioni dei log di dati e
l'importazione (Pagina 383) ed esportazione (Pagina 381) delle ricette, vedere il capitolo
Ricette e log di dati (Pagina 376).

11.6 Pagine Web personalizzate


Il Web server dell'S7-1200 mette a disposizione anche i mezzi per creare pagine HTML
specifiche per la propria applicazione che includono i dati del PLC.

AVVERTENZA
Accesso non autorizzato alla CPU dalle pagine Web personalizzate
L'accesso non autorizzato alla CPU dalle pagine Web personalizzate può compromettere il
funzionamento del processo, causando la morte o gravi lesioni alle persone e/o danni alle
cose.
La codifica non sicura delle pagine Web personalizzate genera delle vulnerabilità nel
sistema di sicurezza, quali ad es. il cross-site scripting (XSS), iniezioni di codice, ecc.
Proteggere quindi la CPU S7-1200 dall'accesso non autorizzato installandola in modo
sicuro come indicato nelle Operational Guidelines disponibili nel sito Web per la sicurezza
industriale.

Utilizzare un editor HTML a scelta per creare le pagine personalizzate, quindi caricarle nella
CPU dove è possibile accedervi tramite le pagine Web standard. Questo processo interessa
diversi task:
● Creazione di pagine HTML con un editor HTML, come ad es. Microsoft Frontpage
(Pagina 642)
● Inserimento dei comandi AWP nei commenti HTML nel relativo codice (Pagina 643):i
comandi AWP sono un set fisso di comandi forniti da Siemens per l'accesso alle
informazioni della CPU.
● Configurazione di STEP 7 in modo che legga ed esegua le pagine HTML. (Pagina 658)
● Generazione di blocchi della pagine HTLM (Pagina 658)
● Programmazione di STEP 7 in modo che comandi l'impiego delle pagine HTML.
(Pagina 659)
● Compilazione e caricamento dei blocchi nella CPU (Pagina 661)
● Accesso alle pagine Web personalizzate dal PC (Pagina 662)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 641
Web server
11.6 Pagine Web personalizzate

Questo processo viene illustrato qui di seguito:

① File HTML con comandi AWP integrati

Vedere anche
Sito Web per la sicurezza industriale (http://www.siemens.com/industrialsecurity)

11.6.1 Creazione di pagine HTML


Per creare pagine HTML personalizzate da utilizzare con il server si può impiegare un
pacchetto software a piacere. Assicurarsi che il codice HTML sia compatibile con gli
standard HTML del W3C (World Wide Web Consortium). STEP 7 non esegue alcuna verifica
della sintassi HTML.
È possibile utilizzare un pacchetto software che permetta la progettazione in WYSIWYG o
un'altra modalità di layout, tuttavia il codice HTML deve essere editato in formato HTML. La
maggior parte degli strumenti di progettazione Web offre questo tipo di elaborazione; in caso
contrario è sempre possibile utilizzare un semplice editor di testo per elaborare il codice
HTML. Per impostare il charset per la pagina su UTF-8 inserire la linea seguente nella
pagina HTML:
<meta http-equiv="content-type" content="text/html; charset=utf-8">
Assicurarsi di salvare il file nell'editor che utilizza la codifica dei caratteri UTF-8.
Le pagine HTML possono essere compilate in blocchi dati STEP 7 con STEP 7. Questi
blocchi dati consistono in un blocco dati di comando che gestisce la visualizzazione delle
pagine Web e in uno o più blocchi dati di frammenti che contengono le pagine Web
compilate. Tenere presente che i vasti set di pagine HTML, in particolare quelli con tante
immagini, richiedono una quantità significativa di spazio di memoria di caricamento
(Pagina 662) per i DB di frammenti. Se la memoria di caricamento interna della CPU non è
sufficiente per le pagine Web personalizzate utilizzare una memory card (Pagina 127) per
aggiungere della memoria esterna.

Sistema di automazione S7-1200


642 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.6 Pagine Web personalizzate

Per programmare il codice HTML affinché utilizzi i dati dell'S7-1200 inserire comandi AWP
(Pagina 643) come commenti HTML. Una volta conclusa l'operazione salvare le pagine
HTML nel PC e annotare il percorso della cartella in cui vengono salvate.

Nota
Le dimensioni dei file HTML che contengono il comando AWP è di 64 kilobyte. I file non
devono superare questo limite.

Aggiornamento delle pagine Web personalizzate


Le pagine Web personalizzate non si aggiornano automaticamente. Si può quindi scegliere
se programmare l'HTLM in modo da aggiornare la pagina oppure no. Per le pagine che
visualizzano i dati del PLC, un aggiramento periodico consente di avere dei dati sempre
attuali. Per le pagine HTLM che fungono da formato per la voce di dati, l'aggiornamento può
interferire con i dati inseriti dall'utente. Se si desidera aggiornare automaticamente l'intera
pagina, si può aggiungere questa linea nell'intestazione dell'HTLM dove "10" è il numero di
secondi tra due aggiornamenti:
<meta http-equiv="Refresh" content="10">
Per impostare l'aggiornamento della pagina o dei dati si possono utilizzare anche JavaScript
o altre tecniche HTLM. In tal caso, consultare la documentazione su HTML e JavaScript.

11.6.2 Comandi AWP supportati dal Web server dell'S7-1200


Il Web server dell'S7-1200 fornisce dei comandi AWP che vengono integrati nelle pagine
Web personalizzate come commenti HTLM per i seguenti scopi:
● Lettura delle variabili (Pagina 645)
● Scrittura delle variabili (Pagina 646)
● Lettura di variabili speciali (Pagina 647)
● Scrittura di variabili speciali (Pagina 649)
● Definizione dei tipi di enum (Pagina 651)
● Assegnazione di variabili ai tipi di enum (Pagina 651)
● Creazione di blocchi dati di frammenti (Pagina 653)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 643
Web server
11.6 Pagine Web personalizzate

Sintassi generale
Ad eccezione del comando di lettura di una variabile, i comandi AWP hanno la seguente
sintassi:
<!-- AWP_ <nome comando e parametri> -->
I comandi AWP possono essere utilizzati unitamente ai comandi tipici del formato HTLM per
scrivere nelle variabili della CPU.
Le descrizioni dei comandi AWP delle pagine seguenti utilizzano le seguenti convenzioni:
● Le voci racchiuse tra parentesi [ ] sono opzionali.
● Le voci racchiuse tra parentesi angolari < > sono valori di parametri da specificare.
● Le virgolette sono una parte letterale del comando e devono essere presenti se indicate.
● Nei nomi di variabili o blocchi dati, a seconda dell'uso, i caratteri speciali devono essere
evitati o racchiusi tra virgolette (Pagina 656).
Utilizzare un editor di testo o una modalità di editing HTLM per inserire i comandi AWP nelle
proprie pagine.

Nota
Sintassi dei comandi AWP
Quando si formula un comando AWP si deve inserire uno spazio dopo "<!--" e prima di "--
>" che è fondamentale per la compilazione. Se non si inseriscono questi spazi il compilatore
potrebbe non riuscire a generare il codice appropriato. In questo caso il compilatore non
visualizza alcun errore.

Riepilogo dei comandi AWP


I dettagli per l'uso di ciascun comando AWP sono riportati al paragrafo seguente, ma ecco
un breve riepilogo dei comandi:
Lettura delle variabili
:=<NomeVar>:
Scrittura delle variabili
<!-- AWP_In_Variable Name='<NomeVar1>' [Use='<NomeVar2>'] ... -->
Questo comando AWP descrive semplicemente la variabile nella clausola del nome da
scrivere. Il codice HTLM scrive nella variabile per nome da <input>, <select> o altre
istruzioni HTML all'interno del formato HTML.
Lettura di variabili speciali
<!-- AWP_Out_Variable Name='<Tipo>:<Nome>' [Use='<NomeVar>'] -->
Scrittura di variabili speciali
<!-- AWP_In_Variable Name='<Tipo>:<Nome>' [Use='<NomeVar>']-->
Definizione dei tipi di enum
<!-- AWP_Enum_Def Name='<Nome tipo
enum>' Values='<Valore>, <Valore>,... ' -->
Indirizzamento dei tipi di enum

Sistema di automazione S7-1200


644 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.6 Pagine Web personalizzate

<!-- AWP_Enum_Ref Name='<NomeVar>' Enum='<TipoEnum>' -->


Creazione di frammenti
<!-- AWP_Start_Fragment Name='<Nome>' [Type=<Tipo>][ID=<id>] -->
Importazione di frammenti
<!-- AWP_Import_Fragment Name='<Nome>' -->

11.6.2.1 Lettura delle variabili


Le pagine Web personalizzate possono leggere le variabili (variabili del PLC) dalla CPU.

Sintassi
:=<Varname>:

Parametri

<Varname> La variabile da leggere, che può essere il nome di una variabile del PLC del
programma STEP 7, una variabile del blocco dati, un I/O o una memoria
indirizzabile. Per gli indirizzi di memoria o I/O o i nomi alias (Pagina 656) non
utilizzare le virgolette intorno al nome della variabile. Per le variabili PLC utilizzare
le virgolette doppie intorno al nome della variabile. Per le variabili dei blocchi dati
racchiudere il nome del blocco in virgolette doppie. Il nome della variabile è
all'esterno delle virgolette. Si noti che si usa il nome del blocco dati e non il numero
del blocco dati.

Esempi
:="Conveyor_speed"::="My_Data_Block".flag1:
:=I0.0:
:=MW100:

Esempio di lettura di una variabile alias


<!-- AWP_Out_Variable Name='flag1' Use='"My_Data_Block".flag1' -->
:=flag1:

Nota
La definizione di nomi alias per le variabili PLC e le variabili dei blocchi dati sono descritte
nel paragrafo Uso di un alias per il riferimento di una variabile (Pagina 650).

Se il nome di una variabile o di un blocco dati contiene caratteri speciali, occorre utilizzare le
virgolette o i caratteri escape come descritto al paragrafo Gestione dei nomi di variabili che
contengono caratteri speciali (Pagina 656).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 645
Web server
11.6 Pagine Web personalizzate

11.6.2.2 Scrittura delle variabili


Le pagine personalizzate possono scrivere i dati nella CPU. Questa operazione si esegue
con un comando AWP per identificare una variabile nella CPU che può essere scritta da una
pagina HTML. La variabile deve essere indicata con il nome della variabile PLC o il nome
della variabile del blocco dati. In un'istruzione si possono dichiarare più nomi delle variabili.
Per scrivere i dati nella CPU si utilizzano i comandi HTTP POST standard.
Un uso tipico è di progettare un formato nella pagina HTML con campi di inserimento testo
oppure selezionare le voci in un elenco che corrispondo alle variabili da scrivere nella CPU.
Come con tutte le pagine personalizzate, si generano i blocchi da STEP 7 in modo da
includerli nel programma STEP 7. Quando un utente con privilegi di modifica delle variabili
accede a questa pagina e immette dei dati nei campi di immissione o seleziona una voce da
un elenco, il Web server converte le sue immissioni nel tipo di dati adatto alla variabile e
scrive il valore nella variabile nella CPU. Si noti che la clausola del nome per i campi di
inserimento HTML e gli elenchi di voci HTML utilizzano la sintassi tipica della clausola del
nome del comando AWP_In_Variable. Generalmente racchiude il nome tra virgolette
semplici e, se si indirizza un blocco dati, racchiude il nome del blocco dati tra virgolette
doppie.
Per i dettagli sulla gestione del formato, consultare la documentazione dell'HTML.

Sintassi
<!-- AWP_In_Variable Name='<Varname1>' [Use='<Varname2>'] ... -->

Parametri

<NomeVar1> Se non è fornita nessuna clausola d'uso, Varname1 è la variabile da scrivere. Può
essere il nome di una variabile del PLC del programma STEP 7 o una variabile di
un blocco dati specifico.
Se viene fornita una clausola d'uso, Varname1 è un nome alternativo per la
variabile indirizzata in <Varname2> (Pagina 650). È un nome locale all'interno della
pagina HTML.
<Varname2> Se viene fornita una clausola d'uso, Varname2 è la variabile da scrivere. Può
essere il nome di una variabile del PLC del programma STEP 7 o una variabile di
un blocco dati specifico.

Per le due clausole, del nome e d'uso, l'intero nome deve essere racchiuso tra virgolette
semplici. All'interno delle virgolette semplici utilizzare le virgolette doppie per racchiudere il
nome di una variabile PLC e quello di un blocco dati. Il nome del blocco dati è racchiuso tra
virgolette doppie, il nome della rispettiva variabile no. Si noti che per le variabili dei blocchi
dati si usa il nome del blocco e non il numero.

Sistema di automazione S7-1200


646 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.6 Pagine Web personalizzate

Esempi d'uso del campo di inserimento HTML


<!-- AWP_In_Variable Name='"Livello_target"' -->
<form method="post">
<p>Livello target immesso: <input name='"Livello_target"'
type="text" />
</p>
</form>

<!-- AWP_In_Variable Name='"Blocco_dati_1".Frenatura' -->


<form method="post">
<p>Frenatura: <input name='"Blocco_dati_1".Frenatura' type="text" />
%</p>
</form>

<!-- AWP_In_Variable Name='"Frenatura"'


Use='"Blocco_dati_1".Frenatura' -->
<form method="post">
<p>Frenatura: <input name='"Frenatura"' type="text" /> %</p>
</form>

Esempi d'uso dell'elenco di selezione HTML


<!-- AWP_In_Variable Name='"Blocco_dati_1".AbilitaOverrideManuale'--
>
<form method="post">
<select name='"Blocco_dati_1".AbilitaOverrideManuale'>
<option value=:"Blocco_dati_1".AbilitaOverrideManuale:> </option>
<option value=1>Sì</option>
<option value=0>No</option>
</select><input type="submit" value="Trasmetti impostazione"
/></form>

Nota
Solo gli utenti con privilegi di modifica delle variabili possono scrivere dati nella CPU. Il Web
server ignora i comandi se l'utente non dispone dei privilegi di modifica.

Se il nome di una variabile o di un blocco dati contiene caratteri speciali, occorre utilizzare le
virgolette o i caratteri escape come descritto al paragrafo "Gestione dei nomi di variabili che
contengono caratteri speciali (Pagina 656)".

11.6.2.3 Lettura di variabili speciali


Il Web server consente di leggere i valori dal PLC per memorizzarli in variabili speciali
nell'intestazione di risposta HTTP. Ad esempio, è possibile leggere il nome di un percorso da
una variabile PLC per ridirigere l'URL in un'altra posizione utilizzando l'HEADER: Posizione
variabile speciale.

Sintassi
<!-- AWP_Out_Variable Name='<Tipo>:<Nome>' [Use='<NomeVar>'] -->

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 647
Web server
11.6 Pagine Web personalizzate

Parametri

<Tipo> Il tipo di variabile speciale, ovvero uno dei seguenti:


HEADER
COOKIE_VALUE
COOKIE_EXPIRES
<Nome> Per un elenco di tutti i nomi delle variabili HEADER consultare la documentazione
HTTP. Alcuni esempi sono riportati di seguito:
Status: codice di risposta
Location: percorso per nuovo indirizzo
Retry-After: tempo previsto di non disponibilità del servizio al client che ne fa
richiesta
Per i tipi COOKIE_VALUE e COOKIE_EXPIRES, <Nome> è il nome di un cookie
specifico.
COOKIE_VALUE:name: valore del cookie nominato
COOKIE_EXPIRES:name: tempo di scadenza in secondi del cookie nominato
La clausola del nome deve essere racchiusa tra virgolette semplici o doppie.
Se non è specificata una clausola d'uso, il nome della variabile speciale
corrisponde al nome della variabile PLC. Racchiudere la clausola del nome
completa tra virgolette semplici e la variabile PLC tra virgolette doppie. Il nome
della variabile speciale deve coincidere esattamente con quello della variabile PLC.
<NomeVar> Nome della variabile PLC o della variabile del blocco dati in cui viene letta la
variabile
NomeVar deve essere racchiuso tra virgolette semplici. All'interno delle virgolette
semplici utilizzare le virgolette doppie per racchiudere il nome di una variabile PLC
o quello di un blocco dati. Il nome del blocco dati è racchiuso tra virgolette doppie,
il nome della rispettiva variabile no. Si noti che per le variabili dei blocchi dati si usa
il nome del blocco e non il numero.

Se il nome di una variabile o di un blocco dati contiene caratteri speciali, occorre utilizzare le
virgolette o i caratteri escape come descritto al paragrafo Gestione dei nomi di variabili che
contengono caratteri speciali (Pagina 656).

Esempio: lettura di una variabile speciale senza clausola d'uso


<!-- AWP_Out_Variable Name='"HEADER:Status"' -->
In questo esempio, la variabile speciale HTTP "HEADER:Status" riceve il valore della
variabile del PLC "HEADER:Status". Il nome nella tabella delle variabili del PLC deve
corrispondere esattamente al nome della variabile speciale se non è specificata nessuna
clausola d'uso.

Esempio: lettura di una variabile speciale con clausola d'uso


<!-- AWP_Out_Variable Name='HEADER:Status' Use='"Status"' -->
In questo esempio, la variabile speciale HTTP "HEADER:Status" riceve il valore della
variabile del PLC "Status".

Sistema di automazione S7-1200


648 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.6 Pagine Web personalizzate

11.6.2.4 Scrittura di variabili speciali


Il Web browser consente di scrivere i valori nella CPU da variabili speciali nell'intestazione di
richiesta HTTP. È possibile, ad esempio, memorizzare in STEP 7 le informazioni sul cookie
relativo ad una pagina Web personalizzata, all'utente che accede ad una pagina o alle
informazioni dell'intestazione. Il Web server fornisce l'accesso a specifiche variabili speciali
che si possono scrivere nella CPU se si effettua il log in con privilegi di modifica delle
variabili.

Sintassi
<!-- AWP_In_Variable Name='<Tipo>:<Nome>' [Use='<NomeVar>']-->

Parametri

<Tipo> Il tipo di variabile speciale, ovvero uno dei seguenti:


HEADER
SERVER
COOKIE_VALUE
<Nome> Variabile speciale tra i tipi definiti in precedenza, come illustrato in questi esempi:
HEADER:Accept: tipi di contenuto accettabili
HEADER:User-Agent: informazioni sull'agente utente che ha dato origine alla
richiesta.
SERVER:current_user_id: id dell'utente attuale; 0 se nessun utente è connesso
SERVER:current_user_name: nome dell'utente attuale
COOKIE_VALUE:<name>: valore del cookie nominato
Racchiudere la clausola del nome tra virgolette semplici.
Se non è specificata una clausola d'uso, il nome della variabile speciale
corrisponde al nome della variabile PLC. Racchiudere la clausola del nome
completa tra virgolette semplici e la variabile PLC tra virgolette doppie. Il nome
della variabile speciale deve coincidere esattamente con quello della variabile PLC.
Per un elenco di tutti i nomi delle variabili HEADER consultare la documentazione
HTTP.
<NomeVar> Nome della variabile nel programma STEP 7 in cui si desidera scrivere la variabile
speciale, che può essere il nome di una variabile del PLC o una variabile del
blocco dati.
NomeVar deve essere racchiuso tra virgolette semplici. All'interno delle virgolette
semplici utilizzare le virgolette doppie per racchiudere il nome di una variabile PLC
o quello di un blocco dati. Il nome del blocco dati è racchiuso tra virgolette doppie,
il nome della rispettiva variabile no. Si noti che per le variabili dei blocchi dati si usa
il nome del blocco e non il numero.

Esempi
<!-- AWP_In_Variable Name='"SERVER:current_user_id"' -->
In questo esempio, la pagina Web scrive il valore della variabile speciale HTTP
"SERVER:current_user_id" nella variabile PLC nominata "SERVER:current_user_id".
<!-- AWP_In_Variable Name=SERVER:current_user_id'
Use='"mio_idutente"' -->

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 649
Web server
11.6 Pagine Web personalizzate

In questo esempio, la pagina Web scrive il valore della variabile speciale HTTP
"SERVER:current_user_id" nella variabile PLC nominata "mio_idutente".

Nota
Solo gli utenti con privilegi di modifica delle variabili possono scrivere dati nella CPU. Il Web
server ignora i comandi se l'utente non dispone dei privilegi di modifica.

Se il nome di una variabile o di un blocco dati contiene caratteri speciali, occorre utilizzare le
virgolette o i caratteri escape come descritto al paragrafo "Gestione dei nomi di variabili che
contengono caratteri speciali (Pagina 656)".

11.6.2.5 Uso di un alias per il riferimento di una variabile


Nelle pagine Web personalizzate è possibile utilizzare un alias per una In_Variable o una
Out_Variable. Nella pagina HTML si può ad esempio utilizzare un nome simbolico diverso da
quello utilizzato nella CPU, oppure si può far corrispondere una variabile nella CPU ad una
variabile speciale. La clausola d'uso AWP offre questa possibilità.

Sintassi
<-- AWP_In_Variable Name='<Varname1>' Use='<Varname2>' -->
<-- AWP_Out_Variable Name='<Varname1>' Use='<Varname2>' -->

Parametri

<Varname1> Nome alias o nome della variabile speciale


Varname1 deve essere racchiuso tra virgolette semplici o doppie.
<Varname2> Nome della variabile PLC a cui si desidera assegnare un nome alias. La variabile
può essere una variabile del PLC, una variabile di blocco di dati o una variabile
speciale. Varname2 deve essere racchiuso tra virgolette semplici. All'interno delle
virgolette semplici utilizzare le virgolette doppie per racchiudere il nome della
variabile PLC, della variabile speciale o del blocco dati. Il nome del blocco dati è
racchiuso tra virgolette doppie, il nome della rispettiva variabile no. Si noti che per
le variabili dei blocchi dati si usa il nome del blocco e non il numero.

Esempi
<-- AWP_In_Variable Name='SERVER:current_user_id'
Use='"Data_Block_10".server_user' -->
In questo esempio, la variabile speciale SERVER:current_user_id è scritta nella variabile
"server_user" nel blocco dati "Data_Block_10".
<-- AWP_Out_Variable Name='Weight'
Use='"Data_Block_10".Tank_data.Weight' -->
In questo esempio, il valore di Data_Block_10.Tank_data.Weight nella struttura del blocco
dati può essere semplicemente indirizzato con "Weight" nel resto della pagina Web
personalizzata.
<-- AWP_Out_Variable Name='Weight' Use='"Raw_Milk_Tank_Weight"' -->

Sistema di automazione S7-1200


650 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.6 Pagine Web personalizzate

In questo esempio, il valore della variabile PLC "Raw_Milk_Tank_Weight" può essere


semplicemente indirizzato con "Weight" nel resto della pagina Web personalizzata.
Se il nome di una variabile o di un blocco dati contiene caratteri speciali, occorre utilizzare le
virgolette o i caratteri escape come descritto al paragrafo Gestione dei nomi di variabili che
contengono caratteri speciali (Pagina 656).

11.6.2.6 Definizione dei tipi di enum


I tipi di enum possono essere definiti nelle pagine personalizzate ed è possibile assegnarne
gli elementi in un comando AWP.

Sintassi
<!-- AWP_Enum_Def Name='<Enum type name>' Values='<Value>,
<Value>,... ' -->

Parametri

<Enum type Nome del tipo enumerato, racchiuso tra virgolette semplici o doppie.
name>
<Value> <constant>:<name>
La costante indica il valore numerico per l'assegnazione del tipo di enum. Il numero
nomale è libero.
Il nome è il valore assegnato all'elemento enum

Si noti che l'intera stringa di assegnazioni di valori enum è racchiusa tra virgolette semplici e
ogni singola assegnazione dell'elemento del tipo di enum è racchiusa tra virgolette doppie. Il
campo d'azione della definizione del tipo di enum è globale per le pagine Web
personalizzate. Se sono state configurate delle pagine personalizzate nelle cartelle della
lingua (Pagina 675) , la definizione del tipo di enum è globale per tutte le pagine della
cartella della lingua.

Esempio
<!-- AWP_Enum_Def Name='AlarmEnum' Values='0:"No alarms", 1:"Tank is
full", 2:"Tank is empty"' -->

11.6.2.7 Indirizzamento delle variabili della CPU con un tipo di enum


È possibile assegnare una variabile nella CPU ad un tipo di enum. Questa variabile può
essere utilizzata ovunque nella pagina Web personalizzata in una operazione di lettura
(Pagina 645) o in unaoperazione di scrittura (Pagina 646). Nell'operazione di lettura, il Web
server sostituisce il valore numerico letto dalla CPU con il valore di testo dell'enumerazione
corrispondente. Nell'operazione di scrittura, il Web server sostituisce il valore di testo con un
valore a numero intero dell'enumerazione che corrisponde al testo prima della scrittura del
valore nella CPU.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 651
Web server
11.6 Pagine Web personalizzate

Sintassi
<!-- AWP_In_Variable Name='<NomeVar>' Enum="<TipoEnum>" -->
<!-- AWP_Out_Variable Name='<NomeVar>' Enum="<TipoEnum>" -->

Parametri

<NomeVar> Nome della variabile del PLC o della variabile del blocco dati da associare al tipo di
enum, o nome del nome alias per una variabile del PLC (Pagina 650) se dichiarato.
NomeVar deve essere racchiuso tra virgolette semplici. All'interno delle virgolette
semplici utilizzare le virgolette doppie per racchiudere il nome di una variabile PLC
o quello di un blocco dati. Si noti che per le variabili dei blocchi dati si usa il nome
del blocco e non il numero. Il nome del blocco dati è racchiuso tra virgolette doppie,
il nome della rispettiva variabile no.
<TipoEnum> Nome del tipo enumerato, che deve essere racchiuso tra virgolette semplici o
doppie

Il campo d'azione di un indirizzamento del tipo di enum è il frammento attuale.

Esempio d'uso in una variabile letta


<!-- AWP_Out_Variable Name='"Allarme"' Enum="EnumAllarme" -->...
<p>Il valore attuale di "Allarme" è :="Allarme":</p>
Se il valore di "Allarme" nella CPU è 2, la pagina HTML visualizza 'Il valore attuale di
"Allarme" è Serbatoio vuoto', perché la definizione del tipo di enum (Pagina 651) assegna la
stringa di testo "Serbatoio vuoto" al valore numerico 2.

Esempio d'uso in una variabile scritta


<!-- AWP_Enum_Def Name='EnumAllarme' Values='0:"Nessun allarme",
1:"Serbatoio pieno", 2:"Serbatoio vuoto"' -->
<!-- AWP_In_Variable Name='"Allarme"' Enum='EnumAllarme' -->...
<form method="POST">
<p><input type="hidden" name='"Allarme"' value="Serbatoio pieno"
/></p>
<p><input type="submit" value='Imposta Serbatoio pieno' /><p>
</form>
Poiché la definizione del tipo di enum (Pagina 651) assegna "Serbatoio pieno" al valore
numerico 1, il valore 1 viene scritto nella variabile del PLC "Alarm" nella CPU.
Si noti che la clausola del nome nella dichiarazione AWP_In_Variable deve corrispondere
con esattezza a quella della dichiarazione AWP_Enum_Ref .

Sistema di automazione S7-1200


652 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.6 Pagine Web personalizzate

Esempio d'uso in una variabile scritta con l'uso di un alias


<!-- AWP_Enum_Def Name='EnumAllarme' Values='0:"Nessun allarme",
1:"Serbatoio pieno", 2:"Serbatoio vuoto"' -->
<!-- AWP_In_Variable Name='"Allarme"' Enum='EnumAllarme'
Use='"Data_block_4".Allarme.Motore1'-->...
<form method="POST">
<p><input type="hidden" name='"Allarme"' value="Serbatoio pieno"
/></p>
<p><input type="submit" value='Imposta Serbatoio pieno' /><p>
</form>
Poiché la definizione del tipo di enum (Pagina 651) assegna "Serbatoio pieno" al valore
numerico 1, il valore 1 viene scritto nell'alias "Allarme" che corrisponde alla variabile del PLC
nominata "Allarme.Motore1" nel blocco dati "Blocco_Dati_4" nella CPU.
Se il nome di una variabile o di un blocco dati contiene caratteri speciali, occorre utilizzare le
virgolette o i caratteri escape come descritto al paragrafo Gestione dei nomi di variabili che
contengono caratteri speciali (Pagina 656).

Nota
Le release precedenti richiedevano una dichiarazione separata AWP_Enum_Ref da
associare a una variabile con un tipo di enum definito. STEP 7 e S7-1200 supportano il
codice esistente con le dichiarazioni AWP_Enum_Ref, ma questo comando non è più
necessario.

11.6.2.8 Creazione di frammenti


STEP 7 converte e memorizza le pagine Web personalizzate come un DB di comando e DB
di frammenti quando si fa clic su "Genera blocchi" nelle Proprietà della CPU per il Web
server. È possibile configurare frammenti specifici per pagine specifiche o per parti di pagine
specifiche. Questi frammenti possono essere identificati con un nome e un numero con il
comando AWP "Start_Fragment" (frammento iniziale). Tutto ciò che si trova nella pagina
successivamente all'esecuzione del comando AWP_Start_Fragment appartiene a quel
frammento finché non viene impartito un altro comando AWP_Start_Command o fino a
raggiungere la fine del file.

Sintassi
<!-- AWP_Start_Fragment Name='<Nome>'
[Type=<Tipo>][ID=<id>][Mode=<Modo>] -->

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 653
Web server
11.6 Pagine Web personalizzate

Parametri

<Nome> Stringa di testo: nome del DB di frammenti


I nomi dei frammenti devono iniziare con una lettera o un trattino basso e devono
essere composti da lettere, cifre e trattini bassi. Questi nomi sono normali
espressioni del tipo:
[a-zA-Z_][a-zA-Z_0-9]*
<Tipo> "manuale" o "automatico"
manuale: il programma STEP 7 deve richiedere questo frammento e può
rispondere di conseguenza. Il funzionamento del frammento deve essere
controllato con STEP 7 e le variabili dei DB di comando.
automatico: il Web server elabora il frammento automaticamente.
Se il parametro <Tipo> non viene specificato, l'impostazione di default è
"automatico".
<id> Numero identificativo intero. Se il parametro ID non viene specificato, il Web server
assegna un numero di default. Per i frammenti manuali, impostare l'ID ad un
numero basso. L'ID è il mezzo con cui il programma STEP 7 controlla un
frammento manuale.
<Modo> "visible" o "hidden"
visible: i contenuti del frammento compaiono nella pagina Web definita dall'utente.
hidden: i contenuti del frammento non compaiono nella pagina Web definita
dall'utente.
Se il parametro <Tipo> non viene specificato, l'impostazione di default è "visible".

Frammenti manuali
Se si crea un frammento manuale da una pagina Web personalizzata o parte di una pagina,
il programma STEP 7 deve controllare quando il frammento viene inviato. Il programma
STEP 7 deve impostare parametri adeguati nel DB di comando per una pagina
personalizzata che viene controllata manualmente e quindi richiamare l'istruzione WWW con
il DB di comando così modificato. Per comprendere la struttura del DB di comando e la
gestione di singole pagine e frammenti consultare il paragrafo Comando avanzato delle
pagine Web personalizzate (Pagina 678).

11.6.2.9 Importazione di frammenti


È possibile creare un frammento nominato da una parte del codice HTML e quindi importare
quel frammento ovunque in una serie di pagine Web personalizzate. Prendiamo ad esempio
una serie di pagine Web personalizzate con una pagina iniziale e diverse altre pagine HTML
accessibili da collegamenti sulla pagina iniziale. Supponiamo che ogni singola pagina debba
visualizzare il logo dell'azienda sulla pagina. Questo può essere realizzato con la creazione
di un frammento (Pagina 653) che carica l'immagine del logo dell'azienda. Ogni singola
pagina HTML può importare questo frammento per visualizzare il logo dell'azienda. A tal fine
è possibile utilizzare il comando AWP Import_Fragment. Il codice HTML per il frammento
esiste solo in un frammento, ma è possibile importare questo DB di frammenti per il numero
di volte necessarie e nel numero di pagine Web desiderato.

Sistema di automazione S7-1200


654 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.6 Pagine Web personalizzate

Sintassi
<!-- AWP_Import_Fragment Name='<Name>' -->

Parametri

<Name> Stringa di testo: nome del DB di frammenti da importare

Esempio
Estratto dal codice HTML che crea un frammento per visualizzare un'immagine:
<!-- AWP_Start_Fragment Name='My_company_logo' --><p><img
src="company_logo.jpg"></p>
Estratto dal codice HTML in altro file .html che importa il frammento che visualizza
l'immagine del logo:
<!-- AWP_Import_Fragment Name='My_company_logo' -->
Entrambi i file .html (quello che crea i frammenti e quello che lo importa) si trovano nella
struttura a cartelle che viene definita quando si configurano le pagine personalizzate in
STEP 7 (Pagina 658).

11.6.2.10 Combinazione delle definizioni


Quando si dichiarano le variabili in uso nelle pagine Web personalizzate, è possibile
combinare una dichiarazione di variabile a unalias per la variabile (Pagina 650). Si possono
inoltre dichiarare diverse In_Variables in un'istruzione e diverse Out_Variables in
un'istruzione.

Esempi
<!-- AWP_In_Variable Name='"Level'", Name='"Weight"', Name='"Temp"'
-->
<--! AWP_Out_Variable Name='HEADER:Status', Use='"Status"',
Name='HEADER:Location', Use="Location",
Name='COOKIE_VALUE:name', Use="my_cookie" -->
<!-- AWP_In_Variable Name='Alarm' Use='"Data_block_10".Alarm' -->

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 655
Web server
11.6 Pagine Web personalizzate

11.6.2.11 Gestione dei nomi di variabili che contengono caratteri speciali


Quando si specificano i nomi delle variabili nelle pagine Web personalizzate, occorre
verificare attentamente se essi contengono dei caratteri che hanno un significato speciale.

Lettura delle variabili


Per leggere una variabile (Pagina 645) si utilizza la seguente sintassi:
:=<Varname>:
Alla lettura delle variabili si applicano le seguenti regole:
● Per i nomi delle variabili nella tabella delle variabili PLC, racchiudere il nome della
variabile tra virgolette doppie.
● Per i nomi delle variabili che sono variabili di blocchi dati, racchiudere il nome del blocco
dati tra virgolette doppie. La variabile è all'esterno delle virgolette.
● Per i nomi delle variabili che sono indirizzi di I/O, indizzi di memoria o nomi alias, non
utilizzare le virgolette per racchiudere la variabile da leggere.
● Per i nomi delle variabili o i nomi delle variabili di blocchi dati che contengono un
backslash, fare precedere al backslash un altro backslash.
● Se il nome di una variabile o il nome di una variabile di blocchi dati contiene una virgola,
un segno meno, un segno più o una e commerciale, definire un alias per il nome della
variabile da leggere che non contenga questo carattere speciale e utilizzare questo alias
per leggere la variabile. Nelle clausole d'uso, inserire un backslash prima dei due punti
nei nomi delle variabili.

Tabella 11- 1 Esempi di Lettura delle variabili

Nome del blocco Nome della Comando di lettura


dati variabile
n/a ABC:DEF <!--AWP_Out_Variable Name='special_tag'
Use ='"ABC:DEF"' -->
:=special_tag:
n/a T\ :="T\\":
n/a A \B 'C :D <!--AWP_Out_Variable
Name='another_special_tag' Use='"A \\B \'C
:D"' -->
:=another_special_tag:
n/a a<b <!--AWP_Out_Variable Name='a_less_than_b'
Use='"a<b"' -->
:=a_less_than_b:
Data_block_1 Tag_1 :="Data_block_1".Tag_1:
Data_block_1 ABC:DEF <!-- AWP_Out_Variable Name='special_tag'
Use='"Data_block_1".ABC\:DEF'-->
:=special_tag:
DB A' B C D$ E Tag :="DB A' B C D$ E".Tag:
DB:DB Tag:Tag <!--AWP_Out_Variable Name='my_tag' Use
='"DB:DB".Tag\:Tag' -->
:=my_tag:

Sistema di automazione S7-1200


656 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.6 Pagine Web personalizzate

Clausole d'uso e del nome


I comandi AWP AWP_In_Variable, AWP_Out_Variable, AWP_Enum_Def, AWP_Enum_Ref,
AWP_Start_Fragment e AWP_Import_Fragment hanno clausole del nome I comandi in
formato HTML quali <input> e <select> hanno anch'essi delle clausole del nome.
AWP_In_Variable e AWP_Out_Variable possono avere anche delle clausole d'uso.
Indipendentemente dal comando, la sintassi delle clausole d'uso e del nome relativamente
alla gestione dei caratteri speciali è la stessa:
● Il testo di una clausola d'uso o di nome deve essere racchiuso tra virgolette semplici. Se il
nome racchiuso è il nome di una variabile PLC o di un blocco dati utilizzare le virgolette
semplici per l'intera clausola.
● All'interno di una clausola d'uso o di nome i nomi dei blocchi dati o delle variabili PLC
devono essere racchiusi tra virgolette doppie.
● Se il nome di una variabile o di un blocco dati include un apostrofo o un backslash,
anteporre a questo carattere un backslash. Il backslash è un carattere di escape nel
compilatore dei comandi AWP.

Tabella 11- 2 Esempi di clausole di nome

Nome del blocco Nome della variabile Opzioni della clausola di nome
dati
n/a ABC'DEF Name='"ABC\'DEF"'
n/a A \B 'C :D Name='"A \\B \'C :D"'
Data_block_1 Tag_1 Name='"Data_block_1".Tag_1'
Data_block_1 ABC'DEF Name='"Data_block_1".ABC\'DEF'
Data_block_1 A \B 'C :D Name='"Data_block_1".A \\B \'C :D'
DB A' B C D$ E Tag Name='"DB A\' B C D$ E".Tag'

Le clausole d'uso adottano le stesse convezioni di quelle di nome.

Nota
Indipendentemente dal tipo di caratteri utilizzati nella pagina HTML, impostare il charset
della pagina HTML su UTF-8 e salvarlo dall'editor con la codifica dei caratteri UTF-8.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 657
Web server
11.6 Pagine Web personalizzate

11.6.3 Configurazione dell'uso delle pagine Web personalizzate


Per configurare le pagine Web personalizzate da STEP 7 procedere nel seguente modo:
1. Selezionare la CPU nella finestra Configurazione dispositivi.
2. Visualizzare del proprietà del "Web server" nella finestra di ispezione della CPU.

3. Se non lo si è già fatto, selezionare la casella di opzione "Abilita server web su


quest'unità".
4. Selezionare la casella di opzione "Consenti l'accesso solo con HTTPS" per fare in modo
che il server Web utilizzi la comunicazione codificata e per aumentare la sicurezza della
CPU accessibile via Web.
5. Inserire o navigare fino al nome della cartella sul PC in cui è stata salvata la pagina
HTML di default (pagina iniziale).
6. Inserire il nome della pagina di default.
7. Assegnare un nome all'applicazione (opzionale). l Web server utilizza il nome
dell'applicazione per creare ulteriori sottocategorie o gruppi di pagine Web. Se esiste già
un nome per l'applicazione, l'URL appare nel seguente formato:
http://ww.xx.yy.zz/awp/<application name>/<pagename>.html.
Non utilizzare caratteri speciali nel nome dell'applicazione. Con alcuni caratteri il Web
server non è in grado di visualizzare le pagine personalizzate.

Sistema di automazione S7-1200


658 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.6 Pagine Web personalizzate

8. Specificare le estensioni dei nomi di file di cui verificare la presenza di comandi SWP. Per
default, STEP 7 analizza i file con le estensioni .htm, .html o .js. Aggiungere le altre
estensioni di file eventualmente presenti.
9. Conservare il valore di default del numero DB Web o inserire un numero a piacere. È il
numero DB del DB di comando che comanda la visualizzazione delle pagine Web.
10.Conservare il valore di default del numero iniziale del DB di frammenti o inserire un
numero a piacere. Questo è il primo dei DB di frammenti che contiene le pagine Web.

Generazione di blocchi di programma


Facendo clic sul pulsante "Genera blocchi" STEP 7 crea dei blocchi dati in base alle pagine
HTML nella directory di origine HTML specificata e un blocco dati di comando per
l'esecuzione delle pagine Web. Gli attributi possono essere impostati come desiderati per la
propria applicazione (Pagina 659). STEP 7 genera anche una serie di blocchi dati di
frammenti per mantenere la rappresentazione di tutte le pagine HTML. Quando si generano i
blocchi dati, STEP 7 aggiorna le proprietà per visualizzare il numero del blocco dati di
comando e il numero del primo dei blocchi dati di frammenti. Con la generazione dei blocchi
dati, le pagine Web personalizzate diventano parte del programma STEP 7. I blocchi
corrispondenti a queste pagine si trovano in una cartella del Web server contenuta nella
cartella Blocchi di sistema dei Blocchi di programma nell'albero di navigazione del progetto.

Eliminazione di blocchi di programma


Per eliminare i blocchi dati generati in precedenza, fare clic sul pulsante "Delete data
blocks". STEP 7 elimina dal progetto il blocco dati di comando e tutti i blocchi dati di
frammenti che corrispondono alle pagine Web personalizzate.

11.6.4 Programmazione dell'istruzione WWW per le pagine Web personalizzate


Il programma utente STEP 7 deve includere ed eseguire l'istruzione WWW in modo che le
pagine Web personalizzate possano essere accessibili da quelle standard. Il blocco dati di
comando è il parametro di ingresso per l'istruzione WWW e specifica il contenuto delle
pagine, come rappresentato nei blocchi dati di frammenti, nonché le informazioni di stato e di
comando. STEP 7 crea il blocco dati di comando quando si fa clic sul pulsante "Create
blocks" nella configurazione delle pagine Web personalizzate (Pagina 658).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 659
Web server
11.6 Pagine Web personalizzate

Programmazione dell'istruzione WWW


Il programma STEP 7 deve eseguire l'istruzione WWW per permettere di accedere alle
pagine Web personalizzate da quelle standard. Si può permettere l'accesso alle pagine Web
personalizzate solo in determinate circostanze, come indicato dai requisiti dell'applicazione e
dalle preferenze. In questo caso la logica del programma può controllare quando richiamare
l'istruzione WWW.

Tabella 11- 3 Istruzione WWW

KOP / FUP SCL Descrizione


ret_val := WWW( Consente l'accesso alle pagine Web
ctrl_db:=_uint_in_); personalizzate da quelle standard

Deve essere fornito il parametro di ingresso del blocco dati di comando (CTRL_DB))
corrispondente al numero DB intero del DB di comando. Questo numero del blocco DB di
comando (denominato numero DB Web) si trova nelle proprietà del Web server nella CPU
dopo la creazione dei blocchi per le pagine Web personalizzate. Inserire il numero DB intero
come parametro CTRL_DB dell'istruzione WWW. Il valore di ritorno (RET_VAL) contiene il
risultato della funzione. Si noti che l'istruzione WWW è eseguita in modo asincrono e che
l'uscita RET_VAL potrebbe avere un valore iniziale di 0 nonostante possa verificarsi un
errore successivamente. Il programma può verificare lo stato del DB di comando per
assicurare che l'applicazione sia avviata correttamente o verificare RET_VAL con
conseguente richiamo dell'istruzione WWW.

Tabella 11- 4 Valore di ritorno

RET_VAL Descrizione
0 Nessun errore
16#00yx x: la richiesta rappresentata dal rispettivo bit è in stato di attesa:
x=1: richiesta 0
x=2: richiesta 1
x=4: richiesta 2
x=8: richiesta 3
I valori x possono diventare logicamente OR per rappresentare gli stati di attesa delle diverse
richieste. Se ad esempio x = 6, le richieste 1 e 2 sono in attesa.
y: 0: nessun errore; 1: errore presente ed è stato impostato "last_error" nel DB di comando
(Pagina 678)
16#803a Il DB di comando non è caricato.
16#8081 Il DB di comando è di tipo, formato o versione errati.
16#80C1 Non sono disponibili le risorse per inizializzare l'applicazione Web.

Sistema di automazione S7-1200


660 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.6 Pagine Web personalizzate

Uso del DB di comando


STEP 7 crea il blocco dati di comando facendo clic su "Genera blocchi" e visualizza il
numero del DB di comando nelle proprietà delle pagine Web personalizzate. Il DB di
comando si trova anche nella cartella dei blocchi di programma nell'albero di navigazione del
progetto.
Normalmente il programma STEP 7 utilizza il DB di comando direttamente così come viene
creato dal processo "Genera blocchi" senza ulteriore elaborazione. Tuttavia il programma
STEP 7 può impostare i comandi globali nel DB di comando per disattivare il Web server o
per riattivarlo successivamente. Inoltre il programma STEP 7 deve comandare, mediante
una tabella di richieste nel DB di comando, il comportamento delle pagine personalizzate
che si possono creare come DB di frammenti manuali (Pagina 658). Per informazioni su
questi task avanzati consultare il paragrafo Comando avanzato delle pagine Web
personalizzate (Pagina 678).

11.6.5 Download dei blocchi di programma nella CPU


Con la generazione dei blocchi per le pagine Web personalizzate, queste diventano parte
del programma STEP 7 così come qualsiasi altro blocco di programma. Per caricare i
blocchi di programma nella CPU si segue il nomale processo. I blocchi di programma per le
pagine Web definite dall'utente possono essere caricati solo se la CPU è in STOP.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 661
Web server
11.6 Pagine Web personalizzate

11.6.6 Accesso alle pagine Web personalizzate


Alle pagine Web personalizzate si accede da quelle standard (Pagina 622). Le pagine Web
standard visualizzano un collegamento per "User Pages" sul menu a sinistra dove si trovano
i collegamenti alle altre pagine. La pagina di navigazione del dispositivo portatile contiene un
link alle pagine utente. Facendo clic sul link "User Pages" il Web browser va alla pagina che
consente di accedere alla propria pagina di default. Dall'interno dell'area dei contenuti
personalizzati ci si può spostare in base al modo in cui sono state progettate le pagine
specifiche.

11.6.7 Limitazioni specifiche per le pagine Web personalizzate


Le limitazioni per le pagine Web standard (Pagina 682) valgono anche per le pagine Web
personalizzate. Tuttavia, per le pagine Web personalizzate esistono alcune considerazioni
specifiche aggiuntive.

Spazio di memoria di caricamento


Le pagine Web personalizzate diventano blocchi dati facendo clic su "Genera blocchi",
operazione che occupa spazio di memoria di caricamento. Se è installata una memory card,
si ha a disposizione la capacità della memory card come spazio di memoria di caricamento
esterna per le pagine Web personalizzate.
In caso contrario questi blocchi occupano dello spazio nella memoria di caricamento interna
che è limitato in base al modello di CPU.

Sistema di automazione S7-1200


662 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.6 Pagine Web personalizzate

La quantità di spazio di memoria utilizzata e quella ancora disponibile può essere verificata
in "Online & Diagnostica" in STEP 7. È inoltre possibile visualizzare le proprietà dei singoli
blocchi che STEP 7 genera dalle pagine Web personalizzate e vedere quanta memoria di
caricamento è occupata.

Nota
Per ridurre lo spazio occupato dalle pagine Web personalizzate, diminuire, se possibile,
l'utilizzo di immagini.

11.6.8 Esempio di una pagina Web personalizzata

11.6.8.1 Pagina web per il controllo e il comando di una turbina eolica


Come esempio di una pagina Web personalizzata, si può considerare una pagina Web usata
per controllare e comandare a distanza una turbina eolica:

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 663
Web server
11.6 Pagine Web personalizzate

Descrizione
In questa applicazione, ogni turbina eolica di un impianto di turbine eoliche è dotata di un
S7-1200 per comandare la turbina. All'interno del programma STEP 7 ogni turbina eolica ha
un blocco dati con dati specifici per quella particolare turbina.
La pagina Web personalizzata consente l'accesso remoto alla turbina da un PC. È possibile
collegarsi alle pagine Web standard della CPU di una particolare turbina eolica ed accedere
alla pagina Web di controllo remoto della turbina eolica per visualizzarne i dati. Gli utenti che
hanno i privilegi per la modifica delle variabili possono anche mettere la turbina in modalità
manuale e comandare le variabili di velocità, imbardata e passo della turbina (yaw, pitch)
dalla pagina Web. Questi utenti possono inoltre impostare un valore di frenatura
indipendentemente dal fatto che la turbina sia comandata manualmente o automaticamente.
Il programma STEP 7 verifica i valori booleani per l'override del comando automatico e, se
impostati, utilizza i valori inseriti dall'utente relativamente a velocità, imbardata e passo della
turbina. Altrimenti il programma ignora questi valori.

File utilizzati
Questo esempio di pagina Web personalizzata è costituito da tre file:
● Wind_turbine.html: è la pagina HTML che implementa la schermata di cui sopra
utilizzando i comandi AWP per accedere ai dati del controllore.
● Wind_turbine.css: è il foglio di stile a cascata che contiene gli stili di formattazione della
pagina HTML. L'uso del foglio di stile a cascata è opzionale, ma può rendere più
semplice lo sviluppo della pagina HTML.
● Wind_turbine.jpg: è l'immagine di background utilizzata dalla pagina HTML. L'uso delle
immagini nelle pagine Web personalizzate è naturalmente opzionale e non richiede
ulteriore spazio nella CPU.
Questi file non sono forniti in dotazione, ma sono descritti a titolo di esempio.

Implementazione
La pagina HTML utilizza i comandi AWP per leggere i valori dal PLC (Pagina 645) per i
campi di visualizzazione e per scrivere i valori nel PLC (Pagina 646) per i dati inseriti
dall'utente. Questa pagina utilizza anche i comandi AWP per la definizione del tipo di enum
(Pagina 651) e il riferimento (Pagina 651) per gestire le impostazioni ON/OFF.
La prima parte della pagina visualizza una riga di intestazione che indica il numero della
turbina eolica.

Sistema di automazione S7-1200


664 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.6 Pagine Web personalizzate

La successiva parte della pagina visualizza le


condizioni atmosferiche presso la turbina
eolica. Gli I/O sul sito della turbina forniscono la
velocità del vento, la direzione del vento e la
temperatura corrente.
In seguito, la pagina visualizza il flusso di
corrente della turbina letto dall'S7-1200.
Le sezioni successive consentono il comando manuale della turbina, in override del normale
comando automatico dell'S7-1200. Questi tipi sono i seguenti:
• Override manuale: consente l'override
manuale della turbina. Il programma utente
STEP 7 richiede che l'impostazione
dell'override manuale sia vera prima di
abilitare l'utilizzo di una qualsiasi
impostazione manuale di velocità,
imbardata o passo della turbina.
• Override imbardata: abilita l'override
manuale dell'impostazione dell'imbardata, e
un'impostazione manuale dell'imbardata. Il
programma utente STEP 7 richiede che
entrambi gli override manuale e
dell'imbardata siano veri per applicare
l'impostazione dell'imbardata.
• Override del passo: abilita l'override
manuale del passo delle pale. Il programma
utente STEP 7 richiede che entrambi gli
override manuale e del passo siano veri per
applicare l'impostazione del passo della
pale.
La pagina HTML contiene un pulsante per
l'invio delle impostazioni di override al
controllore.
Il campo di ingresso del valore di frenatura
fornisce un'impostazione manuale per la
percentuale di frenatura. Il programma utente
STEP 7 non richiede l'override manuale per
accettare un valore di frenatura.
Inoltre, la pagina HTML utilizza un comando AWP per scrivere la variabile speciale
(Pagina 649) che contiene l'ID dell'utente che sta avendo accesso alla pagina ad una
variabile nella tabella delle variabili del PLC.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 665
Web server
11.6 Pagine Web personalizzate

11.6.8.2 Lettura e visualizzazione dei dati del controllore


La pagina HTML di controllo remoto della turbina eolica utilizza diversi comandi AWP per la
lettura dei dati dal controllore (Pagina 645) e la loro visualizzazione sulla pagina. Ad
esempio, si consideri il codice HTML per visualizzare il flusso di corrente così come illustrato
in questa parte della pagina Web di esempio:

Esempio di codice HTML


Il seguente estratto della pagina HTML di controllo remoto della turbina eolica visualizza il
testo "Potenza in uscita:" nella cella sinistra della riga di una tabella, legge la relativa
variabile e la visualizza nella cella destra della riga assieme all'abbreviazione "kW" (kilowatt).
Il comando AWP :="Blocco_dati_1".PotenzaUscita: esegue la lettura. Si noti che i blocchi
dati vengono specificati in base al nome e non al numero (cioè "Blocco_dati_1" e non
"DB1").
<tr style="height:2%;">
<td>
<p>Potenza in uscita:</p>
</td>
<td>
<p style="margin-bottom:5px;"> :="Blocco_dati_1".PotenzaUscita:
kW</p>
</td>
</tr>

11.6.8.3 Uso di un tipo di enum


La pagina HTML di controllo remoto della turbina eolica utilizza i tipi enum per le tre istanze
in cui indica "ON" o "OFF" per un valore booleano e per il punto in cui l'utente imposta un
valore booleano. Il tipo enum determina il valore 1 nel caso di "ON" e il valore 0 nel caso di
"OFF". Si consideri ad esempio il codice HTML per la lettura e la scrittura dell'impostazione
che attiva l'override manuale nel valore "Blocco_dati_1".AbilitaOverrideManuale mediante un
tipo enum:

Esempio di codice HTML


I seguenti estratti della pagina HTML di controllo remoto della turbina eolica mostrano come
dichiarare un tipo enum chiamato "StatoOverride" con i valori "Off" e "On" per 0 e 1, e
indicano come impostare un riferimentro di tipo enum a StatoOverride per la variabile
booleana AbilitaOverrideManuale nel blocco dati "Blocco_dati_1".
<!-- AWP_In_Variable Name='"Blocco_dati_1".AbilitaOverrideManuale'
Enum="StatoOverride" -->

<!-- AWP_Enum_Def Name="StatoOverride" Values='0:"Off",1:"On"' -->

Sistema di automazione S7-1200


666 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.6 Pagine Web personalizzate

Se una pagina HTML contiene una cella di tabella con un campo per l'indicazione dello stato
attuale di AbilitaOverrideManuale, si serve di un normale comando di lettura delle variabili,
ma poiché utilizza il tipo enum precedentemente dichiarato e referenziato, specifica "Off" o
"On" invece che 0 o 1.
<td style="width:24%; border-top-style: Solid; border-top-width:
2px; border-top-color: #ffffff;">
<p>Override manuale: :="Blocco_dati_1".AbilitaOverrideManuale:</p>
</td>
La pagina HTML contiene un elenco a discesa per la modifica del valore di
AbilitaOverrideManuale. L'elenco visualizza il testo "Sì" e "No". Se si usa il tipo enum, "Sì" è
connesso al valore "On" del tipo enum e "No" al valore "Off". Se si lascia l'elenco vuoto il
valore di AbilitaOverrideManuale non varia.
<select name='"Blocco_dati_1".AbilitaOverrideManuale'>
<option value=':"Blocco_dati_1".AbilitaOverrideManuale:'> </option>
<option value="On">Sì</option>
<option selected value="Off">No</option>
</select>
L'elenco di selezione è contenuto all'interno di un modulo sulla pagina HTML. Quando si fa
clic sul pulsante per l'invio, la pagina invia il modulo scrivendo il valore "1" in
AbilitaOverrideManuale di Blocco_dati_1 se si seleziona "Sì" e "0" se si seleziona "No".

11.6.8.4 Scrittura dei dati inseriti dall'utente nel controllore


La pagina HTML di controllo remoto della turbina eolica comprende diversi comandi AWP
per la scrittura dei dati nel controllore (Pagina 646). La pagina HTML dichiara
Variabili_In_AWP per le variabili booleane in modo che l'utente con i privilegi per la modifica
delle variabili possa controllare manualmente la turbina eolica e abiliti l'override manuale per
la velocità della turbina, l'override dell'imbardata e/o l'override del passo della pale. La
pagina utilizza Variabili_In_AWP anche per consentire all'utente con i privilegi per la modifica
delle variabili di impostare successivamente i valori in virgola mobile per velocità della
turbina, imbardata, passo e percentuale di frenatura. La pagina utilizza un comando in invio
del modulo HTML per scrivere Variabili_In_AWP nel controllore.
Ad esempio, si consideri il codice HTML per l'impostazione manuale del valore di frenatura:

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 667
Web server
11.6 Pagine Web personalizzate

Esempio di codice HTML


L'estratto seguente dalla pagina HTML di controllo remoto della turbina eolica dichiara
innanzitutto una Variabile_In_AWP per "Blocco_dati_1" che abilita la pagina HTML a scrivere
qualsiasi variabile nel blocco dati "Blocco_dati_1". La pagina visualizza il testo "Frenatura:"
nella cella a sinistra della riga di una tabella. Nella cella destra della riga della tabella
compare il campo in cui l'utente immette il valore per la variabile "Frenatura" di
"Blocco_dati_1". Questo valore inserito dall'utente è all'interno del modulo HTML che utilizza
il metodo HTTP "POST" per inviare i dati di testo inseriti alla CPU. Questa pagina legge
quindi il valore di frenatura attuale dal controllore e lo visualizza nel campo di immissione dei
dati.
Un utente con privilegi per la modifica delle variabili può in seguito utilizzare questa pagina
per scrivere un valore di frenatura nel blocco dati della CPU che comanda la frenatura.
<!-- AWP_In_Variable Name='"Blocco_dati_1"' -->
...
<tr style="vertical-align: top; height: 2%;">
<td style="width: 22%;"><p>Frenatura:</p></td>
<td>
<form method="POST">
<p><input name='"Blocco_dati_1".Frenatura' size="10" type="text">
%</p>
</form>
</td>
</tr>

Nota
Si noti che se una pagina personalizzata dispone di un campo di immissione dati per una
variabile di blocchi dati da scrivere del tipo di dati String, l'utente deve racchiudere la stringa
tra virgolette semplici quando inserisce il rispettivo valore nel campo.

Nota
Si noti che se si dichiara un intero blocco dati in una dichiarazione Variabile_In_AWP come
<!-- Variabile_In_AWP Nome='"Blocco_dati_1"' -->, ogni variabile all'interno di quel blocco
dati può essere scritta dalla pagina Web personalizzata. Utilizzare questa opzione se si
desidera che tutte le variabili in un blocco dati possano essere scritte; altrimenti, se si
desidera che solo alcune variabili specifiche del blocco dati possano essere scritte dalla
pagina Web personalizzata, lo si deve dichiarare esplicitamente con una dichiarazione come
<!-- Variabile_In_AWP Nome='"Blocco_dati_1".Braking' -->

11.6.8.5 Scrittura di una variabile speciale


La pagina Web di controllo remoto della turbina eolica scrive la variabile speciale
SERVER:current_user_id in una variabile PLC nella CPU (se l'utente ha i privilegi per la
modifica). In questo caso il valore della variabile PLC contiene l'ID dell'utente che accede
alla pagina Web di controllo remoto della turbina eolica.
La pagina Web scrive la variabile speciale nel PLC senza utilizzare l'interfaccia utente.

Sistema di automazione S7-1200


668 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.6 Pagine Web personalizzate

Esempio di codice HTML


<!-- AWP_In_Variable Name="SERVER:current_user_id" Use="ID_utente"--
>

11.6.8.6 Riferimento: elenco HTML della pagina Web di controllo remoto della turbina eolica

Turbina_eolica.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!--
Questo programma di test simula una pagina Web per il controllo e il
comando di una turbina eolica
Variabili PLC e variabili dei blocchi dati richieste in STEP 7:

Variabile PLC:
ID_utente: Int

Blocchi dati:
Blocco_dati_1

Variabili nel Blocco_dati_1:

NumeroTurbina: Int
VelocitàVento: Real
DirezioneVento: Real
Temperatura: Real
PotenzaUscita: Real
AbilitaOverrideManuale: Bool
VelocitàTurbina: Real
OverrideImbardata: Bool
Imbardata: Real
OverridePasso: Bool
Passo: Real
Frenatura: Real
La pagina Web definita dall'utente visualizza i valori attuali dei
dati PLC e fornisce un elenco di selezione per impostare i tre
valori booleani utilizzando un'assegnazione del tipo enumerato. Il
pulsante di invio consente di assegnare i valori booleani
selezionati nonché i dati inseriti relativi a velocità, imbardata e
passo della turbina. Il valore di frenatura può essere impostato
senza utilizzare il pulsante di invio.

L'utilizzo di questa pagina non richiede un programma STEP 7. In


teoria, se fossero impostati i rispettivi valori booleani, il
programma STEP 7 agirebbe solo sui valori relativi a velocità,
imbardata e passo della turbina. L'unico presupposto di STEP 7
richiesto è il richiamo dell'istruzione WWW con il numero di DB dei
blocchi dati generati per questa pagina.
-->
<!-- AWP_In_Variable Name='"Blocco_dati_1"' -->
<!-- AWP_In_Variable Name='"Blocco_dati_1".AbilitaOverrideManuale'
Enum="StatoOverride" -->

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 669
Web server
11.6 Pagine Web personalizzate

<!-- AWP_In_Variable Name='"Blocco_dati_1".OverridePasso'


Enum="StatoOverride" -->
<!-- AWP_In_Variable Name='"Blocco_dati_1".OverrideImbardata'
Enum="StatoOverride" -->
<!-- AWP_In_Variable Name="SERVER:current_user_id" Use="ID_utente"--
>
<!-- AWP_Enum_Def Name="StatoOverride" Values='0:"Off",1:"On"' -->

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-
8"><link rel="stylesheet" href="Turbina_eolica.css">
<title>Controllo remoto della turbina eolica</title>
</head>
<body>
<table cellpadding="0" cellspacing="2">
<tr style="height: 2%;">
<td colspan="2">
<h2>Controllo remoto turbina eolica: Turbina
#:="Blocco_dati_1".NumeroTurbina:</h2>
</td>

<tr style="height: 2%;"><td style="width: 25%;"><p>Velocità


vento:</p></td>
<td><p> :="Blocco_dati_1".VelocitàVento: km/h</p></td>
</tr>

<tr style="height: 2%;">


<td style="width: 25%;"><p>Direzione vento:</p></td>
<td><p> :="Blocco_dati_1".DirezioneVento: gradi</p></td>
</tr>

<tr style="height: 2%;"><td style="width:


25%;"><p>Temperatura:</p></td>
<td><p> :="Blocco_dati_1".Temperatura: gradi C</p></td>
</tr>

<tr style="height: 2%;">


<td style="width: 25%;"><p>Potenza in uscita:</p></td>
<td><p style="margin-bottom:5px;"> :="Blocco_dati_1".PotenzaUscita:
kW</p>
</td>
</tr>

<form method="POST" action="">


<tr style="height: 2%;" >
<td style="width=25%; border-top-style: Solid; border-top-width:
2px; border-top-color: #ffffff;">
<p>Override manuale: :="Blocco_dati_1".AbilitaOverrideManuale:</p>
</td>
<td class="Text">Imposta:

<select name='"Blocco_dati_1".AbilitaOverrideManuale'>
<option value=':="Blocco_dati_1".AbilitaOverrideManuale:'> </option>
<option value="On">Sì</option>

Sistema di automazione S7-1200


670 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.6 Pagine Web personalizzate

<option value="Off">No</option>
</select>

</td>
</tr>

<tr style="vertical-align: top; height: 2%;"><td style="width:


25%;"><p>Velocità turbina:</p></td>
<td>
<p style="margin-bottom:5px;"><input
name='"Blocco_dati_1".VelocitàTurbina' size="10"
value=':="Blocco_dati_1".VelocitàTurbina:' type="text"> RPM</p>
</td>
</tr>

<tr style="vertical-align: top; height: 2%;">


<td style="width: 25%;">
<p>Override imbardata: :="Blocco_dati_1".OverrideImbardata: </p>
</td>
<td class="Text">Imposta:

<select name='"Blocco_dati_1".OverrideImbardata'>
<option value=':="Blocco_dati_1".OverrideImbardata:'> </option>
<option value="On">Sì</option>
<option value="Off">No</option>
</select>

</td>
</tr>

<tr style="vertical-align: top; height: 2%;">


<td style="width: 25%;">
<p>Imbardata turbina:</p>
</td>
<td>
<p style="margin-bottom:5px;"><input
name='"Blocco_dati_1".Imbardata' size="10"
value=':="Blocco_dati_1".Imbardata:' type="text"> gradi</p>
</td>
</tr>

<tr style="vertical-align: top; height: 2%;">


<td style="width: 25%;">
<p>Override passo: :="Blocco_dati_1".OverridePasso: </p>
</td>
<td class="Text">Imposta:

<select name='"Blocco_dati_1".OverridePasso'>
<option value=':="Blocco_dati_1".OverridePasso:'> </option>
<option value="On">Sì</option>
<option value="Off">No</option>
</select>

</td>
</tr>

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 671
Web server
11.6 Pagine Web personalizzate

<tr style="vertical-align: top; height: 2%;">


<td style="width=25%; border-bottom-style: Solid; border-bottom-
width: 2px; border-bottom-color: #ffffff;">
<p>Passo lama:</p>
</td>
<td>
<p style="margin-bottom:5px;"><input name='"Blocco_dati_1".Passo'
size="10" value=':="Blocco_dati_1".Passo:' type="text"> gradi</p>
</td>

</tr>
<tr style="height: 2%;">
<td colspan="2">
<input type="submit" value="Invia impostazioni e valori di
override">
</td>
</tr>
</form>

<tr style="vertical-align: top; height: 2%;">


<td style="width: 25%;"><p>Frenatura:</p></td>
<td>
<form method="POST" action="">
<p> <input name='"Blocco_dati_1".Frenatura' size="10"
value=':="Blocco_dati_1".Frenatura:' type="text"> %</p>
</form>
</td>
</tr>
<tr><td></td></tr>

</table>
</body>
</html>

Turbina_eolica.css
BODY {
background-image: url('./Wind_turbine.jpg');
background-position: 0% 0%;
background-repeat: no-repeat;
background-size: cover;
}
H2 {
font-family: Arial;
font-weight: bold;
font-size: 14.0pt;
color: #FFFFFF;
margin-top:0px;
margin-bottom:10px;
}
P {
font-family: Arial;
font-weight: bold;
color: #FFFFFF;

Sistema di automazione S7-1200


672 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.6 Pagine Web personalizzate

font-size: 12.0pt;
margin-top:0px;
margin-bottom:0px;
}
TD.Text {
font-family: Arial;
font-weight: bold;
color: #FFFFFF;
font-size: 12.0pt;
margin-top:0px;
margin-bottom:0px;
}

11.6.8.7 Configurazione in STEP 7 della pagina Web di esempio


Per includere la pagina HTML di controllo remoto della turbina eolica come pagina Web
personalizzata per l'S7-1200, occorre configurare i dati della pagina HTML in STEP 7 e
creare dei blocchi dati dalla pagina HTML.
Accedere quindi alle proprietà della CPU per l'S7-1200 che comanda la turbina eolica e
inserire le informazioni di configurazione nelle proprietà delle pagine Web personalizzate del
Web server:

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 673
Web server
11.6 Pagine Web personalizzate

Campi di configurazione
● Directory HTML: questo campo specifica il nome del percorso completo alla cartella del
computer in cui si trova la pagina di default (home o pagina iniziale). Il pulsante "..."
consente di navigare alla cartella desiderata.
● Pagina HTML di default: questo campo specifica il nome del file della pagina di default o
della pagina iniziale dell'applicazione HTML. Il pulsante "..." consente di selezionare il file
desiderato. Per questo esempio WindTurbine.html è la pagina HTML di default.
L'esempio del controllo remoto della turbina eolica è costituito da una sola pagina, ma in
altre applicazioni personalizzate la pagina di default può richiamare altre pagine dai
collegamenti sulla pagina di default. All'interno del codice HTML, la pagina di default deve
indirizzare altre pagine relative alla cartella HTML di origine.
● Nome dell'applicazione: questo campo opzionale contiene il nome che il Web browser
include nel campo dell'indirizzo quando visualizza la pagina. In questo esempio il nome è
"Controllo remoto turbina eolica", ma si può usare un nome qualsiasi.
Nessun altro campo deve essere configurato.

Fasi finali
Per utilizzare il controllo remoto della turbina eolica così come configurato, creare i blocchi,
programmare l'istruzione WWW (Pagina 659) con il numero del DB di comando generato
come parametro di ingresso, caricare i blocchi di programma e portare la CPU in RUN.
Quando un operatore accede successivamente alle pagine Web standard dell'S7-1200 che
comanda la turbina eolica, la pagina Web di controllo remoto della turbina eolica è
accessibile dal collegamento "User Pages" sulla barra di navigazione. Ora questa pagina
fornisce gli strumenti per controllare e comandare la turbina eolica.

11.6.9 Configurazione delle pagine Web personalizzate multilingue


Il Web server fornisce gli strumenti per creare pagine Web personalizzate nelle seguenti
lingue:
● Tedesco (de)
● Inglese (en)
● Spagnolo (es)
● Francese (fr)
● Italiano (it)
● Cinese semplificato (zh)
Per farlo occorre configurare le pagine HTML in una struttura a cartelle (Pagina 675) che
corrisponde alle lingue e impostare un cookie specifico denominato
"siemens_automation_language" per le proprie pagine (Pagina 675). Il Web server risponde
a questo cookie e passa alla pagina di default nella cartella della lingua corrispondente.

Sistema di automazione S7-1200


674 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.6 Pagine Web personalizzate

11.6.9.1 Creazione della struttura a cartelle


Per fornire delle pagine Web personalizzate multilingue, occorre configurare una struttura a
cartelle nella directory HTML. Le cartelle devono avere nomi specifici di due lettere, ovvero:

de: Tedesco
en: Inglese
es: Spagnolo
fr: Francese
it: Italiano
zh: Cinese semplificato
Allo stesso livello è possibile includere qualsiasi altra cartella necessaria alle pagine, ad
esempio cartelle per immagini o script.
È possibile includere qualsiasi sottoinsieme delle cartelle della lingua. Non occorre includere
tutte le sei lingue. All'interno delle cartelle della lingua, le pagine HTML vengono create e
programmate nell'apposita lingua.

11.6.9.2 Programmazione del passaggio tra lingue


Il Web server esegue il passaggio tra lingue utilizzando un cookie denominato
"siemens_automation_language". È il cookie definito e impostato nelle pagine HTML e
interpretato dal Web server per visualizzare una pagina nell'apposita lingua dalla cartella
della lingua avente lo stesso nome. La pagina HTML deve includere uno JavaScript per
impostare questo cookie in un identificatore della lingua predefinito: "de", "en", "es", "fr", "it' o
"zh".
Ad esempio, se la pagina HTML imposta il cookie su "de", il Web server passa alla cartella
"de" e visualizza la pagina con il nome della pagina HTML di default come definito nella
configurazione di STEP 7 (Pagina 677).

Esempio
L'esempio seguente utilizza una pagina HTML di default denominata "langswitch.html" in
ognuna delle cartelle della lingua. Inoltre, nella directory HTML c'è una cartella denominata
"script". La cartella script contiene un file JavaScript denominato "lang.js". Ogni pagina
langswitch.html utilizza questo JavaScript per impostare il cookie della lingua
"siemens_automation_language".

HTML per "langswitch.html" nella cartella"en"


L'intestazione della pagina HTML imposta la lingua su inglese, il set di caratteri su UTF-8 e il
percorso sul file JavaScript lang.js.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Language" content="en">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Language switching english page</title>
<script type="text/javascript" src="script/lang.js" ></script>

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 675
Web server
11.6 Pagine Web personalizzate

Il corpo del file utilizza un elenco di selezione in modo che l'utente possa scegliere tra
tedesco e inglese. Inglese ("en") è la lingua preselezionata. Quando l'utente modifica la
lingua, la pagina richiama la funzione JavaScript DoLocalLanguageChange() con il valore
dell'opzione selezionata.
<!-- Language Selection -->
<table>
<tr>
<td align="right" valign="top" nowrap>
<!-- change language immediately on selection change -->
<select name="Language"
onchange="DoLocalLanguageChange(this)"
size="1">
<option value="de" >German</option>
<option value="en" selected >English</option>
</select>
</td>
</tr>
</table><!-- Language Selection End-->

HTML per "langswitch.html" nella cartella"de"


L'intestazione per la pagina langswitch.html in tedesco è la stessa della pagina in inglese,
eccetto la lingua impostata che è tedesco.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Language" content="de"><meta http-
equiv="Content-Type" content="text/html; charset=utf-8">
<title>Sprachumschaltung Deutsche Seite</title>
<script type="text/javascript" src="script/lang.js" ></script>
</head>
L'HTML della pagina in tedesco è identico a quello della pagina in inglese, eccetto il valore di
default della lingua selezionata che è tedesco ("de").
<!-- Language Selection -->
<table>
<tr>
<td align="right" valign="top" nowrap>
<!-- change language immediately on change of the selection -
->
<select name="Language"
onchange="DoLocalLanguageChange(this)"
<size="1">
<option value="de" selected >Deutsch</option>
<option value="en" >Englisch</option>
</select>
</td>
</tr>
</table><!-- Language Selection End-->

JavaScript "lang.js" nella cartella "script"


La funzione "DoLocalLanguageChange()" è nel file lang.js. Questa funzione richiama la
funzione "SetLangCookie()" e quindi ricarica la finestra che visualizza la pagina HTML.

Sistema di automazione S7-1200


676 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.6 Pagine Web personalizzate

La funzione "SetLangCookie()" costruisce un'assegnazione che assegna il valore dall'elenco


di selezionate al cookie "siemens_automation_language" del documento. Inoltre imposta il
percorso all'applicazione in modo che la pagina a cui si passa, e non quella da cui si fa
richiesta, riceva il valore del cookie.
In opzione, nella sezione dei commenti, la pagina può impostare un valore di scadenza del
cookie.
function DoLocalLanguageChange(oSelect) {
SetLangCookie(oSelect.value);
top.window.location.reload();
}
function SetLangCookie(value) {
var strval = "siemens_automation_language=";
// Questo è il cookie dal quale il Web server
// rileva la lingua desiderata
// Il Web server necessita questo nome.
strval = strval + value;
strval = strval + "; path=/ ;";
// Imposta il percorso all'applicazione altrimenti il
// percorso viene impostato alla pagina da cui si fa
richiesta
// e questa pagina non sarebbe il cookie.
/* OPTIONAL
utilizzare una scadenza se questo cookie deve durare più
a lungo
della sessione nel browser attuale:
var now = new Date();
var endttime = new Date(now.getTime() + expiration);
strval = strval + "; expires=" +
endttime.toGMTString() + ";";
*/
document.cookie = strval;
}

11.6.9.3 Configurazione di STEP 7 per l'utilizzo di una struttura di pagina multilingue


Il procedimento di configurazione di pagine Web personalizzate multilingue è simile al
processo generale per la configurazione di pagine Web personalizzate (Pagina 658).
Tuttavia, quando si dispone di cartelle configurate per le lingue, la directory HTMM viene
configurata sulla cartella che contiene le singole cartelle della lingua e la directory HTML non
deve essere configurata come una delle cartelle della lingua.
Quando si seleziona la pagina HTML di default, si naviga nella cartella della lingua e si
seleziona la pagina HTML da utilizzare come pagina iniziale. Quando successivamente si
generano e si caricano i blocchi nella CPU, il Web server visualizza la pagina iniziale nella
cartella della lingua che è stata configurata.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 677
Web server
11.6 Pagine Web personalizzate

Ad esempio, se la struttura a cartelle qui illustrata fosse C:\,


l'impostazione della directory HTML sarebbe C:\html, e se la pagina
iniziale dovesse essere visualizzata in inglese, si navigherebbe fino
a en\langswitch.html per impostare la pagina HTML di default.

11.6.10 Comando avanzato delle pagine Web personalizzate


Quando si generano blocchi dati per le pagine Web personalizzate, STEP 7 crea un DB di
comando utilizzato per comandare la visualizzazione e l'interazione con le pagine
personalizzate. STEP 7 crea anche una serie di DB di frammenti che rappresentano le
singole pagine. In circostanze normali, non è necessario conoscere la struttura del DB di
comando o come elaborarlo.
Se si desidera attivare e disattivare un'applicazione Web o elaborare singoli frammenti
manuali, è possibile usare le variabili del DB di comando e l'istruzione WWW.

Struttura del DB di comando


Il DB di comando è un'ampia struttura di dati ed è accessibile durante la programmazione
del programma utente STEP 7. Di seguito vengono descritte solo alcune delle variabili del
blocco dati di comando.

Struttura commandstate
"Commandstate" è una struttura che contiene i comandi e gli stati globali per il Web server.
Comandi globali nella struttura "Commandstate"
I comandi globali si applicano al Web server in generale. Il Web server può essere
disattivato o riavviato con i parametri del DB di comando.

Variabile del blocco Tipo di dati Descrizione


init BOOL Valutare il DB di comando e inizializzare
l'applicazione Web
deactivate BOOL Disattivare l'applicazione Web

Stati globali nella struttura Commandstate


Gli stati globali si applicano al Web server in generale e contengono le informazioni di stato
sull'applicazione Web.

Sistema di automazione S7-1200


678 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.6 Pagine Web personalizzate

Variabile del blocco Tipo di dati Descrizione


initializing BOOL L'applicazione Web sta leggendo il DB di
comando
error BOOL L'applicazione Web non ha potuto essere
inizializzata
deactivating BOOL L'applicazione Web si sta concludendo
deactivated BOOL L'applicazione Web si è conclusa
initialized BOOL L'applicazione Web è inizializzata
last_error INT Ultimo errore restituito da un richiamo
dell'istruzione WWW (Pagina 659) se il codice
di ritorno di WWW è 16#0010:
16#0001: la struttura del DB di frammento non
è coerente
16#0002: il nome dell'applicazione esiste già
16#0003: mancano le risorse (memoria)
16#0004: la struttura del DB di controllo non è
coerente
16#0005: il DB di frammento non è disponibile
16#0006: il DB di frammento non è per AWP
16#0007: i dati enum non sono coerenti
16#000D: conflitto nella dimensione del DB di
controllo

Tabella delle richieste


La tabella delle richieste è un array di strutture che contengono i comandi e gli stati da
applicare ai singoli DB di frammenti. Se si creano dei frammenti con il comando
AWP_Start_Fragment (Pagina 653) di tipo "manuale", il programma utente STEP 7 deve
comandare queste pagine attraverso il DB di comando. Gli stati di richiesta sono di sola
lettura e forniscono informazioni sul frammento attuale. I comandi di richiesta possono
essere utilizzati per comandare il frammento attuale.

Variabile del blocco Tipo di dati Descrizione


requesttab ARRAY [ 1 .. 4 ] OF STRUCT Array di strutture per il DB di comando di
singoli frammenti.
Il Web server può elaborare fino a quattro
frammenti per volta. L'indice dell'array di un
particolare frammento è arbitrario quando il
Web server elabora più frammenti o frammenti
provenienti da più sessioni del browser.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 679
Web server
11.6 Pagine Web personalizzate

Elementi Struct di requesttab struct

Variabile del blocco Tipo di dati Descrizione


page_index UINT Numero della pagina Web attuale
fragment_index UINT Numero del frammento attuale (può essere
impostato su un frammento diverso)
// Request Commands
continue BOOL Consente l'invio della pagina/frammento attuale
e passa al frammento successivo
repeat BOOL Consente il rinvio della pagina/frammento
attuale e passa al frammento successivo
abort BOOL Chiude la connessione http senza invio
finish BOOL Invia questo frammento; la pagina è completa,
non elabora ulteriori frammenti
// Request states Gli stati di richiesta sono di sola lettura
idle BOOL Non ha niente da fare, ma è attiva
waiting BOOL Il frammento è in attesa di essere abilitato
sending BOOL Il frammento viene inviato
aborting BOOL L'utente ha interrotto la richiesta attuale

Funzionamento
Ogniqualvolta il programma apporta delle modifiche al DB di comando, deve richiamare
l'istruzione WWW con il numero del DB di comando modificato come parametro. I comandi
globali e i comandi di richiesta diventano effettivi quando il programma utente STEP 7
esegue l'istruzione WWW (Pagina 659).
Il programma utente STEP 7 può impostare fragment_index esplicitamente facendo in modo
che il Web server elabori il frammento specificato con un comando di richiesta. Altrimenti il
Web server elabora il frammento attuale per la pagina attuale quando esegue l'istruzione
WWW.
Le possibile tecniche per l'uso di fragment_index comprendono:
● Elaborazione del frammento attuale: lascia fragment_index invariato e imposta il
comando di continuazione.
● Salto del frammento attuale: imposta fragment_index a 0 e il comando di continuazione.
● Sostituzione del frammento attuale con un frammento diverso: imposta fragment_index
all'ID del nuovo frammento e il comando di continuazione.

Sistema di automazione S7-1200


680 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.6 Pagine Web personalizzate

Per verificare gli stati globali o gli stati di richiesta che potrebbero essere modificati, il
programma utente STEP 7 deve richiamare l'istruzione WWW per valutare i valori istantanei
di questi stati. Un uso tipico potrebbe essere il richiamo periodico dell'istruzione WWW fino
al verificarsi di uno stato specifico.

Nota
Se il programma utente STEP 7 imposta più di un comando di richiesta, l'istruzione WWW
ne elabora solo uno nel seguente ordine: interruzione, fine, ripetizione, continuazione.
L'istruzione WWW cancella tutti i comandi d richiesta dopo la loro elaborazione.

Esempi
L'esempio seguente illustra un programma utente STEP 7 che verifica un frammento con un
ID di 1 nello stato di attesa in seguito ad un richiamo precedente dell'istruzione WWW.
Potrebbe essere anche in attesa che si verifichino altre condizioni specifiche
dell'applicazione. Quindi esegue qualsiasi elaborazione che sia necessaria al frammento,
come impostare le variabili del blocco dati, eseguire i calcoli o altre operazioni specifiche
dell'applicazione. In seguito imposta il flag di continuazione in modo che il Web server
esegua questo frammento.

Quando il programma richiama l'istruzione WWW con questo DB di comando modificato, la


pagina Web personalizzata con questo frammento può essere visualizzata dal Web browser.

Si noti che questo è un esempio semplificato; il frammento da verificare può trovarsi in uno
dei quattro struct requesttab nell'array.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 681
Web server
11.7 Limitazioni

11.7 Limitazioni
Le seguenti considerazioni IT possono influenzare l'uso del Web server:
● Normalmente per accedere alle pagine Web standard o a quelle definite dall'utente si
deve utilizzare l'indirizzo IP della CPU o l'indirizzo IP di un router wireless con un numero
di porta. Se il Web browser impiegato non consente il collegamento diretto a un indirizzo
IP, rivolgersi al proprio amministratore IT. Se le impostazioni locali supportano il DNS è
possibile stabilire il collegamento all'indirizzo IP mediante una voce DNS per
quell'indirizzo.
● Anche firewall, impostazioni proxy e altre restrizioni specifiche del sito possono limitare
l'accesso alla CPU. Per risolvere questioni di questo tipo rivolgersi al proprio
amministratore IT.
● Le pagine Web standard utilizzano JavaScript e i cookie. Se questi sono stati disattivati
nelle impostazioni del Web browser, li si deve riattivare. Se non è possibile farlo, alcune
funzioni vengono limitate (Pagina 683). L'uso di JavaScript e dei cookie nelle pagine Web
personalizzate è opzionale. Se li si utilizza è necessario attivarli nel browser.
● Il Web server supporta Secure Sockets Layer (SSL). È possibile accedere alle pagine
Web standard e a quelle personalizzate con un URL del tipo http://ww.xx.yy.zz o
https://ww.xx.yy.zz, dove "ww.xx.yy.zz" rappresenta l'indirizzo IP della CPU.
● Siemens mette a disposizione un certificato di sicurezza per garantire un accesso sicuro
al Web server. Dalla pagina Web di introduzione standard (Pagina 629) è possibile
scaricare e importare il certificato nelle opzioni Internet del proprio Web browser
(Pagina 684). Se non si desidera importare il certificato, ogni volta che si accede al Web
server con https:// comparirà un prompt di sicurezza.

Numero di collegamenti
Il server Web supporta al massimo 30 collegamenti HTTP attivi. Questi 30 collegamenti
possono essere utilizzati in vari modi in funzione del Web browser impiegato e del numero di
oggetti diversi per pagina (file .css, immagini, altri file .html). Alcuni collegamenti vengono
mantenuti mentre il Web server visualizza le pagine Web, altri vengono interrotti dopo il
collegamento iniziale.
Se, ad esempio, si utilizza Mozilla Firefox 8, che supporta al massimo sei collegamenti
permanenti, si possono usare cinque istanze di browser o di schede di browser prima che il
server Web inizi a interrompere i collegamenti. Se una pagina non usa tutti e sei i
collegamenti si possono aprire altre istanze di browser o di schede di browser.
Si tenga conto inoltre che numero di collegamenti attivi incide sulle prestazioni delle pagine.

Nota
Log off prima della chiusura del Web server
Se ci si è collegati al Web server accertarsi di fare il log off prima di chiudere il Web browser.
Il Web server supporta al massimo sette log in contemporaneamente.

Sistema di automazione S7-1200


682 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.7 Limitazioni

11.7.1 Limitazioni delle funzioni in caso di disattivazione di JavaScript nelle opzioni


Internet
Le pagine Web standard utilizzano HTML, JavaScript e cookie. Se il sito limita l'utilizzo di
JavaScript e cookie, è necessario attivarli affinché le pagine funzionino correttamente. Se
non è possibile attivare JavaScript per il Web browser, le funzioni che utilizzano controlli
JavaScript non possono essere eseguite.

Dati generali
Le pagine non si aggiornano dinamicamente. Per visualizzare i dati aggiornati occorre
eseguire manualmente l'aggiornamento selezionando il relativo simbolo (Pagina 625).

Pagina Diagnostic Buffer


La pagina del buffer di diagnostica utilizza JavaScript nel modo seguente:
● Visualizzazione degli eventi di diagnostica: con Javascript, selezionando una riga nel
buffer di diagnostica si visualizzano i dettagli nella parte inferiore della pagina; senza
JavaScript, per visualizzare i dati di un evento nella parte inferiore della pagina, è
necessario fare clic sul collegamento ipertestuale al campo dell'evento di una voce del
buffer di diagnostica.
● Modifica del campo delle voci del buffer di diagnostica da visualizzare: con JavaScript, si
utilizza l'elenco a discesa in alto per selezionare il campo delle voci del buffer di
diagnostica da visualizzare e la pagina si aggiorna automaticamente; senza JavaScript,
si utilizza l'elenco a discesa in alto per selezionare il campo delle voci del buffer di
diagnostica da visualizzare, in seguito occorre però fare clic sul collegamento "Go" per
aggiornare la pagina del buffer di diagnostica con il campo selezionato dall'elenco a
discesa.
Il collegamento "Go" e i collegamenti ipertestuali al campo dell'evento sono visibili solo
quando JavaScript non è attivato. Non essendo necessari, non sono presenti quando
JavaScript è attivato.

Pagina Module Information


Se non è attivato JavaScript vengono applicate le seguenti limitazioni:
● I dati non possono essere filtrati.
● I campi non possono essere ordinati.

Pagina Variable Status


Se non è attivato JavaScript vengono applicate le seguenti limitazioni:
● Una volta eseguito l'accesso ad una variabile, occorre selezionare manualmente la riga
"New variable" per inserire una nuova variabile.
● La selezione di un formato di visualizzazione non modifica automaticamente la
visualizzazione dei valori dei dati nel formato selezionato. Per aggiornare la
visualizzazione nel nuovo formato fare clic sul pulsante "Monitor value".

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 683
Web server
11.7 Limitazioni

11.7.2 Limitazione delle funzioni nel caso in cui le opzioni Internet non consentano i
cookie
Se si disattivano i cookie nel Web browser si devono considerare le seguenti limitazioni:
● Non si può effettuare il log in.
● Non si può modificare l'impostazione della lingua.
● Non si può passare dall'ora UTC all'ora del PLC. Senza i cookie l'ora è sempre indicata
con il formato UTC.

11.7.3 Importazione del certificato di sicurezza Siemens


Il certificato di sicurezza Siemens può essere importato nelle proprie opzioni Internet in
modo da non ricevere più il prompt di verifica di sicurezza quando nel browser si inserisce
https://ww.xx.yy.zz, dove "ww.xx.yy.zz" è l'indirizzo IP della CPU. Se si utilizza un http:// URL
invece di un https:// URL, non occorre scaricare e installare il certificato.

Download del certificato


Per scaricare il certificato di sicurezza Siemens nel proprio PC si può utilizzare il
collegamento "download certificate" nella pagina di introduzione (Pagina 629). La procedura
varia in base al Web browser utilizzato:

Importazione del certificato in Internet Explorer


1. Fare clic sul collegamento "download certificate" nella pagina di introduzione. Compare
una finestra di dialogo "File Download - Security Warning".
2. Dalla finestra di dialogo "File Download - Security Warning" fare clic su "Open" per aprire
il file. Compare una finestra di dialogo "Certificate".
3. Dalla finestra di dialogo "Certificate" fare clic sul pulsante "Install Certificate" per lanciare
il wizard di importazione del certificato.
4. Seguire le finestre di dialogo del wizard di importazione del certificato per importare il
certificato lasciando che il sistema operativo selezioni automaticamente dove
memorizzare il certificato.

Importazione del certificato in Mozilla Firefox


1. Fare clic sul collegamento "download certificate" dalla pagina di introduzione. Compare
una finestra di dialogo "Opening MiniWebCA_Cer.crt".
2. Fare clic su "Save file" dalla finestra di dialogo "Opening MiniWebCA_Cer.crt". Compare
una finestra di dialogo "Downloads".
3. Dalla finestra di dialogo "Downloads" fare doppio clic su "MiniWebCA_Cer.crt" Se si è
tentato di effettuare il download più di una volta, compaiono più copie. Fare doppio clic su
una voce "MiniWebCA_Cer.crt" qualsiasi.
4. Fare click su "OK" se richiesto per aprire un file eseguibile.

Sistema di automazione S7-1200


684 Manuale di sistema, 03/2014, A5E02486684-AG
Web server
11.7 Limitazioni

5. Fare clic su "Open" se appare la finestra di dialogo "Open File - Security Warning".
Compare una finestra di dialogo "Certificate".
6. Sulla finestra di dialogo "Certificate" fare clic sul pulsante "Install certificate".
7. Seguire le finestre di dialogo del wizard di importazione del certificato per importare il
certificato lasciando che il sistema operativo selezioni automaticamente dove
memorizzare il certificato.
8. Se compare la finestra di dialogo "Security Warning", fare clic su "Yes" per confermare
l'installazione del certificato.

Altri browser
Seguire le convenzioni del proprio Web browser per importare e installare il certificato
Siemens.
Dopo aver installato il certificato di sicurezza Siemens "S7-Controller Family" nelle opzioni
Internet dell'indice del proprio Web browser, non è richiesto di verificare un prompt di
sicurezza quando si accede al Web server con https:// ww.xx.yy.zz.

Nota
Il certificato di sicurezza rimane invariato durante i riavvii della CPU, ma se si modifica
l'indirizzo IP della CPU si deve scaricare un nuovo certificato nel modo sopra descritto.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 685
Web server
11.7 Limitazioni

11.7.4 Importazione di log di dati in formato CSV in versioni non americane/inglesi di


Microsoft Excel
I file di log di dati sono in formato americano/inglese CSV. Questi file possono essere aperti
direttamente in Excel dalla pagina dei log di dati se nel sistema è installata la versione
americana o inglese di Excel. In altri paesi, però, questo formato non è molto usato perché
spesso le virgole hanno una connotazione numerica.
Se si utilizza una versione di Excel diversa da quella americana o inglese, per aprire un file
di log di dati salvato seguire queste istruzioni:
1. Aprire Excel e creare una cartella di lavoro vuota.
2. Dal menu "Dati > Importa dati esterni", selezionare il comando "Importa dati".
3. Navigare e selezionare il file di log di dati che si desidera aprire. Si avvia il wizard di
importazione testo.
4. Dal wizard di importazione testo, modificare l'opzione predefinita per "Tipo di dati
originali" da "Larghezza fissa" a "Delimitato".
5. Selezionare il pulsante Avanti.
6. Dalla finestra di dialogo Passaggio 2, selezionare la casella di opzione "Virgola" per
modificare il tipo di delimitatore da "Tabulazione" a "Virgola".
7. Selezionare il pulsante Avanti.
8. Dalla finestra di dialogo Passaggio 3, è possibile modificare anche il formato della data
da MDY (mese/giorno/anno) in un altro formato.
9. Completare i passaggi restanti del wizard di importazione testo per importare il file.

Sistema di automazione S7-1200


686 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP 12
12.1 Utilizzo delle interfacce di comunicazione seriale
Due Communication Module (CM) e una Communication Board (CB) costituiscono
l'interfaccia per le comunicazioni PtP:
● CM 1241 RS232 (Pagina 1006)
● CM 1241 RS422/485 (Pagina 1007)
● CB 1241 RS485 (Pagina 1003)
È possibile collegare fino a tre CM (di qualsiasi tipo) e una CB per un massimo di quattro
interfacce di comunicazione. Installare il CM sulla sinistra della CPU o di un altro CM.
Installare quindi la CB sul lato frontale della CPU. Per maggiori informazioni sul montaggio e
lo smontaggio del modulo consultare il capitolo "Installazione" del manuale di sistema
dell'S7-1200 (Pagina 62) .
Le interfacce di comunicazione seriale hanno le seguenti caratteristiche:
● Dispongono di una porta isolata
● Supportano i protocolli Point-to-Point
● Vengono configurati e programmati mediante le istruzioni del processore di
comunicazione punto a punto
● Sono dotate di LED per la visualizzazione dell'attività di trasmissione e ricezione
● Sono dotate di LED per la diagnostica (solo CM)
● Sono alimentate tramite la CPU: non è necessario un collegamento esterno per
l'alimentazione
Per maggiori informazioni sull'argomento consultare i dati tecnici delle interfacce di
comunicazione (Pagina 994).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 687
Processore di comunicazione e Modbus TCP
12.2 Polarizzazione e terminazione di un connettore RS485

Indicatori LED
I moduli di comunicazione dispongono di tre indicatori LED:
● LED di diagnostica (DIAG): Il LED di diagnostica emette una luce rossa lampeggiante
finché non viene indirizzato dalla CPU. Dopo l'accensione della CPU, controlla i CM e li
indirizza. Il LED di diagnostica inizia ad emettere una luce verde lampeggiante. Questo
significa che la CPU ha indirizzato il CM, ma non gli ha ancora fornito la configurazione.
La CPU carica la configurazione nei CM configurati quando il programma viene caricato
nella CPU. Dopo il caricamento nella CPU, il LED di diagnostica del modulo di
comunicazione dovrebbe accendersi con una luce verde fissa.
● LED di trasmissione (Tx): Si accende quando è in corso la trasmissione dei dati
attraverso la porta di comunicazione.
● LED di ricezione (Rx): Questo LED si accende mentre la porta di comunicazione riceve i
dati.
La Communication Board dispone di LED di trasmissione (TxD) e di ricezione (RxD), ma non
di LED di diagnostica.

12.2 Polarizzazione e terminazione di un connettore RS485


Siemens fornisce un connettore RS485 (Pagina 1021) che consente di collegare più
dispositivi al segmento RS485 in modo semplice. Il connettore dispone di due gruppi di
terminali che permettono di collegare i cavi di ingresso e di uscita del segmento e anche di
interruttori per selezionare la polarizzazione e la terminazione del segmento.

Nota
Vengono terminate e polarizzate solo le due estremità del segmento RS485. I dispositivi che
si trovano tra i due dispositivi finali non vengono terminati né polarizzati. Schermo del cavo
messo a nudo: Circa 12 mm, deve essere a contatto con le guide metalliche in tutte le
postazioni.

① Interruttore = on: cavo chiuso e polarizzato


② Interruttore = off: cavo non chiuso né polarizzato
③ Interruttore = on: cavo chiuso e polarizzato

Sistema di automazione S7-1200


688 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.2 Polarizzazione e terminazione di un connettore RS485

Tabella 12- 1 Terminazione e polarizzazione del connettore RS485

Dispositivo di terminazione (polarizzazione ON) Dispositivo non di terminazione (polarizzazione


OFF)

① Numero di piedini
② Connettore di rete
③ Schermo del cavo
Il CB 1241 è dotato di reistenze interne di terminazione e polarizzazione del segmento. Per
terminare e polarizzare il collegamento occorre collegare TRA a TA e TRB a TB e includere
così le resistenze interne nel circuito. Il CB 1241 non possiede un connettore a 9 pin. La
tabella seguente mostra i collegamenti con un connettore a 9 pin sul partner di
comunicazione.

Tabella 12- 2 Terminazione e polarizzazione del CB 1241

Dispositivo di terminazione (polarizzazione ON) Dispositivo non di terminazione (polarizzazione OFF)

① Collegare M allo schermo del cavo


② A = TxD/RxD - (filo verde / pin 8)
③ B = TxD/RxD + (filo rosso / pin 3)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 689
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

12.3 Comunicazione punto a punto (PtP)


La CPU supporta la seguente comunicazione punto a punto (PtP) per i protocolli seriali
basati su caratteri:
● PtP
● USS (Pagina 735)
● Modbus (Pagina 751)
La PtP offre la massima libertà e flessibilità, ma richiede una complessa implementazione
nel programma utente.

Il PtP offre un'ampia gamma di possibilità:


• La possibilità di inviare informazioni direttamente ad
un dispositivo esterno, ad es. una stampante
• La possibilità di ricevere informazioni da altri
dispositivi, come lettori di codici a barre, lettori
RFID, macchine fotografiche o sistemi di visione di
terzi e molti altri tipi di dispositivi
• La possibilità di scambiare informazioni, inviare e
ricevere dati da altri dispositivi come GPS,
macchine fotografiche o sistemi di visione di terzi,
modem radio e molti altri
La PtP è una comunicazione seriale che utilizza UART
standard e supporta una vasta gamma di velocità di
trasmissione e di opzioni di parità. I moduli di
comunicazione RS232 e RS422/485 (CM 1241) e la
scheda di comunicazione RS485 (CB 1241)
costituiscono le interfacce elettriche per le
comunicazioni PtP.

12.3.1 Configurazione delle porte di comunicazione


Le interfacce di comunicazione possono essere configurate con uno dei seguenti metodi:
● Utilizzare la finestra Configurazione dispositivi di STEP 7 per configurare i parametri delle
porte (velocità di trasmissione e parità), di trasmissione e di ricezione. La CPU
memorizza le impostazioni della configurazione del dispositivo e le applica dopo un ciclo
di spegnimento/accensione e un passaggio da RUN a STOP.
● Per impostare i parametri utilizzare le istruzioni PORT_CFG (Pagina 706), SEND_CFG
(Pagina 708) e RCV_CFG (Pagina 709). Le impostazioni delle porte effettuate dalle
istruzioni sono valide quando la CPU è in RUN. e vengono ripristinate su quelle di
Configurazione dispositivo dopo la commutazione in STOP o lo
spegnimento/riaccensione.
Dopo aver configurato i dispositivi hardware (Pagina 141), configurare i parametri delle
interfacce di comunicazione selezionando uno dei CM dal telaio di montaggio o la CB, se
configurata.

Sistema di automazione S7-1200


690 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

La scheda "Proprietà" della finestra di ispezione


visualizza i parametri del CM o della CB
selezionati. Selezionare "Configurazione della
porta" per modificare i seguenti parametri:
• Velocità di trasmissione
• Parità
• Bit di dati per carattere
• Numero di bit di stop
• Controllo del flusso (solo RS232)
• Tempo di attesa

Per il CM 1241 RS232 e la CB RS485 (tranne che per il controllo del flusso (Pagina 692) che
è supportato solo dal CM 1241 RS232), i parametri di configurazione della porta sono gli
stessi sia per il modulo di comunicazione RS232 o RS485 che per la scheda di
comunicazione RS485. I valori dei parametri possono invece essere diversi.
Per il CM 1241 RS422/485 sono disponibili ulteriori opzioni per la configurazione della porta
come spiegato di seguito. Il modo 422 del modulo CM 1241 RS422/485 supporta anche il
controllo del flusso software.

Selezionare "Configurazione della porta" per


modificare i seguenti parametri RS422/485:
• "Modo di funzionamento":
– Full duplex (RS422) a 4 fili (collegamento
punto a punto)
– Full duplex (RS422) a 4 fili (master multipunto)
– Full duplex (RS422) a 4 fili (slave multipunto)
– Half duplex (RS485) a 2 fili
• "Preimpostazione della linea di ricezione":
– Nessuna
– Polarizzazione diretta (segnale R(A) 0V,
segnale R(B) 5V)

Il programma utente STEP 7 permette anche di configurare la porta o di modificare la


configurazione esistente utilizzando l'istruzione PORT_CFG (Pagina 706).

Nota
I valori dei parametri impostati dall'istruzione PORT_CFG nel programma utente
sovrascrivono le impostazioni della configurazione della porta effettuate dalla Configurazione
dispositivi. Si segnala che l'S7-1200 non mantiene i parametri impostati con l'istruzione
PORT_CFG in caso di mancanza dell'alimentazione.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 691
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Parametro Definizione
Velocità di trasmissione Il valore di default della velocità di trasmissione è di 9,6 kbit al secondo. Sono opzioni
valide: 300 baud, 600 baud, 1,2 kbits, 2,4 kbits, 4,8 kbits, 9,6 kbits, 19,2 kbits, 38,4 kbits,
57,6 kbits, 76,8 kbits e 115,2 kbits.
Parità Il valore di default per la parità è nessuna parità. Sono opzioni valide: nessuna parità, pari,
dispari, mark (bit di parità sempre impostato a 1) e space (bit di parità sempre impostato a
0)
Bit di dati per carattere Il numero di bit di dati in un carattere. Le scelte valide sono 7 o 8.
Numero di bit di stop I bit di stop possono essere uno o due. Il valore di default è uno.
Controllo del flusso Per il modulo di comunicazione RS232 è possibile selezionare il controllo del flusso
(Pagina 692) hardware o software. Se si opta per il controllo del flusso hardware è possibile
scegliere tra segnale RTS sempre ON oppure disattivato. Se si opta per il controllo del
flusso software è possibile definire i caratteri XON e XOFF.
Le interfacce di comunicazione RS485 non supportano il controllo del flusso. Il modo 422
del modulo CM 1241 RS422/485 supporta il controllo del flusso software.
Tempo di attesa A seconda del tipo di controllo del flusso, il tempo di attesa indica l'intervallo di tempo che il
CM o la CB attende per ricevere un CTS dopo la conferma di un RTS o per ricevere un
XON dopo avere ricevuto un XOFF. Se il tempo di attesa termina prima che l'interfaccia di
comunicazione abbia ricevuto il CTS o il XON atteso, il CM o la CB interrompe l'operazione
di trasmissione e segnala un errore al programma utente. Specificare il tempo di attesa in
millisecondi nel campo compreso tra 0 e 65535 millisecondi.
Modo di funzionamento Seleziona il modo di funzionamento RS422 o RS485 e le configurazioni di rete.
Preimpostazione della linea Seleziona le opzioni di polarizzazione. I valori validi sono nessuna, polarizzazione diretta e
di ricezione polarizzazione inversa. La polarizzazione inversa è utilizzata per rilevare la rottura del cavo.

12.3.1.1 Gestione del controllo di flusso


Il controllo del flusso è un meccanismo che serve per bilanciare le trasmissioni di invio e
ricezione di dati, in modo tale che non vadano persi dati. Il controllo del flusso garantisce che
un dispositivo di trasmissione non invii più informazioni di quelle che il dispositivo ricevente
può gestire. Il controllo del flusso può essere realizzato via hardware o software. Il CM
RS232 supporta entrambi i tipi di controllo, Il CM e la CB RS485 non supportano il controllo
del flusso. Il modo 422 del modulo CM 1241 RS422/485 supporta il controllo del flusso
software. Il tipo di controllo del flusso si specifica in fase di configurazione della porta
(Pagina 690) o con l'istruzione PORT_CFG (Pagina 706).
Il controllo del flusso hardware funziona per mezzo dei segnali di comunicazione Request to
send (richiesta di invio) (RTS) e Clear to send (pronto a trasmettere) (CTS). Con il CM
RS232 il segnale RTS viene emesso dal pin 7 e il segnale CTS viene ricevuto dal pin 8. Il
CM RS232 è un DTE (Data Terminal Equipment) che invia l'RTS in uscita e controlla il CTS
in ingresso.

Sistema di automazione S7-1200


692 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Controllo del flusso hardware: RTS disattivato


Abilitando il controllo del flusso hardware con RTS disattivato per un CM RS232, il modulo
attiva il segnale RTS per l'invio dei dati. Il modulo controlla il segnale CTS per determinare
se il dispositivo ricevente può accettare i dati. Quando il segnale CTS è attivo, il modulo può
trasmettere dati fintanto che il segnale CTS resta attivo. Se il segnale CTS si disattiva la
trasmissione deve interrompersi.
La trasmissione riprende quando il segnale CTS si riattiva. Se il segnale CTS non si attiva
entro il tempo di attesa configurato, il modulo annulla la trasmissione e segnala un errore al
programma utente. Specificare il tempo di attesa nella configurazione della porta
(Pagina 690).
L'attivazione del controllo del flusso mediante RTS è utile nei dispositivi che richiedono un
segnale che indichi che la trasmissione è attiva. Ad esempio un modem radio che si serve
dell'RTS come segnale "chiave" per alimentare il trasmettitore. Questo tipo di controllo del
flusso non funziona con i normali modem telefonici. Per questo tipo di modem si deve
utilizzare l'impostazione RTS sempre on.

Controllo del flusso hardware: RTS sempre ON


Nel modo RTS sempre on il CM 1241 attiva per default il segnale RTS. Il dispositivo, ad es.
un modem telefonico, controlla il segnale RTS dal CM e lo utilizza come CTS (pronto a
trasmettere). Il modem trasmette al CM solo quando l'RTS è ativo, ovvero quando il modem
telefonico rileva un CTS attivo. Se l'RTS è disattivato il modem telefonico non trasmette al
CM.
Per consentire al modem di inviare dati al CM in qualsiasi momento, configurare il controllo
del flusso hardware "RTS sempre ON". In questo modo il CM attiva sempre il segnale RTS.
Il CM non disattiva RTS nemmeno quando il modulo non può accettare caratteri. Il
dispositivo di trasmissione deve verificare di non causare un overrun del buffer di ricezione
del CM.

Utilizzo dei segnali Data Terminal Ready (DTR) e Data Set Ready (DSR)
Il CM attiva DTR per uno dei due tipi di controllo del flusso hardware. Il modulo trasmette
soltanto quando il segnale DSR si attiva. Lo stato del DSR viene valutato soltanto all'inizio
dell'operazione di invio. Se il DSR si disattiva dopo l'inizio della trasmissione, quest'ultima
non viene interrotta.

Controllo del flusso software


Il controllo del flusso software usa caratteri speciali nei messaggi per controllare il flusso, si
devono configurare i caratteri esadecimali che rappresentano XON e XOFF.
XOFF indica che una trasmissione deve interrompersi. XON indica che una trasmissione
può riprendere. XOFF e XON non devono essere lo stesso carattere.
Quando il dispositivo di trasmissione riceve un carattere XOFF dal dispositivo ricevente,
interrompe la trasmissione. La trasmissione riprende quando il dispositivo di trasmissione
riceve un carattere XON. Se il dispositivo non riceve un carattere XON entro il tempo di
attesa specificato nella configurazione della porta (Pagina 690), il CM annulla la
trasmissione e segnala un errore al programma utente.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 693
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Il controllo del flusso software richiede una comunicazione full-duplex perché il partner di
ricezione deve essere in grado di trasmettere XOFF al partner di trasmissione mentre è in
corso la trasmissione. Il controllo del flusso software è utilizzabile solo nei messaggi che
contengono unicamente caratteri ASCII. I protocolli binari non lo possono utilizzare.

12.3.2 Configurazione dei parametri di trasmissione (invio) e di ricezione


Affinché la CPU possa stabilire una comunicazione PtP è necessario configurare i parametri
per la trasmissione (o invio) e la ricezione di messaggi. Questi parametri determinano le
modalità di comunicazione per la ricezione e la trasmissione dei messaggi da e verso un
dispositivo di destinazione.

12.3.2.1 Configurazione dei parametri di trasmissione (invio)


Dalla Configurazione dispositivi si può definire il modo in cui un'interfaccia di comunicazione
trasmette i dati impostando la proprietà "Configurazione della trasmissione messaggi" per
l'interfaccia in questione.

È inoltre possibile configurare dinamicamente o modificare i parametri per la trasmissione


dei messaggi inserendo nel programma utente l'istruzione SEND_CFG (Pagina 708).

Nota
I valori dei parametri impostati dall'istruzione SEND_CFG nel programma utente
sovrascrivono le proprietà di "Configurazione della trasmissione messaggi". In caso di
mancanza dell'alimentazione la CPU non mantiene i parametri impostati con l'istruzione
SEND_CFG.

Sistema di automazione S7-1200


694 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Parametro Definizione
Ritardo RTS ON Specifica il tempo di attesa dopo l'attivazione dell'RTS prima dell'avvio della trasmissione. Il
campo è compreso tra 0 e 65535 ms, dove 0 è il valore di default. Questo parametro è
valido solo se la configurazione della porta (Pagina 690) specifica il controllo del flusso
hardware. Il CTS viene valutato una volta trascorso l'intervallo di tempo Ritardo RTS ON.
Questo parametro si applica solo ai moduli RS232.
Ritardo RTS OFF Specifica il tempo di attesa prima della disattivazione dell'RTS dopo che la trasmissione è
terminata. Il campo è compreso tra 0 e 65535 ms, dove 0 è il valore di default. Questo
parametro è valido solo se la configurazione della porta (Pagina 690) specifica il controllo
del flusso hardware.
Questo parametro si applica solo ai moduli RS232.
Invia pausa all'inizio del Specifica che all'avvio di ogni messaggio verrà inviato un break una volta trascorso
messaggio l'intervallo di tempo Ritardo RTS ON (se configurato) e se CTS è attivo.
Numero di Bit Time in una È possibile specificare quanti tempi di bit costituiscono un break durante il quale la
pausa trasmissione viene interrotta. Il valore di default è 12 e il valore massimo è 65535, fino ad
un limite di otto secondi.
Invia Idle Line dopo la pausa Specifica che sarà inviata una linea inattiva prima dell'inizio del messaggio. Se configurato,
Idle Line dopo la pausa questa linea viene inviata dopo il break. Il parametro "Idle line after a break" specifica
quanti tempi di bit corrispondono a una "linea inattiva", dove la linea è mantenuta in una
condizione di "mark". Il valore di default è 12 e il valore massimo è 65535, fino ad un limite
di otto secondi.

12.3.2.2 Configurazione dei parametri di ricezione


Da Configurazione dispositivi della CPU è possibile impostare il modo in cui un'interfaccia di
comunicazione riceve i dati e riconosce l'inizio e la fine di un messaggio. Questi parametri
possono essere impostati in Configurazione della ricezione messaggi per l'interfaccia
selezionata.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 695
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

È anche possibile configurare dinamicamente o modificare i parametri della ricezione dei


messaggi inserendo nel programma utente l'istruzione RCV_CFG (Pagina 709).

Nota
I valori dei parametri impostati dall'istruzione RCV_CFG nel programma utente
sovrascrivono le proprietà di "Configurazione della ricezione messaggi". In caso di
mancanza dell'alimentazione la CPU non mantiene i parametri impostati con l'istruzione
RCV_CFG.

Condizioni di inizio del messaggio


È possibile determinare il modo in cui l'interfaccia di comunicazione riconosce l'inizio di un
messaggio. I caratteri di inizio e i caratteri del messaggio vengono memorizzati nel buffer di
ricezione fino a quando non è soddisfatta una condizione di fine configurata.
È possibile specificare più condizioni di inizio. Se sono specificate più condizioni di inizio, il
messaggio viene considerato avviato quando sono tutte soddisfatte. Se, ad esempio, si
configura un timeout per linea inattiva e si specifica un caratterre di inizio, il CM o la CB
verifica prima se è presente la condizione di linea inattiva e poi cerca il carattere di inizio. Se
vengono ricevuti altri caratteri (escluso quello specificato) il CM o la CB riavvia la ricerca
dell'inizio del messaggio cercando nuovamente il timeout per linea inattiva.

Parametro Definizione
Inizia con un carattere La condizione "Qualsiasi carattere" specifica che la ricezione di qualsiasi carattere
qualsiasi determina l'inizio di un messaggio. Il carattere in questione è il primo del messaggio.
Interruzione di linea La condizione "Interruzione di linea" stabilisce che quando viene ricevuto un carattere di
break venga avviata la ricezione del messaggio.
Linea inattiva La condizione "Linea inattiva" specifica che la ricezione di un messaggio abbia inizio quando
la linea di ricezione è rimasta inattiva per il numero di tempi di bit specificato. Quando si
verifica questa condizione il messaggio ha inizio.

① Caratteri
② Riavvia il temporizzatore di linea inattiva
③ Viene rilevata la condizione di linea inattiva e avviata la ricezione del messaggio

Sistema di automazione S7-1200


696 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Parametro Definizione
Condizione speciale: Specifica che un carattere particolare delimita l'inizio di un messaggio. Il carattere in
Rileva inizio messaggio con questione è quindi il primo del messaggio. Qualsiasi carattere ricevuto prima di questo viene
singolo carattere eliminato. Il carattere di default è STX.
Condizione speciale: Indica che una particolare sequenza di caratteri tra un massimo di quattro configurate
Rileva l'inizio del messaggio delimita l'inizio di un messaggio. Per ogni sequenza è possibile specificare fino a cinque
con una sequenza di caratteri Per ogni posizione è possibile indicare uno specifico carattere esadecimale oppure
caratteri indicare che quel dato carattere deve essere ignorato nella sequenza (carattere jolly).
L'ultimo carattere specifico di una sequenza conclude la sequenza di condizione di inizio.
Le sequenze in arrivo vengono analizzate rispetto alle condizioni di inizio configurate, finché
non viene soddisfatta una condizione di inizio. Quando la sequenza di inizio è soddisfatta
inizia la valutazione della condizione di fine.
Si possono configurare fino a quattro sequenze di caratteri specifiche. Questa condizione di
inizio con più sequenze può essere usata quando diverse sequenze di caratteri indicano
l'inizio di un messaggio. Se viene soddisfatta una di queste sequenze di caratteri, il
messaggio ha inizio.

La priorità nella verifica delle condizioni di avvio è la seguente:


● Linea inattiva
● Interruzione di linea
● Caratteri o sequenze di caratteri
Se, mentre controlla le condizioni di avvio, il CM o la CB rileva una condizione non
soddisfatta, riavvia il controllo dalla prima condizione richiesta. Quando il CM o la CB ha
stabilito che le condizioni di inizio sono state soddisfatte avvia la valutazione delle condizioni
di fine.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 697
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Esempio di configurazione - inizio del messaggio in una delle due sequenze di caratteri
Osservare la seguente configurazione per la condizione di inizio di un messaggio:

Sistema di automazione S7-1200


698 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

In questa configurazione la condizione di inizio è soddisfatta quando si verifica uno dei due
seguenti casi:
● Quando viene ricevuta una sequenza di cinque caratteri di cui il primo è 0x6A e il quinto è
0x1C. Le posizioni 2, 3 e 4 possono contenere qualsiasi carattere. Una volta ricevuto il
quinto carattere inizia la valutazione delle condizioni di fine.
● Quando vengono ricevuti due caratteri 0x6A consecutivi, preceduti da qualsiasi carattere.
In questo caso la valutazione delle condizioni di fine inizia dopo la ricezione del secondo
carattere 0x6A (3 caratteri). Il carattere che precede il primo 0x6A è incluso nella
condizione di inizio.
Esempi di sequenze che soddisfano questa condizione di inizio:
● <qualsiasi carattere> 6A 6A
● 6A 12 14 18 1C
● 6A 44 A5 D2 1C

Condizioni di fine messaggio


È anche possibile determinare il modo in cui l'interfaccia di comunicazione riconosce la fine
di un messaggio. È possibile configurare più condizioni di fine messaggio. Se si verifica una
delle condizioni configurate il messaggio termina.
Ad esempio si può specificare una condizione di fine con un timeout di fine messaggio di
300 millisecondi, un timeout tra i caratteri di 40 tempi bit e una lunghezza massima di 50
byte. Il messaggio termina se la ricezione dura più di 300 millisecondi, se la distanza tra due
caratteri supera i 40 tempi bit o dopo che sono stati ricevuti 50 byte.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 699
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Parametro Definizione
Rileva la fine del messaggio Il messaggio finisce trascorso il tempo di attesa configurato per la fine del messaggio
mediante time out dello stesso. Il periodo di timeout del messaggio inizia quando viene soddisfatta una condizione
stesso di inizio. Il valore di default è 200 ms e il campo di valori va da 0 a 65535 ms.

① Caratteri ricevuti
②Condizione di inizio messaggio soddisfatta: viene avviato il temporizzatore dei messaggi
③ Il temporizzatore dei messaggi raggiunge il valore previsto e conclude il messaggio
Rileva la fine del messaggio Il messaggio finisce quando il tempo di attesa configurato per una risposta termina prima
mediante time out di risposta che sia stata ricevuta una sequenza di inizio valida. Il periodo di timeout della risposta inizia
con la fine di una trasmissione e con l'inizio della ricezione da parte del CM o della CB. Il
timeout della risposta di default è 200 ms e il campo è compreso tra 0 e 65535 ms. Se un
carattere non viene ricevuto entro il tempo di risposta RCVTIME, viene segnalato un errore
nella relativa istruzione RCV_PTP. Il timeout della risposta non definisce una specifica
condizione di fine, ma indica soltanto che deve essere ricevuto un carattere entro il tempo
specificato. È necessario configurare un'altra condizione di fine per indicare l'effettiva fine di
un messaggio.

① Caratteri trasmessi
② Caratteri ricevuti
③ Il primo carattere deve essere ricevuto entro il tempo indicato.

Sistema di automazione S7-1200


700 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Parametro Definizione
Rileva la fine del messaggio Il messaggio finisce trascorso il tempo di attesa massimo tra due caratteri consecutivi
mediante gap intercaratteri qualsiasi di un messaggio. Il valore di default per il gap tra i caratteri è 12 tempi di bit e il
numero massimo è 65535 tempi di bit, fino ad un massimo di otto secondi.

① Caratteri ricevuti
② Riavvia il temporizzatore intercaratteri
③ Il temporizzatore intercaratteri raggiunge il valore previsto e conclude il messaggio.
Rileva la fine del messaggio Il messaggio termina una volta ricevuto il numero di caratteri specificato. Il campo
ricevendo un numero fisso di ammesso per la lunghezza fissa va da 1 a 4096.
caratteri Nel caso dell'S7-1200 questa condizione di fine è valida solo per le CPU V4.0 o di versione
superiore.
Rileva la fine del messaggio Il messaggio termina una volta ricevuto il numero massimo di caratteri configurato. I valori
sulla base della lunghezza ammessi per la lunghezza massima vanno da 1 a 1023.
max. Questa condizione può essere utilizzata per impedire un errore di overrun del buffer dei
messaggi. Se questa condizione di fine è abbinata a condizioni di fine con timeout e se si
verifica una di queste condizioni, vengono emessi tutti i caratteri validi ricevuti, anche se
non è stata raggiunta la lunghezza massima. Questo consente di supportare protocolli di
lunghezza diversa anche se è nota soltanto la lunghezza massima.
Rileva la lunghezza del Il messaggio stesso specifica la propria lunghezza. Il messaggio termina una volta ricevuto
messaggio un messaggio della lunghezza specificata. Il metodo per specificare e interpretare la
lunghezza del messaggio è descritto più avanti.
Rileva la fine del messaggio ll messaggio finisce quando viene ricevuto un determinato carattere.
con un carattere
Rileva la fine del messaggio ll messaggio finisce quando viene ricevuta una determinata sequenza di caratteri. È
con una sequenza di possibile specificare una sequenza di cinque caratteri al massimo. Per ogni posizione è
caratteri possibile indicare uno specifico carattere esadecimale oppure indicare che quel dato
carattere deve essere ignorato nella sequenza.
I caratteri introduttivi che vengono ignorati non fanno parte della condizione di fine. I
caratteri conclusivi che vengono ignorati non fanno parte della condizione di fine.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 701
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Esempio di configurazione - fine del messaggio con una sequenza di caratteri


Osservare la seguente configurazione per la condizione di fine di un messaggio:

In questo caso la condizione di fine è soddisfatta quando vengono ricevuti due caratteri 0x7A
consecutivi, seguiti da due caratteri qualsiasi. Il carattere che precede la configurazione
0x7A 0x7A non fa parte della sequenza finale di caratteri. Per terminare la sequenza finale di
caratteri sono necessari due caratteri dopo la configurazione 0x7A 0x7A. I valori ricevuti dei
caratteri nelle posizioni 4 e 5 sono irrilevanti, ma i caratteri devono essere ricevuti per
soddisfare la condizione di fine.

Indicazione della lunghezza del messaggio nel messaggio stesso


Quando si seleziona la condizione speciale che stabilisce che il messaggio stesso specifichi
la propria lunghezza, è necessario fornire tre parametri che contengono questa
informazione.
La struttura effettiva del messaggio varia in base al protocollo in uso. I tre parametri
necessari sono i seguenti:
● n: posizione del carattere (su base 1) all'interno del messaggio che inizia l'indicatore della
lunghezza
● Valore lunghezza: numero di byte (uno, due o quattro) dell'indicatore della lunghezza
● Lunghezza m: numero di caratteri successivi all'indicatore della lunghezza e non inclusi
nel conteggio della lunghezza
I caratteri di fine non devono essere consecutivi. Il valore "Lunghezza m" può essere usato
per specificare la lunghezza di un campo per la somma di controllo le cui dimensioni non
sono comprese nel campo della lunghezza.

Sistema di automazione S7-1200


702 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Questi campi compaiono in Configurazione della ricezione messaggi, nelle proprietà del
dispositivo:

Esempio 1: si consideri un messaggio strutturato in base al seguente protocollo:

STX Len Caratteri dal 3 al 14 contati in base alla lunghezza


(n) ADR PKE INDEX PWD STW HSW BCC
1 2 3 4 5 6 7 8 9 10 11 12 13 14
STX 0x0C xx xxxx xxxx xxxx xxxx xxxx xx

Configurare i parametri di lunghezza per la ricezione del messaggio come specificato di


seguito:
● n = 2 (la lunghezza del messaggio inizia dal byte 2).
● Valore lunghezza = 1 (la lunghezza del messaggio è definita in un byte)
● Lunghezza m = 0 (dopo l'indicatore di lunghezza non ci sono altri caratteri esclusi dal
conteggio della lunghezza. L'indicatore è seguito da dodici caratteri).
In questo esempio i caratteri dal 3 al 14 compreso sono i caratteri contati da Len (n).
Esempio 2: si consideri un altro messaggio strutturato in base al seguente protocollo:

SD1 Len (n) Len (n) SD2 Caratteri dal 5 al 10 contati in base alla lunghezza FCS ED
DA SA FA Unità dati=3 byte
1 2 3 4 5 6 7 8 9 10 11 12
xx 0x06 0x06 xx xx xx xx xx xx xx xx xx

Configurare i parametri di lunghezza per la ricezione del messaggio come specificato di


seguito:
● n = 3 (la lunghezza del messaggio inizia dal byte 3).
● Valore lunghezza = 1 (la lunghezza del messaggio è definita in un byte)
● Lunghezza m = 3 (dopo l'indicatore di lunghezza ci sono tre caratteri esclusi dal
conteggio della lunghezza. Nel protocollo di questo esempio i caratteri SD2, FCS e ED
non sono inclusi nel conteggio della lunghezza. Gli altri sei caratteri lo sono, pertanto il
numero complessivo di caratteri che seguono l'indicatore della lunghezza è nove).
In questo esempio i caratteri dal 5 al 10 compreso sono i caratteri contati da Len (n).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 703
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

12.3.3 Istruzioni punto a punto (PtP)

12.3.3.1 Parametri comuni delle istruzioni punto a punto

Tabella 12- 3 Parametri di ingresso comuni per le istruzioni PTP

Parametro Descrizione
REQ Molte istruzioni PtP utilizzano l'ingresso REQ per avviare l'operazione in una transizione da low a
high (fronte di salita). L'ingresso REQ deve essere high (vero) durante l'esecuzione di
un'istruzione e può restare vero senza limitazione di tempo. L'istruzione non avvia un'altra
operazione fino a quando non viene richiamata con l'ingresso REQ falso in modo da poter
resettare lo stato dell'ingresso REQ. Questo affinché l'istruzione possa identificare la transizione
da low a high e avviare l'operazione successiva.
Quando si inserisce un'istruzione PtP nel programma, STEP 7 richiede di identificare il DB di
istanza. Usare un DB unico per ogni richiamo di istruzione PtP. Questo assicura che tutte le
istruzioni gestiscano correttamente gli ingressi quali REQ.
PORT L'indirizzo di una porta viene assegnato durante la configurazione dei dispositivi di
comunicazione. Al termine della configurazione è possibile selezionare per la porta un nome
simbolico di default dall'elenco a discesa dei parametri. Il valore assegnato alla porta del CM o
della CB corrisponde alla proprietà "Identificazione HW" della configurazione dispositivi. Il nome
simbolico della porta viene assegnato nella scheda "Costanti" della tabella delle variabili PLC.
Risoluzione dei tempi Per diversi parametri si indica il numero di tempi di bit alla velocità di trasmissione configurata.
di bit Specificando il parametro in tempi di bit lo si rende indipendente dalla velocità di trasmissione. I
parametri che vengono espressi in tempi di bit possono assumere il valore massimo di 65535.
Tuttavia il tempo massimo che può essere misurato da un CM o CB è di 8 secondi.

I parametri di uscita DONE, NDR, ERROR e STATUS delle istruzioni PtP forniscono lo stato
di completamento dell'esecuzione delle operazioni PtP.

Tabella 12- 4 Parametri di uscita DONE, NDR, ERROR e STATUS

Parametro Tipo di dati Default Descrizione


DONE Bool Falso È impostato su vero per un'esecuzione per indicare che l'ultima
richiesta è stata completata senza errori, altrimenti è su falso.
NDR Bool Falso È impostato su vero per un'esecuzione per indicare che l'azione
richiesta è stata completata senza errori e che i nuovi dati sono
stati ricevuti; altrimenti è su falso.
ERROR Bool Falso È impostato su vero per un'esecuzione per indicare che l'ultima
richiesta è stata completata con errori, con il codice di errore
applicabile in STATUS; altrimenti è su falso.
STATUS Word 0 Stato del risultato:
• Se è impostato il bit DONE o NDR, STATUS è impostato a 0 o
su un codice di informazione.
• Se è impostato il bit ERROR, STATUS è impostato su un
codice di errore.
• Se non è impostato nessuno dei bit precedenti, l'istruzione
restituisce risultati che descrivono lo stato attuale della
funzione.
STATUS mantiene il proprio valore durante l'esecuzione della
funzione.

Sistema di automazione S7-1200


704 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Nota
I parametri DONE, NDR e ERROR sono impostati per una sola esecuzione. La logica del
programma deve salvare temporaneamente i valori degli stati delle uscite in latch di dati,
consentendo in questo modo di rilevare variazioni di stato nei successivi cicli di scansione
del programma.

Tabella 12- 5 Codici comuni delle condizioni

STATUS (W#16#....) Descrizione


0000 Nessun errore
7000 La funzione non è occupata
7001 La funzione è occupata dalla prima chiamata.
7002 La funzione è occupata con una sequenza di chiamate (interrogazioni dopo la prima
chiamata).
8x3A Puntatore non ammesso nel parametro x
8070 Tutta la memoria di istanza interna è stata utilizzata e ci sono troppe istruzioni concomitanti
in corso
8080 Numero di porta non ammesso.
8081 Timeout, errore del modulo o altro errore interno
8082 La parametrizzazione non è andata a buon fine perché è già in corso in background.
8083 Overflow del buffer:
il CM o CB ha restituito un messaggio ricevuto che aveva una lunghezza maggiore rispetto a
quella consentita dal relativo parametro.
8090 Errore interno: Lunghezza messaggio errata, sottomodulo errato o messaggio non ammesso
8091 Errore interno: Versione errata nel messaggio di parametrizzazione
8092 Errore interno: Lunghezza del record errata nel messaggio di parametrizzazione

Tabella 12- 6 Classi di errori comuni

Descrizione della classe Classi di errore Descrizione


Configurazione della porta 80Ax Definisce errori comuni di configurazione delle porte
Configurazione della 80Bx Definisce errori comuni di configurazione della trasmissione
trasmissione
Configurazione della ricezione 80Cx Definisce errori comuni di configurazione della ricezione
Runtime di trasmissione 80Dx Definisce errori comuni di runtime di trasmissione
Runtime di ricezione 80Ex Definisce errori comuni di runtime di ricezione
Gestione dei segnali 80Fx Definisce errori comuni di gestione dei segnali

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 705
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

12.3.3.2 Istruzione PORT_CFG (Progetta dinamicamente parametri di comunicazione)

Tabella 12- 7 Istruzione PORT_CFG (Configurazione della porta)

KOP / FUP SCL Descrizione


"PORT_CFG_DB"( L'istruzione PORT_CFG consente di modificare dal
REQ:=_bool_in_, programma i parametri della porta, ad es. la velocità
PORT:=_uint_in_, di trasmissione.
PROTOCOL:=_uint_in_, La configurazione statica iniziale della porta di
BAUD:=_uint_in_, comunicazione può essere impostata nelle proprietà
PARITY:=_uint_in_, della finestra di Configurazione dei dispositivi oppure
DATABITS:=_uint_in_, basta utilizzare i valori di default. Per modificare la
STOPBITS:=_uint_in_, configurazione eseguire l'istruzione PORT_CFG dal
FLOWCTRL:=_uint_in_, programma utente.
XONCHAR:=_char_in_,
XOFFCHAR:=_char_in_,
WAITTIME:=_uint_in_,
DONE=>_bool_out_,
ERROR=>_bool_out_,
STATUS=>_word_out_);
1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.

Le modifiche apportate alla configurazione con PORT_CFG non vengono memorizzate in


modo permanente nella CPU. I parametri configurati nella configurazione dei dispositivi
vengono ripristinati quando la CPU passa da RUN a STOP e dopo uno
spegnimento/riaccensione. Per maggiori informazioni consultare i paragrafi Configurazione
delle porte di comunicazione (Pagina 690) e Gestione del controllo di flusso (Pagina 692).

Tabella 12- 8 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool Attiva la modifica alla configurazione in seguito a un fronte di salita di questo
ingresso. (Valore di default: falso)
PORT IN PORTA Dopo aver installato e configurato il dispositivo di comunicazione CM o CB
l'identificativo della porta compare nell'elenco a discesa dei parametri nel
collegamento del box PORT. Il valore assegnato alla porta del CM o della
CB corrisponde alla proprietà "Identificazione HW" della configurazione
dispositivi. Il nome simbolico della porta viene assegnato nella scheda
"Costanti di sistema" della tabella delle variabili PLC. (Valore di default: 0)
PROTOCOL IN UInt 0 - Protocollo di comunicazione punto a punto (valore di default)
1..n - definizione futura di protocolli specifici
BAUD IN UInt Velocità di trasmissione della porta (valore di default: 0):
1 = 300 baud, 2 = 600 baud, 3 = 1200 baud, 4 = 2400 baud, 5 = 4800 baud,
6 = 9600 baud, 7 = 19200 baud, 8 = 38400 baud, 9 = 57600 baud,
10 = 76800 baud, 11 = 115200 baud
PARITY IN UInt Parit' della porta (valore di default: 0):
1 = Nessuna parità, 2 = Parità pari, 3 = Parità dispari, 4 = Parità Mark,
5 = Parità Space
DATABITS IN UInt Bit per carattere (valore di default):
1 = 8 bit di dati, 2 = 7 bit di dati

Sistema di automazione S7-1200


706 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Parametro e tipo Tipo di dati Descrizione


STOPBITS IN UInt Bit di stop (valore di default: 0):
1 = 1 bit di stop, 2 = 2 bit di stop
FLOWCTRL IN UInt Controllo del flusso (valore di default: 0):
1 = Nessun controllo del flusso 2 = XON/XOFF,
3 = Hardware RTS sempre ON, 4 = Hardware RTS sempre disattivato
XONCHAR IN Char Specifica il carattere usato come XON. Si tratta tipicamente di un carattere
DC1 (11H). Questo parametro viene valutato soltanto se è abilitato il
controllo del flusso. (Valore di default: 0)
XOFFCHAR IN Char Specifica il carattere usato come XOFF. Si tratta tipicamente di un carattere
DC3 (13H). Questo parametro viene valutato soltanto se è abilitato il
controllo del flusso. (Valore di default: 0)
XWAITIME IN UInt Specifica quanto si deve attendere un carattere XON dopo la ricezione di un
carattere XOFF oppure quanto si deve attendere il segnale CTS dopo avere
abilitato RTC (da 0 a 65535 ms). Questo parametro viene valutato soltanto
se è abilitato il controllo del flusso. (Valore di default: 2000)
DONE OUT Bool È vero per un'esecuzione se l'ultima richiesta si è conclusa senza errori
ERROR OUT Bool È vero per un'esecuzione se l'ultima richiesta si è conclusa con un errore
STATUS OUT Word Codice della condizione di esecuzione (valore di default: 0)

Tabella 12- 9 Codici delle condizioni di errore

STATUS (W#16#....) Descrizione


80A0 Il protocollo specificato non esiste.
80A1 La velocità di trasmissione specificata non esiste.
80A2 L'opzione di parità specificata non esiste.
80A3 Il numero di bit di dati specificato non esiste.
80A4 Il numero di bit di stop specificato non esiste.
80A5 Il tipo di controllo del flusso specificato non esiste.
80A6 Il tempo di attesa è 0 e il controllo del flusso è attivo.
80A7 XON e XOFF sono valori non ammessi (ad esempio lo stesso valore)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 707
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

12.3.3.3 Istruzione SEND_CFG (Progetta dinamicamente parametri di trasferimento seriali)

Tabella 12- 10 Istruzione SEND_CFG (Configurazione della trasmissione)

KOP / FUP SCL Descrizione


"SEND_CFG_DB"( L'istruzione SEND_CFG consente di configurare in
REQ:=_bool_in_, modo dinamico i parametri per la trasmissione seriale in
PORT:=_uint_in_, una porta di comunicazione PtP. Non appena viene
RTSONDLY:=_uint_in_, eseguita una SEND_CFG tutti i messaggi in coda in un
RTSOFFDLY:=_uint_in_, CM o CB vengono eliminati.
BREAK:=_uint_in_,
IDLELINE:=_uint_in_,
DONE=>_bool_out_,
ERROR=>_bool_out_,
STATUS=>_word_out_);
1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.
La configurazione statica iniziale della porta di comunicazione può essere impostata nelle
proprietà della finestra di Configurazione dei dispositivi oppure basta utilizzare i valori di
default. Per modificare la configurazione eseguire l'istruzione SEND_CFG dal programma
utente.
Le modifiche apportate alla configurazione con SEND_CFG non vengono memorizzate in
modo permanente nella CPU. I parametri configurati nella configurazione dei dispositivi
vengono ripristinati quando la CPU passa da RUN a STOP e dopo uno
spegnimento/riaccensione. Vedere Configurazione dei parametri di trasmissione (invio)
(Pagina 694).

Tabella 12- 11 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool Attiva la modifica alla configurazione in seguito a un fronte di salita di questo
ingresso. (Valore di default: falso)
PORT IN PORTA Dopo aver installato e configurato il dispositivo di comunicazione CM o CB
l'identificativo della porta compare nell'elenco a discesa dei parametri nel
collegamento del box PORT. Il valore assegnato alla porta del CM o della
CB corrisponde alla proprietà "Identificazione HW" della configurazione
dispositivi. Il nome simbolico della porta viene assegnato nella scheda
"Costanti di sistema" della tabella delle variabili PLC. (Valore di default: 0)
RTSONDLY IN UInt Millisecondi di attesa dopo l'abilitazione dell'RTS prima che si verifichi una
trasmissione di dati Tx. questo parametro è valido solo se è abilitato il
controllo del flusso. Il campo valido è 0 - 65535 ms. Un valore 0 disabilita la
funzione. (Valore di default: 0)
RTSOFFDLY IN UInt Millisecondi di attesa dopo la trasmissione dei dati Tx prima della
disabilitazione di RTS: questo parametro è valido solo se è abilitato il
controllo del flusso. Il campo valido è 0 - 65535 ms. Un valore 0 disabilita la
funzione. (Valore di default: 0)
BREAK IN UInt Questo parametro specifica che all'inizio di ogni messaggio viene inviato un
break per il numero specificato di tempi di bit. Il valore massimo è 65535
tempi di bit fino a un massimo di 8 secondi. Un valore 0 disabilita la
funzione. (Valore di default: 12)

Sistema di automazione S7-1200


708 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Parametro e tipo Tipo di dati Descrizione


IDLELINE IN UInt Questo parametro specifica che la linea resta inattiva per il numero
specificato di tempi di bit prima dell'inizio di ogni messaggio. Il valore
massimo è 65535 tempi di bit fino a un massimo di 8 secondi. Un valore 0
disabilita la funzione. (Valore di default: 12)
DONE OUT Bool È vero per un'esecuzione se l'ultima richiesta si è conclusa senza errori
ERROR OUT Bool È vero per un'esecuzione se l'ultima richiesta si è conclusa con un errore
STATUS OUT Word Codice della condizione di esecuzione (valore di default: 0)

Tabella 12- 12 Codici delle condizioni di errore

STATUS (W#16#....) Descrizione


80B0 Configurazione dell'allarme di trasmissione non ammessa.
80B1 La durata del break supera il valore massimo consentito.
80B2 Il tempo di inattività supera il valore massimo consentito.

12.3.3.4 Istruzione RCV_CFG (Progetta dinamicamente parametri di ricezione seriali)

Tabella 12- 13 Istruzione RCV_CFG (Configurazione della ricezione)

KOP / FUP SCL Descrizione


"RCV_CFG_DB"( L'istruzione RCV_CFG consente di configurare in
REQ:=_bool_in_, modo dinamico i parametri per la ricezione seriale
PORT:=_uint_in_, in una porta di comunicazione PtP. L'istruzione
CONDITIONS:=_struct_in_, configura le condizioni che segnalano l'inizio e la
DONE=>_bool_out_, fine dei messaggi ricevuti. Non appena viene
ERROR=>_bool_out_, eseguita una RCV_CFG tutti i messaggi in coda in
un CM o CB vengono eliminati.
STATUS=>_word_out_);
1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.

La configurazione statica iniziale della porta di comunicazione può essere impostata nelle
proprietà della finestra di Configurazione dei dispositivi oppure basta utilizzare i valori di
default. Per modificare la configurazione eseguire l'istruzione RCV_CFG dal programma
utente.
Le modifiche apportate alla configurazione con RCV_CFG non vengono memorizzate in
modo permanente nella CPU. I parametri configurati nella configurazione dei dispositivi
vengono ripristinati quando la CPU passa da RUN a STOP e dopo uno
spegnimento/riaccensione. Per maggiori informazioni consultare Configurazione dei
parametri di ricezione (Pagina 694).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 709
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Tabella 12- 14 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool Attiva la modifica alla configurazione in seguito a un fronte di salita di
questo ingresso. (Valore di default: falso)
PORT IN PORTA Dopo aver installato e configurato il dispositivo di comunicazione CM
o CB l'identificativo della porta compare nell'elenco a discesa dei
parametri nel collegamento del box PORT. Il valore assegnato alla
porta del CM o della CB corrisponde alla proprietà "Identificazione
HW" della configurazione dispositivi. Il nome simbolico della porta
viene assegnato nella scheda "Costanti di sistema" della tabella delle
variabili PLC. (Valore di default: 0)
CONDITIONS IN CONDITIONS La struttura dei dati di CONDITIONS specifica le condizioni di inizio e
fine del messaggio come descritto di seguito.
DONE OUT Bool È vero per un ciclo di scansione se l'ultima richiesta si è conclusa
senza errori
ERROR OUT Bool È vero per un ciclo di scansione se l'ultima richiesta si è conclusa
con un errore
STATUS OUT Word Codice della condizione di esecuzione (valore di default: 0)

Condizioni di inizio per l'istruzione RCV_PTP


L'istruzione RCV_PTP usa la configurazione specificata dall'istruzione RCV_CFG per
determinare l'inizio e la fine dei messaggi di comunicazione punto a punto. L'inizio di un
messaggio è determinato dalle relative condizioni. L'inizio di un messaggio può essere
determinato da un'unica condizione di inizio o da una combinazione di condizioni. Se sono
state specificate più condizioni di avvio, il messaggio viene avviato quando sono tutte
soddisfatte.
Per una descrizione delle condizioni di inizio del messaggio consultare il paragrafo
"Configurazione dei parametri di ricezione (Pagina 695)".

Sistema di automazione S7-1200


710 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Struttura del tipo di dati del parametro CONDITIONS, parte 1 (condizioni di inizio)

Tabella 12- 15 Struttura di CONDITIONS per le condizioni di START

Parametro e tipo Tipo di dati Descrizione


STARTCOND IN UInt Specifica la condizione di inizio (valore di default: 1)
• 01H - Carattere di inizio
• 02H - Qualsiasi carattere
• 04H - Interruzione di linea
• 08H - Linea inattiva
• 10H - Sequenza 1
• 20H - Sequenza 2
• 40H - Sequenza 3
• 80H - Sequenza 4
IDLETIME IN UInt Numero di tempi di bit richiesto per il timeout di linea inattiva. (Valore
di default: 40). Usato soltanto con una condizione di linea inattiva. Da
0 a 65535.
STARTCHAR IN Byte Carattere di inizio usato con la condizione "carattere di inizio".
(Valore di default: B#16#2)
SEQ[1].CTL IN Byte Sequenza 1, comando ignora/confronta per ogni carattere, (Valore di
default: B#16#0)
ovvero i bit di attivazione per ogni carattere della sequenza di inizio.
• 01H - Carattere 1
• 02H - Carattere 2
• 04H - Carattere 3
• 08H - Carattere 4
• 10H - Carattere 5
Se si disattiva il bit associato ad un carattere, qualsiasi carattere che
occupa la stessa posizione all'interno della sequenza rappresenta
una corrispondenza.
SEQ[1].STR IN Char[5] Sequenza 1, caratteri di inizio (5 caratteri). Valore di default: 0
SEQ[2].CTL IN Byte Sequenza 2, comando ignora/confronta per ogni carattere. Valore di
default: B#16#0)
SEQ[2].STR IN Char[5] Sequenza 2, caratteri di inizio (5 caratteri). Valore di default: 0
SEQ[3].CTL IN Byte Sequenza 3, comando ignora/confronta per ogni carattere. Valore di
default: B#16#0
SEQ[3].STR IN Char[5] Sequenza 3, caratteri di inizio (5 caratteri). Valore di default: 0
SEQ[4].CTL IN Byte Sequenza 4, comando ignora/confronta per ogni carattere. Valore di
default: B#16#0
SEQ[4].STR IN Char[5] Sequenza 4, caratteri di inizio (5 caratteri), valore di default: 0

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 711
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Esempio
Si consideri il seguente messaggio ricevuto con codifica esadecimale: "68 10 aa 68 bb 10 aa
16" e le sequenze di inizio configurate mostrate nella tabella più sotto. Le sequenze di inizio
cominciano ad essere valutate dopo la ricezione riuscita del primo carattere 68H. Dopo la
ricezione del quarto carattere (il secondo 68H) la condizione di inizio 1 è soddisfatta. Una
volta soddisfatte le condizioni di inizio comincia la valutazione di quelle di fine.
L'elaborazione della sequenza di inizio può essere interrotta in seguito a diversi errori di
parità, di framing o di temporizzazione intercaratteri. In seguito a questi errori i messaggi non
vengono ricevuti perché non viene soddisfatta la condizione di inizio.

Tabella 12- 16 Condizioni di inizio

Condizione di inizio Primo carattere Primo carattere +1 Primo carattere +2 Primo carattere +3 Primo carattere +4
1 68H xx xx 68H xx
2 10H aaH xx xx xx
3 dcH aaH xx xx xx
4 e5H xx xx xx xx

Condizioni di fine per l'istruzione RCV_PTP


Per determinare la fine di un messaggio se ne devono specificare le condizioni di fine.
Quando queste si verificano il messaggio viene conluso. Il paragrafo "Condizioni di fine del
messaggio" del capitolo "Configurazione dei parametri di ricezione (Pagina 695)" descrive le
condizioni di fine che si possono configurare nell'istruzione RCV_CFG.
Le condizioni di fine possono essere configurate sia nelle proprietà dell'interfaccia di
comunicazione della configurazione dei dispostivi che dall'istruzione RCV_CFG.
Ogniqualvolta la CPU passa da STOP a RUN, i parametri di ricezione (condizioni di inizio e
di fine) restituiscono le impostazioni della configurazione dei dispositivi. Se il programma
utente STEP 7 esegue l'istruzione RCV_CFG, le impostazioni vengono modificate nelle
condizioni RCV_CFG.

Sistema di automazione S7-1200


712 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Struttura del tipo di dati del parametro CONDITIONS, parte 2 (condizioni di fine)

Tabella 12- 17 Struttura di CONDITIONS per le condizioni di END

Parametro Tipo di parametro Tipo di dati Descrizione


ENDCOND IN UInt Questo parametro specifica la condizione di fine del
0 messaggio:
• 01H - Tempo di risposta
• 02H - Durata del messaggio
• 04H - Gap intercaratteri
• 08H - Lunghezza massima
• 10H - N + LEN + M
• 20H - Sequenza
MAXLEN IN UInt Lunghezza massima del messaggio: usata solo sevè
1 selezionata la condizione di fine "lunghezza massima".
Da 1 a 1024 byte.
N IN UInt Posizione di byte del campo della lunghezza all'interno
0 del messaggio. Usata solo se è impostata la condizione
di fine N + LEN + M. Da 1 a 1022 byte.
LENGTHSIZE IN UInt Dimensioni del campo della lunghezza (1, 2 o 4 byte).
0 Usata solo se è impostata la condizione di fine N + LEN +
M.
LENGTHM IN UInt Specificare il numero di caratteri successivi al campo
0 della lunghezza e non compresi nel valore della
lunghezza. Usata solo se è impostata la condizione di
fine N + LEN + M. Da 0 a 255 byte.
RCVTIME IN UInt Specificare quanto si deve attendere per la ricezione del
200 primo carattere. Se entro il tempo specificato non viene
ricevuto alcun carattere la ricezione viene conclusa con
un errore. Questo parametro si usa soltanto se è
impostata la condizione del tempo di risposta. (Da 0 a
65535 tempi di bit, max. 8 secondi)
Questo parametro non è una condizione di fine
messaggio poiché la valutazione termina alla ricezione
del primo carattere di una risposta. È una condizione di
fine solo nel senso che conclude un'operazione di
ricezione perché non viene ricevuta nessuna risposta
quando è attesa una risposta. Deve essere selezionata
una condizione di fine distinta.
MSGTIME IN UInt Specificare quanto si deve attendere per la ricezione
200 dell'intero messaggio dopo che è stato ricevuto il primo
carattere. Questo parametro si usa soltanto quando è
selezionata la condizione di timeout del messaggio. (Da 0
a 65535 millisecondi)
CHARGAP IN UInt Specificare il numero di tempi di bit tra i caratteri. Se il
12 numero di tempi di bit tra i caratteri supera il valore
specificato, la condizione di fine è soddisfatta. Questo
parametro si usa soltanto se è impostata la condizione
del gap intercaratteri. (Da 0 a 65535 tempi di bit fino a
max. 8 secondi)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 713
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Parametro Tipo di parametro Tipo di dati Descrizione


SEQ.CTL IN Byte Sequenza 1, comando ignora/confronta per ogni
B#16#0 carattere,
ovvero i bit di attivazione per ogni carattere della
sequenza di fine. Il carattere 1 è il bit 0, il carattere 2 è il
bit 1, …, il carattere 5 è il bit 4. Se si disattiva il bit
associato ad un carattere, qualsiasi carattere che occupa
la stessa posizione all'interno della sequenza
rappresenta una corrispondenza.
SEQ.STR IN Char[5] Sequenza 1, caratteri di inizio (5 caratteri)
0

Tabella 12- 18 Codici delle condizioni di errore

STATUS (W#16#....) Descrizione


80C0 È stata selezionata una condizione di inizio non ammessa
80C1 È stata selezionata una condizione di fine non ammessa, non è stata selezionata alcuna
condizione di fine
80C2 È stato attivato un allarme di ricezione e questo non è possibile.
80C3 È stata abilitata la condizione di fine "lunghezza massima" e la lunghezza massima è 0 o >
1024.
80C4 La lunghezza calcolata è stata abilitata e il valore N è >= 1023.
80C5 La lunghezza calcolata è stata abilitata e la lunghezza non è 1, 2 o 4.
80C6 La lunghezza calcolata è stata abilitata e il valore M è > 255.
80C7 La lunghezza calcolata è stata abilitata ed è > 1024.
80C8 Il timeout della risposta è stato abilitato ed è pari a zero.
80C9 Il timeout del gap intercaratteri è stato abilitato ed è pari a zero.
80CA Il timeout di linea inattiva è stato abilitato ed è pari a zero.
80CB La sequenza di fine è stata abilitata ma tutti i caratteri sono "don't care".
80CC La sequenza di inizio (una qualsiasi di 4) è stata abilitata ma tutti i caratteri sono "don't
care".

Sistema di automazione S7-1200


714 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

12.3.3.5 Istruzione SEND_PTP (Trasferisci dati del buffer di invio)

Tabella 12- 19 Istruzione SEND_PTP (Trasmetti dati punto a punto)

KOP / FUP SCL Descrizione


"SEND_PTP_DB"( L'istruzione SEND_PTP avvia la trasmissione dei
REQ:=_bool_in_, dati e trasferisce il buffer assegnato all'interfaccia di
PORT:=_uint_in_, comunicazione. Il programma della CPU continua
mentre il CM o la CB invia i dati alla velocità di
BUFFER:=_variant_in_, trasmissione assegnata. Può essere attiva una sola
LENGTH:=_uint_in_, operazione di trasmissione per volta. Il CM o la CB
segnala un errore se viene eseguita una seconda
PTRCL:=_bool_in_,
istruzione SEND_PTP mentre sta già trasmettendo
DONE=>_bool_out_,
un messaggio.
ERROR=>_bool_out_,
STATUS=>_word_out_);
1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.

Tabella 12- 20 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool Attiva la trasmissione richiesta in seguito a un fronte di salita in questo
ingresso di abilitazione della trasmissione. Viene così avviato il trasferimento
dei contenuti del buffer nell'interfaccia di comunicazione punto a punto.
(Valore di default: falso)
PORT IN PORTA Dopo aver installato e configurato il dispositivo di comunicazione CM o CB
l'identificativo della porta compare nell'elenco a discesa dei parametri nel
collegamento del box PORT. Il valore assegnato alla porta del CM o della CB
corrisponde alla proprietà "Identificazione HW" della configurazione dispositivi.
Il nome simbolico della porta viene assegnato nella scheda "Costanti di
sistema" della tabella delle variabili PLC. (Valore di default: 0)
BUFFER IN Variant Questo parametro punta all'indirizzo iniziale del buffer di trasmissione. (Valore
di default: 0)
Nota: I dati e gli array booleani non sono supportati.
LENGTH 1 IN UInt Lunghezza del frame trasmessa in byte (valore di default: 0)
Per la trasmissione di una struttura complessa utilizzare sempre una
lunghezza pari a 0.
PTRCL IN Bool Questo parametro seleziona il buffer per la normale comunicazione punto a
punto o per protocolli specifici forniti da Siemens, implementati nel CM o nella
CB collegati. (Valore di default: falso)
Falso = operazioni punto a punto comandate dal programma utente. (unica
opzione valida)
DONE OUT Bool È vero per un ciclo di scansione se l'ultima richiesta si è conclusa senza errori
ERROR OUT Bool È vero per un ciclo di scansione se l'ultima richiesta si è conclusa con un
errore
STATUS OUT Word Codice della condizione di esecuzione (valore di default: 0)
1 Parametro opzionale: fare clic sulla freccia situata nella parte inferiore di una casella KOP/FUP per espandere la casella
e includere questo parametro.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 715
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Mentre è in corso una trasmissione, le uscite DONE e ERROR sono impostate su "falso".
Quando l'operazione di trasmissione è conclusa, l'uscita DONE o l'uscita ERROR saranno
impostate su "vero" per indicare lo stato della trasmissione. Quando DONE o ERROR sono
impostate su "vero" l'uscita STATUS è valida.
Se l'interfaccia di comunicazione accetta i dati di trasmissione, l'istruzione restituisce lo stato
16#7001. Le esecuzioni successive di SEND_PTP restituiscono lo stato 16#7002 se il CM o
la CB sono ancora impegnati a trasmettere. Al termine della trasmissione, se non si è
verificato alcun errore il CM o la CB restituisce lo stato 16#0000. Le esecuzioni successive di
SEND_PTP con REQ low restituiscono lo stato 16#7000 (non occupato).
Il seguente diagramma mostra la relazione dei valori di uscita per REQ. Si presuppone che
l'istruzione sia richiamata periodicamente per controllare lo stato della trasmissione. Nel
seguente schema si presuppone che l'istruzione venga richiamata ad ogni ciclo di scansione
(rappresentato dai valori STATUS).

Il seguente schema mostra come i parametri DONE e STATUS sono validi per una sola
scansione se sulla linea REQ è presente un impulso (per una scansione) per avviare la
trasmissione.

Il seguente schema mostra il rapporto tra i parametri DONE, ERROR e STATUS in caso di
errore.

I valori DONE, ERROR e STATUS sono validi solo finché SEND_PTP viene eseguita
nuovamente con lo stesso DB di istanza.

Sistema di automazione S7-1200


716 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Tabella 12- 21 Codici delle condizioni di errore

STATUS (W#16#....) Descrizione


80D0 Nuova richiesta con trasmettitore attivo
80D1 Trasmissione annullata perché non è pervenuto alcun CTS entro il tempo di attesa
80D2 Trasmissione annullata perché non è pervenuto alcun DSR dal dispositivo DCE
80D3 Trasmissione annullata a causa di un overflow della coda d'attesa (trasmissione di più di
1024 byte)
80D5 Segnale di bias inverso (condizione "Interruzione di linea")
833A Il DB per il parametro BUFFER non esiste.

Interazione dei parametri LENGTH e BUFFER


La dimensione minima dei dati trasmissibili con l'istruzione SEND_PTP è di un byte. Il
parametro BUFFER determina la dimensione dei dati da trasmettere. Non accetta dati o
array di tipo Bool per il parametri BUFFER.
Il parametro LENGTH può sempre essere impostato su 0, in questo SEND_PTP invierà
l'intera struttura di dati rappresentata nel parametro BUFFER. Se si desidera inviare solo
una parte della struttura di dati contenuta nel parametro BUFFER impostareLENGTH in uno
dei seguenti modi:

Tabella 12- 22 Parametri LENGTH e BUFFER

LENGTH BUFFER Descrizione


=0 Non utilizzato I dati completi vengono inviati come definito al parametro BUFFER. Non
occorre specificare il numero di byte trasmessi se LENGTH = 0.
>0 Tipo di dati semplice Il valore LENGTH deve contenere il numero di byte di questo tipo di dati. Ad
esempio, per un valore Word LENGTH deve essere due. Per Dword o Real,
LENGTH deve essere quattro. In caso contrario il trasferimento non avviene
e viene restituito l'errore 8088H.
Struttura Il valore LENGTH può contenere un numero di byte inferiore alla lunghezza
complessiva di byte della struttura; in questo caso solo i primi byte LENGTH
della struttura vengono trasferiti dal parametro BUFFER. Poiché
l'organizzazione di byte interna di una struttura non può essere sempre
determinata si possono ottenere risultati inaspettati. In questo caso
assegnare il valore 0 a LENGTH per inviare la struttura completa.
Array Il valore LENGTH deve contenere un numero di byte inferiore alla
lunghezza di byte complessiva dell'array, che deve essere un multiplo del
numero di byte dell'elemento di dati. Ad esempio, il parametro LENGTH per
un array di Word deve essere un multiplo di due e per un array di Real un
multiplo di quattro. Quando LENGTH è specificato il numero di elementi
dell'array contenuti nei byte LENGTH viene trasferito. Se BUFFER contiene
ad es. un array di 15 Dword (per un totale di 60 byte) e si specifica un
LENGTH di 20, vengono trasferiti i primi cinque Dword dell'array .
Il valore LENGTH deve essere un multiplo del numero di byte dell'elemento
di dati. In caso contrario STATUS = 8088H, ERROR = 1 e non si verifica
alcuna trasmissione.
String Il parametro LENGTH contiene il numero dei caratteri da trasmettere.
Vengono trasmessi solo i caratteri di String e non i byte della relativa
lunghezza massima e di quella effettiva.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 717
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

12.3.3.6 Istruzione RCV_PTP (Abilita ricezione di messaggi)

Tabella 12- 23 Istruzione RCV_PTP (Ricevi punto a punto)

KOP / FUP SCL Descrizione


"RCV_PTP_DB"( RCV_PTP controlla se il CM o la CB ha ricevuto dei
EN_R:=_bool_in_, messaggi e, in caso affermativo, li trasferisce dal
PORT:=_uint_in_, modulo nella CPU. Un errore restituisce il valore
BUFFER:=_variant_in_, STATU appropriato.
NDR=>_bool_out_,
ERROR=>_bool_out_,
STATUS=>_word_out_,
LENGTH=>_uint_out_);
1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.

Tabella 12- 24 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


EN_R IN Bool Se questo ingresso è vero ed è presente un messaggio, questo viene
trasferito dal CM o dalla CB nel BUFFER. Se EN_R è falso il CM o la CB
vengono controllati per verificare se hanno ricevuto messaggi e l'uscita NDR,
ERROR e STATUS viene aggiornata, però il messaggio non viene trasferito
nel BUFFER. (Valore di default: 0)
PORT IN PORTA Dopo aver installato e configurato il dispositivo di comunicazione CM o CB
l'identificativo della porta compare nell'elenco a discesa dei parametri nel
collegamento del box PORT. Il valore assegnato alla porta del CM o della CB
corrisponde alla proprietà "Identificazione HW" della configurazione dispositivi.
Il nome simbolico della porta viene assegnato nella scheda "Costanti di
sistema" della tabella delle variabili PLC. (Valore di default: 0)
BUFFER IN Variant Questo parametro punta all'indirizzo iniziale del buffer di ricezione. Questo
buffer deve essere abbastanza grande da poter ricevere un messaggio con la
lunghezza massima.
I dati e gli array booleani non sono supportati. (Valore di default: 0)
NDR OUT Bool È vero per un'esecuzione se i nuovi dati sono pronti e l'operazione si è
conclusa senza errori.
ERROR OUT Bool È vero per un'esecuzione se l'operazione si è conclusa con un errore.
STATUS OUT Word Codice della condizione di esecuzione (valore di default: 0)
LENGTH OUT UInt Lunghezza del messaggio restituito (in bytes): 0)

Il valore STATUS è valido se NDR o ERROR è vero. Il valore STATUS fornisce il motivo per
la conclusione dell'operazione di ricezione nel CM o nella CB. In genere è un valore positivo
il quale indica che l'operazione di ricezione è stata eseguita correttamente e che il processo
di ricezione è stato concluso senza problemi. Se il valore STATUS è negativo (il bit più
significativo del valore esadecimale è impostato) la ricezione è stata interrotta per un errore
di parità, di framing o di overrun.

Sistema di automazione S7-1200


718 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Ogni interfaccia di comunicazione PtP è in grado di bufferizzare fino a un massimo di 1024


byte. Può trattarsi di un messaggio molto lungo o di più messaggi brevi. Se nel CM o nella
CB è presente più di un messaggio, l'istruzione RCV_PTP restituisce quello meno recente.
Eseguendo nuovamente un'istruzione RCV_PTP viene restituito il successivo messaggio
meno recente presente.

Tabella 12- 25 Codici delle condizioni di errore

STATUS (W#16#...) Descrizione


0000 Buffer non presente
0094 Messaggio concluso perché è stata ricevuta la lunghezza massima dei caratteri
0095 Messaggio concluso per timeout dei messaggi
0096 Messaggio concluso per timeout intercaratteri
0097 Messaggio concluso per timeout della risposta
0098 Messaggio concluso perché è stata soddisfatta la condizione di lunghezza "N+LEN+M"
0099 Messaggio concluso perché è stata soddisfatta la condizione di fine sequenza
80E0 Messaggio concluso perché il buffer di ricezione è pieno
80E1 Messaggio concluso per errore di parità
80E2 Messaggio concluso per errore di framing
80E3 Messaggio concluso per errore di overrun
80E4 Messaggio concluso perché la lunghezza calcolata supera le dimensioni del buffer
80E5 Segnale di bias inverso (condizione "Interruzione di linea")
833A Il DB per il parametro BUFFER non esiste.

12.3.3.7 Istruzione RCV_RST (Cancella buffer di ricezione)

Tabella 12- 26 Istruzione RCV_RST (Resetta buffer di ricezione)

KOP / FUP SCL Descrizione


"RCV_RST_DB"( RCV_RST cancella i buffer di ricezione nel CM o nella
REQ:=_bool_in_, CB.
PORT:=_uint_in_,
DONE=>_bool_out_,
ERROR=>_bool_out_,
STATUS=>_word_out_);
1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 719
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Tabella 12- 27 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool Attiva il reset del buffer di ricezione in seguito a un fronte di salita in questo
ingresso di abilitazione (valore di default: falso)
PORT IN PORTA Dopo aver installato e configurato il dispositivo di comunicazione CM o CB
l'identificativo della porta compare nell'elenco a discesa dei parametri nel
collegamento del box PORT. Il valore assegnato alla porta del CM o della CB
corrisponde alla proprietà "Identificazione HW" della configurazione dispositivi.
Il nome simbolico della porta viene assegnato nella scheda "Costanti di
sistema" della tabella delle variabili PLC. (Valore di default: 0)
DONE OUT Bool Se è vero per un ciclo di scansione indica che l'ultima richiesta si è conclusa
senza errori.
ERROR OUT Bool Se è vero indica che l'ultima richiesta si è conclusa senza errori. Inoltre
quando questa uscita è vera, l'uscita STATUS contiene i relativi codici di
errore.
STATUS OUT Word Codice di errore (valore di default: 0)
Per informazioni sui codici di stato della comunicazione consultare il paragrafo
Parametri comuni delle istruzioni punto a punto (Pagina 704).

Nota
L'istruzione RCV_RST può essere utilizzata per accertarsi che i buffer dei messaggi
vengano cancellati dopo un errore di comunicazione o dopo la modifica di un parametro di
comunicazione, ad esempio del baud rate. Quando viene eseguita RCV_RST fa sì che il
modulo cancelli tutti i buffer dei messaggi interni. Una volta cancellati i buffer si può essere
certi che, quando il programma eseguirà un'istruzione di ricezione, restituirà messaggi nuovi
e non messaggi vecchi che risalgono a un momento precedente al richiamo di RCV_RST.

12.3.3.8 Istruzione SGN_GET (Interroga segnali RS-232)

Tabella 12- 28 Istruzione SGN_GET (Leggi segnali RS232)

KOP / FUP SCL Descrizione


"SGN_GET_DB"( SGN_GET legge gli stati attuali dei segnali di
REQ:=_bool_in_, comunicazione RS232.
PORT:=_uint_in_, Questa funzione è valida solo per il CM RS232.
NDR=>_bool_out_,
ERROR=>_bool_out_,
STATUS=>_word_out_,
DTR=>_bool_out_,
DSR=>_bool_out_,
RTS=>_bool_out_,
CTS=>_bool_out_,
DCD=>_bool_out_,
RING=>_bool_out_);
1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.

Sistema di automazione S7-1200


720 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Tabella 12- 29 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool Leggi i valori di stato dei segnali RS232 in seguito a un fronte di salita di
questo ingresso (valore di default: falso)
PORT IN PORTA Dopo aver installato e configurato il dispositivo di comunicazione CM o CB
l'identificativo della porta compare nell'elenco a discesa dei parametri nel
collegamento del box PORT. Il valore assegnato alla porta del CM o della CB
corrisponde alla proprietà "Identificazione HW" della configurazione dispositivi.
Il nome simbolico della porta viene assegnato nella scheda "Costanti di
sistema" della tabella delle variabili PLC.
NDR OUT Bool È vero per un ciclo di scansione se i nuovi dati sono pronti e l'operazione si è
conclusa senza errori.
ERROR OUT Bool È vero per un ciclo di scansione se l'operazione si è conclusa con un errore
STATUS OUT Word Codice della condizione di esecuzione (valore di default: 0)
DTR OUT Bool Terminale dati pronto, modulo pronto (uscita). Valore di default: Falso
DSR OUT Bool Set di dati pronto, partner della comunicazione pronto (ingresso). Valore di
default: Falso
RTS OUT Bool Richiesta di trasmettere, modulo pronto a trasmettere (uscita). Valore di
default: Falso
CTS OUT Bool Pronto per la comunicazione, il partner della comunicazione può ricevere i dati
(ingresso). Valore di default: Falso
DCD OUT Bool Rileva portante, livello del segnale di ricezione (sempre falso, non supportato)
RING OUT Bool Indicatore di squillo, segnala una chiamata in arrivo (sempre falso, non
supportato)

Tabella 12- 30 Codici delle condizioni di errore

STATUS (W#16#....) Descrizione


80F0 Il CM o la CB è un RS485 e non sono presenti segnali

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 721
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

12.3.3.9 Istruzione SGN_GET (Imposta segnali RS-232)

Tabella 12- 31 Istruzione SGN_SET (Imposta segnali RS232)

KOP / FUP SCL Descrizione


"SGN_SET_DB"( SGN_SET imposta gli stati dei segnali di
REQ:=_bool_in_, comunicazione RS232.
PORT:=_uint_in_, Questa funzione è valida solo per il CM RS232.
SIGNAL:=_byte_in_,
RTS:=_bool_in_,
DTR:=_bool_in_,
DSR:=_bool_in_,
DONE=>_bool_out_,
ERROR=>_bool_out_,
STATUS=>_word_out_);
1 STEP 7 crea automaticamente il DB all'inserimento dell'istruzione.

Tabella 12- 32 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool Avvia l'impostazione dei segnali RS232 in seguito a un fronte di salita di
questo ingresso (valore di default: falso)
PORT IN PORTA Dopo aver installato e configurato il dispositivo di comunicazione CM o
CB l'identificativo della porta compare nell'elenco a discesa dei
parametri nel collegamento del box PORT. Il valore assegnato alla porta
del CM o della CB corrisponde alla proprietà "Identificazione HW" della
configurazione dispositivi. Il nome simbolico della porta viene assegnato
nella scheda "Costanti di sistema" della tabella delle variabili PLC.
(Valore di default: 0)
SIGNAL IN Byte Seleziona il segnale da impostare: (anche più di uno). Valore di default:
0
• 01H = imposta RTS
• 02H = imposta DTR
• 04H = imposta DSR
RTS IN Bool Richiesta di trasmettere, modulo pronto a trasmettere (vero o falso),
valore di default: Falso
DTR IN Bool Terminale dati pronto, modulo pronto a trasmettere il valore da
impostare (vero o falso). Valore di default: Falso
DSR IN Bool Set di dati pronto (solo per le interfacce DCE), non utilizzato.
DONE OUT Bool È vero per un'esecuzione se l'ultima richiesta si è conclusa senza errori
ERROR OUT Bool È vero per un'esecuzione se l'ultima richiesta si è conclusa con un errore
STATUS OUT Word Codice della condizione di esecuzione (valore di default: 0)

Sistema di automazione S7-1200


722 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Tabella 12- 33 Codici delle condizioni di errore

STATUS (W#16#....) Descrizione


80F0 Il CM o la CB è un RS485 e non possono essere impostati segnali
80F1 Impossibile impostare i segnali a causa del controllo del flusso hardware
80F2 Impossibile impostare DSR perché il modulo è DTE
80F3 Impossibile impostare DTR perché il modulo è DCE

12.3.4 Programmazione della comunicazione PtP


STEP 7 mette a disposizione istruzioni avanzate che consentono al programma utente di
eseguire la comunicazione punto a punto con il protocollo in esso progettato e implementato.
Queste istruzioni appartengono a due categorie:
● Istruzioni di configurazione
● Istruzioni di comunicazione

Istruzioni di configurazione
Perché il programma utente possa avviare una comunicazione PtP è necessario configurare
la porta di comunicazione e i parametri per l'invio e la ricezione dei dati.
Per configurare la porta e i messaggi per ciascun CM o CB si può utilizzare la
Configurazione dispositivi o eseguire le seguenti istruzioni nel programma utente:
● PORT_CFG (Pagina 706)
● SEND_CFG (Pagina 708)
● RCV_CFG (Pagina 709)

Istruzioni di comunicazione
Le istruzioni di comunicazione PtP consentono al programma utente di inviare e ricevere
messaggi dalle interfacce di comunicazione. Per informazioni sul trasferimento dei dati
mediante queste istruzioni consultare il paragrafo sulla coerenza dei dati (Pagina 183).
Tutte le funzioni PtP funzionano in modo asincrono. Il programma utente può utilizzare
un'architettura di interrogazione per determinare lo stato delle trasmissioni e delle ricezioni.
Le istruzioni SEND_PTP e RCV_PTP possono essere eseguite simultaneamente. I moduli di
comunicazione e la scheda di comunicazione memorizzano i messaggi di trasmissione e
ricezione in base alle necessità, fino a un massimo di 1024 byte di buffer.
I CM e la CB inviano e ricevono messaggi dai dispositivi PtP presenti. Il protocollo per i
messaggi è contenuto in un buffer ricevuto o trasmesso da una specifica porta di
comunicazione. Il buffer e la porta sono parametri delle istruzioni di trasmissione e ricezione:
● SEND_PTP (Pagina 715)
● RCV_PTP (Pagina 718)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 723
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Ulteriori istruzioni consentono di resettare il buffer di ricezione e di ricevere e impostare


specifici segnali RS232:
● RCV_RST (Pagina 719)
● SGN_GET (Pagina 720)
● SGN_SET (Pagina 722)

12.3.4.1 Architettura di interrogazione


Il programma utente STEP 7 deve richiamare ciclicamente/periodicamente le istruzioni punto
a punto S7-1200 per controllare i messaggi ricevuti. Interrogando la trasmissione il
programma utente riesce a rilevare quando la trasmissione è terminata.

Architettura di interrogazione: master


La tipica sequenza di un master è la seguente:
1. Un'istruzione SEND_PTP avvia una trasmissione al CM o alla CB.
2. L'istruzione SEND_PTP viene eseguita in cicli successivi perché interroghi lo stato
"trasmissione conclusa".
3. Quando SEND_PTP indica che la trasmissione è terminata il codice utente può
prepararsi a ricevere la risposta.
4. L'istruzione RCV_PTP viene eseguita ripetutamente perché controlli se viene ricevuta
una risposta. S il CM o la CB rileva un messaggio di risposta, l'istruzione RCV_PTP lo
copia nella CPU e indica che sono stati ricevuti nuovi dati.
5. Il programma utente può elaborare la risposta.
6. Tornare alla prima operazione e ripetere il ciclo.

Architettura di interrogazione: slave


La tipica sequenza di uno slave è la seguente:
1. Il programma utente esegue l'istruzione RCV_PTP in tutti i cicli di scansione.
2. Quando il CM o la CB riceve una richiesta l'istruzione RCV_PTP indica che sono pronti
nuovi dati e copia la richiesta nella CPU.
3. Il programma utente elabora la richiesta e generare una risposta.
4. Trasmettere la risposta al master con un'istruzione SEND_PTP.
5. Eseguire SEND_PTP ripetutamente per assicurarsi che la trasmissione venga effettuata.
6. Tornare alla prima operazione e ripetere il ciclo.
Lo slave deve richiamare RCV_PTP abbastanza frequentemente da ricevere una
trasmissione dal master prima che quest'ultimo vada in timeout nell'attesa di una risposta. A
tal fine il programma utente può richiamare RCV_PTP da un OB di ciclo il cui tempo di ciclo
è sufficiente per ricevere una trasmissione dal master prima che termini il periodo di timeout.
Se si imposta il tempo di ciclo per l'OB in modo tale da garantire due esecuzioni entro il
periodo di timeout del master, il programma utente può ricevere le trasmissioni senza
perderne alcuna.

Sistema di automazione S7-1200


724 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

12.3.5 Esempio: comunicazione punto a punto


In questo esempio la CPU S7-1200 comunica con un PC con un terminale virtuale attraverso
un CM 1241 RS232. La configurazione punto a punto e il programma STEP 7 in questo
esempio illustrano come la CPU possa ricevere un messaggio dal PC e restituirlo allo
stesso.

L'interfaccia di comunicazione del CM 1241 RS232 deve essere collegato all'interfaccia


RS232 del PC che in genere è COM1. Poiché entrambe le porte sono Data Terminal
Equipment (DTE) è necessario commutare i pin di ricezione e di trasmissione (2 e 3) quando
si collegano le due porte, operazione eseguibile in uno dei seguenti modi:
● Pper scambiare i pin 2 e 3 utilizzare un adattatore NULL modem insieme a un cavo
RS232 standard.
● Utilizzare un cavo NULL modem in cui i pin 2 e 3 sono già stati scambiati. Un cavo NULL
modem è generalmente un cavo con due estremità del connettore femmina D a 9 pin.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 725
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

12.3.5.1 Configurazione del modulo di comunicazione


Il CM 1241 può essere configurato dalla Configurazione dispositivi in STEP 7 o mediante le
istruzioni del programma utente. Questo esempio utilizza il metodo della Configurazione
dispositivi.
● Configurazione della porta: Fare clic sulla porta di comunicazione del modulo CM dalla
Configurazione dispositivi e configurare la porta come mostrato di seguito:

Nota
Le impostazioni di configurazione per "Modo di funzionamento" e "Preimpostazione della
linea di ricezione" sono utilizzabili solo per il modulo CM 1241 (RS422/RS485). Gli altri
moduli CM 1241 non hanno queste impostazioni per la configurazione della porta.
Consultare Configurazione di RS422 e RS485 (Pagina 729).

● Configurazione della trasmissione messaggi: Accettare le impostazioni di default per la


configurazione della trasmissione dei messaggi. Non deve essere inviato alcun break
all'inizio del messaggio.

Sistema di automazione S7-1200


726 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

● Configurazione dell'inizio della ricezione dei messaggi: Configurare il CM 1241 in modo


che inizi a ricevere un messaggio quando la linea di comunicazione non è attiva per
almeno 50 tempi di bit (circa 5 ms a 9600 baud = 50 * 1/9600):

● Configurazione della fine della ricezione dei messaggi: Configurare il CM 1241 in modo
che concluda un messaggio quando riceve un massimo di 100 byte o un carattere di
avanzamento riga (10 decimale o a esadecimale). La sequenza di fine consente fino a 5
caratteri finali consecutivi. Il quinto carattere della sequenza è quello di avanzamento
riga. Gli altri quattro caratteri della sequenza di fine sono caratteri "don’t care" o non
selezionati. Il CM 1241 non valuta i caratteri "don’t care" ma cerca un carattere di
avanzamento riga preceduto da zero o altri caratteri "don’t care" per indicare la fine del
messaggio.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 727
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Sistema di automazione S7-1200


728 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

12.3.5.2 Modi di funzionamento di RS422 e RS485

Configurazione di RS422
Per il modo RS422 sono previsti tre modi di funzionamento a seconda della configurazione
di rete. Selezionare uno di questi modi di funzionamento in base ai dispositivi presenti nella
rete. Le diverse selezioni di preimpostazione della linea di ricezione fanno riferimento ai casi
riportati in dettaglio di seguito.
● Full duplex (RS422) a 4 fili (collegamento punto a punto): selezionare questa opzione
quando sono presenti due dispositivi sulla rete. In preimpostazione della linea di
ricezione:
– Selezionare nessuna quando si forniscono resistenze di terminazione e polarizzazione
(Caso 3).
– Selezionare polarizzazione diretta per utilizzare resistenze di terminazione e
polarizzazione interne (Caso 2).
– Selezionare polarizzazione inversa per utilizzare resistenze di terminazione e
polarizzazione interne e consentire la rilevazione della rottura del cavo per entrambi i
dispositivi (Caso 1).
● Full duplex (RS422) a 4 fili (master multipunto): selezionare questa opzione per il
dispositivo master in presenza di una rete con un master e più slave. In preimpostazione
della linea di ricezione:
– Selezionare nessuna quando si forniscono resistenze di terminazione e polarizzazione
(Caso 3).
– Selezionare polarizzazione diretta per utilizzare resistenze di terminazione e
polarizzazione interne (Caso 2).
– In questo modo la rilevazione della rottura del cavo non è possibile.
● Full duplex (RS422) a 4 fili (slave multipunto): Selezionare questa opzione per tutti i
dispositivi slave in presenza di una rete con un master e più slave. In preimpostazione
della linea di ricezione:
– Selezionare nessuna quando si forniscono resistenze di terminazione e polarizzazione
(Caso 3).
– Selezionare polarizzazione diretta per utilizzare resistenze di terminazione e
polarizzazione interne (Caso 2).
– Selezionare polarizzazione inversa per utilizzare resistenze di terminazione e
polarizzazione interne e consentire la rilevazione della rottura del cavo per gli slave
(Caso 1).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 729
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Caso 1: RS422 con rilevazione della rottura del cavo


● Modo di funzionamento: RS422
● Preimpostazione della linea di ricezione: polarizzazione inversa (polarizzato con R(A) >
R(B) > 0V)
● Rottura del cavo: rilevazione della rottura del cavo abilitata (trasmettitore sempre attivo)

Caso 2: RS422: nessuna rilevazione della rottura del cavo, polarizzazione diretta
● Modo di funzionamento: RS422
● Preimpostazione della linea di ricezione: polarizzazione diretta (polarizzato con R(B) >
R(A) > 0 V)
● Rottura del cavo: nessuna rilevazione della rottura del cavo (trasmettitore abilitato solo
durante la trasmissione)

Sistema di automazione S7-1200


730 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Caso 3: RS422: nessuna rilevazione della rottura del cavo, nessuna polarizzazione
● Modo di funzionamento: RS422
● Preimpostazione della linea di ricezione: nessuna polarizzazione
● Rottura del cavo: nessuna rilevazione della rottura del cavo (trasmettitore abilitato solo
durante la trasmissione)
Le resistenze di terminazione e polarizzazione sono aggiunte dall'utente ai nodi terminali
della rete.

Configurazione di RS485
Per il modo RS485 è previsto un solo modo di funzionamento. Le diverse selezioni di
preimpostazione della linea di ricezione fanno riferimento ai casi riportati in dettaglio di
seguito.
● Half duplex (RS485) a 2 fili. In preimpostazione della linea di ricezione:
– Selezionare nessuna quando si forniscono resistenze di terminazione e polarizzazione
(Caso 5).
– Selezionare polarizzazione diretta per utilizzare resistenze di terminazione e
polarizzazione interne (Caso 4).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 731
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Caso 4: RS485: polarizzazione diretta


● Modo di funzionamento: RS485
● Preimpostazione della linea di ricezione: polarizzazione diretta (polarizzato con R(B) >
R(A) > 0 V)

Caso 5: RS485: nessuna polarizzazione (polarizzazione esterna)


● Modo di funzionamento: RS485
● Preimpostazione della linea di ricezione: nessuna polarizzazione (richiesta polarizzazione
esterna)

12.3.5.3 Configurazione del programma STEP 7


In questo esempio il programma utilizza un blocco dati globale per il buffer di
comunicazione, un'istruzione RCV_PTP (Pagina 718) per ricevere i dati dal terminale virtuale
e un'istruzione SEND_PTP (Pagina 715) per restituire il buffer al terminale virtuale. Per
programmare l'esempio, aggiungere la configurazione del blocco dati e il blocco OB1 del
programma principale nel modo descritto di seguito.
Blocco dati globale "Comm_Buffer": creare un blocco dati globale (DB) e assegnargli il nome
"Comm_Buffer". Creare un valore nel blocco dati chiamato "buffer" con un tipo di errore
"array [0 .. 99] di byte".

Sistema di automazione S7-1200


732 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Segmento 1: abilitare l'istruzione RCV_PTP quando non è attiva SEND_PTP. Tag_8 in


MW20.0 indica quando la trasmissione è conclusa nel segmento 4 e quando il modulo di
comunicazione è così pronto a ricevere un messaggio.

Segmento 2: utilizzare il valore NDR (Tag_1 in M0.0) impostato mediante l'istruzione


RCV_PTP per effettuare una copia del numero di byte ricevuti e impostare un merker (Tag_8
in M20.0) per avviare l'istruzione SEND_PTP.

Segmento 3: abilitare l'istruzione SEND_PTP quando è impostato il merker M20.0. Utilizzare


questo merker anche per impostare l'ingresso REQ su vero per un ciclo di scansione.
L'ingresso REQ comunica all'istruzione SEND_PTP che è presente una nuova richiesta da
trasmettere. L'ingresso REQ deve essere vero solo per un'esecuzione di SEND_PTP.
L'istruzione SEND_PTP viene eseguita in ogni ciclo di scansione fino alla fine della
trasmissione. La trasmissione è conclusa quando l'ultimo byte del messaggio è stato
trasmesso dal CM 1241. L'uscita DONE (Tag_5 in M10.0) viene quindi impostata come vera
per un'esecuzione di SEND_PTP.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 733
Processore di comunicazione e Modbus TCP
12.3 Comunicazione punto a punto (PtP)

Segmento 4: controllare l'uscita DONE di SEND_PTP e resettare il merker di trasmissione


(Tag_8 in M20.0) al termine della trasmissione. Quando il merker di trasmissione è resettato
l'istruzione RCV_PTP nel segmento 1 è abilitata a ricevere il successivo messaggio.

12.3.5.4 Configurazione del terminale virtuale


Per supportare il programma di esempio occorre installare il terminale virtuale. È possibile
utilizzare quasi ogni terminale virtuale, ad es. HyperTerminal. Assicurarsi che il terminale
virtuale sia scollegato prima di modificare le impostazioni nel modo seguente:
1. Impostare per il terminale virtuale l'utilizzo della porta RS232 sul PC (in genere COM1).
2. Configurare la porta per 9600 baud, 8 bit di dati, nessuna parità, 1 bit di stop e nessun
controllo del flusso.
3. Modificare le impostazioni del terminale virtuale per simulare un terminale ANSI.
4. Configurare l'installazione ASCII del terminale virtuale per trasmettere un avanzamento di
riga dopo ogni riga (dopo che l'utente
5. Inserire i caratteri anche a livello locale in modo che il terminale virtuale visualizzi le
immissioni.

12.3.5.5 Esecuzione del programma di esempio


Per eseguire il programma di esempio procedere nel modo seguente:
1. Caricare il programma STEP 7 nella CPU e verificare che si trovi in RUN.
2. Fare clic sul pulsante "Collega" sul terminale virtuale per applicare le modifiche della
configurazione e aprire una sessione tra il terminale e il CM 1241.
3. Digitare i caratteri sul PC e premere Invio.
Il terminale virtuale trasmette i caratteri al CM 1241 e alla CPU. Quindi il programma della
CPU restituisce i caratteri al terminale virtuale.

Sistema di automazione S7-1200


734 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.4 Comunicazione USS (Universal Serial Interface)

12.4 Comunicazione USS (Universal Serial Interface)


Le istruzioni USS comandano il funzionamento degli azionamenti motore che supportano il
protocollo USS (interfaccia seriale universale). Le istruzioni USS possono essere utilizzate
per comunicare con diversi azionamenti mediante collegamenti RS485 ai moduli di
comunicazione CM 1241 RS485 o una scheda di comunicazione CB 1241 RS485. In una
CPU dell'S7-1200 possono essere installati fino a tre moduli CM 1241 RS422/RS485 e una
scheda CB 1241 RS485. Ogni porta RS485 può attivare fino a 16 azionamenti.
Il protocollo USS utilizza una rete master-slave per le comunicazioni tramite un bus seriale. Il
master usa un parametro di indirizzo per inviare un messaggio allo slave selezionato. Uno
slave invece non può mai trasmettere senza prima ricevere la relativa richiesta. Il
trasferimento diretto di messaggi tra i singoli slave non è possibile. La comunicazione USS
funziona in modo half-duplex. La figura seguente mostra un diagramma della rete per la
comunicazione USS come esempio di applicazione di un azionamento.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 735
Processore di comunicazione e Modbus TCP
12.4 Comunicazione USS (Universal Serial Interface)

12.4.1 Requisiti per l'utilizzo del protocollo USS


Le quattro istruzioni USS utilizzano 1 FB e 3 FC che supportano il protocollo USS. Per ogni
rete USS viene utilizzato un blocco dati (DB) di istanza USS_PORT che contiene una
memoria temporanea e buffer per tutti gli azionamenti nella rispettiva rete USS. Le istruzioni
USS condividono le informazioni contenute in questo blocco dati.

Tutti gli azionamenti (fino a 16) collegati a una singola porta RS485 fanno parte della stessa
rete USS. Tutti gli azionamenti collegati a una diversa porta RS485 fanno parte di una
diversa rete USS. Ongi rete USS viene gestita con un unico blocco dati. Le istruzioni
associate a una singola rete USS devono condividere il blocco dati. Tra queste figurano le
istruzioni USS_DRV, USS_PORT, USS_RPM e USS_WPM utilizzate per controllare tutti gli
azionamenti in una singola rete USS.
L'istruzione USS_DRV è un bocco funzionale (FB). Quando la si inserisce nell'editor di
programma la finestra di dialogo "Opzioni di richiamo" chiede di assegnare un DB all'FB. Se
quella inserita è la prima istruzione USS_DRV inserita nel programma per la rete USS in
questione, si può confermare il DB di default (o eventualmente rinominarlo) e viene creato il
nuovo DB. Se invece questa non è la prima istruzione USS_DRV per il canale in oggetto, si
deve impostare il nome del DB precedentemente assegnato alla rete USS selezionandolo
nell'elenco a discesa della finestra "Opzioni di richiamo".

Sistema di automazione S7-1200


736 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.4 Comunicazione USS (Universal Serial Interface)

Le istruzioni USS_PORT, USS_RPM e USS_WPM sono tutte funzioni (FC). Quando si


inseriscono nell'editor queste FC non viene assegnato alcun DB. Il DB adatto deve essere
assegnato manualmente all'ingresso "USS_DB" delle istruzioni. Fare doppio clic sul campo
del parametro, quindi fare clic sulla rispettiva icona di aiuto per visualizzare i nomi del DB
disponibili.
La funzione USS_PORT gestisce la comunicazione tra la CPU e gli azionamenti tramite la
porta di comunicazione punto a punto (PtP) RS485. Ogni suo richiamo gestisce la
comunicazione con un azionamento. Il programma deve richiamarla abbastanza
rapidamente da evitare che gli azionamenti segnalino un timeout della comunicazione. La
funzione può essere richiamata da un OB di ciclo del programma principale o da qualsiasi
OB di allarme.
Generalmente la funzione USS_PORT dovrebbe essere richiamata da un OB di
schedulazione orologio il cui tempo di ciclo dovrebbe essere impostato a circa metà
dell'intervallo minimo tra i richiami (ad es. la comunicazione a 1200 baud dovrebbe utilizzare
un tempo di ciclo di 350 ms o meno).
Il blocco funzionale USS_DRV consente al programma di accedere a un azionamento
specifico della rete USS. I suoi ingressi e le sue uscite corrispondono agli stati e alle funzioni
di comando dell'azionamento. Se la rete contiene 16 azionamenti il programma deve avere
almeno 16 richiami USS_DRV, uno per azionamento. Questi blocchi dovrebbero essere
richiamati alla velocità necessaria per comandare il funzionamento dell'azionamento.
Il blocco funzionale USS_DRV può essere richiamato solo da un OB di ciclo del programma
principale.

CAUTELA
Considerazioni sul richiamo delle istruzioni USS dagli OB
USS_DRV, USS_RPM e USS_WPM devono essere richiamate solo da un OB di ciclo del
programma principale. La funzione USS_PORT può essere richiamata da qualsiasi OB,
solitamente da un OB di schedulazione orologio.
Non utilizzare le istruzioni USS_DRV, USS_RPM o USS_WPM in un OB di priorità
superiore alla relativa istruzione USS_PORT. Ad esempio, non inserire USS_PORT nell'OB
principale e USS_RPM in un OB di schedulazione orologio. Se non si riesce a evitare
l'interruzione di USS_PORT si possono verificare errori imprevisti che potrebbero causare
lesioni personali.

Le funzioni USS_RPM e USS_WPM leggono e scrivono i parametri di esercizio


dell'azionamento remoto, i quali comandano il funzionamento interno dell'azionamento. Per
maggiori informazioni vedere la descrizione dei parametri nel manuale dell'azionamento. Il
programma può contenere tante funzioni quante ne sono necessarie ma, in un dato
momento, può essere attiva una sola richiesta di lettura o di scrittura per azionamento. Le
funzioni USS_RPM e USS_WPM possono essere richiamate solo da un OB di ciclo del
programma principale.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 737
Processore di comunicazione e Modbus TCP
12.4 Comunicazione USS (Universal Serial Interface)

Calcolo del tempo necessario per la comunicazione con l'azionamento


La comunicazione con l'azionamento è asincrona rispetto al ciclo di scansione dell'S7-1200.
Generalmente l'S71200 esegue più cicli di scansione entro il tempo impiegato per
concludere una transazione di comunicazione con l'azionamento.
L'intervallo USS_PORT è il tempo necessario per effettuare una transazione con
l'azionamento. La tabella sotto illustrata indica l'intervallo USS_PORT minimo per ciascuna
velocità di trasmissione. Se la funzione USS_PORT viene richiamata con una frequenza
superiore a quella dell'intervallo USS_PORT, il numero di transazioni non aumenta.
L'intervallo di timeout dell'azionamento è la quantità di tempo utilizzabile per una transazione
nel caso in cui, a causa di errori di comunicazione, sia necessario effettuare tre tentativi per
concluderla. Per default la biblioteca del protocollo USS effettua automaticamente fino a due
tentativi per ogni transazione.

Tabella 12- 34 Calcolo dei requisiti temporali

Velocità di Intervallo minimo calcolato tra i richiami Intervalli di timeout per i messaggi
trasmissione di USS_PORT (millisecondi) degli azionamenti per azionamento
(millisecondi)
1200 790 2370
2400 405 1215
4800 212.5 638
9600 116.3 349
19200 68.2 205
38400 44.1 133
57600 36.1 109
115200 28.1 85

12.4.2 Istruzione USS_PORT (Elabora comunicazione tramite rete USS)

Tabella 12- 35 Istruzione USS_PORT

KOP / FUP SCL Descrizione


USS_PORT( L'istruzione USS_PORT gestisce la comunicazione
PORT:=_uint_in_, attraverso una rete USS.
BAUD:=_dint_in_,
ERROR=>_bool_out_,
STATUS=>_word_out_,
USS_DB:=_fbtref_inout_);

Sistema di automazione S7-1200


738 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.4 Comunicazione USS (Universal Serial Interface)

Tabella 12- 36 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


PORT IN Port Dopo aver installato e configurato il dispositivo di comunicazione CM o
CB l'identificativo della porta compare nell'elenco a discesa dei parametri
nel collegamento del box PORT. Il valore assegnato alla porta del CM o
della CB corrisponde alla proprietà "Identificazione HW" della
configurazione dispositivi. Il nome simbolico della porta viene assegnato
nella scheda "Costanti di sistema" della tabella delle variabili PLC.
BAUD IN DInt La velocità della comunicazione USS.
USS_DB INOUT USS_BASE Nome del DB di istanza creato e inizializzato in seguito all'inserimento di
un'istruzione USS_DRV nel programma.
ERROR OUT Bool Se vero questa uscita indica che si è verificato un errore e che l'uscita
STATUS è valida.
STATUS OUT Word Il valore di stato della richiesta indica il risultato del ciclo di scansione o
dell'inizializzazione. Maggiori informazioni su alcuni codici di stato sono
disponibili nella variabile "USS_Extended_Error".

Generalmente il programma contiene una sola istruzione USS_PORT per la porta di


comunicazione PtP e ogni richiamo della funzione gestisce una trasmissione da o verso un
solo azionamento. Tutte le funzioni USS associate a una rete USS e a una porta di
comunicazione PtP devono utilizzare lo stesso DB di istanza.
Il programma deve eseguire l'istruzione USS_PORT un numero di volte sufficiente a evitare
che si verifichino timeout nell'azionamento.USS_PORT viene generalmente richiamata da un
OB di schedulazione orologio al fine di evitare timeout dell'azionamento e mantenere i dati
USS più recenti a disposizione dei richiami dell'istruzione USS_DRV.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 739
Processore di comunicazione e Modbus TCP
12.4 Comunicazione USS (Universal Serial Interface)

12.4.3 Istruzione USS_DRV (Scambia dati con azionamento)

Tabella 12- 37 Istruzione USS_DRV

KOP / FUP SCL Descrizione


Vista di default "USS_DRV_DB"( L'istruzione USS_DRV scambia i dati con un
RUN:=_bool_in_, azionamento creando messaggi di richiesta e
OFF2:=_bool_in_, interpretando i messaggi di risposta dell'azionamento.
OFF3:=_bool_in_, Si deve utilizzare un blocco funzionale specifico per
F_ACK:=_bool_in_, ogni azionamento, ma tutte le funzioni USS associate a
DIR:=_bool_in_, una rete USS e a una porta di comunicazione PtP
devono impiegare lo stesso blocco dati di istanza.
DRIVE:=_usint_in_,
Quando si inserisce la prima istruzione USS_DRV si
PZD_LEN:=_usint_in_,
deve definire il nome del DB e in seguito indirizzare
SPEED_SP:=_real_in_, sempre questo DB.
Vista ampliata CTRL3:=_word_in_,
STEP 7 crea automaticamente il DB all'inserimento
CTRL4:=_word_in_,
dell'istruzione.
CTRL5:=_word_in_,
CTRL6:=_word_in_,
CTRL7:=_word_in_,
CTRL8:=_word_in_,
NDR=>_bool_out_,
ERROR=>_bool_out_,
STATUS=>_word_out_,
RUN_EN=>_bool_out_,
D_DIR=>_bool_out_,
INHIBIT=>_bool_out_,
FAULT=>_bool_out_,
SPEED=>_real_out_,
STATUS1=>_word_out_,
STATUS3=>_word_out_,
STATUS4=>_word_out_,
STATUS5=>_word_out_,
STATUS6=>_word_out_,
STATUS7=>_word_out_,
STATUS8=>_word_out_);
1 KOP e FUP: Facendo clic sulla freccia in basso si può espandere il box e visualizzarne tutti i parametri. I parametri in
grigio sono opzionali e non devono essere assegnati obbligatoriamente.

Tabella 12- 38 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


RUN IN Bool Bit di start dell'azionamento: se vero questo ingresso abilita
l'azionamento a funzionare alla velocità preimpostata. Se RUN passa a
falso mentre è in funzione un azionamento il motore viene arrestato
con una rampa di discesa. Questo comportamento é diverso
dall'interruzione dell'alimentazione (OFF2) o dalla frenatura del motore
(OFF3).
OFF2 IN Bool Bit di stop elettrico: se falso questo bit fa sì che l'azionamento si arresti
per inerzia senza frenare.

Sistema di automazione S7-1200


740 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.4 Comunicazione USS (Universal Serial Interface)

Parametro e tipo Tipo di dati Descrizione


OFF3 IN Bool Bit di stop rapido: se falso questo bit determina un arresto rapido
frenando l'azionamento invece che arrestandolo per inerzia.
F_ACK IN Bool Bit di riconoscimento errori: questo bit resetta il bit di errore in un
azionamento e viene impostato dopo che l'errore è stato eliminato, in
modo che l'azionamento sappia che non deve più segnalare l'errore.
DIR IN Bool Bit di controllo dell'azionamento: questo bit viene impostato per indicare
che la direzione è "in avanti" (se SPEED_SP è positivo).
DRIVE IN USInt Indirizzo dell'azionamento: questo ingresso è l'indirizzo
dell'azionamento USS. Il campo valido va dall'azionamento 1
all'azionamento 16.
PZD_LEN IN USInt Lunghezza in parole: è il numero di parole richiesto dai dati PZD. Sono
validi i valori 2, 4, 6 o 8 (parole). Il valore di default è 2.
SPEED_SP IN Real Setpoint della velocità: è la velocità dell'azionamento espressa come
percentuale della frequenza configurata. Un valore positivo indica la
direzione in avanti (se DIR è vero). Il campo valido va da 200,00 a -
200,00.
CTRL3 IN Word Parola di comando 3: valore scritto in un parametro dell'azionamento
configurabile dall'utente. La configurarazione deve essere effettuata
nell'azionamento. (Il parametro è opzionale)
CTRL4 IN Word Parola di comando 4: valore scritto in un parametro dell'azionamento
configurabile dall'utente. La configurarazione deve essere effettuata
nell'azionamento. (Il parametro è opzionale)
CTRL5 IN Word Parola di comando 5: valore scritto in un parametro dell'azionamento
configurabile dall'utente. La configurarazione deve essere effettuata
nell'azionamento. (Il parametro è opzionale)
CTRL6 IN Word Parola di comando 6: valore scritto in un parametro dell'azionamento
configurabile dall'utente. La configurarazione deve essere effettuata
nell'azionamento. (Il parametro è opzionale)
CTRL7 IN Word Parola di comando 7: valore scritto in un parametro dell'azionamento
configurabile dall'utente. La configurarazione deve essere effettuata
nell'azionamento. (Il parametro è opzionale)
CTRL8 IN Word Parola di comando 8: valore scritto in un parametro dell'azionamento
configurabile dall'utente. La configurarazione deve essere effettuata
nell'azionamento. (Il parametro è opzionale)
NDR OUT Bool Nuovi dati disponibili: se vero il bit indica che le uscite contengono i dati
di una nuova richiesta di comunicazione.
ERROR OUT Bool Si è verificato un errore: se vero indica che si è verificato un errore e
che l'uscita STATUS è valida. In caso di errore le altre uscite vengono
impostate a 0. Gli errori di comunicazione vengono segnalati solo nelle
uscite ERROR e STATUS dell'istruzione USS_PORT.
STATUS OUT Word Il valore di stato della richiesta indica il risultato del ciclo di scansione.
Non è una parola di stato restituita dall'azionamento.
RUN_EN OUT Bool Esecuzione abilitata: questo bit indica se l'azionamento è in funzione.
D_DIR OUT Bool Direzione dell'azionamento: questo bit indica se la direzione di
funzionamento dell'azionamento è "in avanti".
INHIBIT OUT Bool Azionamento inibito: questo bit indica lo stato del bit di inibizione
nell'azionamento.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 741
Processore di comunicazione e Modbus TCP
12.4 Comunicazione USS (Universal Serial Interface)

Parametro e tipo Tipo di dati Descrizione


FAULT OUT Bool Errore dell'azionamento: questo bit indica che l'azionamento ha
registrato un errore. Per resettare questo bit l'utente deve risolvere il
problema e impostare il bit F_ACK.
SPEED OUT Real Velocità attuale dell'azionamento (valore in scala della parola di stato
dell'azionamento 2): valore della velocità dell'azionamento espresso
come percentuale della velocità configurata.
STATUS1 OUT Word Parola di stato dell'azionamento 1: questo valore contiene i bit di stato
fissi di un azionamento.
STATUS3 OUT Word Parola di stato dell'azionamento 3: questo valore contiene una parola di
stato configurabile dall'utente nell'azionamento.
STATUS4 OUT Word Parola di stato dell'azionamento 4: questo valore contiene una parola di
stato configurabile dall'utente nell'azionamento.
STATUS5 OUT Word Parola di stato dell'azionamento 5: questo valore contiene una parola di
stato configurabile dall'utente nell'azionamento.
STATUS6 OUT Word Parola di stato dell'azionamento 6: questo valore contiene una parola di
stato configurabile dall'utente nell'azionamento.
STATUS7 OUT Word Parola di stato dell'azionamento 7: questo valore contiene una parola di
stato configurabile dall'utente nell'azionamento.
STATUS8 OUT Word Parola di stato dell'azionamento 8: questo valore contiene una parola di
stato configurabile dall'utente nell'azionamento.

Durante la prima esecuzione di USS_DRV l'azionamento indicato dall'indirizzo USS


(parametro DRIVE) viene inizializzato nel DB di istanza. Dopo l'inizializzazione le esecuzioni
successive di USS_PORT possono avviare la comunicazione con l'azionamento che ha il
numero specificato.
Se si modifica il numero dell'azionamento si deve commutare la CPU da STOP a RUN e
inizializzare il DB di istanza. I parametri di ingresso vengono configurati nel buffer di
trasmissione USS e le uscite vengono lette da un "precedente" buffer delle risposte valide
(se presente). Mentre viene eseguita USS_DRV la trasmissione non viene effettuata.
L'azionamento comunica quando viene eseguita USS_PORT. USS_DRV configura
solamente i messaggi da trasmettere e interpreta i dati che potrebbero essere stati ricevuti
da una precedente richiesta.
La direzione di rotazione dell'azionamento può essere controllata con l'ingresso DIR (Bool) o
utilizzando il segno (positivo o negativo) con l'ingresso SPEED_SP (Real). La seguente
tabella indica come gli ingressi interagiscono per determinare la direzione dell'azionamento,
presupponendo che il motore sia cablato per la rotazione in avanti.

Tabella 12- 39 Interazione dei parametri SPEED_SP e DIR

SPEED_SP DIR Direzione di rotazione dell'azionamento


Valore > 0 0 Inversione
Valore > 0 1 Avanti
Valore > 0 0 Avanti
Valore > 0 1 Inversione

Sistema di automazione S7-1200


742 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.4 Comunicazione USS (Universal Serial Interface)

12.4.4 Istruzione USS_RPM (Leggi parametri dall'azionamento)

Tabella 12- 40 Istruzione USS_RPM

KOP / FUP SCL Descrizione


USS_RPM(REQ:=_bool_in_, L'istruzione USS_RPM legge un parametro da un
DRIVE:=_usint_in_, azionamento. Tutte le funzioni USS associate a una
PARAM:=_uint_in_, rete USS e a una porta di comunicazione PtP
INDEX:=_uint_in_, devono utilizzare lo stesso blocco dati. USS_RPM
DONE=>_bool_out_, deve essere richiamata da un OB di ciclo del
ERROR=>_bool_out_, programma principale.
STATUS=>_word_out_,
VALUE=>_variant_out_,
USS_DB:=_fbtref_inout_);

Tabella 12- 41 Tipi di dati per i parametri

Tipo di parametro Tipo di dati Descrizione


REQ IN Bool Richiesta di invio: se vero REQ indica che è presente una nuova richiesta
di lettura. Viene ignorato se è già presente una richiesta.
DRIVE IN USInt Indirizzo dell'azionamento: DRIVE è l'indirizzo dell'azionamento USS. Il
campo valido va dall'azionamento 1 all'azionamento 16.
PARAM IN UInt Numero del parametro: PARAM indica quale parametro dell'azionamento
viene scritto. Il campo di questo parametro è compreso tra 0 e 2047. In
alcuni azionamenti il byte più significativo può accedere a valori PARAM
maggiori di 2047. Per i dettagli sulle modalità di accesso a un campo
ampliato consultare il manuale dell'azionamento.
INDEX IN UInt Indice del parametro: INDEX indica quale indice del parametro
dell'azionamento deve essere scritto. È un valore di 16 bit il cui byte meno
significativo costituisce il valore effettivo dell'indice (compreso entro un
campo da 0 a 255). Il byte più significativo può essere usato anche
dall'azionamento ed è specifico di quest'ultimo. Per maggiori informazioni
consultare il manuale dell'azionamento.
USS_DB INOUT USS_BASE Nome del DB di istanza creato e inizializzato in seguito all'inserimento di
un'istruzione USS_DRV nel programma.
VALUE IN Word, Int, UInt, È il valore del parametro letto ed è valido solo se il bit DONE è vero.
DWord, DInt,
UDInt, Real
DONE1 OUT Bool se vero indica che l'uscita VALUE mantiene il valore del parametro di
lettura richiesto precedentemente. Il bit viene impostato quando
USS_DRV rileva i dati della risposta di lettura dall'azionamento. Il bit
viene resettato: se i dati della risposta sono stati richiesti con un'altra
interrogazione USS_RPM o durante il secondo di due richiami successivi
dell'istruzione USS_DRV

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 743
Processore di comunicazione e Modbus TCP
12.4 Comunicazione USS (Universal Serial Interface)

Tipo di parametro Tipo di dati Descrizione


ERROR OUT Bool Si è verificato un errore: se vero ERROR indica che si è verificato un
errore e che l'uscita STATUS è valida. In caso di errore le altre uscite
vengono impostate a 0. Gli errori di comunicazione vengono segnalati
solo nelle uscite ERROR e STATUS dell'istruzione USS_PORT.
STATUS OUT Word STATUS indica il risultato della richiesta di lettura. Maggiori informazioni
su alcuni codici di stato sono disponibili nella variabile
"USS_Extended_Error".
1 Il bit DONE indica che sono stati letti dati validi dall'azionamento per motore referenziato e che sono stati forniti alla
CPU. Non significa che la biblioteca USS è in grado di leggere direttamente un altro parametro. Perché il canale per i
parametri dell'azionamento sia utilizzabile, deve essere inviata all'azionamento una richiesta PKW vuota che deve
essere anche confermata dall'istruzione. Se si richiama direttamente un'istruzione USS_RPM o USS_WPM FC per
l'azionamento viene generato l'errore 0x818A.

12.4.5 Istruzione USS_WPM (Modifica parametri nell'azionamento)

Nota
Operazioni di scrittura nella EEPROM (per la EEPROM all'interno di un azionamento USS)
Non utilizzare eccessivamente l'operazione di scrittura permanente nella EEPROM e limitare
il più possibile l'utilizzo della memoria per aumentarne la durata.

Tabella 12- 42 Istruzione USS_WPM

KOP / FUP SCL Descrizione


USS_WPM(REQ:=_bool_in_, L'istruzione USS_WPM modifica un parametro
DRIVE:=_usint_in_, dell'azionamento. Tutte le funzioni USS associate a una
PARAM:=_uint_in_, rete USS e a una porta di comunicazione PtP devono
INDEX:=_uint_in_, utilizzare lo stesso blocco dati.
EEPROM:=_bool_in_, USS_WPM deve essere richiamata da un OB di ciclo
VALUE:=_variant_in_, del programma principale.
DONE=>_bool_out_,
ERROR=>_bool_out_,
STATUS=>_word_out_,
USS_DB:=_fbtref_inout_);

Tabella 12- 43 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool Richiesta di invio: se vero REQ indica che è presente una nuova richiesta
di scrittura. Viene ignorato se è già presente una richiesta.
DRIVE IN USInt Indirizzo dell'azionamento: DRIVE è l'indirizzo dell'azionamento USS. Il
campo valido va dall'azionamento 1 all'azionamento 16.

Sistema di automazione S7-1200


744 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.4 Comunicazione USS (Universal Serial Interface)

Parametro e tipo Tipo di dati Descrizione


PARAM IN UInt Numero del parametro: PARAM indica quale parametro dell'azionamento
viene scritto. Il campo di questo parametro è compreso tra 0 e 2047. In
alcuni azionamenti il byte più significativo può accedere a valori PARAM
maggiori di 2047. Per i dettagli sulle modalità di accesso a un campo
ampliato consultare il manuale dell'azionamento.
INDEX IN UInt Indice del parametro: INDEX indica quale indice del parametro
dell'azionamento deve essere scritto. È un valore di 16 bit il cui byte meno
significativo costituisce il valore effettivo dell'indice (compreso entro un
campo da 0 a 255). Il byte più significativo può essere usato anche
dall'azionamento ed è specifico di quest'ultimo. Per maggiori informazioni
consultare il manuale dell'azionamento.
EEPROM IN Bool Salva nella EEPROM dell'azionamento: se vero un'operazione di scrittura
dei parametri dell'azionamento viene salvata nella EEPROM
dell'azionamento. Se falso la scrittura è temporanea e non viene
mantenuta in caso di spegnimento e riaccensione dell'azionamento.
VALUE IN Word, Int, UInt, Valore del parametro da scrivere. Deve essere valido durante la
DWord, DInt, commutazione dello stato di REQ.
UDInt, Real
USS_DB INOUT USS_BASE Nome del DB di istanza creato e inizializzato in seguito all'inserimento di
un'istruzione USS_DRV nel programma.
DONE1 OUT Bool Se vero DONE indica che l'ingresso VALUE è stato scritto
nell'azionamento. Il bit viene impostato quando USS_DRV rileva i dati
della risposta di scrittura dall'azionamento. Il bit viene resettato se i dati
della risposta sono stati richiesti con un'altra interrogazione USS_WPM o
durante il secondo di due richiami successivi dell'istruzione USS_DRV
ERROR OUT Bool se vero ERROR indica che si è verificato un errore e che l'uscita STATUS
è valida. In caso di errore le altre uscite vengono impostate a 0. Gli errori
di comunicazione vengono segnalati solo nelle uscite ERROR e STATUS
dell'istruzione USS_PORT.
STATUS OUT Word STATUS indica il risultato della richiesta di scrittura. Maggiori informazioni
su alcuni codici di stato sono disponibili nella variabile
"USS_Extended_Error".
1 Il bit DONE indica che sono stati letti dati validi dall'azionamento per motore referenziato e che sono stati forniti alla
CPU. Non significa che la biblioteca USS è in grado di leggere direttamente un altro parametro. Perché il canale per i
parametri dell'azionamento sia utilizzabile, deve essere inviata all'azionamento una richiesta PKW vuota che deve
essere anche confermata dall'istruzione. Se si richiama direttamente un'istruzione USS_RPM o USS_WPM FC per
l'azionamento viene generato l'errore 0x818A.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 745
Processore di comunicazione e Modbus TCP
12.4 Comunicazione USS (Universal Serial Interface)

12.4.6 Codici di stato USS


I codici di stato dell'istruzione USS vengono restituiti nell'uscita STATUS delle funzioni USS.

Tabella 12- 44 STATUS codici 1

STATUS Descrizione
(W#16#....)
0000 Nessun errore
8180 La lunghezza della risposta dell'azionamento non corrisponde ai caratteri ricevuti dall'azionamento. Il
numero dell'azionamento in cui si è verificato l'errore viene restituito nella variabile
"USS_Extended_Error". Vedere la tabella degli errori avanzati riportata più avanti.
8181 Il parametro VALUE non era di tipo Word, Real o DWord.
8182 L'utente ha specificato un parametro in formato Word e ha ricevuto dall'azionamento una risposta in
formato DWord o Real.
8183 L'utente ha specificato un parametro in formato DWord o Real e ha ricevuto dall'azionamento una
risposta in formato Word.
8184 La somma di controllo nel telegramma di risposta dall'azionamento era errata. Il numero
dell'azionamento in cui si è verificato l'errore viene restituito nella variabile "USS_Extended_Error".
Vedere la tabella degli errori avanzati riportata più avanti.
8185 Indirizzo dell'azionamento non ammesso (campo valido: 1 ... 16)
8186 Setpoint della velocità non compreso entro il campo valido (da -200% a 200%).
8187 La risposta alla richiesta trasmessa è arrivata dal numero di azionamento errato. Il numero
dell'azionamento in cui si è verificato l'errore viene restituito nella variabile "USS_Extended_Error".
Vedere la tabella degli errori avanzati riportata più avanti.
8188 La lunghezza specificata in PZD non è ammessa (campo valido = 2, 4, 6 o 8 parole)
8189 È stata specificata una velocità di trasmissione non ammessa.
818A Il canale per la richiesta dei parametri è utilizzato da un'altra richiesta diretta a questo azionamento.
818B L'azionamento non ha risposto alle richieste e ai tentativi di ritrasmissione. Il numero dell'azionamento in
cui si è verificato l'errore viene restituito nella variabile "USS_Extended_Error". Vedere la tabella degli
errori avanzati riportata più avanti.
818C L'azionamento ha restituito un errore avanzato a un'operazione di richiesta di parametri. Vedere la
tabella degli errori avanzati riportata più avanti.
818D L'azionamento ha restituito un errore di accesso non autorizzato a un'operazione di richiesta di
parametri. Per maggiori informazioni sul motivo per cui l'accesso ai parametri potrebbe essere limitato
consultare il manuale dell'azionamento.
818E L'azionamento non è stato inizializzato. Questo codice di errore viene restituito alle istruzioni USS_RPM
o USS_WPM se l'istruzione USS_DRV non è stata richiamata almeno una volta per l'azionamento in
oggetto. In questo modo si evita che l'inizializzazione nel primo ciclo di USS_DRV sovrascriva una
richiesta di scrittura o di lettura di parametri in attesa, poiché l'azionamento viene inizializzato come un
nuovo elemento. Per eliminare questo errore richiamare USS_DRV per il numero dell'azionamento in
oggetto.
80Ax-80Fx Errori specifici restituiti dagli FB di comunicazione PtP richiamati dalla biblioteca USS. I valori di questi
codici di errore non vengono modificati dalla biblioteca USS e sono definiti nelle descrizioni delle
istruzioni PtP.
1 Oltre agli errori dell'istruzione USS sopra elencati possono essere restituiti errori dalle

istruzioni di comunicazione PtP sottostanti.

Sistema di automazione S7-1200


746 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.4 Comunicazione USS (Universal Serial Interface)

Maggiori informazioni su più codici STATUS sono disponibili nella variabile


"USS_Extended_Error" del DB di istanza USS_DRV. Per i codici STATUS esadecimali 8180,
8184, 8187 e 818B, USS_Extended_Error contiene il numero dell'azionamento in cui si è
verificato l'errore. Per il codice STATUS esadecimale 818C, USS_Extended_Error contiene
un codice di errore dell'azionamento restituito dallo stesso quando si utilizza un'istruzione
USS_RPM o USS_WPM.
Gli errori di comunicazione (STATUS = 16#818B) vengono segnalati solo nell'istruzione
USS_PORT e non nell'istruzione USS_DRV. Se ad esempio il segmento non viene concluso
correttamente, l'azionamento può passare in RUN ma l'istruzione USS_DRV visualizzerà
degli 0 per tutti i parametri di uscita. In questo caso l'errore di comunicazione può essere
rilevato solo nell'istruzione USS_PORT. Poiché questo errore è visibile solo per un ciclo di
scansione sarà necessario integrare della logica di rilevamento come illustrato nell'esempio
seguente. In questo esempio quando il bit di errore dell'istruzione USS_PORT è vero, i valori
STATUS e USS_Extended_Error vengono salvati nella memoria M. Il numero
dell'azionamento viene inserito nella variabile USS_Extended_Error quando STATUS è il
valore di codice esadecimale 8180, 8184, 8187 o 818B.

Segmento 1I valori dello stato della


porta "PortStatus" e dei codici di
errore avanzati
"USS_DRV_DB".USS_Extended_Error
sono validi solo per un ciclo di
programma. I valori devono essere
rilevati per essere elaborati
successivamente.
Segmento 2 Il contatto "PortError"
attiva il salvataggio del valore
"PortStatus" in "LastPortStatus" e il
valore
"USS_DRV_DB".USS_Extended_Error
in "LastExtError".

Gli azionamenti USS supportano l'accesso in lettura e in scrittura ai parametri interni


dell'azionamento. Questa funzione consente di comandare e configurare l'azionamento a
distanza. Le operazioni di accesso ai parametri dell'azionamento possono non riuscire a
causa di errori quali "valori non compresi entro il campo" o "richieste non ammesse per la
modalità attuale dell'azionamento". L'azionamento genera un valore di codice di errore che
viene restituito nella variabile "USS_Extended_Error". Il valore è valido solo per l'ultima
esecuzione di un'istruzione USS_RPM o USS_WPM. Il codice di errore dell'azionamento
viene inserito nella variabile USS_Extended_Error quando STATUS code assume il valore
esadecimale 818C. Il valore del codice di errore indicato in "USS_Extended_Error" dipende
dal modello dell'azionamento. Per informazioni sui codici degli errori avanzati per le
operazioni di lettura e scrittura dei parametri consultare il manuale dell'azionamento.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 747
Processore di comunicazione e Modbus TCP
12.4 Comunicazione USS (Universal Serial Interface)

12.4.7 Informazioni generali sull'installazione dell'azionamento

Requisiti generali per l'installazione dell'azionamento


● L'azionamento deve essere impostato per l'utilizzo di 4 parole PKW.
● L'azionamento può essere configurato per 2, 4, 6 o 8 parole PZD.
● Il numero delle parole PZD nell'azionamento deve corrispondere al valore PZD_LEN
nell'istruzione USS_DRV per quell'azionamento.
● La velocità di trasmissione in tutti gli azionamenti deve corrispondere al valore BAUD
nell'istruzione USS_PORT.
● L'azionamento deve impostato per il controllo remoto.
● L'azionamento deve essere impostato per il setpoint della frequenza su USS sulla porta
COM.
● L'indirizzo dell'azionamento deve essere impostato da 1 a 16 e corrispondere al valore
DRIVE nel blocco USS_DRV per quell'azionamento.
● Il comando della direzione dell'azionamento deve essere impostato per utilizzare la
polarità del setpoint dello stesso.
● Il segmento RS485 deve essere concluso correttamente.

Collegamento di un azionamento MicroMaster


Le presenti informazioni sull'azionamento MicroMaster di SIEMENS vengono fornite come
esempio. Per altri azionamenti consultare le istruzioni per l'installazione contenute nel
rispettivo manuale.
Per effettuare il collegamento ad un azionamento MicroMaster Serie 4 (MM4), inserire le
estremità del cavo RS485 nei due morsetti senza cacciavite autobloccanti predisposti per il
protocollo USS. Per collegare l'S7-1200 all'azionamento MicroMaster si possono utilizzare il
cavo e i connettori PROFIBUS standard.

CAUTELA
Se si collegano apparecchiature con diverso potenziale di riferimento si possono causare
flussi di corrente pericolosi nel cavo di connessione.
Tali flussi di corrente possono determinare errori di comunicazione e danneggiare le
apparecchiature. Per prevenire il formarsi di flussi di corrente pericolosi, accertarsi che le
apparecchiature da collegare tramite il cavo di connessione abbiano lo stesso circuito di
riferimento o che siano isolate. Collegare lo schermo alla massa del telaio o al piedino 1 del
connettore a 9 piedini e il morsetto 2 a -0 V alla massa del telaio dell'azionamento
MicroMaster.

Sistema di automazione S7-1200


748 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.4 Comunicazione USS (Universal Serial Interface)

Si devono inserire nella morsettiera


dell'azionamento MM4 i due conduttori
nell'altra estremità del cavo RS485.
Per collegare il cavo nell'azionamento
MM4, togliere il coperchio(i)
dell'azionamento per accedere alle
morsettiere. Per informazioni su come
rimuovere i coperchi dell'azionamento
consultare il manuale utente dell'MM4.

I morsetti sono contrassegnati con un numero. Utilizzando un connettore PROFIBUS sul lato
dell'S7-1200, collegare il morsetto A del cavo al morsetto 15 (MM420) o 30 (MM440)
dell'azionamento. Collegare il morsetto B (P) A (N) del connettore del cavo al morsetto 14
(MM420) o 29 (MM440).
Se l'S71200 è un nodo finale della rete o se il collegamento è di tipo punto a punto, utilizzare
i morsetti A1 e B1 (non A2 e B2) del connettore perché comprendono la terminazione della
rete (ad esempio con un connettore DP 6ES7 972-0BA40-0X40).

CAUTELA
Prima di collegare l'alimentazione rimontare correttamente i coperchi dell'azionamento
Prima di accendere l'unità, assicurarsi di aver rimontato correttamente i coperchi
dell'azionamento.

Se l'azionamento è stato configurato come


nodo di terminazione della rete, si devono
anche collegare le resistenze di
terminazione e polarizzazione ai morsetti
appropriati. Il diagramma illustra degli
esempi di collegamenti dell'azionamento
MM4 necessari per le resistenze di
terminazione e polarizzazione.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 749
Processore di comunicazione e Modbus TCP
12.4 Comunicazione USS (Universal Serial Interface)

Configurazione di un azionamento MM4


Prima di collegare un azionamento all'S7-1200, si deve verificare che abbia i parametri di
sistema descritti di seguito. Per impostare i parametri utilizzare la tastiera dell'azionamento.

1. Resettare l'azionamento sulle impostazioni di fabbrica (opzionale). P0010 = 30


P0970 = 1
Se si salta l'operazione n° 1, accertarsi che questi parametri siano impostati Lunghezza PZD USS = P2012 Indice 0 =
sui valori indicati: (2, 4, 6 o 8)
Lunghezza PKW USS = P2013 Indice 0 = 4
2. Attivare l'accesso in lettura e in scrittura per tutti i parametri (modo Expert). P0003 = 3
3. Controllare le impostazioni dell'azionamento relative al motore. Le P0304 = tensione nominale del motore (V)
impostazioni variano in funzione del motore utilizzato. P0305 = corrente nominale del motore (A)
Per impostare i parametri P304, P305, P307, P310 e P311 occorre impostare P0307 = potenza nominale del motore (W)
innanzitutto il parametro P010 a 1 (modo di messa in esercizio veloce). Al P0310 = frequenza nominale del motore
termine dell'impostazione dei parametri impostare il parametro P010 a 0. I (Hz)
parametri P304, P305, P307, P310 e P311 possono essere modificati solo P0311 = velocità nominale del motore
nel modo di messa in esercizio veloce.
4. Impostare la modalità di controllo locale/remota. P0700 Indice 0 = 5
5. Impostare il setpoint della frequenza su USS sulla porta COM. P1000 Indice 0 = 5
6. Tempo della rampa di salita (opzionale) P1120 = (0... 650.00)
Tempo in secondi necessario al motore per accelerare fino alla frequenza
massima.
7. Tempo della rampa di discesa (opzionale) P1121 = (0 ... 650.00)
Tempo in secondi necessario al motore per decelerare fino all'arresto.
8. Impostare la frequenza di riferimento del collegamento seriale: P2000 = (1 ... 650 Hz)
9. Impostare la normalizzazione USS: P2009 Indice 0 = 0
10. Impostare il baud rate dell'interfaccia seriale RS485: P2010 Indice 0 = 4 (2400 baud)
5 (4800 baud)
6 (9600 baud)
7 (19200 baud
8 (38400 baud)
9 (57600 baud)
12 (115200 baud)
11. Inserire l'indirizzo dello slave. P2011 Indice 0 = (0 ... 31)
Ogni azionamento (fino ad un massimo di 31) può essere gestito tramite un
bus.
12. Impostare il timeout del collegamento seriale. P2014 Indice 0 = (0 ... 65,535 ms)
Tempo massimo che può trascorrere fra due telegrammi di dati in ingresso. 0 = timeout disabilitato
Questo parametro viene utilizzato per disattivare l'invertitore in caso di
interruzione della comunicazione. Il calcolo del tempo inizia dopo che è stato
ricevuto un telegramma di dati. Se non vengono ricevuti altri telegrammi di
dati entro il tempo specificato l'invertitore si disinnesta e visualizza il codice
d'errore F0070. Se si imposta il valore a zero il controllo si disattiva.
13. Trasferire i dati dalla RAM alla EEPROM: P0971=1 (avvia trasferimento) Salva nella
EEPROM le modifiche apportate alle
impostazioni dei parametri

Sistema di automazione S7-1200


750 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

12.5 Comunicazione Modbus

12.5.1 Panoramica delle istruzioni Modbus TCP V13 per la comunicazione Modbus
RTU e TCP

Codici delle funzioni Modbus


● Una CPU che svolge funzione di master Modbus RTU (o di client Modbus TCP) può
scrivere/leggere sia i dati che lo stato degli I/O in uno slave Modbus RTU (o un server
Modbus TCP) remoto. I dati remoti possono essere letti ed elaborati nella logica del
programma utente.
● Una CPU che svolge funzione di slave Modbus RTU (o server Modbus TCP) consente a
un dispositivo di supervisione di leggere/scrivere sia i dati che lo stato degli I/O nella
memoria della CPU. Un master RTU (o un client Modbus TCP) può scrivere nella
memoria della CPU slave/server i nuovi valori disponibili per la logica del programma.

AVVERTENZA
Se un attaccante riesce ad accedere fisicamente alle reti ha la possibilità di leggere e
scrivere i dati.
Il TIA Portal, la CPU e le HMI (tranne le HMI che utilizzano GET/PUT) utilizzano la
comunicazione sicura che protegge dagli attacchi "replay" e "man-in-the-middle". Una volta
attivata la comunicazione i messaggi firmati vengono scambiati con testo in chiaro per cui
l'attaccante ha la possibilità di leggere i dati, ma non di scriverli. Il TIA Portal (non il
processo di comunicazione) codifica i dati dei blocchi con protezione del know-how.
Tutti gli altri tipi di comunicazione (scambio di I/O tramite PROFIBUS, PROFINET, AS-i o
altri moduli di bus I/O, GET/PUT, T-Block e di comunicazione (CM) non dispongono di
funzioni di sicurezza. In questi casi per proteggere la comunicazione si deve limitare
l'accesso fisico. Se un attaccante riesce ad accedere fisicamente alle reti utilizzando questi
tipi di comunicazione ha la possibilità di leggere e scrivere i dati.
Per informazioni e consigli sulla sicurezza consultare il documento "Operational Guidelines
for Industrial Security" (http://www.industry.siemens.com/topics/global/en/industrial-
security/Documents/operational_guidelines_industrial_security_en.pdf) nella pagina Web
Siemens Service & Support:

Tabella 12- 45 Funzioni di lettura dei dati: lettura di dati remoti di I/O e di programma

Codice delle funzioni Funzioni di lettura slave (server) - indirizzamento standard


Modbus
01 Leggi bit di uscita: da 1 a 2000 bit per richiesta
02 Leggi bit di ingresso: da 1 a 2000 bit per richiesta
03 Leggi registri di mantenimento: da 1 a 125 parole per richiesta
04 Leggi parole di ingresso: da 1 a 125 parole per richiesta

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 751
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Tabella 12- 46 Funzioni di scrittura dei dati: scrittura di dati di I/O remoti e modifica dei dati del
programma

Codice delle funzioni Funzioni di scrittura slave (server) - indirizzamento standard


Modbus
05 Scrivi un bit di uscita: 1 bit per richiesta
06 Scrivi un registro di mantenimento: 1 parola per richiesta
15 Scrivi uno o più bit di uscita: da 1 a 1968 bit per richiesta
16 Scrivi uno o più registri di mantenimento: da 1 a 123 parole per
richiesta

● I codici delle funzioni Modbus 08 e 11 forniscono informazioni sulla diagnostica della


comunicazione del dispositivo slave.
● Il codice della funzione Modbus 0 trasmette un messaggio a tutti gli slave (senza risposta
da parte dello slave). La funzione di trasmissione non è disponibile per Modbus TCP
perché la comunicazione è basata sul collegamento.

Tabella 12- 47 Indirizzi delle stazioni di rete Modbus

Stazione Indirizzo
Stazione RTU Campo di indirizzi di stazione da 1 a 247
standard
Campo di indirizzi di stazione da 1 a 65535
ampliato
Stazione TCP Indirizzo di stazione Indirizzo IP e numero di porta

Indirizzi di memoria Modbus


Il numero di indirizzi di memoria Modbus effettivamente disponibili dipende dal modello di
CPU, dalla memoria di lavoro disponibile e dalla quantità di memoria della CPU utilizzata da
altri dati del programma. La tabella sotto riportata indica il valore nominale del campo di
indirizzi.

Tabella 12- 48 Indirizzi di memoria Modbus

Stazione Campo degli indirizzi


Stazione RTU Campo di indirizzi di memoria 10K
standard
Campo di indirizzi di memoria 64K
ampliato
Stazione TCP Campo di indirizzi di memoria 10K
standard

Sistema di automazione S7-1200


752 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Comunicazione Modbus RTU


Modbus RTU (Remote Terminal Unit) è un protocollo standard per la comunicazione di rete
che utilizza le porte RS232 o RS485 per il trasferimento dei dati tra i dispositivi di rete
Modbus. Per aggiungere porte di rete PtP (Point to Point) a una CPU di può utilizzare un CM
RS232 o RS485 o una CB RS485.
Modbus RTU si serve di una rete master/slave nella quale le comunicazioni vengono avviate
da un solo dispositivo master e gli slave hanno solo la possibilità di rispondere alla richiesta
del master. Il master invia la richiesta a un indirizzo slave e solo quel determinato indirizzo
risponde al comando.

Comunicazione Modbus TCP


Modbus TCP (Transmission Control Protocol) è un protocollo standard per la comunicazione
di rete che utilizza il connettore PROFINET della CPU per la comunicazione TCP/IP. Nono
sono necessari altri moduli di comunicazione hardware.
Modbus TCP utilizza come percorso di comunicazione Modbus le comunicazioni OUC
(Open User Communication). Oltre al collegamento tra STEP 7 e la CPU si possono avere
altri collegamenti client-server fino al numero massimo consentito dal modello di CPU
impiegato (Pagina 525).
Ogni collegamento MB_SERVER deve usare un DB di istanza e numero di porta IP univoci.
È consentito 1 solo collegamento per ciascuna porta IP. Ogni MB_SERVER (con il proprio
DB di istanza e numero di porta IP univoci) deve essere eseguito separatamente per ciascun
collegamento.
Un client (master) Modbus TCP deve controllare il collegamento client-server con il
parametro DISCONNECT. Di seguito sono riportate le operazioni di base dei client Modbus.
1. Avvio del collegamento con un server (slave) identificato da un particolare indirizzo IP e
numero di porta IP
2. Trasmissione dei messaggi Modbus dei client e ricezione delle risposte del server
3. Se lo si desidera, interruzione del collegamento tra client e server per realizzare un
collegamento con un server diverso.

Istruzioni Modbus RTU del programma


● MB_COMM_LOAD: MB_COMM_LOAD viene eseguita per impostare i parametri della
porta PtP quali la velocità di trasmissione, la parità e il controllo del flusso. Una volta
configurata, la porta per il protocollo Modbus RTU può essere utilizzata solo
dall'istruzione MB_MASTER o MB_SLAVE.
● MB_MASTER: l'istruzione master Modbus consente alla CPU di svolgere la funzione di
master Modbus RTU e di comunicare con uno o più slave Modbus.
● MB_SLAVE: l'istruzione slave Modbus consente alla CPU di svolgere la funzione di slave
Modbus RTU e di comunicare con un master Modbus.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 753
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Istruzioni Modbus TCP del programma


● MB_CLIENT: stabilisce il collegamento client-server TCP, trasmette il messaggio di
comando, riceve la risposta e controlla lo scollegamento dal server
● MB_SERVER: stabilisce il collegamento con un client Modbus TCP su richiesta, riceve il
messaggio Modbus e trasmette la risposta

12.5.2 Modbus TCP

12.5.2.1 Istruzione MB_CLIENT (Comunica come client Modbus TCP tramite PROFINET)

Tabella 12- 49 Istruzione MB_CLIENT

KOP / FUP SCL Descrizione


"MB_CLIENT_DB"( MB_CLIENT comunica come
REQ:=_bool_in_, client Modbus TCP attraverso il
DISCONNECT:=_bool_in_, connettore PROFINET della CPU
CONNECT_ID=_uint_in_, S7-1200. Nono sono necessari
IP_OCTET_1:=_byte_in_, altri moduli di comunicazione
IP_OCTET_2:=_byte_in_, hardware.
IP_OCTET_3:=_byte_in_, MB_CLIENT può stabilire un
IP_OCTET_4:=_byte_in_, collegamento client-server,
IP_PORT:=_uint_in_, trasmettere una richiesta Modbus,
ricevere una risposta e controllare
MB_MODE:=_usint_in_,
lo scollegamento dal server
MB_DATA_ADDR:=_udint_in_,
Modbus TCP.
MB_DATA_LEN:=_uint_in_,
DONE=>_bool_out_,
BUSY=>_bool_out_,
ERROR=>_bool_out_,
STATUS=>_word_out_,
MB_DATA_PTR:=_variant_inout_);

Sistema di automazione S7-1200


754 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Tabella 12- 50 Tipi di dati per i parametri

Parametro e tipo Tipo di Descrizione


dati
REQ In Bool FALSE = nessun richiesta di comunicazione Modbus
TRUE = richiesta di comunicare con un server Modbus TCP
DISCONNECT IN Bool Il parametro DISCONNECT consente al programma di controllare il
collegamento e lo scollegamento dal server Modbus.
Se DISCONNECT = 0 e il collegamento non è attivo, MB_CLIENT cerca di
stabilirne uno con l'indirizzo IP e il numero di porta assegnati.
Se DISCONNECT = 1 ed è presente un collegamento viene avviata
l'operazione di scollegamento. Quando questo ingresso si attiva non
vengono eseguite altre operazioni.
CONNECT_ID IN UInt Il parametro CONNECT_ID deve identificare in modo univoco tutti i
collegamenti del PLC. Ogni istanza dell'istruzione MB_CLIENT o
MB_SERVER deve contenere un parametro CONNECT_ID univoco.
IP_OCTET_1 IN USInt Indirizzo IP di un server Modbus TCP: byte 1
parte di 8 bit dell'indirizzo IP di 32 bit "IPv4" del server Modbus TCP con il
quale il client si collega e comunica attraverso il protocollo Modbus TCP.
IP_OCTET_2 IN USInt Indirizzo IP di un server Modbus TCP: byte 2
IP_OCTET_3 IN USInt Indirizzo IP di un server Modbus TCP: byte 3
IP_OCTET_4 IN USInt Indirizzo IP di un server Modbus TCP: byte 4
IP_PORT IN UInt Valore di default = 502: Il numero della porta IP del server con cui il client
cerca di collegarsi e di comunicare attraverso il protocollo TCP/IP.
MB_MODE IN USInt Selezione del modo: assegna il tipo di richiesta (lettura, scrittura o
diagnostica). Per maggiori dettagli consultare la tabella delle funzioni
Modbus riportata più avanti.
MB_DATA_ADDR IN UDInt Indirizzo Modbus iniziale: assegna l'indirizzo iniziale dei dati a cui accede
l'MB_CLIENT. Gli indirizzi validi sono elencati nella tabella delle funzioni
Modbus riportata più avanti.
MB_DATA_LEN IN UInt Lunghezza dei dati Modbus: assegna il numero di bit o di parole a cui si
deve accedere nella richiesta. Le lunghezze valide sono indicate nella
tabella delle funzioni Modbus riportata più avanti
MB_DATA_PTR IN_OUT Variant Puntatore al registro dei dati Modbus: il registro memorizza i dati diretti
a/provenienti da un server Modbus. Il puntatore deve assegnare un DB
globale standard o un indirizzo di memoria M.
DONE OUT Bool Il bit DONE è vero per un ciclo di scansione se l'ultima richiesta si è
conclusa senza errori.
BUSY OUT Bool • 0 - Non è in corso alcuna operazione MB_CLIENT
• 1 - Operazione MB_CLIENT in corso
ERROR OUT Bool Il bit ERROR è vero per un ciclo di scansione se l'ultima esecuzione di
MB_CLIENT si è conclusa con un errore. Il valore del codice di errore nel
parametro STATUS è valido solo durante l'unico ciclo di scansione in cui
ERROR = TRUE.
STATUS OUT Word Codice della condizione di esecuzione

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 755
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Parametro REQ
FALSE = nessun richiesta di comunicazione Modbus
TRUE = richiesta di comunicare con un server Modbus TCP
Se non è attiva alcuna istanza di MB_CLIENT e il parametro DISCONNECT=0, quando
REQ=1 viene avviata una nuova richiesta Modbus. Se il collegamento non è già attivo ne
viene stabilito uno nuovo.
Se la stessa istanza di MB_CLIENT viene eseguita nuovamente con DISCONNECT=0 e
REQ=1 prima che la richiesta in corso venga portata a termine, non vengono effettuate altre
trasmissioni Modbus. Se invece MB_CLIENT viene eseguito con REQ=1, appena si
conclude la richiesta in corso è possibile elaborarne una nuova.
Al termine dell'attuale richiesta di comunicazione MB_CLIENT, il bit DONE resta vero per un
ciclo. Il bit DONE può essere utilizzato come time gate per eseguire una sequenza di
richieste MB_CLIENT.

Nota
Coerenza dei dati di ingresso durante l'elaborazione di MB_CLIENT
Quando il client Modbus avvia un'operazione Modbus, tutti gli stati degli ingressi vengono
salvati internamente e confrontati durante i richiami successivi. Il confronto consente di
determinare se la richiesta del client attiva è stata generata o meno da quel particolare
richiamo. Utilizzando un DB di istanza comune è possibile eseguire più richiami di
MB_CLIENT .
È quindi importante non modificare gli ingressi mentre è in corso l'elaborazione di
un'operazione MB_CLIENT . Se non si rispetta questa regola un MB_CLIENT non riesce a
determinare se è l'istanza attiva o meno.

I parametri MB_MODE e MB_DATA_ADDR consentono di selezionare la funzione di comunicazione


Modbus
MB_DATA_ADDR assegna l'indirizzo Modbus iniziale dei dati a cui si accede. L'istruzione
MB_CLIENT utilizza l'ingresso MB_MODE anziché l'ingresso di un codice funzione.
La combinazione dei valori di MB_MODE e MB_DATA_ADDR determina quale codice
funzione verrà utilizzato nel messaggio Modbus. La seguente tabella descrive l'interazione
tra il parametro MB_MODE, la funzione Modbus e il campo degli indirizzi Modbus.

Tabella 12- 51 Funzioni Modbus

MB_MODE Funzione Lunghezza Funzionamento e dati MB_DATA_ADDR


Modbus dei dati
0 01 da 1 a 2000 Leggi bit di uscita: da 1 a 9999
da 1 a 2000 bit per richiesta
0 02 da 1 a 2000 Leggi bit di ingresso: da 10001 a 19999
da 1 a 2000 bit per richiesta
0 03 da 1 a 125 Leggi registri di mantenimento: da 40001 a 49999 o
da 1 a 125 parole per richiesta da 400001 a 465535
0 04 da 1 a 125 Leggi parole di ingresso: da 30001 a 39999
da 1 a 125 parole per richiesta

Sistema di automazione S7-1200


756 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

MB_MODE Funzione Lunghezza Funzionamento e dati MB_DATA_ADDR


Modbus dei dati
1 05 1 Scrivi un bit di uscita: da 1 a 9999
un bit per richiesta
1 06 1 Scrivi un registro di scorrimento: da 40001 a 49999 o
1 parola per richiesta da 400001 a 465535
1 15 da 2 a 1968 Scrivi più bit di uscita: da 1 a 9999
da 2 a 1968 bit per richiesta
1 16 da 2 a 123 Scrivi più registri di mantenimento: da 40001 a 49999 o
da 2 a 123 parole per richiesta da 400001 a 465535
2 15 da 1 a 1968 Scrivi uno o più bit di uscita: da 1 a 9999
da 1 a 1968 bit per richiesta
2 16 da 1 a 123 Scrivi uno o più registri di mantenimento: da 40001 a 49999 o
da 1 a 123 parole per richiesta da 400001 a 465535
11 11 0 Leggi la parola di stato della comunicazione
server e il contatore degli eventi. La parola
di stato indica l'occupazione (0 - libera,
0xFFFF - occupata). Il contatore degli eventi
viene incrementato per ogni messaggio
concluso correttamente.
Entrambi gli operandi MB_DATA_ADDR e
MB_DATA_LEN di MB_CLIENT vengono
igorati in questa funzione.
80 08 1 Verifica lo stato del server utilizzando il
codice di diagnostica dei dati 0x0000 (test di
loopback - il server ripete la richiesta)
1 parola per richiesta
81 08 1 Resetta il contatore degli eventi del server
utilizzando il codice di diagnostica dei dati
0x000A
1 parola per richiesta
da 3 a 10, Riservati
da 12 a 79,
da 82 a 255

Nota
MB_DATA_PTR assegna un buffer per la memorizzazione dei dati letti/scritti da/verso il
server Modbus TCP
Il buffer di dati può trovarsi in un DB globale standard o in un indirizzo di memoria M.
Per i buffer nella memoria M si utilizza il formato Any Pointer standard, ovvero P#"indirizzo
bit" "tipo di dati" "lunghezza", ad esempio P#M1000.0 WORD 500.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 757
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

MB_DATA_PTR assegna un buffer di comunicazione


● MB_CLIENT funzioni di comunicazione:
– Lettura e scrittura di dati di 1 bit dagli indirizzi del server Modbus (da 00001 a 09999)
– Lettura di dati di 1 bit dagli indirizzi del server Modbus (da 10001 a 19999)
– Lettura di dati di una parola di 16 bit dagli indirizzi del server Modbus (da 30001 a
39999) e (da 40001 a 49999)
– Scrittura di dati di una parola di 16 bit negli indirizzi del server Modbus (da 40001 a
49999)
● I dati con lunghezza di bit o di parola vengono trasferiti da/verso il DB o la memoria M
assegnati da MB_DATA_PTR con la funzione di buffer.
● Se MB_DATA_PTR assegna come buffer un DB, si devono assegnare i tipi di dati a tutti
gli elementi dei dati del DB.
– Il tipo di dati Bool di 1 bit rappresenta un indirizzo di bit Modbus
– I tipi di dati di una sola parola di 16 bit, quali WORD, UInt e Int, rappresentano un
indirizzo di parola Modbus
– I tipi di dati di una doppia parola di 32 bit, quali DWORD, DInt e Real, rappresentano
due indirizzi di parola Modbus
● MB_DATA_PTR consente di assegnare elementi di DB complessi quali:
– Array standard
– Strutture definite da un nome nelle quali ogni elemento è univoco.
– Strutture complesse definite da un nome nelle quali ciascun elemento ha un nome
univoco e un tipo di dati di 16 o 32 bit.
● Non è necessario che le aree di dati di MB_DATA_PTR si trovino nello stesso blocco dati
globale (o area di memoria M). È possibile assegnare un blocco dati per le letture
Modbus, un altro blocco dati per le scritture Modbus o un blocco dati per ogni stazione
MB_CLIENT.

Collegamenti client multipli


Un client Modbus TCP può supportare più collegamenti TCP contemporaneamente fino al
numero massimo di collegamenti OUC consentito dal PLC. Il numero complessivo di
collegamenti di un PLC, compresi i client e i server Modbus TCP, non deve superare il
numero massimo di collegamenti OUC supportati (Pagina 525). I collegamenti Modbus TCP
possono essere ripartiti tra collegamenti di tipo client e/o server.
I collegamenti client devono rispettare le seguenti regole:
● Ogni collegamento MB_CLIENT deve usare un diverso DB di istanza
● Ogni collegamento MB_CLIENT deve utilizzare un indirizzo IP univoco per il server
● Ogni collegamento MB_CLIENT deve utilizzare un ID di collegamento univoco
● A seconda della configurazione del server può essere necessario o meno impostare
numeri di porta IP univoci

Sistema di automazione S7-1200


758 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

L'ID del collegamento deve essere univoco per ogni singolo collegamento. Ciò significa che
con ogni singolo DB di istanza si deve utilizzare un particolare ID di collegamento univoco. In
breve: il DB di istanza e l'ID di collegamento sono accoppiati e devono essere univoci per
ogni collegamento.

Tabella 12- 52 Variabili statiche del blocco dati di istanza MB_CLIENT accessibili all'utente

Variabile Tipo di Default Descrizione


dati
Blocked_Proc_Timeout Real 3.0 Tempo (secondi) di attesa prima che un'istanza client attiva bloccata
venga eliminata. Ciò può verificarsi ad esempio se è stata inviata una
richiesta del client e l'applicazione smette di eseguire la funzione del
client prima che questo abbia terminato la richiesta. Il limite massimo
per l'S7-1200 è di 55 secondi.
MB_Unit_ID Word 255 Identificatore di unità Modbus:
I server Modbus TCP vengono indirizzati con il relativo indirizzo IP. Il
parametro MB_UNIT_ID non viene quindi utilizzato per l'indirizzamento
Modbus TCP.
Il parametro MB_UNIT_ID corrisponde all'indirizzo slave del protocollo
Modbus RTU. Se si utilizza un server Modbus TCP per un gateway a
un protocollo Modbus RTU, si può utilizzare MB_UNIT_ID per
identificare lo slave collegato alla rete seriale. MB_UNIT_ID viene
utilizzato per inoltrare la richiesta all'indirizzo slave Modbus RTU
corretto.
Alcuni dispositivi Modbus TCP richiedono che il parametro
MB_UNIT_ID venga inizializzato entro un campo di valori limitato.
RCV_TIMEOUT Real 2.0 Tempo (secondi) per il quale l'MB_CLIENT attende che il server
risponda alla sua richiesta.
Connected Bool 0 Indica se il collegamento al server assegnato è attivo o meno:
1=collegato, 0=scollegato

Tabella 12- 53 Errore di protocollo MB_CLIENT

STATUS Codice di risposta Errori nel protocollo Modbus


(W#16#) inviato al client
Modbus
(B#16#)
8381 01 Codice della funzione non supportato
8382 03 Lunghezza dei dati errata
8383 02 Indirizzo dei dati errato o accesso non compreso entro i limiti validi per l'area di indirizzi
MB_HOLD_REG
8384 03 Valore dei dati errato
8385 03 Valore del codice di diagnostica dei dati non supportato (codice funzione 08)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 759
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Tabella 12- 54 Codici della condizione di esecuzione di MB_CLIENT 1

STATUS Errori di parametro MB_CLIENT


(W#16#)
7001 MB_CLIENT sta attendendo che il server Modbus risponda a una richiesta di collegamento e
scollegamento per la porta TCP assegnata. Questo codice viene emesso solo per la prima esecuzione
dell'operazione di collegamento e scollegamento.
7002 MB_CLIENT sta attendendo che il server Modbus risponda a una richiesta di collegamento e
scollegamento per la porta TCP assegnata. Questo codice viene emesso per tutte le esecuzioni
successive mentre l'istruzione attende che si concluda l'operazione di collegamento e scollegamento.
7003 È stata eseguita correttamente un'operazione di scollegamento (vale per un ciclo di scansione del PLC).
80C8 Il server non ha risposto entro il tempo assegnato. MB_CLIENT deve ricevere una risposta entro il tempo
assegnato utilizzando l'ID di transizione trasmesso originariamente oppure viene restituito questo errore.
Controllare il collegamento al server Modbus.
Questo errore viene rilevato solo dopo che sono stati effettuati tutti i tentativi di collegamento configurati
(se impostati).
8188 Valore del modo non valido
8189 Valore dell'indirizzo dei dati non valido
818A Valore di lunghezza dei dati non valido
818B Puntatore all'area DATA_PTR non valido. Può essere una combinazione di MB_DATA_ADDRESS +
MB_DATA_LEN.
818C Puntatore a un'area DATA_PTR ottimizzata (deve essere un'area DB standard o un'area di memoria M)
8200 La porta è occupata con l'elaborazione di una richiesta Modbus.
8380 Il frame Modbus ricevuto non è corretto o è stato ricevuto un numero insufficiente di byte.
8387 Il parametro dell'ID di collegamento è diverso dall'ID utilizzato per le richieste precedenti. Può esserci un
solo ID di collegamento per ogni DB di istanza MB_CLIENT.
Questo codice viene utilizzato anche come errore interno se l'ID di protocollo Modbus TCP ricevuto dal
server è diverso da 0.
8388 Il server Modbus ha restituito una quantità di dati diversa da quella richiesta. Questo può riguardare solo
le funzioni Modbus 15 o 16.
1 Oltre agli errori MB_CLIENT sopra elencati possono essere segnalati degli errori dalle istruzioni T di comunicazione
sottostanti (TCON, TDISCON, TSEND e TRCV).

Vedere anche
Istruzioni TCON, TDISCON, TSEND e TRCV (comunicazione TCP) (Pagina 541)

Sistema di automazione S7-1200


760 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

12.5.2.2 Istruzione MB_SERVER (Comunica come server Modbus TCP tramite PROFINET)

Tabella 12- 55 Istruzione MB_SERVER

KOP / FUP SCL Descrizione


"MB_SERVER_DB"( MB_SERVER comunica come server
DISCONNECT:=_bool_in_, Modbus TCP attraverso il connettore
CONNECT_ID:=_uint_in_, PROFINET della CPU S7-1200. Nono
IP_PORT:=_uint_in_, sono necessari altri moduli di
NDR=>_bool_out_, comunicazione hardware.
DR=>_bool_out_, MB_SERVER può accettare una
ERROR=>_bool_out_, richiesta di collegamento con il client
STATUS=>_word_out_, Modbus TCP, ricevere una richiesta
MB_HOLD_REG:=_variant_inout_); Modbus e trasmettere un messaggio di
risposta.

Tabella 12- 56 Tipi di dati per i parametri

Parametro e tipo Tipo di Descrizione


dati
DISCONNECT IN Bool MB_SERVER tenta di stabilire un collegamento "passivo" con un dispositivo
partner. Ciò significa che il server ascolta passivamente che arrivi una
richiesta di collegamento TCP da un qualsiasi indirizzo IP.
Se DISCONNECT = 0 e il collegamento non è stato stabilito, è possibile
avviare un collegamento passivo.
Se DISCONNECT = 1 ed è presente un collegamento viene avviata
l'operazione di scollegamento. In questo modo il programma può sapere
quando viene accettato un collegamento. Quando questo ingresso si attiva
non vengono eseguite altre operazioni.
CONNECT_ID IN UInt CONNECT_ID identifica in modo univoco i collegamenti di un PLC. Ogni
istanza dell'istruzione MB_CLIENT o MB_SERVER deve contenere un
parametro CONNECT_ID univoco.
IP_PORT IN UInt Valore di default = 502: numero che identifica la porta IP che verrà controllata
per verificare se è presente una richiesta di collegamento da un client
Modbus.
I seguenti numeri di porta TCP non sono consentiti per i collegamenti passivi
MB_SERVER: 20, 21, 25, 80, 102, 123, 5001, 34962, 34963 e 34964.
MB_HOLD_REG IN_OUT Variant Puntatore al registro di mantenimento Modbus MB_SERVER: Il registro di
mantenimento deve essere costituito da un DB globale standard o da un
indirizzo di memoria M. Questa area di memoria viene utilizzata per registrare
in modo permanente i valori a cui un client Modbus può accedere tramite le
funzioni di registro Modbus 3 (lettura), 6 (scrittura) e 16 (scrittura).
NDR OUT Bool Nuovi dati disponibili: 0 = Nessun nuovo dato, 1 = Indica che il client Modbus
ha scritto nuovi dati
DR OUT Bool Dati letti: 0 = Nessun dato letto, 1 = Indica che il client Modbus ha letto dei dati

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 761
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Parametro e tipo Tipo di Descrizione


dati
ERROR OUT Bool Il bit ERROR è vero per un ciclo di scansione se l'esecuzione di MB_SERVER
si è conclusa con un errore. Il valore del codice di errore nel parametro
STATUS è valido solo durante l'unico ciclo di scansione in cui ERROR =
TRUE.
STATUS OUT Word Codice della condizione di esecuzione

MB_SERVER consente ai codici delle funzioni di comunicazione Modbus (1, 2, 4, 5 e 15) di


leggere o scrivere bit e parole direttamente nell'immagine di processo degli ingressi e delle
uscite della CPU S7-1200. Per i codici funzione di traferimento dati (3, 6, e 16) il parametro
MB_HOLD_REG deve essere definito come un tipo di dati maggiore di un byte. La seguente
tabella descrive l'associazione degli indirizzi Modbus all'immagine di processo nella CPU.

Tabella 12- 57 Assegnazione di indirizzi Modbus all'immagine di processo

Funzioni Modbus S7-1200


Codici Funzione Area di dati Campo degli indirizzi Area di dati Indirizzo della CPU
01 Leggi bit Uscita 1 ... 8192 Immagine di processo delle Q0.0 ... Q1023.7
uscite
02 Leggi bit Ingresso 10001 ... 18192 Immagine di processo degli I0.0 ... I1023.7
ingressi
04 Leggi Ingresso 30001 ... 30512 Immagine di processo degli IW0 ... IW1022
parole ingressi
05 Scrivi bit Uscita 1 ... 8192 Immagine di processo delle Q0.0 ... Q1023.7
uscite
15 Scrivi bit Uscita 1 ... 8192 Immagine di processo delle Q0.0 ... Q1023.7
uscite

I codici delle funzioni di comunicazione Modbus (3, 6 e 16) leggono o scrivono parole in un
registro di mantenimento Modbus che può essere costituito da un campo di indirizzi di
memoria M o da un blocco dati. Il tipo di registro di mantenimento viene specificato dal
parametro MB_HOLD_REG.

Nota
Assegnazione dei parametri di MB_HOLD_REG
Il registro di mantenimento Modbus deve essere costituito da un DB globale standard o da
un indirizzo di memoria M.
Nel caso della memoria M si utilizza il formato Any Pointer standard, ovvero P#"indirizzo bit"
"tipo di dati" "lunghezza", ad esempio P#M1000.0 WORD 500

La tabella sotto riportata riporta degli esempi di indirizzi Modbus per l'assegnazione di
registri di mantenimento utilizzati per i codici delle funzioni Modbus 03 (lettura di parole), 06
(scrittura di parola) e 16 (scrittura di parole). Il limite superiore attuale degli indirizzi dei DB è
determinato dal limite massimo della memoria di lavoro e della memoria M, per ogni modello
di CPU.

Sistema di automazione S7-1200


762 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Tabella 12- 58 Esempi di assegnazione di un indirizzo Modbus a un indirizzo di memoria della CPU

Indirizzo Modbus Esempi di parametro MB_HOLD_REG


P#M100.0 Word 5 P#DB10.DBx0.0 Word 5 "Ricetta".ingrediente
40001 MW100 DB10.DBW0 "Ricetta".ingrediente[1]
40002 MW102 DB10.DBW2 "Ricetta".ingrediente[2]
40003 MW104 DB10.DBW4 "Ricetta".ingrediente[3]
40004 MW106 DB10.DBW6 "Ricetta".ingrediente[4]
40005 MW108 DB10.DBW8 "Ricetta".ingrediente[5]

Collegamenti server multipli


È possibile creare più collegamenti server in modo che un singolo PLC possa collegarsi a
più client Modbus TCP.
Un server Modbus TCP può supportare più collegamenti TCP contemporaneamente fino al
numero massimo di collegamenti OUC consentito dal PLC. Il numero complessivo di
collegamenti di un PLC, compresi i client e i server Modbus TCP, non deve superare il
numero massimo di collegamenti OUC supportati (Pagina 525). I collegamenti Modbus TCP
possono essere ripartiti tra collegamenti di tipo client e/o server.
Il collegamento server deve rispettare le seguenti regole:
● Ogni collegamento MB_SERVER deve usare un diverso DB di istanza
● Ogni collegamento MB_SERVER deve essere stabilito con un numero di porta IP
univoco. È consentito 1 solo collegamento per ciascuna porta IP.
● Ogni collegamento MB_SERVER deve utilizzare un ID di collegamento univoco
● MB_SERVER deve essere richiamata per ogni singolo collegamento (con il rispettivo DB
di istanza).
L'ID del collegamento deve essere univoco per ogni singolo collegamento. Ciò significa che
con ogni singolo DB di istanza si deve utilizzare un particolare ID di collegamento univoco. In
breve: il DB di istanza e l'ID di collegamento sono accoppiati e devono essere univoci per
ogni collegamento.

Tabella 12- 59 Codici delle funzioni di diagnostica Modbus

funzioni di diagnostica Modbus MB_SERVER


Codici Sotto- Descrizione
funzione
08 0x0000 Restituisce il test di eco dei dati: MB_SERVER restituisce a un client Modbus l'eco di una parola
di dati ricevuta.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 763
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

funzioni di diagnostica Modbus MB_SERVER


08 0x000A Resetta il contatore degli eventi di comunicazione: MB_SEVER resetta il contatore degli eventi di
comunicazione utilizzato per la funzione Modbus 11.
11 Legge il contatore degli eventi di comunicazione: MB_SEVER utilizza un contatore interno degli
eventi di comunicazione per registrare il numero di richieste di lettura e scrittura Modbus eseguite
correttamente che vengono inviate allo slave Modbus. Il valore del contatore non viene
incrementato in seguito alle richieste della funzione 8 o della funzione 11. Non viene
incrementato neppure in seguito alle richieste che determinano un errore di comunicazione.
La funzione di trasmissione non è disponibile per Modbus TCP perché è attivo un collegamento
client-server per volta.

Variabili MB_SERVER
Questa tabella illustra le variabili statiche memorizzate nel blocco dati di istanza
MB_SERVER che possono essere usate nel programma.

Tabella 12- 60 Variabili statiche pubbliche MB_SERVER

Variabile Tipo di Valore di Descrizione


dati default
HR_Start_Offset Word 0 Assegna l'indirizzo iniziale del registro di mantenimento Modbus
Request_Count Word 0 Il numero di tutte le richieste ricevute da questo server.
Server_Message_Count Word 0 Il numero di richieste ricevute per questo server specifico.
Xmt_Rcv_Count Word 0 Il numero di trasmissioni o ricezioni in cui si è verificiato un errore.
Viene inoltre incrementato se viene ricevuto un messaggio che non è
un messaggio Modbus valido.
Exception_Count Word 0 Gli errori specifici di Modbus che richiedono un'eccezione di ritorno
Success_Count Word 0 Il numero di richieste ricevute per questo server specifico senza errori
di protocollo.
Connected Bool 0 Indica se il collegamento al client assegnato è attivo o meno:
1=collegato, 0=scollegato

Il programma può scrivere i valori in HR_Start_Offset e comandare le operazioni del server


Modbus. Le altre variabili possono essere lette per controllare lo stato di Modbus.

HR_Start_Offset
Gli indirizzi dei registri di mantenimento Modbus iniziano a 40001. Questi indirizzi
corrispondono all'indirizzo iniziale della memoria PLC del registro di mantenimento. È
comunque possibile configurare la variabile "HR_Start_Offset" per avviare l'indirizzo iniziale
del registro di mantenimento Modbus su un valore diverso da 40001.
Ad esempio se il registro di mantenimento è configurato per iniziare con MW100 ed è lungo
100 parole. Un offset di 20 indica un indirizzo iniziale del registro di mantenimento pari a
40021 anziché 40001. Ogni indirizzo inferiore a 40021 e superiore a 40119 causerà un
errore di indirizzamento.

Sistema di automazione S7-1200


764 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Tabella 12- 61 Esempio di indirizzamento del registro di mantenimento Modbus

HR_Start_Offset Indirizzo Minimo Massimo


0 Indirizzo Modbus (Word) 40001 40099
Indirizzo S71200 MW100 MW298
20 Indirizzo Modbus (Word) 40021 40119
Indirizzo S71200 MW100 MW298

HR_Start_Offset è un valore di parola che indica l'indirizzo iniziale del registro di


mantenimento Modbus e viene salvato nel blocco dati di istanza MB_SERVER. Il valore di
questa variabile statica può essere impostato utilizzando l'elenco a discesa dei parametri
dopo aver inserito MB_SERVER nel programma.
Ad esempio, se si è inserita MB_SERVER in un segmento KOP si può passare a un
segmento precedente e assegnare il valore HR_Start_Offset. È necessario assegnare il
valore prima di eseguire MB_SERVER.

Inserimento di una variabile dello slave


Modbus
utilizzando il nome di default del DB:
1. Posizionare il cursore nel campo dei
parametri e scrivere una m
2. Selezionare "MB_SERVER_DB"
dall'elenco a discesa dei nomi dei DB.
3. Selezionare
"MB_SERVER_DB.HR_Start_Offset"
dall'elenco a discesa delle variabili dei DB.

Tabella 12- 62 Codici della condizione di esecuzione di MB_SERVER 1

STATUS Codice di risposta Errori nel protocollo Modbus


(W#16#) inviato al server
Modbus
(B#16#)
7001 MB_SERVER attende che un client Modbus si colleghi alla porta TCP assegnata.
Questo codice viene emesso solo per la prima esecuzione dell'operazione di
collegamento e scollegamento.
7002 MB_SERVER attende che un client Modbus si colleghi alla porta TCP assegnata.
Questo codice viene emesso per tutte le esecuzioni successive mentre l'istruzione
attende che si concluda l'operazione di collegamento e scollegamento.
7003 È stata eseguita correttamente un'operazione di scollegamento (vale per un ciclo di
scansione del PLC).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 765
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

STATUS Codice di risposta Errori nel protocollo Modbus


(W#16#) inviato al server
Modbus
(B#16#)
8187 Puntatore a MB_HOLD_REG non valido: l'area è troppo piccola.
818C Puntatore a un'area MB_HOLD_REG ottimizzata (deve essere un'area DB standard o
un'area di memoria M)) o il timeout per il processo bloccato supera il limite di 55
secondi. (specifico dell'S7-1200)
8381 01 Codice della funzione non supportato
8382 03 Lunghezza dei dati errata
8383 02 Indirizzo dei dati errato o accesso non compreso entro i limiti validi per l'area di indirizzi
MB_HOLD_REG
8384 03 Valore dei dati errato
8385 03 Valore del codice di diagnostica dei dati non supportato (codice funzione 08)
1 Oltre agli errori MB_SERVER sopra elencati possono essere segnalati degli errori dalle
istruzioni T di comunicazione sottostanti (TCON, TDISCON, TSEND e TRCV).

Vedere anche
Istruzioni TCON, TDISCON, TSEND e TRCV (comunicazione TCP) (Pagina 541)

12.5.2.3 Esempio di MB_SERVER: collegamenti TCP multipli


È possibile impostare più collegamenti server Modbus TCP eseguendo MB_SERVER per
ogni singolo collegamento. Ciascun collegamento deve utilizzare un proprio DB di istanza,
un proprio ID di collegamento e una propria porta IP. L'S7-1200 consente un solo
collegamento per porta IP.
Per ottimizzare le prestazioni MB_SERVER va eseguita in tutti i cicli del programma per
ciascun collegamento.
Segmento 1: Collegamento #1 con propria IP_PORT, proprio ID di collegamento e proprio
DB di istanza

Sistema di automazione S7-1200


766 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Segmento 2: Collegamento #2 con propria IP_PORT, proprio ID di collegamento e proprio


DB di istanza

12.5.2.4 Esempio di MB_CLIENT 1: più richieste con un collegamento TCP comune


È possibile trasmettere più richieste di client Modbus attraverso lo stesso collegamento. Per
realizzare questa opzione si deve utilizzare lo stesso DB di istanza, ID di collegamento e
numero di porta.
Può essere attivo 1 solo client per volta. Quando un client conclude la propria operazione,
inizia l'esecuzione del client successivo. L'ordine di esecuzione viene determinato dal
programma utente.
L'esempio illustra entrambi i client che scrivono nella stessa area di memoria. Inoltre viene
anche rilevato un errore restituito, una funzione impostabile in opzione.
Segmento 1: Funzione Modbus 1 - Leggi 16 bit dell'immagine delle uscite

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 767
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Segmento 2: Funzione Modbus 2 - Leggi 32 bit dell'immagine degli ingressi

12.5.2.5 Esempio di MB_CLIENT 2: più richieste con un collegamento TCP diverso


Le richieste del client Modbus possono essere trasmesse a collegamenti diversi. Per
realizzare questa opzione si devono impostare DB di istanza, indirizzi IP e ID di
collegamento diversi.
Se si stabiliscono collegamenti con lo stesso server Modbus il numero della porta deve
essere diverso. Se i collegamenti vengono stabiliti con server diversi non è previsto alcun
limite rispetto al numero della porta.
L'esempio illustra entrambi i client che scrivono nella stessa area di memoria. Inoltre viene
rilevato anche un errore restituito, una funzione impostabile in opzione.
Segmento 1:
Funzione Modbus 4 - Lettura di parole di ingresso (nella memoria dell'S7-1200)

Sistema di automazione S7-1200


768 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Segmento 2: funzione Modbus 3 - Lettura di parole del registro di mantenimento del server
Modbus TCP

12.5.2.6 Esempio di MB_CLIENT 3: Richiesta di scrittura nell'immagine di processo delle uscite


Questo esempio illustra una richiesta di scrittura nell'immagine di processo delle uscite
dell'S7-1200 proveniente da un client Modbus.
Segmento 1: Funzione Modbus 15 - Scrittura di bit nel registro dell'immagine delle uscite
dell'S7-1200

12.5.2.7 Esempio di MB_CLIENT 4: Coordinamento di più richieste


È necessario garantire che ogni singola richiesta Modbus TCP concluda la propria
esecuzione e prevedere questo coordinamento nel programma. L'esempio riportato di
seguito spiega come utilizzare le uscite della prima e della seconda richiesta del client per
coordinare l'esecuzione.
L'esempio illustra entrambi i client che scrivono nella stessa area di memoria. Inoltre viene
rilevato anche un errore restituito, una funzione impostabile in opzione.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 769
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Segmento 1: Funzione Modbus 3 - Leggi parole del registro di mantenimento

Segmento 2: Funzione Modbus 3 - Leggi parole del registro di mantenimento

12.5.3 Modbus RTU


In STEP 7 sono disponibili due versioni delle istruzioni Modbus RTU:
● La versione 1 era inizialmente disponibile in STEP 7 Basic V10.5.
● La versione 2 è disponibile in STEP 7 Basic/Professional V11. Nella progettazione della
versione 2 vengono aggiunti i parametri REQ e DONE a MB_COMM_LOAD. Inoltre il
parametro MB_ADDR per MB_MASTER e MB_SLAVE permette ora un valore UInt per
l'indirizzamento ampliato.
Ai fini della compatibilità e di una facile esecuzione della migrazione è possibile scegliere
quale versione inserire nel programma utente per le istruzioni.
Non utilizzare entrambe le versioni 1.x e 2.y nello stesso programma della CPU. Le istruzioni
Modbus del programma devono avere lo stesso numero di versione principale (1.x, 2.y o
V.z). Le singole istruzioni di un gruppo di versioni principale possono avere diverse versioni
minori (1.x).

Sistema di automazione S7-1200


770 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Per attivare le intestazioni e le colonne dell'albero delle istruzioni fare clic sul
relativo simbolo nella task card.

Per cambiare la versione delle istruzioni


Modbus selezionare la versione dall'elenco a
discesa. Si può selezionare il gruppo oppure
le singole istruzioni.
Quando si utilizza l'albero delle istruzioni per inserire un'istruzione Modbus nel programma
viene creata una nuova istanza FB nell'albero del progetto. Questa nuova istanza FB può
essere visualizzata nell'albero del progetto in PLC_x > Blocchi di programma > Blocchi di
sistema > Risorse del programma.
Per verificare la versione di un'istruzione Modbus in un programma occorre controllare le
proprietà dell'albero del progetto e non quelle di un box visualizzato nell'editor di programma.
Selezionare un'istanza FB Modbus dell'albero del progetto, fare clic con il tasto destro del
mouse, selezionare quindi "Proprietà" e successivamente la pagina "Informazioni" per
visualizzare il numero di versione di un'istruzione Modbus.

12.5.3.1 Istruzione MB_COMM_LOAD (Configura porta dell'unità PtP per Modbus RTU)

Tabella 12- 63 Istruzione MB_COMM_LOAD

KOP / FUP SCL Descrizione


"MB_COMM_LOAD_DB"( L'istruzione MB_COMM_LOAD configura una
REQ:=_bool_in, porta PtP per la comunicazione tramite
PORT:=_uint_in_, protocollo Modbus RTU. Opzioni hardware della
BAUD:=_udint_in_, porta Modbus: installazione di fino a 3 CM
PARITY:=_uint_in_, (RS485 o RS232) e un CB (R4845). Quando si
FLOW_CTRL:=_uint_in_, inserisce nel programma un'istruzione
MB_COMM_LOAD viene assegnato
RTS_ON_DLY:=_uint_in_,
automaticamente un blocco dati di istanza.
RTS_OFF_DLY:=_uint_in_,
RESP_TO:=_uint_in_,
DONE=>_bool_out,
ERROR=>_bool_out_,
STATUS=>_word_out_,
MB_DB:=_fbtref_inout_);

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 771
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Tabella 12- 64 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool La commutazione di un segnale da low a high (fronte di salita) avvia
l'operazione.
(Solo nella versione 2.0)
PORT IN Port Dopo aver installato e configurato il dispositivo di comunicazione CM o
CB l'identificativo della porta compare nell'elenco a discesa dei parametri
nel collegamento del box PORT. Il valore assegnato alla porta del CM o
della CB corrisponde alla proprietà "Identificazione HW" della
configurazione dispositivi. Il nome simbolico della porta viene assegnato
nella scheda "Costanti di sistema" della tabella delle variabili PLC.
BAUD IN UDInt Selezione della velocità di trasmissione:
300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 76800, 115200,
tutti gli altri valori non sono validi
PARITY IN UInt Parità:
• 0 – Nessuna parità
• 1 – Parità dispari
• 2 – Parità pari
FLOW_CTRL 1 IN UInt Controllo flusso:
• 0 – (default) Nessun controllo del flusso
• 1 – Controllo del flusso hardware con RTS sempre ON (non vale per
le porte RS485)
• 2 – Controllo del flusso hardware con RTS disattivato
RTS_ON_DLY 1 IN UInt Selezione del ritardo RTS ON:
• 0 – (default) Nessun ritardo da "RTS ON" alla trasmissione del primo
carattere del messaggio
• Da 1 a 65535 – Ritardo in millisecondi da "RTS ON" alla trasmissione
del primo carattere del messaggio (non vale per le porte RS485). I
ritardi RTS vengono applicati indipendentemente dal tipo di controllo
del flusso selezionato in FLOW_CTRL.
RTS_OFF_DLY 1 IN UInt Selezione del ritardo RTS OFF:
• 0 – (default) Nessun ritardo fra la trasmissione dell'ultimo carattere e
la disattivazione di RTS
• Da 1 a 65535 – Ritardo in millisecondi fra la trasmissione dell'ultimo
carattere e la disattivazione di RTS (non vale per le porte RS485). I
ritardi RTS vengono applicati indipendentemente dal tipo di controllo
del flusso selezionato in FLOW_CTRL.
RESP_TO 1 IN UInt Timeout di risposta:
tempo in millisecondi concesso dal master MB_MASTER per la risposta
dello slave. Se lo slave non risponde entro il tempo indicato il master
MB_MASTER ripete la richiesta oppure, nel caso sia stato raggiunto il
numero di tentativi specificato, la interrompe con un errore.
Da 5 ms a 65535 ms (valore di default = 1000 ms).
MB_DB IN Variant Riferimento al blocco dati di istanza utilizzato dalle istruzioni
MB_MASTER o MB_SLAVE. Dopo aver inserito nel programma
MB_SLAVE o MB_MASTER, l'identificativo del DB compare nell'elenco a
discesa dei parametri nel collegamento del box MB_DB.

Sistema di automazione S7-1200


772 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Parametro e tipo Tipo di dati Descrizione


DONE OUT Bool Il bit DONE è vero per un ciclo di scansione se l'ultima richiesta si è
conclusa senza errori. (Solo nella versione 2.0)
ERROR OUT Bool Il bit ERROR è vero per un ciclo di scansione se l'ultima richiesta si è
conclusa con un errore. Il valore del codice di errore nel parametro
STATUS è valido solo durante l'unico ciclo di scansione in cui ERROR =
TRUE.
STATUS OUT Word Codice della condizione di esecuzione
1 Parametri opzionali per MB_COMM_LOAD (V 2.x o successiva). fare clic sulla freccia situata nella parte inferiore di una
casella KOP/FUP per espandere la casella e includere questi parametri.

MB_COMM_LOAD consente di configurare una porta per il protocollo Modbus RTU. Quando
una porta è configurata per il protocollo Modbus RTU, può essere utilizzata solo
dall'istruzione MB_MASTER o MB_SLAVE.
È necessario usare un'esecuzione diversa di MB_COMM_LOAD per ogni porta di
comunicazione riservata alla comunicazione Modbus. Assegnare un DB di istanza
MB_COMM_LOAD univoco ad ogni porta utilizzata. Nella CPU si possono installare fino a
tre moduli di comunicazione (RS232 o RS485) e una scheda di comunicazione (RS485).
Richiamare MB_COMM_LOAD da un OB di avviamento ed eseguirla una volta oppure
avviare il richiamo che la esegua una volta utilizzando il flag di sistema del primo ciclo di
scansione (Pagina 102). Eseguire nuovamente MB_COMM_LOAD solo se occorre
modificare i parametri di comunicazione come la velocità di trasmissione o la parità.
Quando si inseriscono nel programma le istruzioni MB_MASTER o MB_SLAVE viene loro
assegnato un rispettivo blocco dati di istanza. È questo blocco dati di istanza che deve
essere indicato quando si specifica il parametro MB_DB nell'istruzione MB_COMM_LOAD.

Variabili del blocco dati per MB_COMM_LOAD


La tabella seguente illustra le variabili statiche memorizzate nel DB di istanza per
MB_COMM_LOAD che possono essere usate nel programma.

Tabella 12- 65 Variabili statiche nel DB di istanza

Variabile Tipo di dati Descrizione


ICHAR_GAP UInt Ritardo del gap intercaratteri. Questo parametro viene specificato in
millisecondi e utilizzato per aumentare il tempo di attesa tra i caratteri ricevuti.
Il numero corrispondente di tempi di bit per questo parametro viene sommato
a quello di default del Modbus pari a 35 tempi di bit (3,5 tempi di carattere).
RETRIES UInt Numero di tentativi che il master effettua prima di generare il codice dell'errore
di risposta assente 0x80C8.
STOP_BITS USInt Numero di bit di stop usati per adattare ogni carattere. Sono ammessi i valori 1
e 2.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 773
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Tabella 12- 66 Codici della condizione di esecuzione di MB_COMM_LOAD 1

STATUS (W#16#) Descrizione


0000 Nessun errore
8180 Valore di ID della porta non valido (porta/identificazione hardware del modulo di
comunicazione errata)
8181 Valore della velocità di trasmissione non valido
8182 Valore di parità non valido
8183 Valore di controllo del flusso non valido
8184 Valore del timeout di risposta non valido (timeout di risposta inferiore al minimo consentito
pari a 5 ms)
8185 Il parametro MB_DB non è un blocco dati di istanza di un'istruzione MB_MASTER o
MB_SLAVE.
1 Oltre agli errori dell'istruzione MB_COMM_LOAD sopra elencati possono essere restituiti errori dalle istruzioni di
comunicazione PtP sottostanti.

12.5.3.2 Istruzione MB_MASTER (Comunica come master Modbus tramite porta PtP)

Tabella 12- 67 Istruzione MB_MASTER

KOP / FUP SCL Descrizione


"MB_MASTER_DB"( L'istruzione MB_MASTER comunica come un
REQ:=_bool_in_, master Modbus utilizzando una porta configurata
MB_ADDR:=_uint_in_, durante una precedente esecuzione dell'istruzione
MODE:=_usint_in_, MB_COMM_LOAD. Quando si inserisce nel
DATA_ADDR:=_udint_in_, programma un'istruzione MB_MASTER viene
DATA_LEN:=_uint_in_, assegnato automaticamente un blocco dati di
istanza. Questo blocco dati di istanza
DONE=>_bool_out_,
MB_MASTER viene utilizzato quando si specifica il
BUSY=>_bool_out_,
parametro MB_DB nell'istruzione
ERROR=>_bool_out_, MB_COMM_LOAD.
STATUS=>_word_out_,
DATA_PTR:=_variant_inout_);

Tabella 12- 68 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


REQ IN Bool 0 = Nessuna richiesta
1 = Richiesta di trasmissione dei dati allo slave Modbus
MB_ADDR IN V1.0: USInt Indirizzo della stazione Modbus RTU:
V2.0: UInt Campo di indirizzamento predefinito (da 1 a 247)
Campo di indirizzamento ampliato (da 1 a 65535)
Il valore 0 è riservato alla trasmissione di un messaggio a tutti gli slave
Modbus. Gli unici codici delle funzioni Modbus supportati per la
trasmissione sono 05, 06, 15 e 16.
MODE IN USInt Selezione del modo: specifica il tipo di richiesta (lettura, scrittura o
diagnostica). Per maggiori dettagli consultare la tabella delle funzioni
Modbus riportata più avanti.

Sistema di automazione S7-1200


774 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Parametro e tipo Tipo di dati Descrizione


DATA_ADDR IN UDInt Indirizzo iniziale nello slave: specifica l'indirizzo iniziale dei dati a cui si
vuole accedere nello slave Modbus. Gli indirizzi validi sono elencati nella
tabella delle funzioni Modbus riportata più avanti.
DATA_LEN IN UInt Lunghezza dei dati: specifica il numero di bit o di parole a cui si deve
accedere nella richiesta. Le lunghezze valide sono indicate nella tabella
delle funzioni Modbus riportata più avanti.
DATA_PTR IN Variant Puntatore dati: punta all'indirizzo M o del DB (tipo di DB standard) per
rilevare i dati da scrivere o leggere.
DONE OUT Bool Il bit DONE è vero per un ciclo di scansione se l'ultima richiesta si è
conclusa senza errori.
BUSY OUT Bool • 0 – Non è in corso alcuna istruzione MB_MASTER
• 1 – È in corso un'istruzione MB_MASTER
ERROR OUT Bool Il bit ERROR è vero per un ciclo di scansione se l'ultima richiesta si è
conclusa con un errore. Il valore del codice di errore nel parametro
STATUS è valido solo durante l'unico ciclo di scansione in cui ERROR =
TRUE.
STATUS OUT Word Codice della condizione di esecuzione

Regole per la comunicazione master Modbus


● Perché un'istruzione MB_MASTER possa comunicare con una porta è necessario che
questa sia stata configurata eseguendo MB_COMM_LOAD.
● Se una porta viene utilizzata per inizializzare le richieste del master Modbus, non
dovrebbe essere utilizzata da MB_SLAVE. La porta può essere utilizzata con una o più
istanze dell'istruzione MB_MASTER, le quali tuttavia devono utilizzare tutte lo stesso DB
di istanza MB_MASTER per la porta.
● Le istruzioni Modbus non utilizzano eventi di allarme per comandare il processo di
comunicazione. Per rilevare le condizioni di trasmissione e ricezione conclusa il
programma deve interrogare l'istruzione MB_MASTER.
● Si consiglia di richiamare tutte le istruzioni MB_MASTER per una determinata porta
dall'OB di ciclo del programma. Queste istruzioni possono essere eseguite solo in uno dei
livelli del ciclo di programma o di ritardo/schedulazione orologio. Non devono essere
eseguite in entrambi i livelli di priorità. L'esecuzione preventiva di un'istruzione
MB_MASTER da parte di un'altra istruzione MB_MASTER in un livello di priorità
superiore causerà un funzionamento scorretto. Le istruzioni MB_MASTER non devono
essere eseguite nei livelli di priorità di avviamento, diagnostica o errore temporale.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 775
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

● Quando un'istruzione del master inizializza una trasmissione, questa istanza deve essere
eseguita ininterrottamente con l'ingresso EN abilitato fino a quando viene restituito lo
stato DONE = 1 o ERROR = 1. Una determinata istanza MB_MASTER si considera attiva
fino al verificarsi di uno di questi due eventi. Con l'istanza originale attiva qualsiasi
richiamo di una qualsiasi altra istanza con l'ingresso REQ abilitato causerà un errore. Se
l'esecuzione continua dell'istanza originale viene arrestata, lo stato della richiesta rimane
attivo per un periodo di tempo specificato dalla variabile statica Blocked_Proc_Timeout.
Trascorso questo periodo di tempo, la successiva istruzione master richiamata con un
ingresso REQ abilitato diventerà l'istanza attiva. Ciò permette di prevenire che una
singola istanza MB_MASTER monopolizzi o blocchi l'accesso ad una porta. Se l'istanza
originale attiva non viene abilitata entro il periodo di tempo indicato dalla variabile statica
Blocked_Proc_Timeout", la sua successiva esecuzione (con REQ non impostato)
resetterà lo stato attivo. Se REQ è impostato questa esecuzione inizializza una nuova
richiesta del master come se non fosse attiva nessun'altra istanza.

Parametro REQ
0 = Nessuna richiesta; 1 = Richiesta di trasmissione dei dati allo slave Modbus
Questo ingresso pu; essere controllato utilizzando un contatto attivato dal livello o dal fronte.
Quando questo ingresso si attiva, viene avviata una funzione di stato che garantisce che
nessun altro MB_MASTER che utilizza lo stesso DB di istanza possa trasmettere una
richiesta finché non termina la richiesta in corso. Gli altri stati degli ingressi vengono rilevati e
mantenuti in memoria internamente per la richiesta in corso finché non viene ricevuta una
risposta o non viene individuato un errore.
Se la stessa istanza di MB_MASTER viene eseguita nuovamente con l'ingresso REQ = 1
prima che la richiesta in corso venga portata a termine, non vengono effettuate altre
trasmissioni. Conclusa l'esecuzione della richiesta, non appena MB_MASTER viene
eseguito con l'ingresso REQ = 1 ne viene trasmessa una nuova.

I parametri DATA_ADDR e MODE consentono di selezionare il tipo di funzione Modbus


DATA_ADDR (indirizzo Modbus iniziale nello slave): specifica l'indirizzo iniziale dei dati a cui
si vuole accedere nello slave Modbus.
L'istruzione MB_MASTER utilizza l'ingresso MODE anziché l'ingresso di un codice funzione.
La combinazione di MODE e dell'indirizzo Modbus determina quale codice funzione verrà
utilizzato nel messaggio Modbus. La seguente tabella descrive l'interazione tra il parametro
MODE, il codice funzione Modbus e il campo degli indirizzi Modbus.

Sistema di automazione S7-1200


776 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Tabella 12- 69 Funzioni Modbus

MODE Funzione Lunghezza Funzionamento e dati Indirizzo


Modbus dei dati Modbus
0 01 da 1 a 2000 Leggi bit di uscita: da 1 a 9999
da 1 a 1992 1 da 1 a (1992 o 2000) bit per richiesta
0 02 da 1 a 2000 Leggi bit di ingresso: da 10001 a 19999
da 1 a 1992 1 da 1 a (1992 o 2000) bit per richiesta
0 03 da 1 a 125 Leggi registri di mantenimento: da 40001 a 49999 o
da 1 a 124 1 da 1 a (124 o 125) parole per richiesta da 400001 a 465535
0 04 da 1 a 125 Leggi parole di ingresso: da 30001 a 39999
da 1 a 124 1 da 1 a (124 o 125) parole per richiesta
1 05 1 Scrivi un bit di uscita: da 1 a 9999
un bit per richiesta
1 06 1 Scrivi un registro di scorrimento: da 40001 a 49999 o
1 parola per richiesta da 400001 a 465535
1 15 da 2 a 1968 Scrivi più bit di uscita: da 1 a 9999
da 2 a 1960 1 da 2 a (1960 o 1968) bit per richiesta
1 16 da 2 a 123 Scrivi più registri di mantenimento: da 40001 a 49999 o
da 2 a 122 1 da 2 a (122 o 123) parole per richiesta da 400001 a 465535
2 15 da 1 a 1968 Scrivi uno o più bit di uscita: da 1 a 9999
da 1 a 1960 1 da 1 a (1960 o 1968) bit per richiesta
2 16 da 1 a 123 Scrivi uno o più registri di mantenimento: da 40001 a 49999 o
da 1 a 122 1 da 1 a (122 o 123) parole per richiesta da 400001 a 465535
11 11 0 Leggi la parola di stato della comunicazione slave e il
contatore degli eventi. La parola di stato indica
l'occupazione (0 - libera, 0xFFFF - occupata). Il contatore
degli eventi viene incrementato per ogni messaggio
concluso correttamente.
Entrambi gli operandi DATA_ADDR e DATA_LEN di
MB_MASTER vengono igorati in questa funzione.
80 08 1 Verifica lo stato dello slave utilizzando il codice di
diagnostica dei dati 0x0000 (test di loopback - lo slave
ripete la richiesta)
1 parola per richiesta
81 08 1 Resetta il contatore degli eventi dello slave utilizzando il
codice di diagnostica dei dati 0x000A
1 parola per richiesta
da 3 a Riservati
10,
da 12 a
79,
da 82 a
255
1 Per il modo di indirizzamento ampliato le lunghezze massime dei dati vengono ridotte di 1 byte o 1 parola a seconda
del tipo di dati utilizzati dalla funzione.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 777
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Parametro DATA_PTR
Il parametro DATA_PTR indica l'indirizzo DB o M da scrivere o leggere. Se si utilizza un
blocco dati è necessario creare un blocco dati globale che memorizzi i dati per le letture e le
scritture negli slave Modbus.

Nota
Il tipo di blocco dati DATA_PTR deve consentire l'indirizzamento diretto
Il blocco dati deve consentire l'indirizzamento diretto (assoluto) e simbolico. Quando si crea il
blocco dati deve essere selezionato l'attributo di accesso "Predefinito".

Strutture di blocchi dati per il parametro DATA_PTR


● Questi tipi di dati sono validi per le letture di parole degli indirizzi Modbus da 30001 a
39999, da 40001 a 49999 e da 400001 a 465536 oltre che per le scritture di parole negli
indirizzi Modbus da 40001 a 49999 e da 400001 a 465536.
– Array predefinito con tipo di dati WORD, UINT o INT
– Struttura WORD, UINT o INT definita da un nome nella quale ciascun elemento ha un
nome univoco e un tipo di dati di 16 bit.
– Struttura complessa definita da un nome nella quale ciascun elemento ha un nome
univoco e un tipo di dati di 16 o 32 bit.
● Per le letture e le scritture dei bit degli indirizzi Modbus da 00001 a 09999 e le letture dei
bit da 10001 a 19999.
– Array standard con tipi di dati booleani.
– Struttura booleana definita da un nome costituita da variabili booleane denominate in
modo univoco.
● Nonostante non sia necessario è consigliabile associare ogni istruzione MB_MASTER a
un'area di memoria specifica. Questo perché se più istruzioni MB_MASTER leggono e
scrivono nella stessa area di memoria è più probabile che i dati si corrompano.
● Non è necessario che le aree di dati di DATA_PTR si trovino nello stesso blocco dati
globale. È possibile creare un blocco dati con più aree per le letture Modbus, un blocco
dati per le scritture Modbus o un blocco dati per ogni stazione slave.

Sistema di automazione S7-1200


778 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Variabili del blocco dati per MB_MASTER


La seguente tabella illustra le variabili statiche memorizzate nel DB di istanza per
MB_MASTER che possono essere usate nel programma.

Tabella 12- 70 Variabili statiche nel DB di istanza

Variabile Tipo di Valore Descrizione


dati iniziale
Blocked_Proc_T Real 3.0 Tempo (in secondi) di attesa prima che un'istanza MB_MASTER attiva
imeout bloccata venga rimossa. Ciò può verificarsi ad esempio quando è stata
inviata una richiesta del master e il programma termina di richiamare la
funzione del master prima che abbia terminato completamente la richiesta. Il
valore di tempo deve essere maggiore di 0 e inferiore a 55 secondi, altrimenti
si verifica un errore. Il valore di default è .5 secondi.
Extended_Addr Bool Falso Configura l'indirizzamento dello slave a byte singolo o a doppio byte. Il valore
essing di default è 0.
(0 = indirizzo a byte singolo, 1 = indirizzo a doppio byte)

Il programma può scrivere i valori nelle variabili Blocked_Proc_Timeout e


Extended_Addressing per comandare le istruzioni MB_MASTER. Per consultare un esempio
sulle modalità di utilizzo di queste variabili nell'editor di programma e per visualizzare i
dettagli dell'indirizzamento avanzato con Modbus vedere la descrizione del topic MB_SLAVE
per HR_Start_Offset e Extended_Addressing (Pagina 780).

Codici delle condizioni di errore

Tabella 12- 71 Codici della condizione di esecuzione di MB_MASTER (errori di comunicazione e configurazione) 1

STATUS (W#16#) Descrizione


0000 Nessun errore
80C8 Timeout dello slave. Verificare la velocità di trasmissione, la parità e il cablaggio dello slave.
80D1 Il ricevitore ha inviato una richiesta di controllo del flusso per sospendere una trasmissione
attiva e non ha più ristabilito la trasmissione durante il tempo di attesa specificato.
Questo errore viene generato anche durante il controllo di flusso hardware se il ricevitore non
invia un CTS entro il tempo di attesa specificato.
80D2 La richiesta di trasmissione è stata interrotta perché non è stato ricevuto alcun segnale DSR
dal DCE.
80E0 Il messaggio è stato concluso perché il buffer di ricezione è pieno.
80E1 Il messaggio è stato concluso a causa di un errore di parità.
80E2 Il messaggio è stato concluso a causa di un errore di framing.
80E3 Il messaggio è stato concluso a causa di un errore di overrun.
80E4 Il messaggio è stato concluso perchè la lunghezza specificata supera la dimensione
complessiva del buffer.
8180 Valore dell'ID della porta non valido o errore nell'istruzione MB_COMM_LOAD
8186 Indirizzo della stazione Modbus non valido
8188 Modo specificato per la richiesta di trasmissione non valido
8189 Valore dell'indirizzo dei dati non valido

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 779
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

STATUS (W#16#) Descrizione


818A Valore di lunghezza dei dati non valido
818B Puntatore non valido all'origine/sorgente dei dati: dimensione non corretta
818C Puntatore per DATA_PTR non valido o Blocked_Proc_Timeout non valido: l'area di dati deve
essere un DB (che consente sia l'accesso simbolico che quello diretto) o una memoria M.
8200 La porta è occupata dall'elaborazione di una richiesta di trasmissione.

Tabella 12- 72 Codici della condizione di esecuzione di MB_MASTER (errori nel protocollo Modbus) 1

STATUS (W#16#) Codice della risposta Errori nel protocollo Modbus


dello slave
8380 - Errore CRC
8381 01 Codice della funzione non supportato
8382 03 Lunghezza dei dati errata
8383 02 Indirizzo dei dati errato o indirizzo al di fuori del campo valido per
DATA_PTR
8384 Maggiore di 03 Valore dei dati errato
8385 03 Valore del codice di diagnostica dei dati non supportato (codice
funzione 08)
8386 - Il codice funzione della risposta non corrisponde al codice della
richiesta.
8387 - Risposta dallo slave errata
8388 - La risposta dello slave a una richiesta di scrittura è errata. La risposta
dello slave non corrisponde alla richiesta inviata dal master.
1 Oltre agli errori dell'istruzione MB_MASTER sopra elencati possono essere restituiti errori dalle istruzioni di
comunicazione PtP sottostanti.

12.5.3.3 Istruzione MB_SLAVE (Comunica come slave Modbus tramite porta PtP)

Tabella 12- 73 Istruzione MB_SLAVE

KOP / FUP SCL Descrizione


"MB_SLAVE_DB"( L'istruzione MB_SLAVE consente al
MB_ADDR:=_uint_in_, programma di comunicare come uno slave
NDR=>_bool_out_, Modbus attraverso una porta PtP sul CM
DR=>_bool_out_, (RS485 o RS232) e la CB (RS485). Quando
ERROR=>_bool_out_, un master Modbus RTU remoto invia una
STATUS=>_word_out_, richiesta il programma utente risponde
eseguendo l'istruzione MB_SLAVE. STEP 7
MB_HOLD_REG:=_variant_inout_);
crea automaticamente il DB di istanza quando
si inserisce l'istruzione. Utilizzare il nome
MB_SLAVE_DB quando si specifica il
parametro MB_DB nell'istruzione
MB_COMM_LOAD.

Sistema di automazione S7-1200


780 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Tabella 12- 74 Tipi di dati per i parametri

Parametro e tipo Tipo di dati Descrizione


MB_ADDR IN V1.0: USInt L'indirizzo della stazione dello slave Modbus:
V2.0: UInt Campo di indirizzamento predefinito (da 1 a 247)
Campo di indirizzamento ampliato (da 0 a 65535)
MB_HOLD_REG IN Variant Puntatore al DB di registro di mantenimento Modbus: il registro di
mantenimento Modbus può essere una memoria M o un blocco
dati.
NDR OUT Bool Nuovi dati disponibili:
• 0 – Nessun nuovo dato
• 1 – Indica che il master Modbus ha scritto nuovi dati
DR OUT Bool Dati letti:
• 0 – Nessun dato letto
• 1 – Indica che il master Modbus ha letto dei dati
ERROR OUT Bool Il bit ERROR è vero per un ciclo di scansione se l'ultima richiesta
si è conclusa con un errore. Se l'esecuzione si conclude con un
errore, il valore del codice di errore nel parametro STATUS è
valido solo durante l'unico ciclo di scansione in cui ERROR =
TRUE.
STATUS OUT Word Codice degli errori di esecuzione

I codici delle funzioni di comunicazione Modbus (1, 2, 4, 5 e 15) possono leggere e scrivere
bit e parole direttamente nell'immagine di processo degli ingressi e delle uscite della CPU.
Per questi codici funzione il parametro MB_HOLD_REG deve essere definito come un tipo di
dati maggiore di un byte. La seguente tabella illustra un esempio di assegnazione degli
indirizzi Modbus all'immagine di processo nella CPU.

Tabella 12- 75 Assegnazione di indirizzi Modbus all'immagine di processo

Funzioni Modbus S7-1200


Codici Funzione Area di dati Campo degli indirizzi Area di dati Indirizzo della CPU
01 Leggi bit Uscita 1 ... 8192 Immagine di processo delle Q0.0 ... Q1023.7
uscite
02 Leggi bit Ingresso 10001 ... 18192 Immagine di processo degli I0.0 ... I1023.7
ingressi
04 Leggi Ingresso 30001 ... 30512 Immagine di processo degli IW0 ... IW1022
parole ingressi
05 Scrivi bit Uscita 1 ... 8192 Immagine di processo delle Q0.0 ... Q1023.7
uscite
15 Scrivi bit Uscita 1 ... 8192 Immagine di processo delle Q0.0 ... Q1023.7
uscite

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 781
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

I codici delle funzioni di comunicazione Modbus (3, 6, 16) utilizzano un registro di


mantenimento Modbus che può essere un campo di indirizzi della memoria M o un blocco
dati. Il tipo di registro di mantenimento viene specificato dal parametro MB_HOLD_REG
nell'istruzione MB_SLAVE.

Nota
Tipo di blocco dati MB_HOLD_REG
Un blocco dati del registro di mantenimento Modbus deve consentire sia l'indirizzamento
diretto (assoluto) che quello simbolico. Quando si crea il blocco dati deve essere selezionato
l'attributo di accesso "Predefinito".

La tabella seguente mostra degli esempi di indirizzi Modbus per l'assegnazione di registri di
mantenimento utilizzati per i codici delle funzioni Modbus 03 (lettura di parole), 06 (scrittura
di parola) e 16 (scrittura di parole). Il limite superiore attuale degli indirizzi dei DB è
determinato dal limite massimo della memoria di lavoro e della memoria M, per ogni modello
di CPU.

Tabella 12- 76 Assegnazione degli indirizzi Modbus alla memoria della CPU

Indirizzo del Esempi di parametro MB_HOLD_REG


master Modbus MW100 DB10.DBw0 MW120 DB10.DBW50 "Ricetta".ingrediente
40001 MW100 DB10.DBW0 MW120 DB10.DBW50 "Ricetta".ingrediente[1]
40002 MW102 DB10.DBW2 MW122 DB10.DBW52 "Ricetta".ingrediente[2]
40003 MW104 DB10.DBW4 MW124 DB10.DBW54 "Ricetta".ingrediente[3]
40004 MW106 DB10.DBW6 MW126 DB10.DBW56 "Ricetta".ingrediente[4]
40005 MW108 DB10.DBW8 MW128 DB10.DBW58 "Ricetta".ingrediente[5]

Tabella 12- 77 Funzioni di diagnostica

Funzioni di diagnostica Modbus di MB_SLAVE per S7-1200


Codici Sotto-funzione Descrizione
08 0000H Restituisce il test di eco dei dati: MB_SLAVE restituisce a un master Modbus l'eco di
una parola di dati ricevuta.
08 000AH Resetta il contatore degli eventi di comunicazione: MB_SLAVE resetta il contatore degli
eventi di comunicazione utilizzato per la funzione Modbus 11.
11 Legge il contatore degli eventi di comunicazione: MB_SLAVE utilizza un contatore
interno degli eventi di comunicazione per registrare il numero di richieste di lettura e
scrittura Modbus eseguite correttamente che vengono inviate allo slave Modbus. Il
valore del contatore non viene incrementato in seguito alle richieste della funzione 8,
della funzione 11 o di trasmissione e nemmeno in seguito alle richieste che si
concludono con un errore di comunicazione (ad esempio errori di parità o di CRC).

L'istruzione MB_SLAVE supporta le richieste di trasmissione di scrittura provenienti da


qualsiasi master Modbus, purché prevedano l'accesso a indirizzi validi. Per i codici delle
funzioni non supportati per la trasmissione, MB_SLAVE genera il codice di errore 0x8188.

Sistema di automazione S7-1200


782 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Regole di comunicazione dello slave Modbus


● Perché un'istruzione MB_SLAVE possa comunicare attraverso una porta è necessario
che questa sia stata configurata eseguendo MB_COMM_LOAD.
● La porta che deve rispondere come slave a un master Modbus non può essere
programmata con l'istruzione MB_MASTER.
● Con una determinata porta è consentito utilizzare una sola istanza di MB_SLAVE,
altrimenti può verificarsi un comportamento irregolare.
● Le istruzioni Modbus non utilizzano eventi di allarme per comandare il processo di
comunicazione. Per il comando della comunicazione il programma deve interrogare
l'istruzione MB_SLAVE e richiedere le condizioni complete di trasmissione e ricezione.
● L'istruzione MB_SLAVE deve essere eseguita periodicamente ad una velocità che le
consenta di reagire tempestivamente alle richieste provenienti da un master Modbus. Si
consiglia di richiamarla in tutti i cicli di scansione da un OB di ciclo. L'esecuzione di
MB_SLAVE da un OB di schedulazione orologio è possibile ma non è consigliata a causa
degli eccessivi ritardi temporali possibili nella routine di interrupt che può bloccare
temporaneamente l'esecuzione di altre routine di interrupt.

Temporizzazione del segnale Modbus


L'istruzione MB_SLAVE deve essere eseguita periodicamente, in modo da ricevere tutte le
richieste dal master Modbus e rispondere in modo adeguato. La frequenza di esecuzione di
MB_SLAVE dipende dal periodo di timeout della risposta del master Modbus come illustrato
nel seguente schema.

Il periodo di timeout della risposta RESP_TO indica per quanto tempo un master Modbus
resta in attesa che lo slave Modbus inizi ad inviare una risposta. Questo periodo di tempo
non viene definito dal protocollo Modbus ma è un parametro di ciascun master Modbus. La
frequenza di esecuzione (il tempo che intercorre tra un'esecuzione e l'altra) di MB_SLAVE
deve basarsi su parametri specifici del master Modbus utilizzato. MB_SLAVE dovrebbe
essere eseguita almeno due volte entro il periodo di timeout della risposta del master
Modbus.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 783
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Variabili dello slave Modbus


Questa tabella illustra le variabili statiche memorizzate nel blocco dati di istanza MB_SLAVE
che possono essere usate nel programma.

Tabella 12- 78 Variabili dello slave Modbus

Variabile Tipo di dati Descrizione


Request_Count Word Il numero di tutte le richieste ricevute da questo slave
Slave_Message_Count Word Il numero di richieste ricevute per questo slave specifico
Bad_CRC_Count Word Il numero di richieste ricevute che presentano un errore CRC
Broadcast_Count Word Il numero di richieste di trasmissione ricevute
Exception_Count Word Gli errori specifici di Modbus che richiedono un'eccezione di ritorno
Success_Count Word Il numero di richieste ricevute per questo slave specifico senza errori di
protocollo
HR_Start_Offset Word Specifica l'indirizzo iniziale del registro di mantenimento Modbus (default = 0)
Extended_Addressing Bool Configura l'indirizzamento dello slave a byte singolo o a doppio byte
(0 = indirizzo a byte singolo, 1 = indirizzo a doppio byte, default = 0)

Il programma può scrivere i valori nelle variabili HR_Start_Offset e Extended_Addressing e


comandare le operazioni dello slave Modbus. Le altre variabili possono essere lette per
controllare lo stato di Modbus.

HR_Start_Offset
Gli indirizzi dei registri di mantenimento Modbus iniziano a 40001 o 400001. Questi indirizzi
corrispondono all'indirizzo inziale della memoria PLC del registro di mantenimento. È
comunque possibile configurare la variabile "HR_Start_Offset" per avviare l'indirizzo iniziale
del registro di mantenimento Modbus su un valore diverso da 40001 o 400001.
Ad esempio se il registro di mantenimento è configurato per iniziare con MW100 ed è lungo
100 parole. Un offset di 20 indica un indirizzo iniziale del registro di mantenimento pari a
40021 anziché 40001. Ogni indirizzo inferiore a 40021 e superiore a 400119 causerà un
errore di indirizzamento.

Tabella 12- 79 Esempio di indirizzamento del registro di mantenimento Modbus

HR_Start_Offset Indirizzo Minimo Massimo


0 Indirizzo Modbus (Word) 40001 40099
Indirizzo S7-1200 MW100 MW298
20 Indirizzo Modbus (Word) 40021 40119
Indirizzo S7-1200 MW100 MW298

HR_Start_Offset è un valore di parola che indica l'indirizzo iniziale del registro di


mantenimento Modbus e viene salvato nel blocco dati di istanza MB_SLAVE. Il valore di
questa variabile statica può essere impostato utilizzando l'elenco a discesa dei parametri
dopo aver inserito MB_SLAVE nel programma.

Sistema di automazione S7-1200


784 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Ad esempio, se si è inserita MB_SLAVE in un segmento KOP si può passare a un segmento


precedente e assegnare il valore HR_Start_Offset. È necessario assegnare il valore prima di
eseguire MB_SLAVE.

Inserimento di una variabile dello slave


Modbus utilizzando il nome di default del DB:
1. Posizionare il cursore nel campo dei
parametri e scrivere una m
2. Selezionare "MB_SLAVE_DB" dall'elenco
a discesa.
3. Posizionare il cursore sul lato destro del
nome del DB (dopo le virgolette) e inserire
un punto.
4. Selezionare
"MB_SLAVE_DB.HR_Start_Offset"
dall'elenco a discesa.

Extended_Addressing
L'accesso alla variabile Extended_Addressing avviene in modo simile al riferimento
HR_Start_Offset illustrato in precedenza fatta eccezione per il fatto che la variabile
Extended_Addressing è un valore booleano. Il valore booleano deve essere scritto da una
bobina di uscita e non da un box di movimento.
L'indirizzamento dello slave Modbus può essere configurato a byte singolo (che corrisponde
al Modbus predefinito) o a doppio byte. L'indirizzamento ampliato viene utilizzato per
indirizzare più di 247 dispositivi all'interno di una singola rete. Selezionando questo
indirizzamento si può indirizzare un massimo di 64000 indirizzi. L'esempio seguente mostra
la funzione 1 di Modbus.

Tabella 12- 80 Indirizzo slave a byte singolo (byte 0)

Funzione 1 Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5


Richiesta Indir. slave Codice F Indirizzo iniziale Lunghezza delle bobine
Risposta valida Indir. slave Codice F Lunghezza Dati bobina
Risposta errata Indir. slave 0x81 Codice E

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 785
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Tabella 12- 81 Indirizzo slave a doppio byte (byte 0 e byte 1)

Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6


Richiesta Indirizzo slave Codice F Indirizzo iniziale Lunghezza delle bobine
Risposta valida Indirizzo slave Codice F Lunghezza Dati bobina
Risposta errata Indirizzo slave 0x81 Codice E

Codici delle condizioni di errore

Tabella 12- 82 Codici della condizione di esecuzione di MB_SLAVE (errori di comunicazione e configurazione) 1

STATUS (W#16#) Descrizione


80D1 Il ricevitore ha inviato una richiesta di controllo del flusso per sospendere una trasmissione
attiva e non ha più ristabilito la trasmissione durante il tempo di attesa specificato.
Questo errore viene generato anche durante il controllo di flusso hardware se il ricevitore
non invia un CTS entro il tempo di attesa specificato.
80D2 La richiesta di trasmissione è stata interrotta perché non è stato ricevuto alcun segnale DSR
dal DCE.
80E0 Il messaggio è stato concluso perché il buffer di ricezione è pieno.
80E1 Il messaggio è stato concluso a causa di un errore di parità.
80E2 Il messaggio è stato concluso a causa di un errore di framing.
80E3 Il messaggio è stato concluso a causa di un errore di overrun.
80E4 Il messaggio è stato concluso perchè la lunghezza specificata supera la dimensione
complessiva del buffer.
8180 Valore dell'ID della porta non valido o errore nell'istruzione MB_COMM_LOAD
8186 Indirizzo della stazione Modbus non valido
8187 Puntatore al DB MB_HOLD_REG non valido: l'area è troppo piccola.
818C Puntatore MB_HOLD_REG alla memoria M o al DB non valido (l'area del DB deve
consentire sia l'indirizzamento simbolico che quello diretto)

Tabella 12- 83 Codici della condizione di esecuzione di MB_SLAVE (errori nel protocollo Modbus) 1

STATUS (W#16#) Codice della risposta dello Errori nel protocollo Modbus
slave
8380 Nessuna risposta Errore CRC
8381 01 Codice funzione non supportato o non supportato all'interno
della trasmissione
8382 03 Lunghezza dei dati errata
8383 02 Indirizzo dei dati errato o indirizzo al di fuori del campo valido
per DATA_PTR
8384 03 Valore dei dati errato
8385 03 Valore del codice di diagnostica dei dati non supportato (codice
funzione 08)
1 Oltre agli errori dell'istruzione MB_SLAVE sopra elencati possono essere restituiti errori dalle istruzioni di
comunicazione PtP sottostanti.

Sistema di automazione S7-1200


786 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

12.5.3.4 Esempio di programma master Modbus RTU


MB_COMM_LOAD viene inizializzata durante l'avvio mediante il merker di primo ciclo.
Questa modalità di esecuzione di MB_COMM_LOAD è consigliabile quando la
configurazione della porta seriale non cambia durante il runtime.
Rete 1 Inizializzare i parametri del modulo RS485 solo una volta durante il primo ciclo.

Per comunicare con un singolo slave si utilizza un'istruzione MB_MASTER nell'OB di ciclo
del programma. Per comunicare con altri slave si possono inserire altre istruzioni
MB_MASTER nell'OB di ciclo del programma o riutilizzare un FB MB_MASTER.
Segmento 2 Lettura di 100 parole dal registro di mantenimento dello slave.

Segmento 3 Questo è un segmento opzionale che mostra solo i valori delle prime 3 parole al
termine della lettura.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 787
Processore di comunicazione e Modbus TCP
12.5 Comunicazione Modbus

Segmento 4 Scrittura di 64 bit nel registro dell'immagine delle uscite che inizia con l'indirizzo
dello slave Q2.0.

12.5.3.5 Esempio di programma slave Modbus RTU


MB_COMM_LOAD sotto illustrata viene inizializzata ogni volta che si attiva "Tag_1".
Questa modalità di esecuzione di MB_COMM_LOAD è consigliabile quando si prevede che
la configurazione della porta seriale cambi durante il runtime in base alla configurazione
dell'HMI.
Rete 1 Inizializzare i parametri del modulo RS485 ogni volta che vengono modificati da un
dispositivo HMI.

MB_SLAVE sotto illustrata viene inserita in un OB ciclico eseguito ogni 10 ms. Nonostante
questo non garantisca la massima rapidità di risposta dello slave, consente di ottenere
prestazioni ottime a una velocità di 9600 baud nel caso dei messaggi brevi (max. 20 byte
nella richiesta).

Sistema di automazione S7-1200


788 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.6 Telecontrol e TeleService con il CP 1242-7

Segmento 2 Verificare le richieste del master Modbus ad ogni ciclo. Il registro di


mantenimento di Modbus è configurato per 100 parole a partire da MW1000.

12.6 Telecontrol e TeleService con il CP 1242-7

12.6.1 Collegamento ad una rete GSM

Comunicazione WAN su base IP tramite GPRS


Grazie al processore di comunicazione CP 1242-7, è possibile collegare S7-1200 a reti
GSM. Il CP 1242-7 consente la comunicazione WAN da stazioni remote ad una centrale e la
comunicazione trasversale tra stazioni.
La comunicazione trasversale tra stazione è possibile solo tramite la rete GSM. In caso di
comunicazione di una stazione remota con una sala centrale, nella centrale deve essere
disponibile un PC con collegamento Internet.
Il CP 1242-7 supporta i seguenti servizi per la comunicazione tramite la rete rete GSM:
● GPRS (General Packet Radio Service)
Il servizio rivolto al pacchetto della trasmissione dati "GPRS" viene svolto tramite la rete
GSM.
● SMS (Short Message Service)
Il CP 1242-7 può ricevere e inviare messaggi come SMS. Il partner di comunicazione può
essere un telefono cellulare o un S7-1200.
Il CP 1242-7 è adatto per l'impiego industriale universale e supporta le seguenti bande di
frequenza:
● 850 MHz
● 900 MHz
● 1 800 MHz
● 1 900 MHz

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 789
Processore di comunicazione e Modbus TCP
12.6 Telecontrol e TeleService con il CP 1242-7

Presupposti
L'equipaggiamento delle stazioni o della centrale dipende dal rispettivo tipo di impiego.
● Per la comunicazione con o tramite una sala centrale, la centrale necessita di un PC con
collegamento Internet.
● Per una stazione remota S7-1200 con CP 1242-7, che deve utilizzare la comunicazione
tramite la rete GSM, oltre all'equipaggiamento della stazione sono necessari i seguenti
requisiti:
– Un contratto con un operatore di rete GSM idoneo
Se deve essere utilizzato GPRS, il contratto deve consentire l'utilizzo del servizio
GPRS.
In caso di comunicazione diretta tra stazioni solo tramite la rete GSM, l'operatore di
rete GSM deve assegnare ai CP un indirizzo IP fisso. In questo caso la
comunicazione tra le stazioni non funziona tramite la centrale.
– La scheda SIM relativa al contratto
La scheda SIM viene inserita nel CP 1242-7.
– Disponibilità locale di una rete GSM nella zona della stazione

12.6.2 Applicazioni del CP 1242-7


I seguenti casi di impiego sono possibili per il CP 1242-7:

Sistema di automazione S7-1200


790 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.6 Telecontrol e TeleService con il CP 1242-7

Applicazioni Telecontrol
● Invio di messaggi via SMS
Tramite il CP 1242-7 la CPU riceve messaggi SMS di una stazione remota S7-1200 dalla
rete GSM oppure invia messaggi via SMS ad un telefono cellulare progettato o un
S7-1200.
● Comunicazione con una centrale master
Le stazioni remote S7-1200 comunicano tramite la rete GSM e Internet con un server
Telecontrol nella centrale. Per la trasmissione di dati via GPRS sul server Telecontrol
della centrale è installata l'applicazione "TELECONTROL SERVER BASIC". Con la
funzione server OPC integrata questo server Telecontrol comunica con un sistema
master centrale sovraordinato.
● Comunicazione tra stazioni S7-1200 su una rete GSM
La comunicazione tra stazioni remote con CP 1242-7 può essere svolta in due diversi
modi:
– Comunicazione trasversale tramite una centrale
In questa configurazione viene realizzato un collegamento protetto permanente tra
stazioni S7-1200 comunicanti tra loro e il server Telecontrol nella centrale. La
comunicazione tra le stazioni funziona sempre tramite il server Telecontrol. Il
CP 1242-7 funziona nel modo operativo "Telecontrol".
– Comunicazione diretta tra le stazioni
Per la comunicazione diretta tra stazioni senza passare tramite una centrale, vengono
impiegate schede SIM con indirizzo IP fisso che consente di indirizzare direttamente
le stazioni. I servizi di comunicazione e le funzioni di sicurezza possibili (ad es. VPN)
dipendono dall'offerta dell'operatore di rete. Il CP 1242-7 funziona nel modo operativo
"GPRS diretto".

TeleService tramite GPRS


Tra una stazione Engineering con STEP 7 e una stazione remota S7-1200 con CP 1242-7
può essere realizzato un collegamento TeleService tramite la rete GSM e Internet. Il
collegamento funziona dalla stazione engineering tramite un server Telecontrol o tramite un
gateway TeleService che inoltrano telegrammi come intermediari ed effettuano
l'autorizzazione. Questi PC utilizzano le funzioni dell'applicazione "TELECONTROL
SERVER BASIC".
Il collegamento TeleService può essere utilizzato per i seguenti scopi:
● Caricamento di dati di progettazione e di programmazione dal progetto STEP 7 alla
stazione
● Interrogazione di dati di diagnostica dalla stazione

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 791
Processore di comunicazione e Modbus TCP
12.6 Telecontrol e TeleService con il CP 1242-7

12.6.3 Altre proprietà del CP

Altre servizi e funzioni del CP 1242-7


● Sincronizzazione dell'ora del CP tramite Internet
L'ora del CP può essere impostata nel modo seguente:
– Nel modo di funzionamento "Telecontrol" viene trasmessa l'ora del server Telecontrol.
Il CP imposta quindi la sua ora.
– Nel modo di funzionamento "GPRS diretto" il CP può richiedere l'ora tramite SNTP.
Per la sincronizzazione dell'ora della CPU è possibile leggere l'ora attuale dal CP tramite
un blocco.
● Memorizzazione intermedia dei telegrammi da inviare in caso di problemi di collegamento
● Disponibilità aumentata grazie alla possibilità di collegamento al server Telecontrol
sostitutivo
● Volume di dati ottimizzato (collegamento temporaneo)
In alternativa al collegamento permanente al server Telecontrol il CP può essere
progettato in STEP 7 con un collegamento temporaneo al server Telecontrol. In questo
caso viene realizzato un collegamento al server Telecontrol soltanto all'occorrenza.
● Registrazione nel protocollo del volume dei dati
I volumi di dati da trasmettere vengono registrati nel protocollo e possono essere
analizzati per altri scopi.

Progettazione e sostituzione dell'unità


Per la progettazione dell'unità è necessario il seguente strumento di progettazione:
STEP 7 versione V11.0 SP1 o superiore
Per STEP 7 V11.0 SP1 è inoltre necessario il Support Package "CP 1242-7" (HSP0003001).
Per la trasmissione dei dati di processo via GPRS utilizzare nel programma utente della
stazione le istruzioni di comunicazione Telecontrol.
I dati di progettazione dei CP 1242-7 vengono salvati sulla relativa CPU locale. In caso di
ricambio questo consente una semplice sostituzione del CP.
È possibile inserire fino a tre unità del tipo CP 1242-7 per ciascun S7-1200. In questo modo
è possibile realizzare ad es. percorsi di comunicazione ridondanti.

Collegamenti elettrici
● Alimentazione del CP 1242-7
Il CP dispone di un proprio collegamento per l'alimentazione esterna DC 24 V.
● Interfaccia radio per la rete GSM
Per la comunicazione GSM è necessaria un'antenna esterna. Essa viene collegata
tramite la presa SMA del CP.

Sistema di automazione S7-1200


792 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.6 Telecontrol e TeleService con il CP 1242-7

Ulteriori informazioni
Nel manuale del CP 1242-7 si trovano informazioni dettagliate. Il manuale può essere
consultato in Internet nelle pagine del Siemens Industrial Automation Customer Support alla
seguente ID articolo:
45605894 (http://support.automation.siemens.com/WW/view/it/45605894)

12.6.4 Accessori

L'antenna GSM/GPRS ANT794-4MR


Per l'impiego in reti GSM/GPRS sono disponibili le seguenti antenne per il montaggio
all'interno e all'esterno.
● Antenna a banda quad ANT794-4MR

Figura 12-1 Antenna GSM/GPRS ANT794-4MR

Sigla N. di ordinazione Significato


ANT794-4MR 6NH9 860-1AA00 Antenna a banda quad (900, 1800/1900 MHz,
UMTS); resistente alle intemperie per installazione
interna ed esterna; 5 m di cavo di collegamento
collegato in modo fisso all'antenna; connettore SMA;
incluso angolare di montaggio, viti, tasselli

● Antenna piatta ANT794-3M

Figura 12-2 Antenna piatta ANT794-3M

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 793
Processore di comunicazione e Modbus TCP
12.6 Telecontrol e TeleService con il CP 1242-7

Sigla N. di ordinazione Significato


ANT794-3M 6NH9 870-1AA00 Antenna piatta (900, 1800/1900 MHz); resistente alle
intemperie per installazione interna ed esterna; 1,2
m di cavo di collegamento collegato in modo fisso
all'antenna; connettore SMA; incluso dischetto
adesivo, possibile fissaggio a vite

Le antenne vanno ordinate separatamente.

Ulteriori informazioni
Informazioni dettagliate si trovano nel manuale dell'apparecchio. Questo manuale si trova in
Internet nelle pagine del Industrial Automation Customer Support alla seguente ID articolo:
23119005 (http://support.automation.siemens.com/WW/view/it/23119005)

12.6.5 Esempi di configurazione per Telecontrol


Di seguito si trovano alcuni esempi di configurazione per stazioni con CP 1242-7.

Invio SMS

Figura 12-3 Invio di SMS ad una stazione S7-1200

Un SIMATIC S7-1200 con CP 1242-7 può inviare messaggi via SMS ad un telefono cellulare
o ad una stazione S7-1200 progettata.

Sistema di automazione S7-1200


794 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.6 Telecontrol e TeleService con il CP 1242-7

Telecontrol tramite una centrale

Figura 12-4 Comunicazione di stazioni S7-1200 con una centrale

Nelle applicazioni Telecontrol le stazioni SIMATIC S7-1200 comunicano con il CP 1242-7


tramite la rete GSM e Internet con una centrale. Sul server Telecontrol nella centrale è
installata l'applicazione "TELECONTROL SERVER BASIC" (TCSB). In questo modo sono
disponibili i seguenti casi di impiego:
● Comunicazione Telecontrol tra stazione e centrale
In questo caso di impiego i dati del campo vengono inviati dalle stazioni tramite la rete
GSM e Internet al server Telecontrol nella centrale. Il server Telecontrol serve per il
controllo delle stazioni remote.
● Comunicazione tra la stazione e una centrale di gestione con client OPC
Come nel primo caso, le stazioni comunicano con il server Telecontrol. Con l'aiuto del
server OPC integrato, il server Telecontrol scambia i dati con il client OPC della centrale
di gestione.
Il client OPC e il server Telecontrol possono trovarsi su un unico computer, ad es. se
TCSB viene installato in un computer centrale con WinCC.
● Comunicazione trasversale tra stazione tramite la centrale
La comunicazione trasversale è possibile con stazioni S7 equipaggiate con un
CP 1242-7.
Per la comunicazione trasversale tra stazioni il server Telecontrol inoltra i telegrammi
della stazione di trasmissione alla stazione di ricezione.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 795
Processore di comunicazione e Modbus TCP
12.6 Telecontrol e TeleService con il CP 1242-7

Comunicazione diretta tra stazioni

Figura 12-5 Comunicazione diretta di due stazioni S7-1200

In questa configurazione due stazioni SIMATIC S7-1200 comunicano direttamente tra loro
tramite la rete GSM grazie al CP 1242-7. Ciascun CP 1242-7 dispone di un indirizzo IP fisso.
Il relativo servizio del gestore di rete GSM deve consentirlo.

TeleService tramite GPRS


Con TeleService GPRS, la stazione engineering sulla quale è installato STEP 7 comunica
tramite la rete GSM e Internet con una stazione S7-1200 provvista di CP 1242-7.
Poiché in genere, per fronteggiare richieste di comunicazione dall'esterno, viene collegato un
firewall, tra la stazione remota e la stazione engineering si rende necessaria una stazione di
"intermediazione". Per questa stazione si può trattare di un server Telecontrol, oppure,
qualora la configurazione ne sia sprovvista, di un gateway TeleService.

Sistema di automazione S7-1200


796 Manuale di sistema, 03/2014, A5E02486684-AG
Processore di comunicazione e Modbus TCP
12.6 Telecontrol e TeleService con il CP 1242-7

TeleService con server Telecontrol


Il collegamento avviene tramite un server Telecontrol.
● La stazione engineering e il server Telecontrol sono collegati tramite Intranet (LAN) o
Internet.
● Il server Telecontrol e la stazione remota sono collegati tramite Internet e la rete GSM.
La stazione engineering e il server Telecontrol possono trovarsi su un unico computer, vale
a dire, sullo stesso computer sono installati STEP 7 e TCSB.

Figura 12-6 TeleService via GPRS in una configurazione con server Telecontrol

TeleService senza server Telecontrol


Il collegamento funziona tramite il gateway TeleService.
Il collegamento tra engineering station e gateway TeleService può funzionare localmente
tramite LAN oppure tramite Internet.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 797
Processore di comunicazione e Modbus TCP
12.6 Telecontrol e TeleService con il CP 1242-7

Figura 12-7 TeleService via GPRS in una configurazione con gateway TeleService

Sistema di automazione S7-1200


798 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione Teleservice (e-mail SMTP) 13
13.1 Istruzione TM_MAIL (Invia e-mail)

Tabella 13- 1 Istruzione TM_MAIL

KOP / FUP SCL Descrizione


"TM_MAIL_DB"( L'istruzione TM_MAIL invia un messaggio
REQ:=_bool_in_, e-mail con il protocollo SMTP (Simple Mail
ID:=_int_in_, Transfer Protocol) tramite TCP/IP
TO_S:=_string_in_, attraverso il collegamento Industrial
CC:=_string_in_, Ethernet della CPU. Se la connettività
SUBJECT:=_string_in_, Internet su base Ethernet non è disponibile
si può utilizzare un adattatore Teleservice
TEXT:= _string_in_,
opzionale per collegarsi tramite linea fissa.
ATTACHMENT:=_variant_in_,
TM_MAIL viene eseguita in modo
BUSY=>_bool_out_, asincrono rispetto e l'ordine viene eseguito
DONE=>_bool_out_, per più richiami di TM_MAIL. Quando si
ERROR=>_bool_out_, richiama un'istruzione TM_MAIL si deve
STATUS=>_word_out_,); assegnare un DB di istanza. L'attributo di
ritenzione del DB di istanza non deve
essere impostato. In questo modo si
assicura che il DB di istanza sia
inizializzato nel passaggio della CPU da
STOP a RUN e che possa essere attivata
una nuova istruzione TM_MAIL.
1 STEP 7 crea automaticamente il DB di istanza all'inserimento dell'istruzione.

Quando si avvia una e-mail si verifica un cambiamento del fronte di salita da 0 a 1 nel
parametro di ingresso REQ. La tabella seguente illustra il rapporto tra BUSY, DONE e
ERROR. È possibile controllare l'avanzamento dell'esecuzione di TM_MAIL e rilevarne il
completamento verificando questi parametri nei richiami successivi.
I parametri di uscita DONE, ERROR, STATUS, e SFC_STATUS sono validi solo per un ciclo
di scansione quando lo stato del parametro di uscita BUSY passa da 1 a 0. La logica del
programma deve salvare valori temporanei degli stati delle uscite, consentendo in questo
modo di rilevare variazioni di stato nei successivi cicli di esecuzione del programma.

Tabella 13- 2 Interazione dei parametri Done, Busy e Error

DONE BUSY ERROR Descrizione


Non rilevante 1 Non rilevante Ordine in corso.
1 0 0 L'ordine è stato concluso correttamente.
0 0 1 L'ordine si è concluso con un errore. Per conoscere la causa dell'errore,
fare riferimento al parametro STATUS.
0 0 0 Nessun ordine in corso

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 799
Comunicazione Teleservice (e-mail SMTP)
13.1 Istruzione TM_MAIL (Invia e-mail)

Se la CPU passa in STOP mentre TM_MAIL è attiva, il collegamento di comunicazione al


server di posta viene interrotto. Il collegamento con il server di posta elettronica si
interrompe anche se si verificano problemi nella comunicazione con la CPU sul bus
Industrial Ethernet. In questo caso l'invio viene interrotto e la e-mail non raggiunge il
destinatario.

ATTENZIONE
Modifica dei programmi utente
L'eliminazione e la sostituzione dei blocchi di programma, i richiami di TM_MAIL o i richiami
dei DB di istanza di TM_MAIL possono interrompere il collegamento dei blocchi di
programma. Se non si riesce a mantenere i blocchi di programma collegati, la funzione di
comunicazione TCP / IP può entrare in uno stato non definito e causare danni alle cose.
Dopo aver trasferito un blocco di programma modificato è necessario riavviare la CPU (a
caldo) oppure a freddo.
Per evitare di interrompere il collegamento dei blocchi di programma è opportuno
modificare le parti del programma utente che influiscono direttamente sui richiami TM_MAIL
solo nei seguenti casi:
• La CPU si trova in STOP
• Non viene inviata alcuna e-mail (REQ e BUSY = 0)

Coerenza dei dati


Il parametro di ingresso ADDR_MAIL_SERVER viene letto quando l'operazione viene
avviata. Un nuovo valore non diventa effettivo finché l'operazione attuale non viene
completata e viene avviata una nuova operazione TM_MAIL.
Al contrario, i parametri WATCH_DOG_TIME, TO_S, CC, FROM, SUBJECT, TEXT,
ATTACHMENT, USERNAME e PASSWORD vengono letti durante l'esecuzione di TM_MAIL
e possono essere modificati solo al termine dell'ordine (BUSY = 0)

Collegamento dial-up: configurazione dei parametri del TS adapter IE


Per collegarsi al server di dial-up del proprio provider di Internet occorre configurare i
parametri del Teleservice Adapter IE per i richiami in uscita. Se si imposta l'attributo "su
richiesta", il collegamento si stabilisce solo quando si invia un'e-mail. Con un collegamento
modem analogico il processo di collegamento ha tempi più lunghi (circa un minuto in più).
Nel valore WATCH_DOG_TIME occorre quindi considerare questo tempo supplementare.

Sistema di automazione S7-1200


800 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione Teleservice (e-mail SMTP)
13.1 Istruzione TM_MAIL (Invia e-mail)

Tabella 13- 3 Tipi di dati per i parametri

Parametro e tipo Tipi di dati Descrizione


REQ IN Bool La commutazione di un segnale da low a high (fronte di
salita) avvia l'operazione.
ID IN Int Identificatore del collegamento: vedere il parametro ID delle
istruzioni TCON, TDISCON, TSEND e TRCV.
Si deve usare un numero che non viene utilizzato per altre
istanze di questa istruzione nel programma utente.
TO_S IN String Indirizzi dei destinatari: dati STRING con una lunghezza
massima di 240 caratteri.
CC IN String Indirizzi dei destinatari in copia CC (opzionale): dati STRING
con una lunghezza massima di 240 caratteri.
SUBJECT IN String Oggetto della e-mail: dati STRING con una lunghezza
massima di 240 caratteri.
TEXT IN String Messaggio di testo della e-mail (opzionale): dati STRING
con una lunghezza massima di 240 caratteri.
Se questo parametro è una stringa vuota, la e-mail viene
inviata senza testo nel messaggio.
ATTACHMENT IN Variant Puntatore ai dati dell'allegato alla e-mail: dati byte, word o
double word con una lunghezza massima di 65534 byte.
Se non viene assegnato nessun valore, la e-mail viene
inviata senza l'allegato.
DONE OUT Bool • 0 - ordine non ancora avviato o ancora in corso.
• 1 - ordine eseguito correttamente.
BUSY OUT Bool • 0 - Non è in corso alcuna operazione
• 1 - Operazione in corso
ERROR OUT Bool Il bit ERROR =1 per un ciclo di scansione se l'ultima
richiesta si è conclusa con un errore. Il valore del codice di
errore nell'uscita STATUS è valido solo durante l'unico ciclo
di scansione in cui ERROR = 1.
STATUS OUT Word Valore di ritorno o informazione di errore dell'istruzione
TM_MAIL.
ADDR_MAIL_SERVER 1 Static DWord Indirizzo IP del server di posta: Ciascun frammento
dell'indirizzo IP deve essere assegnato come byte di due
caratteri esadecimali di 4 bit. Se il frammento dell'indirizzo
IP = valore decimale 10 che equivale al valore esadecimale
A, si deve immettere "0A" per il byte.
Ad esempio: indirizzo IP = 192.168.0.10
ADDR_MAIL_SERVER = DW#16#C0A8000A, dove:
• 192 = 16#C0,
• 168 =16#A8
• 0 = 16#00
• 10 = 16#0A

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 801
Comunicazione Teleservice (e-mail SMTP)
13.1 Istruzione TM_MAIL (Invia e-mail)

Parametro e tipo Tipi di dati Descrizione


WATCH_DOG_TIME 1 Static Time Tempo massimo consentito perché TM_MAIL completi
l'intero processo SMTP, dall'avvio del collegamento con
l'SMTP alla fine della trasmissione SMTP. Se questo tempo
viene superato, l'esecuzione di TM_MAIL termina con un
errore.
Il ritardo attuale fino alla conclusione di TM_MAIL con
segnalazione di errore può superare il WATCH_DOG_TIME
grazie al tempo supplementare necessario per l'operazione
di scollegamento.
Inizialmente si consiglia di impostare un tempo di 2 minuti.
Tale tempo può essere ridotto notevolmente in caso di linea
telefonica ISDN.
USERNAME 1 Static String Nome utente dell'account di posta: dati STRING con una
lunghezza massima di 180 caratteri.
PASSWORD 1 Static String Password del server di posta: dati STRING con una
lunghezza massima di 180 caratteri.
FROM 1 Static String Indirizzo del mittente: STRING con una lunghezza massima
di 240 caratteri
SFC_STATUS 1 Static Word Codice della condizione di esecuzione dei blocchi di
comunicazione richiamati
1 I valori di questi parametri non vengono modificati ad ogni richiamo di TM_MAIL. I valori vengono assegnati nel blocco
dati di istanza TM_MAIL e vengono indirizzati una sola volta al primo richiamo di TM_MAIL.

Autenticazione SMTP
TM_MAIL supporta il metodo di autenticazione SMTP AUTH LOGIN. Per maggiori
informazioni su questo metodo di autenticazione consultare il manuale del server di posta
elettronica o il sito Web del proprio Internet service provider.
Il metodo di autenticazione AUTH LOGIN utilizza i parametri TM_MAIL USERNAME e
PASSWORD per il collegamento al server di posta. Il nome utente e la password devono
essere stati impostati in un account di posta elettronica presso un server di posta.
Se non viene assegnato nessun valore al parametro USERNAME, il metodo di
autenticazione AUTH LOGIN non viene utilizzato e la e-mail viene inviata senza
autenticazione.

Sistema di automazione S7-1200


802 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione Teleservice (e-mail SMTP)
13.1 Istruzione TM_MAIL (Invia e-mail)

TO_S:, CC: e FROM: parametri


I parametri TO_S:, CC: eFROM: sono delle stringhe, come illustrato negli esempi seguenti:
TO: <[email protected]>, <[email protected]>,
CC: <[email protected]>, <[email protected]>,
FROM: <[email protected]>
Quando si inseriscono queste stringhe di caratteri si devono osservare le regole seguenti:
● Inserire i caratteri "TO:", "CC:" e "FROM:", compresi i due punti.
● Inserire uno spazio e una parentesi angolare di apertura "<" prima di ciascun indirizzo. Ad
esempio, deve esserci uno spazio tra "TO:" e <indirizzo e-mail>.
● Inserire una parentesi angolare di chiusura ">" dopo ciascun indirizzo.
● Inserire una virgola "," dopo ciascun indirizzo per gli indirizzi TO_S: e CC:. Ad esempio in
"TO: <email address>," è necessaria la virgola dopo un singolo indirizzo di e-mail.
● Nel campo FROM: si può inserire un solo indirizzo e-mail, senza virgola alla fine.
A causa della modalità di runtime e dell'utilizzo della memoria, non viene eseguita nessuna
verifica della sintassi sui dati TO_S:, CC: e FROM: di TM_MAIL. Se le regole del formato
sopra riportate non vengono rispettate la transazione del server di posta SMTP non riesce.

Parametri STATUS e SFC_STATUS


I codici della condizione di esecuzione restituiti da TM_MAIL possono essere classificati nel
modo seguente:
● W#16#0000: l'operazione TM_MAIL si è conclusa correttamente
● W#16#7xxx: stato dell'operazione TM_MAIL
● W#16#8xxx: errore in un richiamo interno ad un dispositivo di comunicazione o nel server
di posta
La tabella seguente illustra i codici della condizione di esecuzione di TM_MAIL ad eccezione
dei codici di errore dei moduli di comunicazione richiamati internamente.

Nota
Requisiti del server di posta
TM_MAIL può comunicare solo con un server di posta che utilizza il protocollo SMTP tramite
la porta 25. Il numero di porta assegnato non è modificabile.
La maggior parte dei reparti IT e dei server di posta esterni bloccano la porta 25 per
impedire che il PC venga infettato da virus e diventi un generatore di e-mail "maligne".
Ci si può collegare a un server di posta interno tramite SMTP e usarlo per gestire le attuali
funzioni per il miglioramento della sicurezza richieste per ritrasmettere le e-mail attraverso
Internet a un server di posta esterno.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 803
Comunicazione Teleservice (e-mail SMTP)
13.1 Istruzione TM_MAIL (Invia e-mail)

Esempio di configurazione di un server di posta interno


Se si usa Microsoft Exchange come server di posta interno, lo si può configurare in modo
che consenta l'accesso SMTP dall'indirizzo IP assegnato al PLC S7-1200. Configurazione di
Exchange Management Console: Configurazione server > Trasporto hub > Connettori di
ricezione > Inoltro IP. La scheda Rete contiene la casella "Ricevi posta dai server remoti che
dispongono dei seguenti indirizzi IP" nella quale si specifica l'indirizzo IP del PLC che sta
eseguendo l'istruzione TM_MAIL. Per questo tipo di collegamento a un server interno
Microsoft Exchange non è necessario autenticarsi.

Configurazione del server di posta


TM_MAIL può utilizzare solo un server di posta che consente la comunicazione tramite porta
25, SMTP e autenticazione AUTH LOGIN (in opzione).
Configurare un account di server di posta compatibile che accetti il log in SMTP. Quindi
modificare il DB di istanza per TM_MAIL in modo che inserisca in USERNAME e
PASSWORD di TM_MAIL le stringhe di caratteri che consentono di autenticare il
collegamento con il proprio account di posta.

Tabella 13- 4 Codici delle condizioni di errore

STATUS SFC_STATUS Descrizione


(W#16#...): (W#16#...):
0000 - L'operazione TM_MAIL si è conclusa senza errori. Il codice zero di STATUS non
garantisce che la e-mail sia stata realmente inviata (vedere il primo punto della
nota sotto la tabella).
7001 - TM_MAIL è attiva (BUSY = 1).
7002 7002 TM_MAIL è attiva (BUSY = 1).
8xxx xxxx L'operazione TM_MAIL si è conclusa con un errore nei richiami interni delle
istruzioni di comunicazione. Per maggiori informazioni sul parametro
SFC_STATUS, vedere le descrizioni del parametro STATUS delle istruzioni di
comunicazione open user sottostanti PROFINET.
8010 xxxx Collegamento non riuscito: per maggiori informazioni sul parametro
SFC_STATUS vedere il parametro STATUS dell'istruzione TCON.
8011 xxxx Errore nell'invio dei dati: per maggiori informazioni sul parametro SFC_STATUS
vedere il parametro STATUS dell'istruzione TSEND.
8012 xxxx Errore nella ricezione dei dati: per maggiori informazioni sul parametro
SFC_STATUS vedere le descrizioni del parametro STATUS dell'istruzione
TRCV.
8013 xxxx Collegamento non riuscito: per maggiori informazioni per la valutazione del
parametro SFC_STATUS vedere le descrizioni del parametro STATUS delle
istruzioni TCON e TDISCON.
8014 - Collegamento non riuscito: è possibile che sia stato inserito un indirizzo IP del
server di posta errato (ADDR_MAIL_SERVER) o troppo poco tempo
(WATCH_DOG_TIME) per il collegamento. È anche possibile che la CPU non
sia collegata alla rete o che la configurazione della CPU non sia corretta.
8015 - Puntatore non valido per il parametro ATTACHMENT: utilizzare un puntatore a
cui sono stati assegnati il tipo di dati e la lunghezza. Ad esempio
"P#DB.DBX0.0" è errato mentre "P#DB.DBX0.0 byte 256" è corretto.

Sistema di automazione S7-1200


804 Manuale di sistema, 03/2014, A5E02486684-AG
Comunicazione Teleservice (e-mail SMTP)
13.1 Istruzione TM_MAIL (Invia e-mail)

STATUS SFC_STATUS Descrizione


(W#16#...): (W#16#...):
82xx, 84xx, - Il messaggio di errore arriva dal server di posta e corrisponde al numero di
85xx errore "8" del protocollo SMTP. Vedere il secondo punto della nota sotto la
tabella.
8450 - L'operazione non viene eseguita: la casella di posta non è disponibile, riprovare
più tardi.
8451 - Operazione interrotta: errore locale nell'elaborazione, riprovare più tardi
8500 - Errore nella sintassi del comando: la causa potrebbe essere che il server di
posta non supporta il processo di autenticazione di LOGIN. Verificare i parametri
di TM_MAIL. Provare ad inviare una e-mail senza autenticazione. Provare a
sostituire il parametro USERNAME con una stringa vuota.
8501 - Errore di sintassi: parametro o argomento non corretto; è possibile che sia stato
inserito un indirizzo errato nei parametri TO_S o CC.
8502 - Comando sconosciuto o non implementato: verificare i comandi inseriti,
soprattutto il parametro FROM. Forse è incompleto e sono stati omessi i caratteri
"@" o "."
8535 - Autenticazione SMTP incompleta. È possibile che sia stato inserito un nome
utente o una password errati.
8550 - Impossibile raggiungere il server di posta o non si dispone dei diritti di accesso.
È possibile che siano stati inseriti un nome utente o una password errati o che il
proprio server di posta non supporti l'accesso di log in. Un'altra causa di questo
errore potrebbe essere una digitazione errata del nome del dominio dopo il
carattere "@" nei parametri TO_S o CC.
8552 - Operazione interrotta: superamento della dimensione della memoria assegnata;
riprovare più tardi.
8554 - Trasmissione non riuscita: riprovare più tardi.

Nota
Possibili errori di trasmissione e-mail non riportati
• La digitazione errata dell'indirizzo di un destinatario non genera un errore STATUS per
TM_MAIL. In questo caso, non vi è alcuna garanzia che gli altri destinatari (i cui indirizzi
e-mail sono corretti) ricevano la e-mail.
• Maggiori informazioni sui codici di errore SMTP sono disponibili su Internet o nella
documentazione degli errori del server di posta. È anche possibile leggere l'ultimo
messaggio di errore dal server di posta. Il messaggio di errore viene memorizzato nel
parametro buffer1 del DB di istanza di TM_MAIL.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 805
Comunicazione Teleservice (e-mail SMTP)
13.1 Istruzione TM_MAIL (Invia e-mail)

Sistema di automazione S7-1200


806 Manuale di sistema, 03/2014, A5E02486684-AG
Tool online e di diagnostica 14
14.1 LED di stato
La CPU e i moduli di I/O si servono di LED per fornire informazioni sullo stato operativo del
modulo o degli I/O.

LED di stato su una CPU


LA CPU dispone dei seguenti indicatori di stato:
● STOP/RUN
– Una luce gialla fissa segnala il modo STOP
– Una luce verde fissa segnala il modo RUN
– Una luce lampeggiante (alternativamente verde e gialla) indica che la CPU è in modo
AVVIAMENTO
● ERROR
– Una luce rossa lampeggiante indica che si è verificato un errore, ad es. un errore
interno alla CPU, un errore con la memory card o un errore di configurazione (i moduli
non corrispondono)
– Stato di guasto:
- Una luce rossa fissa indica un guasto hardware
- Se il guasto rilevato riguarda il firmware lampeggiano tutti i LED
● Quando si inserisce la memory card, il LEDMAINT (manutenzione) lampeggia. La CPU
passa quindi in STOP. Dopo che la CPU è passata in STOP, eseguire una delle seguenti
funzioni per avviare la valutazione della memory card:
– Commutare la CPU in RUN
– Eseguire un reset della memoria (MRES)
– Riaccendere la CPU.
Per determinare lo stato dei LED è possibile utilizzare anche l'istruzione LED (Pagina 353).

Tabella 14- 1 LED di stato per una CPU

Descrizione STOP/RUN ERROR MAINT


Giallo / Verde Rosso Giallo
Alimentazione disinserita Off Off Off
Avviamento, autotest o Lampeggiante - Off
aggiornamento del firmware (alternativamente giallo e verde)
Modo STOP On (giallo) - -
Modo RUN On (verde) - -

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 807
Tool online e di diagnostica
14.1 LED di stato

Descrizione STOP/RUN ERROR MAINT


Giallo / Verde Rosso Giallo
Estrarre la memory card On (giallo) - Lampeggiante
Errore On (giallo o verde) Lampeggiante -
Richiesta di manutenzione On (giallo o verde) - On
• I/O forzati
• È necessario sostituire la
batteria (se è installata la
scheda di batteria)
Guasto hardware On (giallo) On Off
Test dei LED o firmware della Lampeggiante Lampeggiante Lampeggiante
CPU difettoso (alternativamente giallo e verde)
Versione sconosciuta o non On (giallo) Lampeggiante Lampeggiante
compatibile della
configurazione della CPU

Nota
Errore "versione sconosciuta o non compatibile della configurazione della CPU"
Se si cerca di caricare un programma S7-1200 con versione V3.0 in una CPU S7-1200 con
versione V4.0 viene generato un errore CPU e la CPU visualizza un messaggio di errore nel
buffer di diagnostica. Se l'errore si verifica perché è stata utilizzata una scheda di
trasferimento del programma (Pagina 130) con una versione non valida, si deve estrarre la
scheda, commutare la CPU da STOP a RUN, resettarne la memoria (MRES) o spegnerla e
riaccenderla. Se l'errore si verifica perché è stato caricato un programma non valido,
resettare la CPU ripristinando le impostazioni di fabbrica (Pagina 813). Dopo aver eliminato
la condizione di errore dalla CPU si può caricare un programma valido per la CPU V4.0.

La CPU dispone inoltre di due LED che indicano lo stato della comunicazione PROFINET. I
LED PROFINET si trovano sotto il coperchio della morsettiera posta in basso.
● Link (verde): se acceso indica che il collegamento è stato stabilito correttamente
● Rx/Tx (giallo): se acceso indica che è in corso una trasmissione
La CPU e i singoli moduli di I/O (SM) dispongono di un LED I/O Channel per ciascun
ingresso e uscita digitale. Il LED I/O Channel (verde) si accende o si spegne per indicare lo
stato dei singoli ingressi e uscite.

Comportamento dell'S7-1200 in seguito a un errore grave


Se il firmware della CPU rileva un errore grave, cerca di effettuare un riavvio nella modalità
di guasto e, se ci riesce, segnala tale modalità con un lampeggio continuo dei LED
STOP/RUN, ERROR e MAINT LED. In caso di riavvio nella modalità di guasto il programma
utente e la configurazione hardware non vengono caricati.
Se la CPU si riavvia correttamente nella modalità di guasto, le sue uscite e quelle della
signal board vengono impostate a 0 mentre le uscite dei moduli di I/O del telaio di montaggio
centrale e la periferia decentrata vengono impostati sul "Comportamento in caso di STOP
della CPU" configurato.

Sistema di automazione S7-1200


808 Manuale di sistema, 03/2014, A5E02486684-AG
Tool online e di diagnostica
14.1 LED di stato

Se il riavvio in modalità di guasto non riesce (ad esempio a causa di un guasto hardware) i
LED STOP ed ERROR si attivano e il LED MAINT si spegne.

AVVERTENZA
Nello stato di guasto il funzionamento non è garantito
In condizioni non sicure i dispositivi di comando possono funzionare in modo errato e
determinare un funzionamento scorretto delle apparecchiature comandate. Ciò può
causare la morte o gravi lesioni alle persone e/o danni alle apparecchiature.
Prevedere una funzione di arresto d’emergenza, dispositivi elettromeccanici di esclusione o
altre protezioni ridondanti che siano indipendenti dal PLC.

LED di stato su un SM
Inoltre ogni SM digitale dispone di un LED DIAG che ne indica lo stato:
● Verde indica che il modulo è operativo
● Rosso indica che il modulo è difettoso o non è operativo
Ogni SM analogico dispone di un LED I/O Channel per ciascun ingresso e uscita analogici.
● Verde indica che il canale è stato configurato ed è attivo
● Rosso indica che è presente una condizione di errore in un ingresso o un'uscita
analogica
Inoltre ogni SM analogico dispone di un LED DIAG che ne indica lo stato:
● Verde indica che il modulo è operativo
● Rosso indica che il modulo è difettoso o non è operativo
L'SM rileva la presenza o assenza di alimentazione nel modulo (alimentazione proveniente
dal campo, se necessaria).

Tabella 14- 2 LED di stato per un modulo I/O (SM)

Descrizione DIAG I/O Channel


(rosso / verde) (rosso / verde)
L'alimentazione sul lato del campo è disinserita Rosso lampeggiante Rosso lampeggiante
Non configurato o aggiornamento in corso Verde lampeggiante Off
Modulo configurato senza errori On (verde) On (verde)
Condizione di errore Rosso lampeggiante -
Errore di I/O (con diagnostica attiva) - Rosso lampeggiante
Errore di I/O (con diagnostica disattivata) - On (verde)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 809
Tool online e di diagnostica
14.2 Collegamento online e connessione a una CPU

14.2 Collegamento online e connessione a una CPU


Per poter caricare i programmi e i dati ingegneristici dei progetti e per eseguire attività come
quelle descritte di seguito è necessario stabilire un collegamento online tra il dispositivo di
programmazione e la CPU:
● Test dei programmi utente
● Visualizzazione e modifica del modo di funzionamento della CPU (Pagina 815)
● Visualizzazione e impostazione della data e dell'ora della CPU (Pagina 813)
● Visualizzazione di informazioni sui moduli
● Confronto e sincronizzazione (Pagina 818) dei blocchi di programma offline e online
● Caricamento dei blocchi di programma dalla e nella CPU
● Visualizzazione della diagnostica e del buffer di diagnostica (Pagina 817)
● Utilizzo di una tabella di controllo (Pagina 822) per testare il programma utente
controllando e modificando i valori.
● Utilizzo di una tabella di forzamento per forzare i valori nella CPU (Pagina 826)

Per stabilire un collegamento online con una CPU configurata


fare clic sulla CPU dall'albero della navigazione del progetto e
in seguito sul pulsante "Collega online" nella vista di progetto:
Se si collega online questa
CPU per la prima volta, prima
di stabilire il collegamento
online con la CPU trovata
nell'interfaccia è necessario
selezionare il tipo di
interfaccia PG/PC e
l'interfaccia PG/PC specifica
dalla finestra di dialogo
"Collega online".

Ora il dispositivo di programmazione è collegato alla CPU. Il bordo di colore arancione indica
che è presente un collegamento online. Gli strumenti di Online & Diagnostica dell'albero del
progetto e la task card "Tool Online" sono ora disponibili.

Sistema di automazione S7-1200


810 Manuale di sistema, 03/2014, A5E02486684-AG
Tool online e di diagnostica
14.3 Assegnazione online di un nome a un dispositivo PROFINET IO

14.3 Assegnazione online di un nome a un dispositivo PROFINET IO


Prima di collegare i dispositivi sulla rete PROFINET alla CPU è necessario assegnarli un
nome. Utilizzare l'editor "Dispositivi e reti" per assegnare i nomi ai dispositivi PROFINET se i
dispositivi non hanno già un nome assegnato o se occorre modificare il nome del dispositivo.
Per ogni PROFINET IO Device si deve assegnare lo stesso nome sia nel progetto STEP 7
che, utilizzando lo strumento "Online & Diagnostica", nella memoria di configurazione del
PROFINET IO Device (ad esempio, la memoria di configurazione del modulo di interfaccia
ET200 S). Se manca un nome o i due nomi delle diverse posizioni non corrispondono, lo
scambio di dati PROFINET IO non viene eseguito.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 811
Tool online e di diagnostica
14.3 Assegnazione online di un nome a un dispositivo PROFINET IO

1. Nell'editor "Dispositivi e
reti", fare clic con il tasto
destro del mouse sul
dispositivo PROFINET IO
richiesto e selezionare "Online
& Diagnostica".

2. Selezionare le seguenti voci


di menu nella finestra di
dialogo "Online &
Diagnostica":
• "Funzioni"
• "Assegna nome"
Fare clic su "Dispositivi
accessibili nella rete" per
visualizzare tutti i dispositivi
PROFINET IO presenti sulla
rete.

3. Nell'elenco visualizzato, fare


clic sul dispositivo PROFINET
IO richiesto e quindi sul
pulsante "Assegna nome" per
scrivere il nome nella memoria
di configurazione del
dispositivo PROFINET IO.

Sistema di automazione S7-1200


812 Manuale di sistema, 03/2014, A5E02486684-AG
Tool online e di diagnostica
14.4 Impostazione dell'indirizzo IP e dell'ora

14.4 Impostazione dell'indirizzo IP e dell'ora

È possibile impostare l'indirizzo IP (Pagina 162) e l'ora nella CPU online. In "Online &
Diagnostica", accessibile dall'albero del progetto di una CPU online, è possibile visualizzare
o modificare l'indirizzo IP. È inoltre possibile visualizzare o impostare i parametri dell'ora e
della data della CPU online.

Nota
Questa funzione è disponibile solo per una CPU che dispone esclusivamente di un indirizzo
MAC (non è ancora stato assegnato un indirizzo IP) o che è stata resettata alle impostazioni
di fabbrica.

14.5 Ripristino delle impostazioni di fabbrica


Per poter ripristinare le impostazioni di fabbrica originali dell'S7-1200 sono necessarie le
seguenti condizioni:
● non è presente una memory card nella CPU.
● La CPU ha un collegamento online.
● La CPU si trova in STOP.

Nota
Se la CPU è in RUN e si avvia l'operazione di ripristino, è possibile portare la CPU in
STOP dopo aver accettato una richiesta di conferma.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 813
Tool online e di diagnostica
14.6 Aggiornamento del firmware

Procedimento
Per ripristinare le impostazioni di fabbrica della CPU procedere nel seguente modo:
1. aprire la vista online e di diagnostica della CPU.
2. Selezionare "Resetta alle impostazioni di fabbrica" dalla cartella "Funzioni".
3. Selezionare la casella di spunta "Mantieni indirizzo IP" se si vuole mantenere l'indirizzo IP
o la casella "Resetta indirizzo IP" se lo si vuole cancellare.
4. Fare clic sul pulsante "Resetta".
5. Accettare la richiesta di conferma con "OK".

Risultato
Se necessario il modulo viene portato in STOP, quindi vengono ripristinate le impostazioni di
default:
● vengono azzerate la memoria di lavoro, la memoria di caricamento interna e tutte le aree
degli operandi.
● Vengono ripristinati i valori di default di tutti i parametri.
● Il buffer di diagnostica viene azzerato.
● La data e l'ora vengono resettate.
● L'indirizzo IP viene mantenuto o cancellato in base all'impostazione effettuata (l'indirizzo
MAC è fisso e non cambia mai).

14.6 Aggiornamento del firmware


Il firmware della CPU collegata può essere aggiornato dagli strumenti online e di diagnostica
di STEP 7.
Per effettuare l'aggiornamento del firmware procedere nel seguente modo:
1. Aprire la vista online e di diagnostica della CPU collegata.
2. Selezionare "Aggiornamento del firmware" dalla cartella delle funzioni.
3. Fare clic sul pulsante Sfoglia e cercare la cartella in cui si trova il file di aggiornamento
del firmware. Può trattarsi della cartella del disco fisso in cui è stato scaricato il file di
aggiornamento del firmware dell'S7-1200
(http://support.automation.siemens.com/WW/view/it/34612486/133100) dal sito del
servizio di assistenza tecnica (http://www.siemens.com/automation/).
4. Selezionare il file compatibile con il proprio modulo. La tabella visualizza i moduli
compatibili con il file selezionato.
5. Fare clic sul pulsante "Avvia aggiornamento". Se necessario seguire le indicazioni delle
finestre di dialogo per cambiare il modo di funzionamento della CPU.

Sistema di automazione S7-1200


814 Manuale di sistema, 03/2014, A5E02486684-AG
Tool online e di diagnostica
14.7 Pannello operatore CPU per la CPU online

Durante il caricamento del firmware STEP 7 visualizza delle finestre di avanzamento. Al


termine del processo chiede di avviare il modulo con il nuovo firmware.

Nota
Se non si sceglie di avviare il modulo con il nuovo firmware, il firmware precedente resta
attivo finché non si resetta il modulo, ad esempio spegnendolo e riaccendendolo. Il nuovo
firmware diventa attivo solo dopo che si resetta il modulo.

Si può anche effettuare l'aggiornamento in uno dei seguenti modi alternativi:


● Con una memory card (Pagina 136)
● Con la pagina Web standard "Stato dell'unità" (Pagina 632)

14.7 Pannello operatore CPU per la CPU online

"Pannello operatore CPU" visualizza il modo di funzionamento (STOP


o RUN) della CPU online. il pannello indica inoltre se si è verificato un
errore nella CPU o se sono presenti valori forzati.

È possibile utilizzare il pannello operatore CPU della task card "Tool Online" per commutare
il modo di funzionamento di una CPU online. La task card "Tool Online" è accessibile ogni
volta che la CPU è online.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 815
Tool online e di diagnostica
14.8 Controllo del tempo di ciclo e dell'utilizzo della memoria

14.8 Controllo del tempo di ciclo e dell'utilizzo della memoria

È possibile controllare il
tempo di ciclo e l'utilizzo
della memoria nella CPU
online.
Dopo il collegamento alla
CPU online, aprire la task
card "Tool Online" per
visualizzare le seguenti
misure:
• Tempo di ciclo
• Utilizzo della memoria

Sistema di automazione S7-1200


816 Manuale di sistema, 03/2014, A5E02486684-AG
Tool online e di diagnostica
14.9 Visualizzazione degli eventi di diagnostica nella CPU

14.9 Visualizzazione degli eventi di diagnostica nella CPU


Per prendere visione dell'attività più recente della CPU si utilizza il buffer di diagnostica. Per
una CPU online il buffer di diagnostica è accessibile da "Online & Diagnostica" nell'albero del
progetto e contiene le seguenti voci:
● Eventi di diagnostica
● Modifiche del modo di funzionamento della CPU (commutazioni da STOP o RUN)

La prima voce contiene l'ultimo evento.


Ogni voce del buffer di diagnostica
riporta la data e l'ora in cui è stato
registrato l'evento e una sua
descrizione.
Il numero massimo di voci varia in
funzione della CPU e non può essere
maggiore di 50.
Vengono memorizzate in modo
permanente nel buffer di diagnostica
solo le 10 voci più recenti. Se si
ripristinano le impostazioni di fabbrica
nella CPU il buffer di diagnostica viene
resettato e ne vengono cancellate le
voci.

È possibile utilizzare anche l'istruzione GET_DIAG (Pagina 365) per raccogliere le


informazioni sulla diagnostica.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 817
Tool online e di diagnostica
14.10 Confronto di CPU offline e online

14.10 Confronto di CPU offline e online


I blocchi di codice di una CPU online possono essere confrontati con quelli nel progetto. Se i
blocchi di codice del progetto non corrispondono a quelli della CPU online, l'editor
"Confronta" permette di sincronizzare il progetto con la CPU online caricando i blocchi di
codice del progetto nella CPU o cancellando dal progetto i blocchi che non esistono nella
CPU online.

Selezionare la CPU nel progetto.


Utilizzare il comando "Confronta offline/online" per aprire l'editor
di confronto. (Accedere al comando dal menu "Strumenti" o
cliccando col tasto destro del mouse la CPU nel progetto).

Fare clic nella colonna "Operazione" per un


dato oggetto e scegliere se cancellarlo, non
eseguire alcuna operazione o caricarlo nel
dispositivo.
Cliccando il pulsante "Sincronizzazione" i
blocchi di codice vengono caricati.

Fare clic con il tasto destro del mouse nella colonna


"Confronta con" e selezionare il pulsante "Avvia
confronto dettagli" per visualizzare i blocchi di codice
uno accanto all'altro.
Il confronto dettagli evidenzia le differenze tra i blocchi
di codice della CPU online e quelli della CPU offline nel
progetto.

Sistema di automazione S7-1200


818 Manuale di sistema, 03/2014, A5E02486684-AG
Tool online e di diagnostica
14.11 Controllo e modifica dei valori nella CPU

14.11 Controllo e modifica dei valori nella CPU


STEP 7 fornisce gli strumenti online per il controllo della CPU:
● I valori istantanei delle variabili possono essere visualizzati o controllati. La funzione di
controllo non modifica la sequenza del programma, ma fornisce informazioni sulla
sequenza e i dati del programma nella CPU.
● Per controllare la sequenza e i dati del programma utente possono essere utilizzate
anche altre funzioni:
– Il valore delle variabili nella CPU online può essere modificato per vedere come
risponde il programma utente.
– Un'uscita di periferia (ad es. Q0.1:P o "Start":P) può essere forzata su un valore
specifico.
– Le uscite in STOP possono essere abilitate.

Nota
Usare sempre molta cautela nell'utilizzo delle funzioni di comando perché possono
influire sensibilmente sull'esecuzione del programma utente/di sistema.

Tabella 14- 3 Capacità online degli editor di STEP 7

Editor Controllo Modifica Forzamento


Tabella di controllo Sì Sì No
Tabella di forzamento Sì No Sì
Editor di programma Sì Sì No
Tabella delle variabili Sì No No
Editor DB Sì No No

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 819
Tool online e di diagnostica
14.11 Controllo e modifica dei valori nella CPU

14.11.1 Attivazione di un collegamento online per il controllo dei valori nella CPU

Per poter controllare le variabili si deve aver stabilito un collegamento online con la CPU.
facendo clic sul pulsante "Collega online" della barra degli strumenti.

Quando è attivo il collegamento con la CPU, STEP 7 visualizza le


intestazioni delle aree di lavoro in arancione.
L'albero di progetto mostra un confronto tra il progetto offline e la
CPU online. Un cerchio verde significa che la CPU e il progetto
sono sincronizzati, ovvero che hanno la stessa configurazione e lo
stesso programma utente.
Le tabelle delle variabili visualizzano le variabili, mentre le tabelle di
controllo possono visualizzare sia le variabili che gli indirizzi diretti.

Per controllare l'esecuzione del programma utente e visualizzare il valore delle variabili
fare clic sul pulsante "Controlla tutto" della barra degli strumenti.

Il campo "Valore di controllo" indica il valore delle singole variabili.

Sistema di automazione S7-1200


820 Manuale di sistema, 03/2014, A5E02486684-AG
Tool online e di diagnostica
14.11 Controllo e modifica dei valori nella CPU

14.11.2 Visualizzazione dello stato nell'editor di programma


Lo stato delle variabili può essere controllato negli editor di programma KOP e FUP. Per
aprire l'editor KOP usare l'apposita barra che consente di passare da un editor all'altro senza
doverli aprire e chiudere.
Nella barra degli strumenti dell'editor di programma fare clic sul pulsante "Controllo on/off"
per visualizzare lo stato del programma utente.

Il segmento nell'editor di programma visualizza il flusso della corrente in verde.


Per modificare il valore dell'istruzione è possibile anche fare clic con il tasto destro del
mouse sull'istruzione o il parametro.

14.11.3 Salvataggio dei valori online di un DB per resettare i valori iniziali


I valori istantanei controllati in una CPU online possono essere salvati e diventare i valori
iniziali di un DB globale.
● Deve esistere un collegamento online alla CPU.
● La CPU deve essere in RUN.
● Il DB deve essere aperto in STEP 7.

Rilevare i valori istantanei delle variabili selezionate nel DB con il pulsante "Visualizza
un'istantanea dei valori di controllo". È quindi possibile copiare questi valori nella
colonna "Valore inziale" del DB.
1. Nell'editor di DB fare clic sul pulsante "Controlla tutto". La colonna "Valore di controllo"
visualizza i valori istantanei dei dati.
2. Fare clic sul pulsante "Visualizza un'istantanea dei valori di controllo" per visualizzare i
valori istantanei nella colonna "Istantanea".
3. Per arrestare il controllo dei dati nella CPU fare clic sul pulsante "Controlla tutto".
4. Copiare un valore nella colonna "Istantanea" di una variabile.
– Selezionare un valore da copiare.
– Fare clic con il tasto destro del mouse sul valore selezionato per visualizzarne il menu
di scelta rapida.
– Selezionare il comando "Copia".
5. Incollare il valore copiato nella rispettiva colonna "Valore inziale" della variabile. (Fare clic
con il tasto destro del mouse e selezionare "Incolla" nel menu di scelta rapida.)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 821
Tool online e di diagnostica
14.11 Controllo e modifica dei valori nella CPU

6. Salvare il progetto per configurare i valori copiati come nuovi valori iniziali del DB.
7. Compilare e caricare il DB nella CPU. Dopo il passaggio della CPU in RUN il DB utilizza i
nuovi valori iniziali.

Nota
I valori visualizzati nella colonna "Valore di controllo" sono sempre copiati dalla CPU.
STEP 7 non verifica se tutti i valori provengono dallo stesso ciclo di scansione della CPU.

14.11.4 Uso di una tabella di controllo per controllare e modificare i valori nella CPU
Le tabelle di controllo consentono di eseguire funzioni di controllo e di comando sui dati man
mano che la CPU esegue il programma. I dati possono essere costituiti dall'immagine di
processo (I o Q), da M, da DB o dagli ingressi fisici (I_:P), a seconda della funzione di
controllo o di comando. Non è possibile controllare con precisione le uscite fisiche (Q_:P)
perché la funzione di controllo può visualizzare solo l'ultimo valore scritto dalla memoria Q e
non legge il valore istantaneo delle uscite fisiche.
La funzione di controllo non modifica la sequenza del programma, ma fornisce informazioni
sulla sequenza e i dati del programma nella CPU.
Le funzioni di comando abilitano l'utente al comando della sequenza e dei dati del
programma. Usare sempre molta cautela nell'utilizzo delle funzioni di comando perché
possono influire sensibilmente sull'esecuzione del programma utente/di sistema. Sono
disponibili tre funzioni di comando per la modifica, il forzamento e l'abilitazione delle uscite in
STOP.
La tabella di controllo consente di eseguire le seguenti funzioni online:
● Controllo dello stato delle variabili
● Modifica dei valori di singole variabili
È possibile selezionare quando controllare o modificare la variabile:
● Inizio ciclo: legge o scrive il valore all'inizio del ciclo di scansione
● Fine ciclo: legge o scrive il valore alla fine del ciclo di scansione
● Commutazione in STOP

Sistema di automazione S7-1200


822 Manuale di sistema, 03/2014, A5E02486684-AG
Tool online e di diagnostica
14.11 Controllo e modifica dei valori nella CPU

Per creare una tabella di controllo:


1. Fare doppio clic su "Aggiungi nuova tabella di
controllo" per aprire una nuova tabella di controllo.
2. Immettere il nome della variabile per aggiungere
una variabile alla tabella di controllo.
Sono disponibili le seguenti opzioni per il controllo
delle variabili:
• Controlla tutto: questo comando avvia il controllo
delle variabili visibili nella tabella di controllo attiva.
• Controlla subito: questo comando avvia il controllo
delle variabili visibili nella tabella di controllo attiva.
La tabella di controllo controlla le variabili
immediatamente e una sola volta.

Sono disponibili le seguenti opzioni per la modifica delle variabili:


● "Comanda a 0" imposta a "0" il valore di un indirizzo selezionato.
● "Comanda a 1" imposta a "1" il valore di un indirizzo selezionato.
● "Esegui subito il comando" cambia immediatamente il valore degli indirizzi selezionati per
un ciclo di scansione.
● "Comanda con trigger" modifica i valori degli indirizzi selezionati.
Questa funzione non indica in alcun modo che gli indirizzi selezionati sono stati
effettivamente modificati. Per avere conferma della modifica utilizzare la funzione "Esegui
subito il comando".
● "Abilita uscite di periferia" disattiva il comando di disabilitazione delle uscite ed è
disponibile quando la CPU è in STOP.
Per poter controllare le variabili si deve aver stabilito un collegamento online con la CPU.

Le diverse funzioni possono essere selezionate con i pulsanti posti in alto nella tabella di
controllo.
Immettere il nome della variabile per controllare e selezionare il formato di visualizzazione
nell'elenco a discesa. Se è attivo un collegamento online con la CPU, fare clic sul pulsante
"Controlla" per visualizzare il valore effettivo dei dati nel campo "Valore di controllo".

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 823
Tool online e di diagnostica
14.11 Controllo e modifica dei valori nella CPU

14.11.4.1 Utilizzo di un trigger durante il controllo o la modifica delle variabili del PLC
La funzione di trigger consente di stabilire in quale punto del ciclo di scansione verrà
controllato o modificato l'indirizzo selezionato.

Tabella 14- 4 Tipi di trigger

Trigger Descrizione
Permanente Rileva ininterrottamente i dati
Inizio ciclo Permanente: rileva ininterrottamente i dati all'inizio del ciclo di scansione, dopo
che la CPU ha letto gli ingressi
Una volta: rileva i dati una volta all'inizio del ciclo di scansione, dopo che la
CPU ha letto gli ingressi
Fine ciclo Permanente: rileva ininterrottamente i dati alla fine del ciclo di scansione,
prima che la CPU scriva nelle uscite
Una volta: rileva i dati una volta alla fine del ciclo di scansione, prima che la
CPU scriva nelle uscite
Commutazione in Permanente: rileva ininterrottamente i dati quando la CPU commuta in STOP
STOP Una volta: rileva i dati una volta dopo che la CPU ha commutato in STOP

Per modificare una variabile PLC in un dato trigger selezionare l'inizio o la fine del ciclo.
● Modifica di un'uscita: il migliore evento di trigger per la modifica di un'uscita è la fine del
ciclo di scansione, immediatamente prima che la CPU scriva nelle uscite.
Controllare il valore delle uscite all'inizio del ciclo di scansione per determinare quale
valore viene scritto nelle uscite fisiche. Controllare inoltre le uscite prima che la CPU
scriva i valori nelle uscite fisiche in modo da verificare la logica del programma e
confrontare il comportamento effettivo degli I/O.
● Modifica di un ingresso: il migliore evento di trigger per la modifica di un ingresso è l'inizio
del ciclo di scansione, immediatamente dopo che la CPU ha letto gli ingressi e prima che
il programma utente ne utilizzi i valori.
Se si pensa che i valori cambino durante il ciclo di scansione, si può controllare il valore
degli ingressi al termine del ciclo per accertarsi che non sia cambiato rispetto all'inizio del
ciclo. Se i valori risultano diversi probabilmente il programma utente sta scrivendo
erroneamente negli ingressi.
Per capire il motivo per cui la CPU ha commutato in STOP utilizzare il trigger "Commuta in
STOP" che rileva gli ultimi valori del processo.

Sistema di automazione S7-1200


824 Manuale di sistema, 03/2014, A5E02486684-AG
Tool online e di diagnostica
14.11 Controllo e modifica dei valori nella CPU

14.11.4.2 Abilitazione delle uscite in STOP


La tabella di controllo consente di scrivere nelle uscite quando la CPU è in STOP. Questa
funzione consente di controllare il cablaggio delle uscite e verificare che il conduttore
collegato a un pin di uscita invii un segnale high o low al terminale del dispositivo di
processo a cui è collegato.

AVVERTENZA
Rischi della scrittura nelle uscite fisiche in STOP
Anche se la CPU è in STOP l'abilitazione di un'uscita fisica può attivare il punto del
processo a cui è collegata, causando il funzionamento imprevisto delle apparecchiature e
provocando la morte o gravi lesioni personali.
Prima di scrivere in un'uscita della tabella di controllo accertarsi che la modifica delle uscite
fisiche non possa causare il funzionamento imprevisto delle apparecchiature. Adottare
sempre le misure di sicurezza richieste dalle apparecchiature di processo.

Se le uscite sono abilitate è possibile modificarne lo stato in STOP. Se sono disabilitate


questa possibilità non sussiste. Per attivare la possibilità di modificare le uscite in STOP
dalla tabella di controllo procedere nel seguente modo:
1. Selezionare il comando "Modo avanzato" dal menu "Online".
2. Dopo aver fatto clic su una riga della tabella di controllo con il tasto destro del mouse
selezionare l'opzione "Abilita uscite di periferia" del comando "Modifica" nel menu
"Online" o nel menu di scelta rapida.
Se è stata configurata la periferia decentrata non è possibile attivare le uscite in STOP. Se si
tenta di farlo viene restituito un errore.
Quando la CPU viene impostata in RUN l'opzione "Abilita uscite di periferia" si disattiva.
Se alcuni ingressi o uscite sono stati forzati la CPU non è autorizzata ad abilitare le uscite
quando è in STOP. Perché questo sia possibile è necessario eliminare la funzione di
forzamento.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 825
Tool online e di diagnostica
14.11 Controllo e modifica dei valori nella CPU

14.11.5 Forzamento di valori nella CPU

14.11.5.1 Utilizzo della tabella di forzamento


La tabella di forzamento mette a disposizione una funzione di "forzamento" che sovrascrive il
valore di un ingresso o di un'uscita con un valore specifico dell'indirizzo di ingresso o di
uscita della periferia. La CPU applica questo valore forzato all'immagine di processo degli
ingressi prima dell'esecuzione del programma utente e all'immagine di processo delle uscite
prima che le uscite vengano scritte nei moduli.

Nota
I valori forzati sono memorizzati nella CPU e non nella tabella di forzamento.
Non è possibile forzare un ingresso (o indirizzo "I") o un'uscita (o indirizzo "Q"). Tuttavia è
possibile forzare un ingresso o un'uscita della periferia. La tabella di forzamento aggiunge
automaticamente una :P all'indirizzo (ad esempio: "On":P o "Run":P).

Nella cella "Valore di forzamento" inserire il valore dell'ingresso o dell'uscita da forzare.


Abilitare il forzamento dell'ingresso o dell'uscita utilizzando la casella di riepilogo nella
colonna "Forzamento".
Utilizzare il pulsante "Avvia o sostituisci forzamento" per forzare il valore delle
variabili nella tabella di forzamento. Fare clic su "Termina forzamento" per
reimpostare il valore delle variabili.
Nella tabella di forzamento è possibile controllare lo stato del valore forzato di un ingresso,
ma non quello di un'uscita.
Nell'editor di programma si può anche visualizzare lo stato del valore forzato.

Sistema di automazione S7-1200


826 Manuale di sistema, 03/2014, A5E02486684-AG
Tool online e di diagnostica
14.11 Controllo e modifica dei valori nella CPU

Nota
Se si forza un ingresso o un'uscita in una tabella di forzamento, le operazioni di forzamento
vengono integrate nella configurazione del progetto. Chiudendo STEP 7 gli elementi forzati
restano attivi nel programma della CPU fino alla loro cancellazione. Per cancellare questi
elementi forzati occorre collegarsi alla CPU online mediante STEP 7 e utilizzare la tabella di
forzamento per disattivare o arrestare la funzione di forzamento per questi elementi.

14.11.5.2 Funzionamento della funzione di forzamento


La CPU consente di forzare gli ingressi e le uscite specificandone l'indirizzo fisico (I_:P o
Q_:P) nella tabella di forzamento e avviando la funzione di forzamento.
Nel programma, le letture degli ingressi fisici vengono sovrascritte dal valore forzato. Il
programma utilizza il valore forzato per l'elaborazione: quando scrive in un'uscita fisica, ne
sovrascrive il valore con il valore forzato. Quest'ultimo diventa disponibile nell'uscita fisica e
viene utilizzato dal processo.
Se si forza un ingresso o un'uscita nella tabella di forzamento, le operazioni di forzamento
vengono integrate nel programma utente. Anche se il software di programmazione è chiuso,
i forzamenti restano attivi nel programma della CPU in funzione finché non vengono resettati
dal software di programmazione che imposta la CPU online e arresta la funzione di
forzamento. I programmi i cui I/O forzati sono stati caricati in un'altra CPU da una memory
card continuano a forzare gli I/O selezionati nel programma.
Se la CPU esegue il programma utente da una memory card con protezione in scrittura, non
è possibile avviare o modificare il forzamento degli I/O da una tabella di controllo in quanto la
sovrascrittura dei valori nel programma utente protetto in scrittura non è consentita. Ogni
tentativo di forzamento dei valori protetti in scrittura genera un errore. Se si utilizza una
memory card per il trasferimento di un programma utente, qualsiasi elemento forzato sulla
memory card verrà trasferito alla CPU.

Nota
Impossibile forzare gli I/O digitali assegnati a HSC, PWM e PTO
Gli I/O digitali utilizzati dai contatori veloci (HSC), dai dispositivi di modulazione
dell'ampiezza degli impulsi (PWM) e di uscita di treni di impulsi (PTO) vengono assegnati
durante la configurazione dei dispositivi. Quando gli indirizzi degli I/O digitali vengono
assegnati a questi dispositivi, i rispettivi valori non possono essere modificati mediante la
funzione di forzamento nella tabella di forzamento.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 827
Tool online e di diagnostica
14.12 Caricamento del programma in modo RUN

Avviamento RUN
A Il forzamento non influisce sulla ① Quando scrive la memoria Q nelle uscite
cancellazione dell'area di memoria I. fisiche la CPU applica il valore di forzamento
durante l'aggiornamento delle uscite.
B Il forzamento non influisce ② Durante la lettura degli ingressi fisici la CPU
sull'inizializzazione dei valori di uscita. applica i valori di forzamento subito prima di
copiare gli ingressi nella memoria I.
C Durante l'esecuzione degli OB di ③ Durante l'esecuzione del programma utente
avviamento la CPU applica il valore di (OB di ciclo del programma) la CPU applica il
forzamento quando il programma utente valore di forzamento quando il programma
accede all'ingresso fisico. utente accede all'ingresso fisico o scrive
nell'uscita fisica.
D Il forzamento non influisce sulla ④ Il forzamento non influisce sulla gestione delle
memorizzazione degli eventi di allarme richieste di comunicazione e della diagnostica
nella coda d'attesa. di autotest.
E Il forzamento non influisce ⑤ Il forzamento non influisce sull'elaborazione
sull'abilitazione della scrittura nelle degli allarmi in un punto qualsiasi del ciclo di
uscite. scansione.

14.12 Caricamento del programma in modo RUN


La CPU consente di caricare il programma in RUN. Questa funzione ha lo scopo di
permettere all'utente di apportare piccole modifiche al programma interferendo il meno
possibile con il processo che esso controlla, ma consente anche di apportare modifiche più
consistenti che potrebbero causare problemi o danni al processo.

AVVERTENZA
Rischi del caricamento in modo RUN
Le modifiche caricate nella CPU in modo RUN influiscono immediatamente sul
funzionamento del processo. Se si apportano modifiche al programma in modo RUN, il
sistema potrebbe comportarsi in modo imprevisto e causare la morte o gravi lesioni alle
persone e danni alle apparecchiature.
È quindi importante che il caricamento del programma in modo RUN venga effettuato
esclusivamente da personale autorizzato che sa prevedere le conseguenze delle modifiche
in RUN sul funzionamento del sistema.

Sistema di automazione S7-1200


828 Manuale di sistema, 03/2014, A5E02486684-AG
Tool online e di diagnostica
14.12 Caricamento del programma in modo RUN

La funzione di caricamento del programma in RUN consente di modificare il programma e


caricarlo nella CPU senza portarla in STOP:
● È così possibile apportare piccole modifiche al programma senza dover spegnere la CPU
(ad es. modificare il valore di un parametro).
● Questa funzione consente di testare il programma più rapidamente (ad esempio
invertendo la logica di un contatto normalmente aperto o normalmente chiuso).
È possibile effettuare le seguenti modifiche del blocco di codice e delle variabili e caricarle in
RUN:
● Creare, sovrascrivere e cancellare funzioni (FC), blocchi funzionali (FB) e tabelle di
variabili.
● Creare, eliminare e sovrascrivere blocchi dati (DB) e blocchi dati di istanza per i blocchi
funzionali (FB). È possibile inserire strutture di DB e caricarle in RUN. In funzione delle
impostazioni di configurazione (Pagina 833) la CPU può mantenere i valori delle variabili
di blocco esistenti e inizializzare le variabili nuove riportandole ai valori iniziali, oppure
può impostare tutte le variabili sui valori iniziali. Non è possibile caricare in RUN un DB di
Web server (di controllo o di frammenti).
● Sovrascrivere i blocchi organizzativi (OB). Gli OB non possono essere creati o cancellati.
In RUN si possono caricare contemporaneamente al massimo venti blocchi. Se se ne
devono caricare più di venti si deve mettere la CPU in STOP.
Se si vogliono caricare le modifiche in un processo reale (e quindi non simulato come
durante il test del programma), prima di procedere è indispensabile riflettere sulle
conseguenze di questa operazione sulla sicurezza delle macchine e degli operatori.

Nota
Se la CPU è in RUN e il programma è stato modificato STEP 7 cerca sempre di caricarlo
prima in RUN. Per evitare che lo faccia automaticamente si deve impostare la CPU in STOP.
Se il caricamento in RUN non supporta le modifiche effettuate STEP 7 visualizza un
messaggio e segnala che è necessario impostare la CPU in STOP.

14.12.1 Requisiti per poter eseguire il caricamento in modo RUN


Le modifiche del programma possono essere caricate in una CPU in RUN solo se sono
soddisfatti i seguenti requisiti:
● La CPU ha la versione V3.0 o una versione successiva

Nota
Per poter modificare i blocchi esistenti e caricare l'interfaccia ampliata del blocco in RUN
(Pagina 833) la CPU deve avere la versione V4.0 o una versione successiva.

● Il programma è stato compilato correttamente.


● È stata stabilita la comunicazione tra il dispositivo di programmazione in cui viene
eseguito STEP 7 e la CPU.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 829
Tool online e di diagnostica
14.12 Caricamento del programma in modo RUN

14.12.2 Modifica del programma in modo RUN


Per modificare il programma in RUN accertarsi innanzitutto che la CPU e il programma
soddisfino i necessari requisiti (Pagina 829), quindi procedere nel seguente modo:
1. Per caricare il programma in RUN selezionare uno dei seguenti metodi:
– Selezionare il comando "Carica nel dispositivo" del menu "Online".
– Fare clic sul pulsante "Carica nel dispositivo" della barra degli strumenti.
– Fare clic con il tasto destro del mouse su "Blocchi di programma" nell'albero del
progetto e selezionare il comando "Carica nel dispositivo > Software".

Se il programma viene compilato correttamente STEP 7 inizia a caricarlo nella CPU.


2. Quando STEP 7 chiede se si vuole caricare il programma o annullare l'operazione fare
clic su "Carica" per caricare il programma nella CPU.

Sistema di automazione S7-1200


830 Manuale di sistema, 03/2014, A5E02486684-AG
Tool online e di diagnostica
14.12 Caricamento del programma in modo RUN

14.12.3 Caricamento di blocchi selezionati


Dalla cartella dei Blocchi di programma si possono selezionare più blocchi o un singolo
blocco da caricare.

Se si seleziona un singolo
blocco per caricarlo, la
colonna "Operazione"
contiene solamente l'opzione
"Caricamento coerente".
Per verificare quali blocchi
devono essere caricati si può
espandere la riga della
categoria. In questo esempio è
stata apportata una piccola
modifica al blocco offline e non
è necessario caricare altri
blocchi.
In questo esempio è
necessario caricare più
blocchi.

Nota
In RUN si possono caricare contemporaneamente al massimo venti blocchi. Se se ne
devono caricare più di venti si deve mettere la CPU in STOP.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 831
Tool online e di diagnostica
14.12 Caricamento del programma in modo RUN

Se si cerca di effettuare un
caricamento in RUN ma il
sistema rileva che non è
possibile procedere prima del
caricamento attuale, la finestra
di dialogo visualizza la riga di
categoria Arresta unità.

Fare clic sul pulsante "Carica"


per visualizzare la finestra
"Carica risultati". Fare clic sul
pulsante "Fine" per concludere
il caricamento.

14.12.4 Caricamento in un altro blocco di un singolo blocco selezionato contenente un


errore di compilazione
Se si cerca di effettuare un caricamento coerente e si è verificato un errore di compilazione
in un altro blocco, la finestra di dialogo segnala un errore e il pulsante di caricamento viene
disattivato.

È necessario correggere l'errore di compilazione nell'altro blocco. Quindi fare clic sul
pulsante "Carica".

Sistema di automazione S7-1200


832 Manuale di sistema, 03/2014, A5E02486684-AG
Tool online e di diagnostica
14.12 Caricamento del programma in modo RUN

14.12.5 Modifica e caricamento di blocchi esistenti nel modo RUN


La funzione di caricamento in RUN consente di aggiungere e modificare le variabili nei
blocchi dati e nei blocchi funzionali e di caricare i blocchi modificati nella CPU in RUN.

Caricamento senza reinizializzazione


Ogni DB ed FB dispone di una data quantità di riserva di memoria che può essere usata per
aggiungere delle variabili al blocco ed eventualmente caricarle in seguito in RUN. Per default
la dimensione iniziale della riserva di memoria è di 100 byte. Si può continuare ad
aggiungere variabili fino ad occupare interamente lo spazio di memoria riservato e caricare il
blocco ampliato nella CPU in RUN. Se si richiede uno spazio di memoria maggiore per poter
aggiungere altre variabili, si può aumentare quello disponibile per default. Se si aggiungono
più variabili di quelle consentite dallo spazio di memoria riservato non si riesce a caricare il
blocco ampliato nella CPU in RUN.

La funzione "Carica senza reinizializzazione" consente di ampliare un blocco dati


aggiungendovi ulteriori variabili e di caricarlo in seguito in RUN. In questo modo è possibile
aggiungere variabili a un blocco dati e caricarlo senza reinizializzare il programma. La CPU
mantiene i valori delle variabili dei blocchi dati esistenti e inizializza le nuove variabili
aggiunte riportandole ai valori iniziali.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 833
Tool online e di diagnostica
14.12 Caricamento del programma in modo RUN

Per attivare questa funzione per un progetto online con una CPU in RUN procedere nel
seguente modo:
1. Aprire il blocco dalla cartella Blocchi di programma dell'albero del progetto di STEP 7.
2. Fare clic sul pulsante "Carica senza reinizializzazione" nell'editor di blocchi per attivare la
funzione. (Quando è attiva, l'icona è contornata da un riquadro: )
3. Fare clic su OK nel messaggio per confermare la selezione.
4. Aggiungere le variabili all'interfaccia del blocco e caricarlo in modo RUN. Si possono
aggiungere e caricare tante variabili quante ne consente lo spazio di memoria riservato.
Se si aggiungono al blocco più byte di quelli configurati per la riserva di memoria, quando si
cerca di caricare il blocco in modo RUN STEP 7 visualizza un errore. Per aumentare la
memoria disponibile si devono modificare le proprietà del blocco. Se la funzione “Carica
senza reinizializzazione" è attiva non è possibile eliminare le voci esistenti o modificare la
riserva di memoria del blocco. Per disattivare questa funzione procedere nel seguente
modo:
1. Fare clic sul pulsante "Carica senza reinizializzazione" nell'editor di blocchi per disattivare
la funzione. (Quando è attiva, l'icona è contornata da un riquadro: )
2. Fare clic su OK nel messaggio per confermare la selezione.
3. Caricare il blocco. Per caricare il blocco ampliato selezionare "reinizializza" nella finestra
di caricamento.
Il caricamento reinizializza tutte le vecchie e le nuove variabili di blocco riportandole ai valori
iniziali.

Caricamento delle variabili di blocco a ritenzione


Per poter caricare le variabili di blocco a ritenzione in RUN è necessario assegnare una
riserva di memoria a ritenzione. Per configurarla procedere nel seguente modo:
1. Nella cartella Blocchi di programma dell'albero di progetto STEP 7 fare clic con il tasto
destro del mouse sul blocco e selezionare "Proprietà" nel menu di scelta rapida.
2. Selezionare la proprietà "Carica senza reinizializzazione".
3. Selezionare la casella di opzione "Attiva il caricamento senza reinizializzazione per
variabili a ritenzione".
4. Configurare il numero di byte disponibili per la riserva di memoria a ritenzione.
5. Fare clic su OK per salvare le modifiche.
6. Aggiungere le variabili a ritenzione al blocco dati e caricarlo in RUN. Si possono
aggiungere e caricare tante variabili a ritenzione quante ne consente lo spazio di
memoria a ritenzione riservato.
Se si aggiungono al blocco dati più byte a ritenzione di quelli configurati per la riserva di
memoria a ritenzione, quando si cerca di caricare il blocco in modo RUN STEP 7 visualizza
un errore. Per poter caricare le variabili a ritenzione in RUN si possono aggiungere al blocco
dati tante variabili quante ne consente lo spazio di memoria riservato.
Quando vengono caricate, le variabili di blocco a ritenzione ampliate contengono i rispettivi
valori attuali.

Sistema di automazione S7-1200


834 Manuale di sistema, 03/2014, A5E02486684-AG
Tool online e di diagnostica
14.12 Caricamento del programma in modo RUN

Configurazione della quantità di memoria riservata per i nuovi blocchi


La memoria riservata per i nuovi blocchi dati ha per default una dimensione di 100 byte.
Ciascun nuovo blocco creato mette quindi a disposizione una riserva di memoria di 100 byte.
Se si vuole che i nuovi blocchi abbiano uno riserva di memoria diversa si può modificare la
relativa opzione nelle impostazioni di programmazione del PLC:
1. Selezionare il comando di menu Opzioni > Impostazioni in STEP 7.
2. Nella finestra di dialogo Impostazioni espandere "Programmazione PLC" e selezionare
"Generale".
3. Specificare il numero di bye della riserva di memoria nell'area "Carica senza
reinizializzazione".
Quando si creano i nuovi blocchi STEP 7 utilizza la riserva di memoria configurata per i
nuovi blocchi.

Limitazioni
Quando si modificano e si caricano i blocchi in RUN si devono considerare le seguenti
limitazioni:
● La possibilità di ampliare l'interfaccia del blocco aggiungendo nuove variabili e di caricarle
in RUN è disponibile solo per i blocchi ottimizzati (Pagina 180).
● Non è possibile modificare la struttura di un blocco e caricarlo in RUN senza
reinizializzarlo. L'inserimento di nuovi elementi nella variabile Struct (Pagina 119), la
modifica dei nomi delle variabili, delle dimensioni degli array, dei tipi di dati e dello stato di
ritenzione richiedono la reinizializzazione del blocco, se lo si vuole caricare in RUN. Le
sole modifiche che possono essere apportate alle variabili di blocco esistenti e che non
richiedono la reinizializzazione del blocco in caso di caricamento in RUN sono quelle dei
valori iniziali (blocchi dati), dei valori di default (blocchi funzionali) e dei commenti.

Nota
La possibilità di modificare i blocchi e caricarli in RUN è una nuova funzione della
versione V4.0 della CPU S7-1200. Nelle versioni precedenti alla V4.0 i blocchi modificati
potevano essere caricati solo in STOP.

● Non è possibile caricare in RUN più variabili di blocco di quante ne possa contenere la
riserva di memoria.
● Non è possibile caricare in RUN più variabili di blocco a ritenzione di quante ne possa
contenere la riserva di memoria a ritenzione.

Vedere anche
Sostituzione di una CPU V3.0 con una CPU V4.0 (Pagina 1025)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 835
Tool online e di diagnostica
14.12 Caricamento del programma in modo RUN

14.12.6 Reazione del sistema se il caricamento non riesce


Se si verifica un errore di collegamento alla rete durante il caricamento iniziale in RUN STEP
7 visualizza la seguente finestra di dialogo "Carica anteprima":

14.12.7 Considerazioni sul caricamento nel modo RUN


Prima di procedere al caricamento del programma in RUN è importante considerare quali
potrebbero essere le conseguenze sul funzionamento della CPU nelle seguenti situazioni:
● se si elimina la logica di controllo di un'uscita la CPU mantiene l'ultimo stato fino al
successivo ciclo di spegnimento/accensione o alla successiva transizione in STOP.
● Se si cancella un contatore veloce o delle funzioni PTO che erano in esecuzione, il
contatore veloce o l'uscita di impulsi continuano ad essere eseguite fino al successivo
ciclo di spegnimento/accensione o alla successiva transizione in STOP.
● La logica che viene condizionata dallo stato del bit del primo ciclo non viene eseguita fino
al successivo ciclo di spegnimento/accensione o alla successiva transizione da RUN a
STOP. Il bit del primo ciclo viene impostato solo in seguito alla transizione in RUN e non
subisce alcuna modifica in caso di caricamento in RUN.
● I valori attuali dei blocchi dati (DB) e/o delle variabili possono essere sovrascritti.

Sistema di automazione S7-1200


836 Manuale di sistema, 03/2014, A5E02486684-AG
Tool online e di diagnostica
14.12 Caricamento del programma in modo RUN

Nota
Per poter caricare nella CPU il programma in modo RUN è necessario che la CPU
supporti la funzione di modifica in RUN, che il programma sia stato compilato senza errori
e che la comunicazione fra STEP 7 e la CPU funzioni correttamente.
È possibile effettuare le seguenti modifiche dei blocchi di codice e delle variabili e
caricarli in RUN:
• creare, sovrascrivere e cancellare funzioni (FC), blocchi funzionali (FB) e tabelle di
variabili.
• Creare e cancellare blocchi dati (DB). Non è tuttavia possibile sovrascrivere le
modifiche delle strutture dei DB. I valori iniziali dei DB sono invece sovrascrivibili. Non
è possibile caricare in RUN un DB di Web server (di controllo o di frammenti).
• Sovrascrivere i blocchi organizzativi (OB). Gli OB non possono essere creati o
cancellati.
In RUN si possono caricare contemporaneamente al massimo venti blocchi. Se se ne
devono caricare più di venti si deve mettere la CPU in STOP.
Una volta avviato un caricamento non si possono eseguire altre operazioni in STEP 7
finché non è terminato.

Istruzioni che possono non riuscire perché è attiva la modalità di caricamento in RUN
Le seguenti istruzioni potrebbero restituire un errore temporaneo se si attivano nella CPU
delle modifiche caricate in RUN. L'errore si verifica se l'istruzione viene avviata mentre la
CPU si sta preparando per attivare le modifiche caricate. In questo periodo di tempo la CPU
blocca l'avvio di un nuovo accesso del programma utente alla memoria di caricamento,
consentendo al programma di terminare quello in corso. In questo garantisce che le
modifiche caricate vengano attivate in modo coerente.

Istruzione Risposta in caso di attivazione


DataLogCreate STATUS = W#16#80C0, ERROR = TRUE
DataLogOpen STATUS = W#16#80C0, ERROR = TRUE
DataLogWrite STATUS = W#16#80C0, ERROR = TRUE
DataLogClose STATUS = W#16#80C0, ERROR = TRUE
DataLogNewFile STATUS = W#16#80C0, ERROR = TRUE
READ_DBL RET_VAL = W#16#82C0
WRIT_DBL RET_VAL = W#16#82C0
RTM RET_VAL = 0x80C0

In tutti i casi quando si verifica un errore l'uscita RLO dell'istruzione è falsa. L'errore è
temporaneo. Se si verifica si deve provare a ripetere l'istruzione in seguito.

Nota
Non cercare di ripeterla nell'esecuzione attuale dell'OB.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 837
Tool online e di diagnostica
14.13 Tracciamento e registrazione dei dati della CPU in base a delle condizioni di trigger

14.13 Tracciamento e registrazione dei dati della CPU in base a delle


condizioni di trigger
STEP 7 mette a disposizione funzioni di tracciamento e analisi della logica con cui si
possono configurare le variabili per il PLC da tracciare e registrare. Si possono quindi
caricare i dati di tracciamento registrati nel dispositivo di programmazione e analizzarli,
gestirli e rappresentarli con gli strumenti di STEP 7. Per creare e gestire i tracciamenti si
utilizza la cartella Traces dell'albero di progetto di STEP 7.
La seguente figura rappresenta le diverse fasi della funzione di tracciamento:

① Configurare il tracciamento nell'apposito editor di STEP 7. È possibile configurare i valori di


dati da registrare, la durata e la frequenza della registrazione e la condizione di trigger.
② Trasferire la configurazione del tracciamento da STEP 7 nel PLC.
③ Il PLC esegue il programma e, quando si verifica la condizione di trigger, inizia a registrare i
dati di tracciamento.
④ Trasferire i valori registrati dal PLC in STEP 7.
⑤ Utilizzare gli strumenti di STEP 7 per analizzare i dati, rappresentarli graficamente e salvarli.

Si noti che la funzione di tracciamento è disponibile solo nella versione V4.0 della CPU S7-
1200.
Per maggiori informazioni su come programmare un tracciamento, caricare la
configurazione, caricare i dati di tracciamento e visualizzarli nell'analizzatore della logica
consultare il sistema di informazione di STEP 7.

Sistema di automazione S7-1200


838 Manuale di sistema, 03/2014, A5E02486684-AG
SM 1278 4xIO-Link Master 15
15.1 Panoramica dell'SM 1278 4xIO-Link Master

15.1.1 Panoramica
L'SM 1278 4xIO-Link Master è un modulo a 4 porte che funziona sia come modulo di I/O che
come modulo di comunicazione. Ogni porta può funzionare nella modalità IO-Link, di
ingresso digitale singolo a 24 V o di uscita digitale singola a 24 VDC.

15.1.2 IO-Link e il Programma STEP 7


Il master IO-Link programma la comunicazione aciclica con un dispositivo IO-Link utilizzando
il blocco funzionale (FB) per il richiamo dell'IOL_CALL nel programma del controllore STEP 7
S7-1200. L'FB IOL_CALL indica quale master IO-Link viene usato dal programma e quali
porte vengono utilizzate dal master per lo scambio dei dati.
Per informazioni sull'utilizzo dell'FB IOL_CALL consultare la pagina Web Siemens Industry
Online Support (http://support.automation.siemens.com). Per visualizzare informazioni sui
prodotti IO-Link e su come utilizzarli specificare "IO-Link" nel campo di ricerca della pagina
Web.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 839
SM 1278 4xIO-Link Master
15.1 Panoramica dell'SM 1278 4xIO-Link Master

15.1.3 Proprietà
Vista del modulo

Proprietà

Proprietà tecniche
● IO-Link Master secondo la specifica IO-Link V1.1 (per maggiori informazioni consultare il
sito dell'consorzio IO-Link (http://io-link.com/en/index.php))
● Modulo di comunicazione seriale con quattro porte (canali)
● Velocità di trasmissione dati COM1 (4.8 kbaud), COM2 (38.4 kbaud), COM3 (230.4
kbaud)
● Modo SIO (modo IO standard)
● Collegamento di max. quattro dispositivi IO-Link (collegamento a 3 fili) o quattro attuatori
o encoder standard
● Funzione di diagnostica programmabile porta per porta

Sistema di automazione S7-1200


840 Manuale di sistema, 03/2014, A5E02486684-AG
SM 1278 4xIO-Link Master
15.1 Panoramica dell'SM 1278 4xIO-Link Master

Funzioni supportate
● Dati di identificazione I&M (installazione e manutenzione)
● Aggiornamento del firmware
● Assegnazione dei parametri IO-Link mediante il tool di configurazione delle porte
S7-PCT, STEP 7 Professional e CPU S7-1200 V4.0 o con versione superiore

15.1.4 Funzioni
IO-Link è un collegamento punto a punto tra un master e un dispositivo. Come dispositivi per
questo IO-Link si possono usare sensori/attuatori sia convenzionali che intelligenti collegati
tramite cavi standard non schermati con tecnologia consolidata a 3 fili. IO-Link è compatibile
con i sensori e gli attuatori digitali convenzionali. Il canale di stato del circuito e di dati è
realizzato con la consolidata tecnologia a 24 VDC.
Per maggiori informazioni sulla tecnologia SIMATIC IO-Link consultare il "Manuale di guida
alle funzioni Sistema IO-Link" sul sito dell'Industry Online Support di Siemens
(http://support.automation.siemens.com).

15.1.5 Sostituzione del modulo di I/O SM 4xIO-Link

Nota
Dati dei parametri IO-Link
Quando si sostituisce l'SM 4xIO-Link Master i dati dei parametri non vengono assegnati al
modulo automaticamente.

CAUTELA
Estrazione e inserimento
Se si inserisce l'SM 4xIO-Link Master con il carico attivato si possono creare condizioni
pericolose nell'impianto
che possono causare danni materiali al sistema di automazione S7-1200.
Estrarre o inserire l'SM 4xIO-Link Master solo quando il carico è spento.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 841
SM 1278 4xIO-Link Master
15.2 Collegamenti

15.1.6 Ripristino delle impostazioni di fabbrica del modulo

Effetti del ripristino delle impostazioni di fabbrica


Per resettare le assegnazioni dei parametri effettuate con S7-PCT e riportarle allo stato di
consegna si utilizza la funzione "Ripristino delle impostazioni di fabbrica".
Dopo l'esecuzione di "Ripristino delle impostazioni di fabbrica" i parametri del modulo
SM 1278 4xIO-Link vengono assegnati nel seguente modo:
● Le porte sono in modalità DI
● Le porte sono mappate sui rispettivi indirizzi compresi fra 0.0 e 0.3
● Il PortQualifier è disabilitato
● I dati di manutenzione da 1 a 3 vengono cancellati

Nota
Quando si effettua un reset alle impostazioni di fabbrica i parametri del dispositivo vengono
cancellati e viene ripristinato lo stato di consegna.
Se si estrae un modulo di I/O SM 1278 4xIO-Link, prima di immagazzinarlo lo si deve
resettare ripristinandone le impostazioni di fabbrica.

Procedimento
Per eseguire un "Ripristino delle impostazioni di fabbrica" procedere come indicato in
"Configurazione Master > scheda 'Comandi' della Guida in linea di S7-PCT.

15.2 Collegamenti

15.2.1 Assegnazione dei pin


Per informazioni sull'assegnazione dei pin consultare i dati tecnici del "modulo di I/O IO-Link
Master" nell'appendice A (Pagina 963).
La seguente tabella mostra l'assegnazione dei morsetti per l'SM 1278 4xIO-Link Master:

Sistema di automazione S7-1200


842 Manuale di sistema, 03/2014, A5E02486684-AG
SM 1278 4xIO-Link Master
15.2 Collegamenti

Piedin X10 X11 X12 X13 Avvertenza BaseUnits


o
7 M1 M2 M3 M4 • Mn: dalla terra allo slave A1
6 C/Q1 C/Q2 C/Q3 C/Q4 • C/Qn: SDLC, DI o DQ
5 L1 L2 L3 L4 • Ln: da 24 VDC allo slave
4 RES RES RES RES • M: terra
3 RES RES RES • L+: da 24 VDC al master

(terra funzionale) • RES: riservato; lo si può anche non


assegnare
2 M RES RES RES
1 L+ RES RES RES

La seguente tabella contiene i grafici di alcuni esempi di collegamento in cui n = numero


della porta:

Modo di funzionamento IO-Link Modo di funzionamento DI Modo di funzionamento DQ

Nota
I sensori collegati devono usare l'alimentazione dispositivo fornita dal collegamento del
modulo master Ln.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 843
SM 1278 4xIO-Link Master
15.2 Collegamenti

15.2.2 Schema logico

Sistema di automazione S7-1200


844 Manuale di sistema, 03/2014, A5E02486684-AG
SM 1278 4xIO-Link Master
15.3 Parametri/spazio di indirizzamento

15.3 Parametri/spazio di indirizzamento

15.3.1 Configurazione

Configurazione dell'SM 1278 4xIO-Link Master


Per l'integrazione del modulo si deve utilizzare il tool di engineering Siemens TIA Portal V12
o superiore. È inoltre necessario S7-PCT V3.2 o superiore per l'integrazione di IO-Link.
Per la messa in servizio si deve disporre sia di un tool di engineering che di S7-PCT V3.2 o
superiore per l'assegnazione dei parametri.

15.3.2 Parametri
La seguente tabella mostra i parametri per l'SM 1278 4xIO-Link Master:

Parametri Campo di valori Default Configurazione in Range di


RUN efficienza
Diagnostica porta • Disabilita Disabilita Sì Porta (canale)
1
• Abilita
Diagnostica porta • Disabilita Disabilita Sì Porta (canale)
2
• Abilita
Diagnostica porta • Disabilita Disabilita Sì Porta (canale)
3
• Abilita
Diagnostica porta • Disabilita Disabilita Sì Porta (canale)
4
• Abilita

Parametro di attivazione della diagnostica per le porte da 1 a 4


Questo parametro consente di abilitare la diagnostica in modo specifico per ciascuna delle 4
porte IO-Link disponibili.
Le porte sono assegnate nel seguente modo:
Porta 1 → canale 1
Porta 2 → canale 2
Porta 3 → canale 3
Porta 4 → canale 4

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 845
SM 1278 4xIO-Link Master
15.3 Parametri/spazio di indirizzamento

15.3.3 Spazio di indirizzamento


La dimensione massima degli indirizzi di ingresso e di uscita dell'SM 4xIO-Link Master è di
32 byte per porta. Per assegnare lo spazio di memoria si usa il tool di configurazione S7-
PCT.

15.3.4 Record dei parametri di dati

Assegnazione dei parametri nel programma utente


Il dispositivo può essere configurato in runtime.

Modifica dei parametri in runtime


I parametri del modulo sono contenuti nel record di dati 128. I parametri modificabili possono
essere trasmessi al modulo con l'istruzione WRREC.
Quando si resetta (si spegne e accende) la CPU, questa sovrascrive i parametri trasmessi al
modulo dall'istruzione WRREC durante la parametrizzazione.

Istruzione per l'assegnazione dei parametri


La seguente istruzione consente di assegnare i parametri al modulo di I/O nel programma
utente:

Istruzione Applicazione
SFB 53 WRREC Trasferimento nel modulo dei parametri modificabili.

Messaggio di errore
In caso di errore viene restituito il seguente valore:

Codice di errore Significato


80B1H Errore nella lunghezza dei dati
80E0H Errore nelle informazioni dell'intestazione
80E1H Errore di parametro

Sistema di automazione S7-1200


846 Manuale di sistema, 03/2014, A5E02486684-AG
SM 1278 4xIO-Link Master
15.3 Parametri/spazio di indirizzamento

Struttura dei record di dati


La seguente tabella riporta i parametri IO-Link:

Offset Etichetta Tipo Default Descrizione


0 Versione 1 byte 0x02 Mostra la struttura del record 0x02 per l'IO-Link
Master in conformità a IO-Link V1.1
1 Lunghezza dei 1 byte 0x02 Lunghezza dei parametri (2 byte + 2 intestazioni)
parametri
Parametri iniziali di IO-Link
2 Diagnostica delle 1 byte 0x00 Attivazione della diagnostica per le porte da 1 a n
porte (porte da 1 a n)
3 Proprietà IOL 1 byte 0x00 Proprietà del modulo

La seguente tabella indica la versione dei record di dati:

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0


Riservato Versione principale (00) Versione secondaria (0010)

La seguente tabella indica la diagnostica delle porte dei record di dati:

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0


Riservato EN_Port4 EN_Port3 EN_Port2 EN_Port1

EN_Portx:
0 = diagnostica disattivata
1 = diagnostica attivata

La seguente tabella indica le proprietà IOL dei record di dati:

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0


Riservato

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 847
SM 1278 4xIO-Link Master
15.4 Allarmi, errori e allarmi di sistema

15.4 Allarmi, errori e allarmi di sistema

15.4.1 Indicazioni di stato e di errore

LED

Sistema di automazione S7-1200


848 Manuale di sistema, 03/2014, A5E02486684-AG
SM 1278 4xIO-Link Master
15.4 Allarmi, errori e allarmi di sistema

Significato delle indicazioni dei LED


La seguente tabella spiega il significato delle indicazioni di stato e di errore. La sezione
"Allarmi di diagnostica" descrive le misure da adottare per gli allarmi di diagnostica.

LED DIAG

DIAG Significato
Errore nell'alimentazione della S7-1200 con il bus backplane
Off
Modulo non configurato
Lampeggiante
Modulo parametrizzato e nessuna diagnostica del modulo
On
Modulo parametrizzato e diagnostica del modulo
Lampeggiante OR
Alimentazione L+ non collegata

LED di stato della porta


Valido per la porta IO-Link che si trova in modalità porta IO-Link.

COM/1 ... COM/4 Significato


Porta disattivata
Off
Porta attiva, dispositivo non collegato o
Lampeggiante Porta non collegata al dispositivo configurato
Porta attiva, dispositivo collegato
On

LED di stato del canale


Valido per la porta IO-Link che si trova in modalità DI/Q.

DI/Q1 ... DI/Q4 Significato


Segnale di processo = 0
Off
Segnale di processo = 1
On

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 849
SM 1278 4xIO-Link Master
15.4 Allarmi, errori e allarmi di sistema

LED di errore della porta

F1...F4 Significato
Nessun errore
Off
Errore
On

15.4.2 Allarmi di diagnostica


Gli errori del modulo sono segnalati come diagnostica (stato del modulo) solo nella modalità
IO-Link.

Allarme di Codice di STATU Significato (codice di errore IO-Link) IO-Link Disposi


diagnostica errore S master tivo
(decimale) (W#16#. IO-Link
..)
Cortocircuito 1 1804 Cortocircuito nei cavi di processo nel dispositivo IO-Link X
7710 Cortocircuito nell'IO device X
Sottotensione 2 5111 Tensione di alimentazione insufficiente X
5112
Sovratensione 3 5110 Tensione di alimentazione troppo alta X
Surriscaldame 5 1805 Temperatura superata nel master X
nto 4000 Temperatura superata nel dispositivo X
4210
Rottura 6 1800 • Nessun dispositivo IO-Link collegato X
conduttore
• Si è verificata una rottura nella linea di segnale di
collegamento al dispositivo IO-Link
• Il dispositivo IO-Link non riesce a comunicare a causa di un
errore diverso
Overflow 7 8C10 Campo delle variabili di processo superato X
8C20
8C20 Campo di misura superato
Underflow 8 8C30 Campo delle variabili di processo troppo basso X
Errore 9 --- Tutti i codici di errore IO-Link non elencati qui sono assegnati a X
questo errore PROFIBUS DP
Errore 16 1882 Impossibile configurare l'IO-Link master X
assegnazione 1883
parametro
1802 Dispositivo errato
1886 Errore di memorizzazione
6320 Dispositivo configurato in modo errato X
6321
6350

Sistema di automazione S7-1200


850 Manuale di sistema, 03/2014, A5E02486684-AG
SM 1278 4xIO-Link Master
15.4 Allarmi, errori e allarmi di sistema

Allarme di Codice di STATU Significato (codice di errore IO-Link) IO-Link Disposi


diagnostica errore S master tivo
(decimale) (W#16#. IO-Link
..)
Manca la 17 1806 Manca la tensione di alimentazione L+ per il dispositivo X
tensione di 1807 La tensione di alimentazione L+ per il dispositivo è insufficiente
alimentazione (<20 V)
Fusibile 18 5101 Fusibile del dispositivo guasto X
guasto
Spegnimento 25 1880 Errore grave (è necessario sostituire il master) X
di sicurezza
Guasto 26 1809 Errore di memorizzazione dati X
esterno 180A
180B
180C
180D
1808 Nel dispositivo IO-Link sono presenti più di 6 errori
contemporaneamente

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 851
SM 1278 4xIO-Link Master
15.4 Allarmi, errori e allarmi di sistema

Sistema di automazione S7-1200


852 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici A
A.1 Dati tecnici generali

Conformità alle norme


Il sistema di automazione S7-1200 è conforme alle seguenti norme e specifiche per i test. I
criteri adottati nei test dell'S7-1200 si basano sulle norme e le specifiche descritte di seguito.
Si noti che non tutti i modelli di S7-1200 hanno la certificazione relativa a queste norme e
che lo stato delle certificazioni può cambiare senza alcun preavviso. È responsabilità propria
determinare le certificazioni applicabili facendo riferimento ai valori nominali impressi sul
prodotto. L'elenco aggiornato dei prodotti e delle relative certificazioni può essere richiesto al
proprio rappresentante Siemens.

Omologazione CE
Il sistema di automazione S7-1200 soddisfa i requisiti e gli obiettivi di sicurezza stabiliti dalle
direttive CE sotto indicate ed è conforme alle norme europee armonizzate (EN) sui
controllori a logica programmabile pubblicate nelle Gazzette Ufficiali della Comunità
Europea.
● Direttiva EC 2006/95/EC (Direttiva Bassa Tensione) "Materiale elettrico destinato ad
essere adoperato entro taluni limiti di tensione"
– EN 61131-2:2007 Controllori programmabili - Prescrizioni e prove per le
apparecchiature
● Direttiva CE 2004/108/EC (Direttiva CEM) "Compatibilità elettromagnetica"
– Norma sulle emissioni elettromagnetiche
EN 61000-6-4:2007: ambiente industriale
– Norma sull'immunità elettromagnetica
EN 61000-6-2:2005: ambiente industriale
● Direttiva CE 94/9/EC (ATEX) "Apparecchi e sistemi di protezione destinati ad essere
utilizzati in atmosfera potenzialmente esplosiva"
– EN 60079-15:2005: tipo di protezione 'n'
La Dichiarazione di conformità CE è archiviata e tenuta a disposizione delle autorità
competenti presso:
Siemens AG
IA AS RD ST PLC Amberg
Werner-von-Siemens-Str. 50
D92224 Amberg
Germania

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 853
Dati tecnici
A.1 Dati tecnici generali

Omologazione cULus
Underwriters Laboratories Inc. in conformità a:
● Underwriters Laboratories, Inc.: UL 508 Listed (Apparecchiature di controllo per uso
industriale)
● Canadian Standards Association: CSA C22.2 n. 142 (Apparecchiature di controllo dei
processi)

Nota
La serie SIMATIC S7-1200 è conforme alla norma CSA.
Il logo cULus indica che l'S7-1200 è stato verificato e certificato presso gli Underwriters
Laboratories (UL) in base alle norme UL 508 e CSA 22.2 n. 142.

Omologazione FM
Factory Mutual Research (FM):
Classe n. 3600 e 3611
Omologato per l'impiego in:
Classe I, Categoria 2, Gruppi di gas A, B, C, D, Classe di temperatura T3C Ta = 60 ℃ C
Classe I, Zona 2, IIC, Classe di temperatura T3 Ta = 60 °C
Installazione in classe canadese I, Zona 2 secondo CEC 18-150
ECCEZIONE IMPORTANTE: Vedere le specifiche tecniche relative al numero di ingressi e
di uscite consentiti contemporaneamente. Alcuni modelli sono declassati a Ta = 60 ℃.

AVVERTENZA
La sostituzione dei componenti può rendere l'apparecchiatura non idonea agli ambienti di
classe I, divisione 2 e zona 2.
La riparazione delle unità deve essere eseguita esclusivamente da un centro di assistenza
Siemens autorizzato.

Omologazione ATEX
L'omologazione ATEX è valida solo per i modelli DC e non per i modelli AC e relè.
EN 60079-0:2009: Atmosfere esplosive - Regole generali
EN 60079-15:2010: Apparato elettrico per atmosfere potenzialmente esplosive;
tipo di protezione 'nA'
II 3 G Ex nA II T4 o T3 Gc
Installare i moduli in un contenitore adeguato garantendo un grado di protezione minimo
IP54 secondo quanto stabilito dalla norma EN 60529 o in un luogo che fornisca lo stesso
grado di protezione.
I cavi e i conduttori collegati devono essere adatti per la temperatura attuale misurata in
condizioni nominali.

Sistema di automazione S7-1200


854 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.1 Dati tecnici generali

L'installazione deve garantire che i transitori siano limitati a meno di 119 V. Vedere Immunità
alle sovratensioni in questa sezione.
ECCEZIONE IMPORTANTE: Vedere le specifiche tecniche relative al numero di ingressi e
di uscite consentiti contemporaneamente. Alcuni modelli sono declassati a Ta = 60 ℃.

Omologazione C-Tick
Il sistema di automazione S7-1200 soddisfa i requisiti stabiliti dalle norme AS/NZS 2064
(Classe A).

Certificazione coreana
Il sistema di automazione S7-1200 soddisfa i requisiti stabiliti dalla certificazione coreana
(marchio KC). È stato certificato come apparecchio di classe A, è destinato all'impiego nelle
applicazioni industriali e non a un uso domestico.

Omologazione nel settore marittimo


I prodotti S7-1200 vengono periodicamente verificati da enti competenti che ne certificano la
conformità alle norme rispetto alle esigenze di particolari settori di mercato e applicazioni.
L'elenco aggiornato dei prodotti e delle relative certificazioni può essere richiesto al proprio
rappresentante Siemens.
Società di certificazione:
● ABS (American Bureau of Shipping)
● BV (Bureau Veritas)
● DNV (Det Norske Veritas)
● GL (Germanischer Lloyd)
● LRS (Lloyds Register of Shipping)
● Class NK (Nippon Kaiji Kyokai)
● Korean Register of Shipping

Ambienti industriali
Il sistema di automazione S7-1200 è stato progettato per l'utilizzo negli ambienti industriali.

Tabella A- 1 Ambienti industriali

Campo di applicazione Requisiti relativi all'emissione delle Requisiti relativi all'immunità dalle interferenze
interferenze
Industriale EN 61000-6-4:2007 EN 61000-6-2:2005

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 855
Dati tecnici
A.1 Dati tecnici generali

Compatibilità elettromagnetica
La compatibilità elettromagnatica (CEM) è la capacità di un'apparecchiatura elettrica di
funzionare nel modo previsto in presenza di interferenze elettromagnetiche e senza
generare disturbi elettromagnetici di livello tale da compromettere il funzionamento di altre
apparecchiature poste nelle vicinanze.

Tabella A- 2 Norma sull'immunità elettromagnetica secondo EN 61000-6-2

Compatibilità elettromagnetica - Immunità secondo EN 61000-6-2


EN 61000-4-2 Scarica elettrostatica in aria a 8 kV su tutte le superfici,
Scarica elettrostatica scarica elettrostatica a contatto a 6 kV sulle superfici conduttive esposte
EN 61000-4-3 80 ... 1000 MHz, 10 V/m, 80% AM a 1 kHz
Test di immunità a campi elettromagnetici 1,4 ... 2,0 GHz, 3 V/m, 80% AM a 1 kHz
irradiati a radiofrequenza 2,0 ... 2,7 GHz, 1 V/m, 80% AM a 1 kHz
EN 61000-4-4 2 kV, 5 kHz con rete di accoppiamento all'alimentazione AC e DC del sistema
Burst transitori veloci 2 kV, 5 kHz con accoppiamento agli I/O
EN 6100-4-5 Sistemi AC - modo comune 2 kV, modo differenziale 1 kV,
Immunità alle sovratensioni sistemi DC - modo comune 2 kV, modo differenziale 1 kV.
Per i sistemi DC consultare il paragrafo seguente "Immunità alle
sovratensioni".
EN 61000-4-6 150 kHz ... 80 MHz, 10 V RMS, 80% AM a 1kHz
Disturbi elettromagnetici condotti
EN 61000-4-11 Sistemi AC
Buchi di tensione 0% per 1 ciclo, 40% per 12 cicli e 70% per 30 cicli a 60 Hz

Immunità alle sovratensioni


I sistemi di cablaggio soggetti a sovratensioni dovute a fulmini devono essere dotati di
protezione esterna. Una specifica per la valutazione della protezione dalla sovratensione
dovuta a fulmini è riportata nella norma EN 61000-4-5, con limiti di funzionamento definiti
nella norma EN 61000-6-2. Le CPU e le unità di ingresso/uscita dell'S7-1200 DC richiedono
una protezione esterna per garantire un funzionamento sicuro se sono sottoposte alle
sovratensioni definite da questa norma.
Più in basso sono elencati alcuni dispositivi che supportano la protezione necessaria per
l'immunità alle sovratensioni. Questi dispositivi forniscono protezione solo se installati
correttamente secondo la raccomandazioni del costruttore. È anche possibile utilizzare i
dispositivi costruiti da altri produttori che hanno le stesse specifiche o con specifiche migliori:
● Tensione di alimentazione, 24 VDC: DEHN, Inc., tipo BVT AD 24, numero di ordinazione
918 402
● Ingressi digitali, 24 VDC: DEHN, Inc., tipo DCO RK E 24, numero di ordinazione 919 988
● Uscite digitali, 24 VDC: DEHN, Inc., tipo DCO RK E 24, numero di ordinazione 919 988
● Ingressi analogici: DEHN, Inc., tipo BXT ML4 BD12, numero di ordinazione 920 342
● Uscite analogiche: DEHN, Inc., tipo DCO RK E 12, numero di ordinazione 919 987
● Ethernet: DEHN, Inc., tipo DPA M CAT6 RJ45S 48, numero di ordinazione 929 100
● RS-232: DEHN, Inc., tipo DCO RK E 12, numero di ordinazione 919 987

Sistema di automazione S7-1200


856 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.1 Dati tecnici generali

● RS-485: DEHN, Inc., tipo BXT ML2 BE HFS 5, numero di ordinazione 920 270
● Uscite relè: nessuna richiesta

Tabella A- 3 Emissioni condotte e irradiate secondo EN 61000-6-4

Compatibilità elettromagnetica - Emissioni condotte e irradiate secondo EN 61000-6-4


Emissioni condotte 0,15 MHz ... 0,5 MHz <79dB (μV) quasi picco; <66 dB (μV) media
EN 55011, Classe A, Gruppo 1 0,5 MHz ... 5 MHz <73dB (μV) quasi picco; <60 dB (μV) media
5 MHz ... 30 MHz <73dB (μV) quasi picco; <60 dB (μV) media
Emissioni irradiate 30 MHz ... 230 MHz <40dB (μV/m) quasi picco; misurate a 10 m
EN 55011, Classe A, Gruppo 1 230 MHz ... 1 GHz <47dB (μV/m) quasi picco; misurate a 10 m

Condizioni ambientali

Tabella A- 4 Trasporto e immagazzinaggio

Condizioni ambientali Trasporto e immagazzinaggio


EN 60068-2-2, test Bb, caldo secco e -40 °C ... +70 °C
EN 60068-2-1, test Ab, freddo
EN 60068-2-30, test Dd, caldo umido 25 °C ... 55 °C, 95% di umidità
EN 60068-2-14, test Na, brusca variazione termica -40 ℃ ... +70 ℃, tempo di sosta di 3 ore, 5 cicli
EN 60068-2-32, caduta libera 0,3 m, 5 volte, imballato per la spedizione
Pressione atmosferica 1080 a 660h Pa (corrispondente a un'altitudine di -1000 ... 3500 m)

Tabella A- 5 Condizioni di esercizio

Condizioni ambientali Esercizio


Campo di temperatura ambiente 20 ℃ ... 60 ℃ in caso di montaggio orizzontale,
(presa d'aria di 25 mm sotto l'unità) 20 ℃ ... 50 ℃ in caso di montaggio verticale
95% di umidità senza condensa
Se non altrimenti specificato
Pressione atmosferica 1080 ... 795 hPa (corrispondente a un'altitudine compresa tra -1000
e 2000 m)
Concentrazione di sostanze inquinanti S02: < 0,5 ppm; H2S: < 0,1 ppm; RH < 60% senza condensa
EN 60068-2-14, test Nb, variazione termica 5 °C ... 55 °C, 3 °C/minuto
EN 60068-2-27 Sollecitazioni meccaniche 15 G, impulso di 11 ms, 6 urti in ognuno dei 3 assi
EN 60068-2-6 Vibrazione sinusoidale Montaggio su guida DIN: 3,5 mm da 5 a 9 Hz, 1G da 9 a 150 Hz,
montaggio su pannello: 7,0 mm da 5 a -9 Hz; 2G da 9 a 150 Hz
10 oscillazioni per ogni asse, 1 ottava al minuto

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 857
Dati tecnici
A.1 Dati tecnici generali

Tabella A- 6 Test di isolamento per alti potenziali

Test di isolamento per alti potenziali


Circuiti con tensioni nominali a 24 VDC / 5 VDC 520 VDC (test di tipo dei limiti di isolamento ottico)
Tra i circuiti a 115 VAC / 230 VAC e la terra 1500 VAC
Tra i circuiti a 115 VAC / 230 VAC e i circuiti a 1500 VAC
115 VAC / 230 VAC 1500 VAC (3000 VAC/4242 VDC test di tipo)
Tra i circuiti a 115 VAC / 230 VAC e i circuiti a 1500 VAC (solo test di tipo)
24 VDC / 5 VDC
Tra la porta Ethernet, i circuiti a 24 VDC / 5 VDC e
la terra 1
1 L'isolamento della porta Ethernet è fatto in modo da limitare le tensioni pericolose durante gli errori di rete di breve
durata. Non è conforme ai requisiti di sicurezza per l'isolamento della tensione AC normale.

Classe di protezione
● Classe di protezione I secondo EN 61131-2 (il conduttore di protezione non è necessario)

Grado di protezione
● Protezione meccanica IP20, EN 60529
● Protegge dal contatto con alta tensione, come sperimentato su provino standard. Si
richiede protezione esterna da polvere, sporcizia, acqua e corpi estranei di diametro <
12,5 mm.

Tensioni nominali

Tabella A- 7 Tensioni nominali

Tensione nominale Tolleranza


24 VDC 20,4 VDC ... 28,8 VDC
120/230 VAC 85 VAC ... 264 VAC, 47 ... 63 Hz

Nota
Quando un contatto meccanico attiva la corrente in uscita verso la CPU S71200 o un'unità di
I/O digitale, invia un "1" alle uscite digitali per circa 50 microsecondi. Ciò può determinare il
funzionamento imprevisto delle macchine o del processo che può causare la morte o gravi
lesioni al personale e/o danneggiare le apparecchiature. È indispensabile tenerne conto, in
particolare se si utilizzano dispositivi che reagiscono a impulsi di breve durata.

Sistema di automazione S7-1200


858 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.1 Dati tecnici generali

Protezione dall'inversione di polarità


Il circuito di protezione dall'inversione di polarità è disponibile in tutte le coppie di morsetti
per l'alimentazione a +24 VDC o l'alimentazione di ingresso utente delle CPU, dei moduli di
segnale (SM) e delle signal board (SB). Se si collegano coppie di morsetti diverse con
polarità opposte si potrebbero causare danni al sistema.
Alcune porte di ingresso dell'alimentazione a 24 VDC del sistema S7-1200 sono
interconnesse, ovvero un circuito logico comune collega tra loro più morsetti M. Sono
interconnessi, ad esempio, i seguenti circuiti, se contrassegnati come "non isolati" nelle
schede tecniche: l'alimentazione a 24 VDC della CPU, l'alimentazione del sensore della
CPU, l'ingresso di alimentazione della bobina del relè di un SM e l'alimentazione di un
ingresso analogico non isolato. Tutti i morsetti M non isolati devono essere collegati allo
stesso potenziale di riferimento esterno.

AVVERTENZA
Se si collegano i morsetti M non isolati a potenziali di riferimento diversi si formano flussi di
corrente indesiderati che possono danneggiare il PLC e le apparecchiature a cui è
collegato o farli funzionare in modo imprevedibile.
Il mancato rispetto di queste istruzioni può provocare danni o un funzionamento imprevisto
e causare la morte o gravi lesioni alle persone e/o danni alle cose.
È quindi importante accertarsi che i morsetti M non isolati del sistema S7-1200 siano
collegati allo stesso potenziale di riferimento.

Uscite DC
Il circuito di protezione dai cortocircuiti non è disponibile per le uscite DC delle CPU, dei
moduli di segnale (SM) e delle signal board (SB).

Durata di servizio dei relè


La figura più sotto riporta i dati utili tipici stimati sulla base di test di prova. Le prestazioni
effettive possono variare in base all'applicazione specifica del relè. Per aumentare la durata
di servizio dei contatti inserire un circuito di protezione esterno adatto al carico. I contatti
normalmente chiusi hanno una durata tipica di circa un terzo rispetto a quelli normalmente
aperti, in condizioni di carico induttivo e delle lampade.
Un circuito di protezione esterno aumenterà la durata di servizio dei contatti.

Tabella A- 8 Dati utili tipici

Dati per la selezione di un attuatore


Corrente termica continua 2 A max.
Capacità di commutazione e durata dei contatti
Per carico ohmico Tensione Corrente Numero di cicli di esercizio (tip.)
24 VDC 2,0 A 0,1 milioni
24 VDC 1,0 A 0,2 milioni
24 VDC 0,5 A 1,0 milioni

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 859
Dati tecnici
A.1 Dati tecnici generali

Dati per la selezione di un attuatore


48 VAC 1,5 A 1,5 milioni
60 VAC 1,5 A 1,5 milioni
120 VAC 2,0 A 1,0 milioni
120 VAC 1,0 A 1,5 milioni
120 VAC 0,5 A 2,0 milioni
230 VAC 2,0 A 1,0 milioni
230 VAC 1,0 A 1,5 milioni
230 VAC 0,5 A 12,0 milioni
Per carico induttivo (secondo Tensione Corrente Numero di cicli di esercizio (tip.)
IEC 947-5-1 DC13/AC15) 24 VDC 2,0 A 0,05 milioni
24 VDC 1,0 A 0,1 milioni
24 VDC 0,5 A 0,5 milioni
24 VAC 1,5 A 1,0 milioni
48 VAC 1,5 A 1,0 milioni
60 VAC 1,5 A 1,0 milioni
120 VAC 2,0 A 0,7 milioni
120 VAC 1,0 A 1,0 milioni
120 VAC 0,5 A 1,5 milioni
230 VAC 2,0 A 0,7 milioni
230 VAC 1,0 A 1,0 milioni
230 VAC 0,5 A 1,5 milioni
Attivazione di un ingresso digitale Possibile
Frequenza di commutazione
Meccanica Max. 10 Hz
Per carico ohmico Max. 1 Hz
Con carico induttivo (secondo IEC Max. 0,5 Hz
947-5-1 DC13/AC15)
Con carico lampade Max. 1Hz

Sistema di automazione S7-1200


860 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.2 CPU 1211C

A.2 CPU 1211C

A.2.1 Dati tecnici e caratteristiche generali

Tabella A- 9 Dati tecnici generali

Dati tecnici CPU 1211C CPU 1211C CPU 1211C


AC/DC/relè DC/DC/relè DC/DC/DC
Numero di ordinazione 6ES7 211-1BE40-0XB0 6ES7 211-1HE40-0XB0 6ES7 211-1AE40-0XB0
Dimensioni L x A x P (mm) 90 x 100 x 75 90 x 100 x 75 90 x 100 x 75
Peso di spedizione 420 g 380 g 370 g
Dissipazione di potenza 10 W 8W 8W
Corrente disponibile (bus CM) 750 mA max. (5 VDC) 750 mA max. (5 VDC) 750 mA max. (5 VDC)
Corrente disponibile (24 VDC) 300 mA max. 300 mA max. 300 mA max.
(alimentazione sensori) (alimentazione sensori) (alimentazione sensori)
Assorbimento di corrente 4 mA/ingresso utilizzato 4 mA/ingresso utilizzato 4 mA/ingresso utilizzato
ingressi digitali (24 VDC)

Tabella A- 10 Caratteristiche della CPU

Dati tecnici Descrizione


Memoria utente Lavoro 30 Kbyte
Carico 1 Mbyte, interna, espandibile fino alla dimensione della scheda SD
Ritenzione 10 Kbyte
I/O digitali onboard 6 ingressi/4 uscite
I/O analogici onboard 2 ingressi
Dimensione dell'immagine di processo 1024 byte di ingressi (I)/1024 byte di uscite (Q)
Memoria di merker (M) 4096 byte
Memoria temporanea (locale) • 16 Kbyte per gli OB di avvio e di ciclo compresi gli FB e le FC associati
• 6 Kbyte per ciascuno degli altri livelli di priorità degli allarmi (inclusi gli FB e
le FC)
Ampliamento con moduli di I/O Nessuno
Ampliamento con SB, CB, BB 1 max.
Ampliamento con moduli di 3 CM max.
comunicazione
Contatori veloci Fino a 6 configurati per l'uso di qualsiasi ingresso integrato o SB. Consultare
la tabella, CPU 1211C: assegnazione degli indirizzi di default dell'HSC
(Pagina 420)
100/180 kHz (Ia.0 ... Ia.5)
Uscite di impulsi2 Fino a 4 configurate per l'uso di qualsiasi uscita integrata o SB
100 kHz (Qa.0 ... Qa.3)
Ingressi di misurazione impulsi 6

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 861
Dati tecnici
A.2 CPU 1211C

Dati tecnici Descrizione


Allarmi di ritardo 4 in totale con risoluzione di 1 ms
Allarmi di schedulazione orologio 4 in totale con risoluzione di 1 ms
Allarmi di fronte 6 di fronte di salita e 6 di fronte di discesa (10 e 10 con signal board
opzionale)
Memory card SIMATIC Memory Card (opzionale)
Precisione orologio hardware +/- 60 secondi/mese
Tempo di ritenzione dell'orologio Tip. 20 giorni/min. 12 giorni a 40 °C (condensatore ad elevata capacità che
hardware non richiede manutenzione)
1 La velocità più bassa è utilizzabile quando si configura l'HSC per il modo di funzionamento in quadratura.
2 Per i modelli di CPU con uscite relè è necessario installare una Signal Board digitale (SB) per utilizzare le uscite di
impulsi.

Tabella A- 11 Performance

Tipo di istruzione Velocità di esecuzione


Operazioni booleane 0,08 μs/istruzione
Trasferisci parola 1.7 μs/istruzione
Operazioni matematiche con numeri 2.3 μs/istruzione
reali

A.2.2 Temporizzatori, contatori e blocchi di codice supportati dalla CPU 1211C

Tabella A- 12 Blocchi, temporizzatori e contatori supportati dalla CPU 1211C

Elemento Descrizione
Blocchi Tipo OB, FB, FC, DB
Dimensione 30 Kbyte
Quantità Fino a 1024 blocchi in totale (OB + FB + FC + DB)
Campo di indirizzi per FB, FC FB e FC: 1 ... 65535 (ad es. FB 1 ... FB 65535)
e DB DB: da 1 a 59999
Profondità di annidamento 16 dall'OB di ciclo o di avvio del programma
6 da qualsiasi OB di eventi di allarme
Controllo Lo stato di 2 blocchi di codice può essere controllato
contemporaneamente
OB Ciclo del programma Diversi
Avviamento Diversi
Allarme di ritardo 4 (1 per evento)
Allarmi di schedulazione 4 (1 per evento)
orologio
Interrupt di processo 50 (1 per evento)
Allarmi di errore temporale 1
Allarmi di diagnostica 1

Sistema di automazione S7-1200


862 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.2 CPU 1211C

Elemento Descrizione
Estrazione o inserimento dei 1
moduli
Guasto del telaio o della 1
stazione
Orologio Diversi
Stato 1
Aggiornamento 1
Profilo 1
Temporizzatori Tipo IEC
Quantità Limitata solo dalla dimensione della memoria
Memoria Struttura in DB, 16 byte per temporizzatore
Contatori Tipo IEC
Quantità Limitata solo dalla dimensione della memoria
Memoria Struttura in DB, la dimensione dipende dal tipo di contatore
• SInt, USInt: 3 byte
• Int, UInt: 6 byte
• DInt, UDInt: 12 byte

Tabella A- 13 Comunicazione

Dati tecnici Descrizione


Numero di porte 1
Tipo Ethernet
Dispositivo HMI 3
Dispositivo di programmazione (PG) 1
Collegamenti • 8 per Open User Communication (attivi o passivi): TSEND_C,
TRCV_C, TCON, TDISCON, TSEND e TRCV
• 3 per la comunicazione GET/PUT S7 (da CPU a CPU) del server
• 8 per la comunicazione GET/PUT S7 (da CPU a CPU) dei client
Velocità dati 10/100 Mb/s
Isolamento (tra il segnale esterno e la logica Trasformatore isolato, 1500 VAC, solo per la sicurezza in caso di eventi
PLC) di breve durata
Tipo di cavo CAT5e schermato

Tabella A- 14 Alimentazione elettrica

Dati tecnici CPU 1211C CPU 1211C CPU 1211C


AC/DC/relè DC/DC/relè DC/DC/DC
Campo di tensione 85 ... 264 VAC 20,4 VDC ... 28,8 VDC
Frequenza della linea 47 ... 63 Hz -- --
Corrente di CPU solo a pieno carico 60 mA a 120 VAC 30 mA a 24 VDC 300 mA a 24 VDC
ingresso 30 mA a 240 VAC

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 863
Dati tecnici
A.2 CPU 1211C

Dati tecnici CPU 1211C CPU 1211C CPU 1211C


AC/DC/relè DC/DC/relè DC/DC/DC
CPU con tutti i moduli di 180 mA a 120 VAC 900 mA a 24 VDC 900 mA a 24 VDC
ampliamento a pieno carico 90 mA a 240 VAC
Spunto di corrente all'accensione (max.) 20 A a 264 VAC 12 A a 28,8 VDC 12 A a 28,8 VDC
Isolamento (tra l'alimentazione in ingresso 1500 VAC Nessuno Nessuno
e il circuito logico)
Dispersione verso terra, dalla linea AC 0,5 mA max. -- --
alla terra funzionale
Tempo di mantenimento (in caso di 20 ms a 120 VAC 10 ms a 24 VDC 10 ms a 24 VDC
mancanza di alimentazione) 80 ms a 240 VAC
Fusibile interno, non sostituibile dall'utente 3 A, 250 V, lento 3 A, 250 V, lento 3 A, 250 V, lento

Tabella A- 15 Alimentazione dei sensori

Dati tecnici CPU 1211C CPU 1211C CPU 1211C


AC/DC/relè DC/DC/relè DC/DC/DC
Campo di tensione 20,4 ... 28,8 VDC L+ meno 4 VDC min.
Corrente di uscita (max.) 300 mA (protetta da 300 mA (protetta da 300 mA (protetta da
cortocircuito) cortocircuito) cortocircuito)
Rumore di ondulazione max. (<10 MHz) < 1 V da picco a picco Come la linea di ingresso Come la linea di
ingresso
Isolamento (tra il circuito logico della CPU Nessuno Nessuno Nessuno
e l'alimentazione dei sensori)

A.2.3 Ingressi e uscite digitali

Tabella A- 16 Ingressi digitali

Dati tecnici CPU 1211C AC/DC/relè, CPU 1211C DC/DC/relè e


CPU 1211C DC/DC/DC
Numero di ingressi 6
Tipo Ad assorbimento/emissione di corrente (secondo IEC "tipo 1" se ad
assorbimento di corrente)
Tensione nominale 24 VDC a 4 mA, nominale
Tensione continua ammessa 30 VDC max.
Sovratensione transitoria 35 VDC per 0,5 sec.
Segnale logico 1 (min.) 15 VDC a 2,5 mA
Segnale logico 0 (max.) 5 VDC a 1 mA
Isolamento (tra il campo e i circuiti logici) 500 VAC per 1 minuto
Gruppi di isolamento 1
Tempi di filtraggio impostazioni us: 0,1; 0,2; 0,4; 0,8; 1,6; 3,2; 6,4; 10,0; 12,8; 20,0
impostazioni ms: 0,05; 0,1; 0,2; 0,4; 0,8; 1,6; 3,2; 6,4; 10,0; 12,8; 20,0

Sistema di automazione S7-1200


864 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.2 CPU 1211C

Dati tecnici CPU 1211C AC/DC/relè, CPU 1211C DC/DC/relè e


CPU 1211C DC/DC/DC
Frequenze di clock in ingresso agli HSC 100/80 kHz (Ia.0 ... Ia.5)
(max.)
(segnale logico 1 = 15 ... 26 VDC)
Numero di ingressi ON 6 a 60 ℃ in orizzontale, 50 ℃ in verticale
contemporaneamente
Lunghezza del cavo (metri) 500 m schermato, 300 m non schermato, 50 m schermato per gli ingressi HSC

Tabella A- 17 Uscite digitali

Dati tecnici CPU 1211C AC/DC/Relè e CPU 1211C DC/DC/DC


CPU 1211C DC/DC/Relè
Numero di uscite 4 4
Tipo Relè, contatto Dry MOSFET a stato solido (a emissione
di corrente)
Campo di tensione 5 ... 30 VDC oppure 5 ... 250 VAC 20,4 ... 28,8 VDC
Segnale logico 1 a corrente max. -- 20 VDC min.
Segnale logico 0 con carico di 10 KΩ -- 0,1 VDC max.
Corrente (max.) 2,0 A 0,5 A
Carico delle lampade 30 W DC / 200 W AC 5W
Resistenza in stato ON 0,2 Ω max. da nuova 0,6 Ω max.
Corrente di dispersione per punto -- 10 μA max.
Corrente di spunto 7 A con contatti chiusi 8 A per 100 ms max.
Protezione da sovraccarico No No
Isolamento (tra il campo e i circuiti logici) 1500 VAC per 1 minuto 500 VAC per 1 minuto
(tra la bobina e il contatto)
Nessuno (tra la bobina e i circuiti
logici)
Resistenza di isolamento 100 MΩ min. da nuova --
Isolamento tra contatti aperti 750 VAC per 1 minuto --
Gruppi di isolamento 1 1
Clamp per tensioni induttive -- L+ meno 48 VDC, dissipazione di 1 W
Frequenza di commutazione relè 1 Hz --
massima
Ritardo durante la commutazione (Qa.0 ... 10 ms max. 1,0 μs max., da off a on
Qa.3) 3,0 μs max., da on a off
Frequenza di uscita treni di impulsi Non consigliata 1 100 kHz (Qa.0 ... Qa.3)2, 2 Hz min.

Tempo di vita in cicli meccanici (senza 10.000.000 cicli di apertura/chiusura --


carico)
Durata contatti con carico nominale 100.000 cicli di apertura/chiusura --
Comportamento in caso di commutazione Ultimo valore o valore sostitutivo Ultimo valore o valore sostitutivo
RUN - STOP (valore di default 0) (valore di default 0)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 865
Dati tecnici
A.2 CPU 1211C

Dati tecnici CPU 1211C AC/DC/Relè e CPU 1211C DC/DC/DC


CPU 1211C DC/DC/Relè
Numero di uscite ON 4 a 60 ℃ in orizzontale, 50 ℃ in verticale
contemporaneamente
Lunghezza del cavo (metri) 500 m schermato, 500 m schermato,
150 m non schermato 150 m non schermato
1 Per i modelli di CPU con uscite relè è necessario installare una Signal Board digitale (SB) per utilizzare le uscite di
impulsi.
2 A seconda del ricevitore di impulsi e del cavo utilizzati può essere necessario utilizzare un'ulteriore resistenza di carico
(pari ad almeno il 10% della corrente nominale) per migliorare la qualità del segnale e l'immunità al rumore.

A.2.4 Ingressi analogici

Tabella A- 18 Ingressi analogici

Dati tecnici Descrizione


Numero di ingressi 2
Tipo Tensione (asimmetrico)
Campo di fondo scala 0 ... 10 V
Campo di fondo scala (parola di dati) 0 ... 27648
Campo di overshoot 10,001 ... 11,759 V
Campo di overshoot (parola di dati) 27649 ... 32511
Campo di overflow 11,760 ... 11,852 V
Campo di overflow (parola di dati) 32512 ... 32767
Risoluzione 10 bit
Tensione di resistenza max. 35 VDC
Livellamento Nessuno, Debole, Medio o Forte
Vedere la tabella per la risposta a gradino (ms) per gli ingressi analogici
della CPU (Pagina 867).
Filtraggio del rumore 10, 50 o 60 Hz
Impedenza ≥100 KΩ
Isolamento (tra il campo e i circuiti logici) Nessuno
Precisione (25 °C / 0 ... 55 °C) 3,0% / 3,5% del valore di fondo scala
Lunghezza del cavo (metri) 100 m, cavo doppio ritorto schermato

Sistema di automazione S7-1200


866 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.2 CPU 1211C

A.2.4.1 Risposta a gradino degli ingressi analogici integrati nella CPU

Tabella A- 19 Risposta a gradino (ms), 0 V... 10 V misurata al 95%

Livellamento (media dei campioni) Frequenza di reiezione (tempo di integrazione)


60 Hz 50 Hz 10 Hz
Nessuno (1 ciclo): nessuna media 50 ms 50 ms 100 ms
Debole (4 cicli): 4 campioni 60 ms 70 ms 200 ms
Medio (16 cicli): 16 campioni 200 ms 240 ms 1150 ms
Forte (32 cicli): 32 campioni 400 ms 480 ms 2300 ms
Tempo di campionamento 4,17 ms 5 ms 25 ms

A.2.4.2 Tempo di campionamento per le porte analogiche integrate nella CPU

Tabella A- 20 Tempo di campionamento per gli ingressi analogici integrati nella CPU

Frequenza di reiezione (selezione del tempo di integrazione) Tempo di campionamento


60 Hz (16,6 ms) 4,17 ms
50 Hz (20 ms) 5 ms
10 Hz (100 ms) 25 ms

A.2.4.3 Campi di misura degli ingressi analogici per la tensione (CPU)

Tabella A- 21 Rappresentazione degli ingressi analogici per la tensione (CPU)

Sistema Campo di misura della tensione


Decimale Esadecimale 0 ... 10 V
32767 7FFF 11,851 V Overflow
32512 7F00
32511 7EFF 11,759 V Campo di overshoot
27649 6C01
27648 6C00 10 V Campo nominale
20736 5100 7,5 V
34 22 12 mV
0 0 0V
Valori negativi I valori negativi non sono
ammessi

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 867
Dati tecnici
A.2 CPU 1211C

A.2.5 Schemi elettrici della CPU 1211

Tabella A- 22 CPU 1211C AC/DC/relè (6ES7 211-1BE40-0XB0)

① Uscita di alimentazione
per sensori a 24 VDC
Per una maggiore
immunità al rumore
collegare "M" alla massa
del telaio anche se non
si utilizza l'alimentazione
per sensori.
② Per gli ingressi ad
assorbimento di corrente
collegare "-" a "M"
(come indicato).
Per gli ingressi ad
emissione di corrente
collegare "+" a "M".
Nota 1: i connettori X11
devono essere in oro. Per il
numero di ordinazione
vedere Allegato C, Parti di
ricambio
Nota 2: il morsetto L1 o N
(L2) può essere collegato a
una fonte di alimentazione di
max. 240 VAC. Il morsetto N
può essere considerato L2 e
non deve essere
necessariamente messo a
terra. Non è necessaria la
polarizzazione per i morsetti
L1 ed N (L2).

Tabella A- 23 Disposizione dei piedini del connettore della CPU 1211C AC/DC/relè (6ES7 211-1BE40-
0XB0)

Piedino X10 X11 (oro) X12


1 L1 / 120-240 VAC 2M 1L
2 N / 120-240 VAC AI 0 DQ a.0
3 Terra funzionale AI 1 DQ a.1
4 L+ / 24 VDC Uscita -- DQ a.2
sensore
5 M / 24 VDC Uscita -- DQ a.3
sensore
6 1M -- Nessun collegamento
7 DI a.0 -- Nessun collegamento
8 DI a.1 -- Nessun collegamento
9 DI a.2 -- --

Sistema di automazione S7-1200


868 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.2 CPU 1211C

Piedino X10 X11 (oro) X12


10 DI a.3 -- --
11 DI a.4 -- --
12 DI a.5 -- --
13 Nessun collegamento -- --
14 Nessun collegamento -- --

Tabella A- 24 CPU 1211C DC/DC/relè (6ES7 211-1HE40-0XB0)

① Uscita di alimentazione
per sensori a 24 VDC
Per una maggiore
immunità al rumore
collegare "M" alla massa
del telaio anche se non
si utilizza l'alimentazione
per sensori.
② Per gli ingressi ad
assorbimento di corrente
collegare "-" a "M"
(come indicato).
Per gli ingressi ad
emissione di corrente
collegare "+" a "M".
Nota: i connettori X11
devono essere in oro. Per il
numero di ordinazione
vedere Allegato C, Parti di
ricambio

Tabella A- 25 Disposizione dei piedini del connettore della CPU 1211C DC/DC/relè (6ES7 211-1HE40-
0XB0)

Piedino X10 X11 (oro) X12


1 L+ / 24 VDC 2M 1L
2 M / 24 VDC AI 0 DQ a.0
3 Terra funzionale AI 1 DQ a.1
4 L+ / 24 VDC Uscita -- DQ a.2
sensore
5 M / 24 VDC Uscita -- DQ a.3
sensore
6 1M -- Nessun collegamento
7 DI a.0 -- Nessun collegamento
8 DI a.1 -- Nessun collegamento
9 DI a.2 -- --

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 869
Dati tecnici
A.2 CPU 1211C

Piedino X10 X11 (oro) X12


10 DI a.3 -- --
11 DI a.4 -- --
12 DI a.5 -- --
13 Nessun collegamento -- --
14 Nessun collegamento -- --

Tabella A- 26 CPU 1211C DC/DC/DC (6ES7 211-1AE40-0XB0)

① Uscita di alimentazione
per sensori a 24 VDC
Per una maggiore
immunità al rumore
collegare "M" alla massa
del telaio anche se non
si utilizza l'alimentazione
per sensori.
② Per gli ingressi ad
assorbimento di corrente
collegare "-" a "M"
(come indicato).
Per gli ingressi ad
emissione di corrente
collegare "+" a "M".
Nota: i connettori X11
devono essere in oro. Per il
numero di ordinazione
vedere Allegato C, Parti di
ricambio

Tabella A- 27 Disposizione dei piedini del connettore della CPU 1211C DC/DC/DC (6ES7 211-1AE40-
0XB0)

Piedino X10 X11 (oro) X12


1 L+ / 24 VDC 2M 3L+
2 M / 24 VDC AI 0 3M
3 Terra funzionale AI 1 DQ a.0
4 L+ / 24 VDC Uscita -- DQ a.1
sensore
5 M / 24 VDC Uscita -- DQ a.2
sensore
6 1M -- DQ a.3
7 DI a.0 -- Nessun collegamento
8 DI a.1 -- Nessun collegamento
9 DI a.2 -- --

Sistema di automazione S7-1200


870 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.3 CPU 1212C

Piedino X10 X11 (oro) X12


10 DI a.3 -- --
11 DI a.4 -- --
12 DI a.5 -- --
13 Nessun collegamento -- --
14 Nessun collegamento -- --

Nota
Gli ingressi analogici inutilizzati dovrebbero essere cortocircuitati.

A.3 CPU 1212C

A.3.1 Dati tecnici e caratteristiche generali

Tabella A- 28 Dati generali

Dati tecnici CPU 1212C CPU 1212C CPU 1212C


AC/DC/relè DC/DC/relè DC/DC/DC
Numero di ordinazione 6ES7 212-1BE40-0XB0 6ES7 212-1HE40-0XB0 6ES7 212-1AE40-0XB0
Dimensioni L x A x P (mm) 90 x 100 x 75 90 x 100 x 75 90 x 100 x 75
Peso di spedizione 425 g 385 g 370 g
Dissipazione di potenza 11 W 9W 9W
Corrente disponibile 1.000 mA max. 1.000 mA max. 1.000 mA max.
(SM e bus CM) (5 VDC) (5 VDC) (5 VDC)
Corrente disponibile (24 VDC) 300 mA max. 300 mA max. 300 mA max.
(alimentazione sensori) (alimentazione sensori) (alimentazione sensori)
Assorbimento di corrente ingressi 4 mA/ingresso utilizzato 4 mA/ingresso utilizzato 4 mA/ingresso utilizzato
digitali (24 VDC)

Tabella A- 29 Caratteristiche della CPU

Dati tecnici Descrizione


Memoria utente Lavoro 50 Kbyte
Carico 1 Mbyte, interna, espandibile fino alla dimensione della scheda SD
Ritenzione 10 Kbyte
I/O digitali onboard 8 ingressi/6 uscite
I/O analogici onboard 2 ingressi
Dimensione dell'immagine di processo 1024 byte di ingressi (I)/1024 byte di uscite (Q)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 871
Dati tecnici
A.3 CPU 1212C

Dati tecnici Descrizione


Memoria di merker (M) 4096 byte
Memoria temporanea (locale) • 16 Kbyte per gli OB di avvio e di ciclo compresi gli FB e le FC associati
• 6 Kbyte per ciascuno degli altri livelli di priorità degli allarmi (inclusi gli FB e le
FC)
Ampliamento con moduli di I/O 2 SM max.
Ampliamento con SB, CB, BB 1 max.
Ampliamento con moduli di 3 CM max.
comunicazione
Contatori veloci Fino a 6 configurati per l'uso di qualsiasi ingresso integrato o SB. Vedere la
tabella, CPU 1212C: assegnazione degli indirizzi di default dell'HSC
(Pagina 420)
• 100/180 kHz (Ia.0 ... Ia.5)
• 30 /120 kHz (Ia.6 ... Ia.7)
Uscite di impulsi2 Fino a 4 configurate per l'uso di qualsiasi uscita integrata o SB
• 100 kHz (Qa.0 ... Qa.3)
• 30 kHz (Qa.4 ... Qa.5)
Ingressi di misurazione impulsi 8
Allarmi di ritardo 4 in totale con risoluzione di 1 ms
Allarmi di schedulazione orologio 4 in totale con risoluzione di 1 ms
Allarmi di fronte 8 di fronte di salita e 8 di fronte di discesa (12 e 12 con signal board opzionale)
Memory card SIMATIC Memory Card (opzionale)
Precisione orologio hardware +/- 60 secondi/mese
Tempo di ritenzione dell'orologio Tip. 20 giorni/min. 12 giorni a 40 °C (condensatore ad elevata capacità che non
hardware richiede manutenzione)
1 La velocità più bassa è utilizzabile quando si configura l'HSC per il modo di funzionamento in quadratura.
2 Per i modelli di CPU con uscite relè è necessario installare una Signal Board digitale (SB) per utilizzare le uscite di
impulsi.

Tabella A- 30 Performance

Tipo di istruzione Velocità di esecuzione


Operazioni booleane 0,08 μs/istruzione
Trasferisci parola 1.7 μs/istruzione
Operazioni matematiche con numeri 2.3 μs/istruzione
reali

Sistema di automazione S7-1200


872 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.3 CPU 1212C

A.3.2 Temporizzatori, contatori e blocchi di codice supportati dalla CPU 1212C

Tabella A- 31 Blocchi, temporizzatori e contatori supportati dalla CPU 1212C

Elemento Descrizione
Blocchi Tipo OB, FB, FC, DB
Dimensione 50 Kbyte
Quantità Fino a 1024 blocchi in totale (OB + FB + FC + DB)
Campo di indirizzi per FB, FC FB e FC: 1 ... 65535 (ad es. FB 1 ... FB 65535)
e DB DB: da 1 a 59999
Profondità di annidamento 16 dall'OB di ciclo o di avvio del programma
6 da qualsiasi OB di eventi di allarme
Controllo Lo stato di 2 blocchi di codice può essere controllato
contemporaneamente
OB Ciclo del programma Diversi
Avviamento Diversi
Allarme di ritardo 4 (1 per evento)
Allarmi di schedulazione 4 (1 per evento)
orologio
Interrupt di processo 50 (1 per evento)
Allarmi di errore temporale 1
Allarmi di diagnostica 1
Estrazione o inserimento dei 1
moduli
Guasto del telaio o della 1
stazione
Orologio Diversi
Stato 1
Aggiornamento 1
Profilo 1
Temporizzatori Tipo IEC
Quantità Limitata solo dalla dimensione della memoria
Memoria Struttura in DB, 16 byte per temporizzatore
Contatori Tipo IEC
Quantità Limitata solo dalla dimensione della memoria
Memoria Struttura in DB, la dimensione dipende dal tipo di contatore
• SInt, USInt: 3 byte
• Int, UInt: 6 byte
• DInt, UDInt: 12 byte

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 873
Dati tecnici
A.3 CPU 1212C

Tabella A- 32 Comunicazione

Dati tecnici Descrizione


Numero di porte 1
Tipo Ethernet
Dispositivo HMI 3
Dispositivo di programmazione (PG) 1
Collegamenti • 8 per Open User Communication (attivi o passivi): TSEND_C,
TRCV_C, TCON, TDISCON, TSEND e TRCV
• 3 per la comunicazione GET/PUT S7 (da CPU a CPU) del server
• 8 per la comunicazione GET/PUT S7 (da CPU a CPU) dei client
Velocità dati 10/100 Mb/s
Isolamento (tra il segnale esterno e la logica Trasformatore isolato, 1500 VAC, solo per la sicurezza in caso di eventi
PLC) di breve durata
Tipo di cavo CAT5e schermato

Tabella A- 33 Alimentazione elettrica

Dati tecnici CPU 1212C CPU 1212C CPU 1212C


AC/DC/relè DC/DC/relè DC/DC/DC
Campo di tensione 85 ... 264 VAC 20,4 VDC ... 28,8 VDC
Frequenza della linea 47 ... 63 Hz -- --
Corrente di Solo CPU 80 mA a 120 VAC 400 mA a 24 VDC 400 mA a 24 VDC
ingresso (a pieno 40 mA a 240 VAC
carico) CPU con tutti i moduli di 240 mA a 120 VAC 1200 mA a 24 VDC 1200 mA a 24 VDC
ampliamento 120 mA a 240 VAC
Spunto di corrente all'accensione (max.) 20 A a 264 VAC 12 A a 28,8 VDC 12 A a 28,8 VDC
Isolamento (tra l'alimentazione in ingresso e 1500 VAC Nessuno Nessuno
il circuito logico)
Dispersione verso terra, dalla linea AC alla 0,5 mA max. -- --
terra funzionale
Tempo di mantenimento (in caso di 20 ms a 120 VAC 10 ms a 24 VDC 10 ms a 24 VDC
mancanza di alimentazione) 80 ms a 240 VAC
Fusibile interno, non sostituibile dall'utente 3 A, 250 V, lento 3 A, 250 V, lento 3 A, 250 V, lento

Tabella A- 34 Alimentazione dei sensori

Dati tecnici CPU 1212C CPU 1212C CPU 1212C


AC/DC/relè DC/DC/relè DC/DC/DC
Campo di tensione 20,4 ... 28,8 VDC L+ meno 4 VDC min.
Corrente di uscita (max.) 300 mA (protetta da 300 mA (protetta da 300 mA (protetta da
cortocircuito) cortocircuito) cortocircuito)

Sistema di automazione S7-1200


874 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.3 CPU 1212C

Dati tecnici CPU 1212C CPU 1212C CPU 1212C


AC/DC/relè DC/DC/relè DC/DC/DC
Rumore di ondulazione max. (<10 MHz) < 1 V da picco a picco Come la linea di Come la linea di
ingresso ingresso
Isolamento (tra il circuito logico della CPU e Nessuno Nessuno Nessuno
l'alimentazione dei sensori)

A.3.3 Ingressi e uscite digitali

Tabella A- 35 Ingressi digitali

Dati tecnici CPU 1212C AC/DC/relè, DC/DC/relè e DC/DC/DC


Numero di ingressi 8
Tipo Ad assorbimento/emissione di corrente (secondo IEC "tipo 1" se ad assorbimento
di corrente)
Tensione nominale 24 VDC a 4 mA, nominale
Tensione continua ammessa 30 VDC max.
Sovratensione transitoria 35 VDC per 0,5 sec.
Segnale logico 1 (min.) 15 VDC a 2,5 mA
Segnale logico 0 (max.) 5 VDC a 1 mA
Isolamento (tra il campo e i circuiti 500 VAC per 1 minuto
logici)
Gruppi di isolamento 1
Tempi di filtraggio impostazioni us: 0,1; 0,2; 0,4; 0,8; 1,6; 3,2; 6,4; 10,0; 12,8; 20,0
impostazioni ms: 0,05; 0,1; 0,2; 0,4; 0,8; 1,6; 3,2; 6,4; 10,0; 12,8; 20,0
Frequenze di clock in ingresso agli 100/80 kHz (Ia.0 ... Ia.5)
HSC (max.) 30 /20 kHz (Ia.6 ... Ia.7)
(segnale logico 1 = 15 ... 26 VDC)
Numero di ingressi ON 4 (ingressi non vicini) a 60 ℃ in orizzontale o 50 ℃ in verticale
contemporaneamente 8 a 55° C in orizzontale o 45° C in verticale
Lunghezza del cavo (metri) 500 m schermato, 300 m non schermato, 50 m schermato per gli ingressi HSC

Tabella A- 36 Uscite digitali

Dati tecnici CPU 1212C AC/DC/relè CPU 1212C


e DC/DC/relè DC/DC/DC
Numero di uscite 6 6
Tipo Relè, contatto Dry MOSFET a stato solido (a emissione
di corrente)
Campo di tensione 5 ... 30 VDC oppure 5 ... 250 VAC 20,4 ... 28,8 VDC
Segnale logico 1 a corrente max. -- 20 VDC min.
Segnale logico 0 con carico di 10 KΩ -- 0,1 VDC max.
Corrente (max.) 2,0 A 0,5 A

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 875
Dati tecnici
A.3 CPU 1212C

Dati tecnici CPU 1212C AC/DC/relè CPU 1212C


e DC/DC/relè DC/DC/DC
Carico delle lampade 30 W DC / 200 W AC 5W
Resistenza in stato ON 0,2 Ω max. da nuova 0,6 Ω max.
Corrente di dispersione per punto -- 10 μA max.
Corrente di spunto 7 A con contatti chiusi 8 A per 100 ms max.
Protezione da sovraccarico No No
Isolamento (tra il campo e i circuiti 1500 VAC per 1 minuto (tra la bobina e il 500 VAC per 1 minuto
logici) contatto)
Nessuno (tra la bobina e i circuiti logici)
Resistenza di isolamento 100 MΩ min. da nuova --
Isolamento tra contatti aperti 750 VAC per 1 minuto --
Gruppi di isolamento 2 1
Clamp per tensioni induttive -- L+ meno 48 VDC, dissipazione di 1 W
Ritardo durante la commutazione 10 ms max. 1,0 μs max., da off a on
(Qa.0 ... Qa.3) 3,0 μs max., da on a off
Ritardo durante la commutazione 10 ms max. 50 μs max., da off a on
(Qa.4 ... Qa.5) 200 μs max., da on a off
Frequenza di commutazione relè 1 Hz --
massima
Frequenza di uscita treni di impulsi Non consigliata 1 100 kHz (Qa.0 ... Qa.3)2, 2 Hz min.
20 kHz (Qa.4 ... Qa.5)2
Tempo di vita in cicli meccanici 10.000.000 cicli di apertura/chiusura --
(senza carico)
Durata contatti con carico nominale 100.000 cicli di apertura/chiusura --
Comportamento in caso di Ultimo valore o valore sostitutivo Ultimo valore o valore sostitutivo
commutazione RUN - STOP (valore di default 0) (valore di default 0)
Numero di uscite ON 3 (ingressi non vicini) a 60 ℃ in orizzontale o 50 ℃ in verticale
contemporaneamente 6 a 55° C in orizzontale o 45° C in verticale
Lunghezza del cavo (metri) 500 m schermato, 500 m schermato,
150 m non schermato 150 m non schermato
1 Per i modelli di CPU con uscite relè è necessario installare una Signal Board digitale (SB) per utilizzare le uscite di
impulsi.
2 A seconda del ricevitore di impulsi e del cavo utilizzati può essere necessario utilizzare un'ulteriore resistenza di carico
(pari ad almeno il 10% della corrente nominale) per migliorare la qualità del segnale e l'immunità al rumore.

Sistema di automazione S7-1200


876 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.3 CPU 1212C

A.3.4 Ingressi analogici

Tabella A- 37 Ingressi analogici

Dati tecnici Descrizione


Numero di ingressi 2
Tipo Tensione (asimmetrico)
Campo di fondo scala 0 ... 10 V
Campo di fondo scala (parola di dati) 0 ... 27648
Campo di overshoot 10,001 ... 11,759 V
Campo di overshoot (parola di dati) 27649 ... 32511
Campo di overflow 11,760 ... 11,852 V
Campo di overflow (parola di dati) 32512 ... 32767
Risoluzione 10 bit
Tensione di resistenza max. 35 VDC
Livellamento Nessuno, Debole, Medio o Forte
Vedere la tabella per la risposta a gradino (ms) per gli ingressi analogici
della CPU (Pagina 877).
Filtraggio del rumore 10, 50 o 60 Hz
Impedenza ≥100 KΩ
Isolamento (tra il campo e i circuiti logici) Nessuno
Precisione (25 °C / 0 ... 55 °C) 3,0% / 3,5% del valore di fondo scala
Lunghezza del cavo (metri) 100 m, cavo doppio ritorto schermato

A.3.4.1 Risposta a gradino degli ingressi analogici integrati nella CPU

Tabella A- 38 Risposta a gradino (ms), 0 V... 10 V misurata al 95%

Livellamento (media dei campioni) Frequenza di reiezione (tempo di integrazione)


60 Hz 50 Hz 10 Hz
Nessuno (1 ciclo): nessuna media 50 ms 50 ms 100 ms
Debole (4 cicli): 4 campioni 60 ms 70 ms 200 ms
Medio (16 cicli): 16 campioni 200 ms 240 ms 1150 ms
Forte (32 cicli): 32 campioni 400 ms 480 ms 2300 ms
Tempo di campionamento 4,17 ms 5 ms 25 ms

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 877
Dati tecnici
A.3 CPU 1212C

A.3.4.2 Tempo di campionamento per le porte analogiche integrate nella CPU

Tabella A- 39 Tempo di campionamento per gli ingressi analogici integrati nella CPU

Frequenza di reiezione (selezione del tempo di integrazione) Tempo di campionamento


60 Hz (16,6 ms) 4,17 ms
50 Hz (20 ms) 5 ms
10 Hz (100 ms) 25 ms

A.3.4.3 Campi di misura degli ingressi analogici per la tensione (CPU)

Tabella A- 40 Rappresentazione degli ingressi analogici per la tensione (CPU)

Sistema Campo di misura della tensione


Decimale Esadecimale 0 ... 10 V
32767 7FFF 11,851 V Overflow
32512 7F00
32511 7EFF 11,759 V Campo di overshoot
27649 6C01
27648 6C00 10 V Campo nominale
20736 5100 7,5 V
34 22 12 mV
0 0 0V
Valori negativi I valori negativi non sono
ammessi

Sistema di automazione S7-1200


878 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.3 CPU 1212C

A.3.5 Schemi elettrici della CPU 1212C

Tabella A- 41 CPU 1212C AC/DC/relè (6ES7 212-1BE40-0XB0)

① Uscita di alimentazione
per sensori a 24 VDC
Per una maggiore
immunità al rumore
collegare "M" alla massa
del telaio anche se non
si utilizza l'alimentazione
per sensori.
② Per gli ingressi ad
assorbimento di corrente
collegare "-" a "M"
(come indicato).
Per gli ingressi ad
emissione di corrente
collegare "+" a "M".
Nota 1: i connettori X11
devono essere in oro. Per il
numero di ordinazione
vedere Allegato C, Parti di
ricambio
Nota 2: il morsetto L1 o N
(L2) può essere collegato a
una fonte di alimentazione di
max. 240 VAC. Il morsetto N
può essere considerato L2 e
non deve essere
necessariamente messo a
terra. Non è necessaria la
polarizzazione per i morsetti
L1 ed N (L2).

Tabella A- 42 Disposizione dei piedini del connettore della CPU 1212C AC/DC/relè (6ES7 212-1BE40-
0XB0)

Piedino X10 X11 (oro) X12


1 L1 / 120-240 VAC 2M 1L
2 N / 120-240 VAC AI 0 DQ a.0
3 Terra funzionale AI 1 DQ a.1
4 L+ / 24 VDC Uscita -- DQ a.2
sensore
5 M / 24 VDC Uscita -- DQ a.3
sensore
6 1M -- 2L
7 DI a.0 -- DQ a.4
8 DI a.1 -- DQ a.5
9 DI a.2 -- --

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 879
Dati tecnici
A.3 CPU 1212C

Piedino X10 X11 (oro) X12


10 DI a.3 -- --
11 DI a.4 -- --
12 DI a.5 -- --
13 DI a.6 -- --
14 DI a.7 -- --

Tabella A- 43 CPU 1212C DC/DC/relè (6ES7 212-1HE40-0XB0)

① Uscita di alimentazione
per sensori a 24 VDC
Per una maggiore
immunità al rumore
collegare "M" alla massa
del telaio anche se non
si utilizza l'alimentazione
per sensori.
② Per gli ingressi ad
assorbimento di corrente
collegare "-" a "M"
(come indicato).
Per gli ingressi ad
emissione di corrente
collegare "+" a "M".
Nota: i connettori X11
devono essere in oro. Per il
numero di ordinazione
vedere Allegato C, Parti di
ricambio

Tabella A- 44 Disposizione dei piedini del connettore della CPU 1212C DC/DC/relè (6ES7 212-1HE40-
0XB0)

Piedino X10 X11 (oro) X12


1 L+ / 24 VDC 2M 1L
2 M / 24 VDC AI 0 DQ a.0
3 Terra funzionale AI 1 DQ a.1
4 L+ / 24 VDC Uscita -- DQ a.2
sensore
5 M / 24 VDC Uscita -- DQ a.3
sensore
6 1M -- 2L
7 DI a.0 -- DQ a.4
8 DI a.1 -- DQ a.5
9 DI a.2 -- --

Sistema di automazione S7-1200


880 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.3 CPU 1212C

Piedino X10 X11 (oro) X12


10 DI a.3 -- --
11 DI a.4 -- --
12 DI a.5 -- --
13 DI a.6 -- --
14 DI a.7 -- --

Tabella A- 45 CPU 1212C DC/DC/DC (6ES7 -212-1AE40-0XB0)

① Uscita di alimentazione
per sensori a 24 VDC
Per una maggiore
immunità al rumore
collegare "M" alla massa
del telaio anche se non
si utilizza l'alimentazione
per sensori.
② Per gli ingressi ad
assorbimento di corrente
collegare "-" a "M"
(come indicato).
Per gli ingressi ad
emissione di corrente
collegare "+" a "M".
Nota: i connettori X11
devono essere in oro. Per il
numero di ordinazione
vedere Allegato C, Parti di
ricambio

Tabella A- 46 Disposizione dei piedini del connettore della CPU 1212C DC/DC/DC (6ES7 212-1AE40-
0XB0)

Piedino X10 X11 (oro) X12


1 L+ / 24 VDC 2M 3L+
2 M / 24 VDC AI 0 3M
3 Terra funzionale AI 1 DQ a.0
4 L+ / 24 VDC Uscita -- DQ a.1
sensore
5 M / 24 VDC Uscita -- DQ a.2
sensore
6 1M -- DQ a.3
7 DI a.0 -- DQ a.4
8 DI a.1 -- DQ a.5
9 DI a.2 -- --

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 881
Dati tecnici
A.4 CPU 1214C

Piedino X10 X11 (oro) X12


10 DI a.3 -- --
11 DI a.4 -- --
12 DI a.5 -- --
13 DI a.6 -- --
14 DI a.7 -- --

Nota
Gli ingressi analogici inutilizzati dovrebbero essere cortocircuitati.

A.4 CPU 1214C

A.4.1 Dati tecnici e caratteristiche generali

Tabella A- 47 Dati generali

Dati tecnici CPU 1214C CPU 1214C CPU 1214C


AC/DC/relè DC/DC/relè DC/DC/DC
Numero di ordinazione 6ES7 214-1BG40-0XB0 6ES7 214-1HG40-0XB0 6ES7 214-1AG40-0XB0

Dimensioni L x A x P (mm) 110 x 100 x 75 110 x 100 x 75 110 x 100 x 75


Peso di spedizione 475 g 435 g 415 g
Dissipazione di potenza 14 W 12 W 12 W
Corrente disponibile (SM e bus CM) 1600 mA max. 1600 mA max. 1600 mA max.
(5 VDC) (5 VDC) (5 VDC)
Corrente disponibile (24 VDC) 400 mA max. 400 mA max. 400 mA max.
(alimentazione sensori) (alimentazione sensori) (alimentazione sensori)
Assorbimento di corrente ingressi 4 mA/ingresso utilizzato 4 mA/ingresso utilizzato 4 mA/ingresso utilizzato
digitali (24 VDC)

Tabella A- 48 Caratteristiche della CPU

Dati tecnici Descrizione


Memoria utente Lavoro 75 Kbyte
Carico 4 Mbyte, interna, espandibile fino alla dimensione della scheda SD
Ritenzione 10 Kbyte
I/O digitali onboard 14 ingressi/10 uscite
I/O analogici onboard 2 ingressi

Sistema di automazione S7-1200


882 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.4 CPU 1214C

Dati tecnici Descrizione


Dimensione dell'immagine di processo 1024 byte di ingressi (I)/1024 byte di uscite (Q)
Memoria di merker (M) 8192 byte
Memoria temporanea (locale) • 16 Kbyte per gli OB di avvio e di ciclo compresi gli FB e le FC associati
• 6 Kbyte per ciascuno degli altri livelli di priorità degli allarmi (inclusi gli FB e le
FC)
Ampliamento con moduli di I/O 8 SM max.
Ampliamento con SB, CB, BB 1 max.
Ampliamento con moduli di 3 CM max.
comunicazione
Contatori veloci Fino a 6 configurati per l'uso di qualsiasi ingresso integrato o SB. Vedere la
tabella, CPU1214C: assegnazione degli indirizzi di default dell'HSC (Pagina 420)
• 100/180 kHz (Ia.0 ... Ia.5)
• 30/120 kHz (Ia.6 ... Ia.5)
Uscite di impulsi2 Fino a 4 configurate per l'uso di qualsiasi uscita integrata o SB
• 100 kHz (Qa.0 ... Qa.3)
• 30 kHz (Qa.4 ... Qb.1)
Ingressi di misurazione impulsi 14
Allarmi di ritardo 4 in totale con risoluzione di 1 ms
Allarmi di schedulazione orologio 4 in totale con risoluzione di 1 ms
Allarmi di fronte 12 di fronte di salita e 12 di fronte di discesa (16 e 16 con signal board
opzionale)
Memory card SIMATIC Memory Card (opzionale)
Precisione orologio hardware +/- 60 secondi/mese
Tempo di ritenzione dell'orologio Tip. 20 giorni/min. 12 giorni a 40 °C (condensatore ad elevata capacità che non
hardware richiede manutenzione)
1 La velocità più bassa è utilizzabile quando si configura l'HSC per il modo di funzionamento in quadratura.
2 Per i modelli di CPU con uscite relè è necessario installare una Signal Board digitale (SB) per utilizzare le uscite di
impulsi.

Tabella A- 49 Performance

Tipo di istruzione Velocità di esecuzione


Operazioni booleane 0,08 μs/istruzione
Trasferisci parola 1.7 μs/istruzione
Operazioni matematiche con numeri 2.3 μs/istruzione
reali

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 883
Dati tecnici
A.4 CPU 1214C

A.4.2 Temporizzatori, contatori e blocchi di codice supportati dalla CPU 1214C

Tabella A- 50 Blocchi, temporizzatori e contatori supportati dalla CPU 1214C

Elemento Descrizione
Blocchi Tipo OB, FB, FC, DB
Dimensione 64 Kbyte
Quantità Fino a 1024 blocchi in totale (OB + FB + FC + DB)
Campo di indirizzi per FB, FC FB e FC: 1 ... 65535 (ad es. FB 1 ... FB 65535)
e DB DB: da 1 a 59999
Profondità di annidamento 16 dall'OB di ciclo o di avvio del programma
6 da qualsiasi OB di eventi di allarme
Controllo Lo stato di 2 blocchi di codice può essere controllato
contemporaneamente
OB Ciclo del programma Diversi
Avviamento Diversi
Allarmi di ritardo 4 (1 per evento)
Allarmi di schedulazione 4 (1 per evento)
orologio
Interrupt di processo 50 (1 per evento)
Allarmi di errore temporale 1
Allarmi di diagnostica 1
Estrazione o inserimento dei 1
moduli
Guasto del telaio o della 1
stazione
Orologio Diversi
Stato 1
Aggiornamento 1
Profilo 1
Temporizzatori Tipo IEC
Quantità Limitata solo dalla dimensione della memoria
Memoria Struttura in DB, 16 byte per temporizzatore
Contatori Tipo IEC
Quantità Limitata solo dalla dimensione della memoria
Memoria Struttura in DB, la dimensione dipende dal tipo di contatore
• SInt, USInt: 3 byte
• Int, UInt: 6 byte
• DInt, UDInt: 12 byte

Sistema di automazione S7-1200


884 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.4 CPU 1214C

Tabella A- 51 Comunicazione

Dati tecnici Descrizione


Numero di porte 1
Tipo Ethernet
Dispositivo HMI 3
Dispositivo di programmazione (PG) 1
Collegamenti • 8 per Open User Communication (attivi o passivi): TSEND_C,
TRCV_C, TCON, TDISCON, TSEND e TRCV
• 3 per la comunicazione GET/PUT S7 (da CPU a CPU) del server
• 8 per la comunicazione GET/PUT S7 (da CPU a CPU) dei client
Velocità dati 10/100 Mb/s
Isolamento (tra il segnale esterno e la logica Trasformatore isolato, 1500 VAC, solo per la sicurezza in caso di eventi
PLC) di breve durata
Tipo di cavo CAT5e schermato

Tabella A- 52 Alimentazione elettrica

Dati tecnici CPU 1214C CPU 1214C CPU 1214C


AC/DC/relè DC/DC/relè DC/DC/DC
Campo di tensione 85 ... 264 VAC 20,4 VDC ... 28,8 VDC
Frequenza della linea 47 ... 63 Hz --
Corrente di Solo CPU 100 mA a 120 VAC 500 mA a 24 VDC
ingresso (a 50 mA a 240 VAC
pieno carico) CPU con tutti i moduli di 300 mA a 120 VAC 1500 mA a 24 VDC
ampliamento 150 mA a 240 VAC
Spunto di corrente all'accensione (max.) 20 A a 264 VAC 12 A a 28,8 VDC
Isolamento (tra l'alimentazione in ingresso 1500 VAC Nessuno
e il circuito logico)
Dispersione verso terra, dalla linea AC 0,5 mA max. -
alla terra funzionale
Tempo di mantenimento (in caso di 20 ms a 120 VAC 10 ms a 24 VDC
mancanza di alimentazione) 80 ms a 240 VAC
Fusibile interno, non sostituibile dall'utente 3 A, 250 V, lento

Tabella A- 53 Alimentazione dei sensori

Dati tecnici CPU 1214C CPU 1214C CPU 1214C


AC/DC/relè DC/DC/relè DC/DC/DC
Campo di tensione 20,4 ... 28,8 VDC L+ meno 4 VDC min.
Corrente di uscita (max.) 400 mA (protetta da cortocircuito)
Rumore di ondulazione max. (<10 MHz) < 1 V da picco a picco Come la linea di ingresso
Isolamento (tra il circuito logico della CPU Nessuno
e l'alimentazione dei sensori)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 885
Dati tecnici
A.4 CPU 1214C

A.4.3 Ingressi e uscite digitali

Tabella A- 54 Ingressi digitali

Dati tecnici CPU 1214C CPU 1214C CPU 1214C


AC/DC/relè DC/DC/relè DC/DC/DC
Numero di ingressi 14
Tipo Ad assorbimento/emissione di corrente (secondo IEC "tipo 1" se ad assorbimento
di corrente)
Tensione nominale 24 VDC a 4 mA, nominale
Tensione continua ammessa 30 VDC max.
Sovratensione transitoria 35 VDC per 0,5 sec.
Segnale logico 1 (min.) 15 VDC a 2.5 mA
Segnale logico 0 (max.) 5 VDC a 1 mA
Isolamento (tra il campo e i circuiti 500 VAC per 1 minuto
logici)
Gruppi di isolamento 1
Tempi di filtraggio impostazioni us: 0.1, 0.2, 0.4, 0.8, 1.6, 3.2, 6.4, 10.0, 12.8, 20.0
impostazioni ms: 0.05, 0.1, 0.2, 0.4, 0.8, 1.6, 3.2, 6.4, 10.0, 12.8, 20.0
Frequenze di clock in ingresso agli 100/80 kHz (Ia.0 ... Ia.5)
HSC (max.) 30/20 kHz (Ia.6 ... Ib.5)
(segnale logico 1 = 15 ... 26 VDC)
Numero di ingressi ON • 7 (ingressi non vicini) a 60 ℃ in orizzontale o 50 ℃ in verticale
contemporaneamente
• 14 a 55 ℃ in orizzontale o 45 ℃ in verticale
Lunghezza del cavo (metri) 500 m schermato, 300 m non schermato, 50 m schermato per gli ingressi HSC

Tabella A- 55 Uscite digitali

Dati tecnici CPU 1214C AC/DC/relè CPU 1214C


e DC/DC/relè DC/DC/DC
Numero di uscite 10 10
Tipo Relè, contatto Dry MOSFET a stato solido (a
emissione di corrente)
Campo di tensione 5 ... 30 VDC oppure 5 ... 250 VAC 20,4 ... 28,8 VDC
Segnale logico 1 a corrente max. -- 20 VDC min.
Segnale logico 0 con carico di 10 KΩ -- 0,1 VDC max.
Corrente (max.) 2,0 A 0,5 A
Carico delle lampade 30 W DC / 200 W AC 5W
Resistenza in stato ON 0,2 Ω max. da nuova 0,6 Ω max.
Corrente di dispersione per punto -- 10 μA max.
Corrente di spunto 7 A con contatti chiusi 8 A per 100 ms max.
Protezione da sovraccarico No No

Sistema di automazione S7-1200


886 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.4 CPU 1214C

Dati tecnici CPU 1214C AC/DC/relè CPU 1214C


e DC/DC/relè DC/DC/DC
Isolamento (tra il campo e i circuiti 1500 VAC per 1 minuto (tra la bobina e il 500 VAC per 1 minuto
logici) contatto)
Nessuno (tra la bobina e i circuiti logici)
Resistenza di isolamento 100 MΩ min. da nuova --
Isolamento tra contatti aperti 750 VAC per 1 minuto --
Gruppi di isolamento 2 1
Clamp per tensioni induttive -- L+ meno 48 VDC,
dissipazione di 1 W
Ritardo durante la commutazione 10 ms max. 1,0 μs max., da off a on
(Qa.0 ... Qa.3) 3,0 μs max., da on a off
Ritardo durante la commutazione 10 ms max. 50 μs max., da off a on
(Qa.4 ... Qb.1) 200 μs max., da on a off
Frequenza di commutazione relè 1 Hz --
massima
Frequenza di uscita treni di impulsi Non consigliata 1 100 kHz (Qa.0 ... Qa.3)2, 2 Hz min.
20 kHz (Qa.4 ... Qb.1)2
Tempo di vita in cicli meccanici 10.000.000 cicli di apertura/chiusura --
(senza carico)
Durata contatti con carico nominale 100.000 cicli di apertura/chiusura --
Comportamento in caso di Ultimo valore o valore sostitutivo (valore di default 0)
commutazione RUN - STOP
Numero di uscite ON • 5 (ingressi non vicini) a 60 ℃ in orizzontale o 50 ℃ in verticale
contemporaneamente
• 10 a 55 ℃ in orizzontale o 45 ℃ in verticale
Lunghezza del cavo (metri) 500 m schermato, 150 m non schermato
1 Per i modelli di CPU con uscite relè è necessario installare una Signal Board digitale (SB) per utilizzare le uscite di
impulsi.
2 A seconda del ricevitore di impulsi e del cavo utilizzati può essere necessario utilizzare un'ulteriore resistenza di carico
(pari ad almeno il 10% della corrente nominale) per migliorare la qualità del segnale e l'immunità al rumore.

A.4.4 Ingressi analogici

Tabella A- 56 Ingressi analogici

Dati tecnici Descrizione


Numero di ingressi 2
Tipo Tensione (asimmetrico)
Campo di fondo scala 0 ... 10 V
Campo di fondo scala (parola di dati) 0 ... 27648
Campo di overshoot 10,001 ... 11,759 V
Campo di overshoot (parola di dati) 27649 ... 32511
Campo di overflow 11,760 ... 11,852 V

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 887
Dati tecnici
A.4 CPU 1214C

Dati tecnici Descrizione


Campo di overflow (parola di dati) 32512 ... 32767
Risoluzione 10 bit
Tensione di resistenza max. 35 VDC
Livellamento Nessuno, Debole, Medio o Forte
Vedere la tabella per la risposta a gradino (ms) per gli ingressi analogici
della CPU (Pagina 888).
Filtraggio del rumore 10, 50 o 60 Hz
Impedenza ≥100 KΩ
Isolamento (tra il campo e i circuiti logici) Nessuno
Precisione (25 °C / 0 ... 55 °C) 3,0% / 3,5% del valore di fondo scala
Lunghezza del cavo (metri) 100 m, cavo doppio ritorto schermato

A.4.4.1 Risposta a gradino degli ingressi analogici integrati nella CPU

Tabella A- 57 Risposta a gradino (ms), 0 V... 10 V misurata al 95%

Livellamento (media dei campioni) Frequenza di reiezione (tempo di integrazione)


60 Hz 50 Hz 10 Hz
Nessuno (1 ciclo): nessuna media 50 ms 50 ms 100 ms
Debole (4 cicli): 4 campioni 60 ms 70 ms 200 ms
Medio (16 cicli): 16 campioni 200 ms 240 ms 1150 ms
Forte (32 cicli): 32 campioni 400 ms 480 ms 2300 ms
Tempo di campionamento 4,17 ms 5 ms 25 ms

A.4.4.2 Tempo di campionamento per le porte analogiche integrate nella CPU

Tabella A- 58 Tempo di campionamento per gli ingressi analogici integrati nella CPU

Frequenza di reiezione (selezione del tempo di integrazione) Tempo di campionamento


60 Hz (16,6 ms) 4,17 ms
50 Hz (20 ms) 5 ms
10 Hz (100 ms) 25 ms

Sistema di automazione S7-1200


888 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.4 CPU 1214C

A.4.4.3 Campi di misura degli ingressi analogici per la tensione (CPU)

Tabella A- 59 Rappresentazione degli ingressi analogici per la tensione (CPU)

Sistema Campo di misura della tensione


Decimale Esadecimale 0 ... 10 V
32767 7FFF 11,851 V Overflow
32512 7F00
32511 7EFF 11,759 V Campo di overshoot
27649 6C01
27648 6C00 10 V Campo nominale
20736 5100 7,5 V
34 22 12 mV
0 0 0V
Valori negativi I valori negativi non sono
ammessi

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 889
Dati tecnici
A.4 CPU 1214C

A.4.5 Schemi elettrici della CPU 1214C

Tabella A- 60 CPU 1214C AC/DC/relè (6ES7 214-1BG40-0XB0)

① Uscita di alimentazione
per sensori a 24 VDC
Per una maggiore
immunità al rumore
collegare "M" alla massa
del telaio anche se non
si utilizza l'alimentazione
per sensori.
② Per gli ingressi ad
assorbimento di corrente
collegare "-" a "M"
(come indicato).
Per gli ingressi ad
emissione di corrente
collegare "+" a "M".
Nota 1: i connettori X11
devono essere in oro. Per il
numero di ordinazione
vedere Allegato C, Parti di
ricambio
Nota 2: il morsetto L1 o N
(L2) può essere collegato a
una fonte di alimentazione di
max. 240 VAC. Il morsetto N
può essere considerato L2 e
non deve essere
necessariamente messo a
terra. Non è necessaria la
polarizzazione per i morsetti
L1 ed N (L2).

Tabella A- 61 Disposizione dei piedini del connettore della CPU 1214C AC/DC/relè (6ES7 214-1BG40-
0XB0)

Piedino X10 X11 (oro) X12


1 L1 / 120-240 VAC 2M 1L
2 N / 120-240 VAC AI 0 DQ a.0
3 Terra funzionale AI 1 DQ a.1
4 L+ / 24 VDC Uscita -- DQ a.2
sensore
5 M / 24 VDC Uscita -- DQ a.3
sensore
6 1M -- DQ a.4
7 DI a.0 -- 2L
8 DI a.1 -- DQ a.5
9 DI a.2 -- DQ a.6

Sistema di automazione S7-1200


890 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.4 CPU 1214C

Piedino X10 X11 (oro) X12


10 DI a.3 -- DQ a.7
11 DI a.4 -- DQ b.0
12 DI a.5 -- DQ b.1
13 DI a.6 -- --
14 DI a.7 -- --
15 DI b.0 -- --
16 DI b.1 -- --
17 DI b.2 -- --
18 DI b.3 -- --
19 DI b.4 -- --
20 DI b.5 -- --

Tabella A- 62 CPU 1214C DC/DC/relè (6ES7 214-1HG40-0XB0)

① Uscita di alimentazione
per sensori a 24 VDC
Per una maggiore
immunità al rumore
collegare "M" alla massa
del telaio anche se non
si utilizza l'alimentazione
per sensori.
② Per gli ingressi ad
assorbimento di corrente
collegare "-" a "M"
(come indicato).
Per gli ingressi ad
emissione di corrente
collegare "+" a "M".
Nota: i connettori X11
devono essere in oro. Per il
numero di ordinazione
vedere Allegato C, Parti di
ricambio

Tabella A- 63 Disposizione dei piedini del connettore della CPU 1214C DC/DC/relè (6ES7 214-1HG40-
0XB0)

Piedino X10 X11 (oro) X12


1 L+ / 24 VDC 2M 1L
2 M / 24 VDC AI 0 DQ a.0
3 Terra funzionale AI 1 DQ a.1
4 L+ / 24 VDC Uscita -- DQ a.2
sensore

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 891
Dati tecnici
A.4 CPU 1214C

Piedino X10 X11 (oro) X12


5 M / 24 VDC Uscita -- DQ a.3
sensore
6 1M -- DQ a.4
7 DI a.0 -- 2L
8 DI a.1 -- DQ a.5
9 DI a.2 -- DQ a.6
10 DI a.3 -- DQ a.7
11 DI a.4 -- DQ b.0
12 DI a.5 -- DQ b.1
13 DI a.6 -- --
14 DI a.7 -- --
15 DI b.0 -- --
16 DI b.1 -- --
17 DI b.2 -- --
18 DI b.3 -- --
19 DI b.4 -- --
20 DI b.5 -- --

Tabella A- 64 CPU 1214C DC/DC/DC (6ES7 214-1AG40-0XB0)

① Uscita di alimentazione
per sensori a 24 VDC
Per una maggiore
immunità al rumore
collegare "M" alla massa
del telaio anche se non
si utilizza l'alimentazione
per sensori.
② Per gli ingressi ad
assorbimento di corrente
collegare "-" a "M"
(come indicato).
Per gli ingressi ad
emissione di corrente
collegare "+" a "M".
Nota: i connettori X11
devono essere in oro. Per il
numero di ordinazione
vedere Allegato C, Parti di
ricambio

Sistema di automazione S7-1200


892 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.4 CPU 1214C

Tabella A- 65 Disposizione dei piedini del connettore della CPU 1214C DC/DC/DC (6ES7 214-1AG40-
0XB0)

Piedino X10 X11 (oro) X12


1 L+ / 24 VDC 2M 3L+
2 M / 24 VDC AI 0 3M
3 Terra funzionale AI 1 DQ a.0
4 L+ / 24 VDC Uscita -- DQ a.1
sensore
5 M / 24 VDC Uscita -- DQ a.2
sensore
6 1M -- DQ a.3
7 DI a.0 -- DQ a.4
8 DI a.1 -- DQ a.5
9 DI a.2 -- DQ a.6
10 DI a.3 -- DQ a.7
11 DI a.4 -- DQ b.0
12 DI a.5 -- DQ b.1
13 DI a.6 -- --
14 DI a.7 -- -
15 DI b.0 -- --
16 DI b.1 -- --
17 DI b.2 -- --
18 DI b.3 -- --
19 DI b.4 -- --
20 DI b.5 -- --

Nota
Gli ingressi analogici inutilizzati dovrebbero essere cortocircuitati.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 893
Dati tecnici
A.5 CPU 1215C

A.5 CPU 1215C

A.5.1 Dati tecnici e caratteristiche generali

Tabella A- 66 Dati generali

Dati tecnici CPU 1215C CPU 1215C CPU 1215C


AC/DC/relè DC/DC/relè DC/DC/DC
Numero di ordinazione 6ES7 215-1BG40-0XB0 6ES7 215-1HG40-0XB0 6ES7 215-1AG40-0XB0
Dimensioni L x A x P (mm) 130 x 100 x 75 130 x 100 x 75 130 x 100 x 75
Peso di spedizione 585 g 550 g 520 g
Dissipazione di potenza 14 W 12 W 12 W
Corrente disponibile (SM e bus CM) 1600 mA max. 1600 mA max. 1600 mA max.
(5 VDC) (5 VDC) (5 VDC)
Corrente disponibile (24 VDC) 400 mA max. 400 mA max. 400 mA max.
(alimentazione sensori) (alimentazione sensori) (alimentazione sensori)
Assorbimento di corrente ingressi 4 mA/ingresso utilizzato 4 mA/ingresso utilizzato 4 mA/ingresso utilizzato
digitali (24 VDC)

Tabella A- 67 Caratteristiche della CPU

Dati tecnici Descrizione


Memoria utente Lavoro 100 Kbyte
Carico 4 Mbyte interni, espandibile fino alla dimensione della scheda SD
Ritenzione 10 Kbyte
I/O digitali onboard 14 ingressi/10 uscite
I/O analogici onboard 2 ingressi/2 uscite
Dimensione dell'immagine di processo 1024 byte di ingressi (I)/1024 byte di uscite (Q)
Memoria di merker (M) 8192 byte
Memoria temporanea (locale) • 16 Kbyte per gli OB di avvio e di ciclo compresi gli FB e le FC associati
• 6 Kbyte per ciascuno degli altri livelli di priorità degli allarmi (inclusi gli FB e le
FC)
Ampliamento con moduli di I/O 8 SM max.
Ampliamento con SB, CB, BB 1 max.
Ampliamento con moduli di 3 CM max.
comunicazione
Contatori veloci Fino a 6 configurati per l'uso di qualsiasi ingresso integrato o SB. Vedere la
tabella, CPU 1215C: assegnazione degli indirizzi di default dell'HSC
• 100/180 kHz (Ia.0 ... Ia.5)
• 30/120 kHz (Ia.6 ... Ia.5)

Sistema di automazione S7-1200


894 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.5 CPU 1215C

Dati tecnici Descrizione


Uscite di impulsi2 Fino a 4 configurate per l'uso di qualsiasi uscita integrata o SB
• 100 kHz (Qa.0 ... Qa.3)
• 30 kHz (Qa.4 ... Qb.1)
Ingressi di misurazione impulsi 14
Allarmi di ritardo 4 in totale con risoluzione di 1 ms
Allarmi di schedulazione orologio 4 in totale con risoluzione di 1 ms
Allarmi di fronte 12 di fronte di salita e 12 di fronte di discesa (16 e 16 con signal board
opzionale)
Memory card SIMATIC Memory Card (opzionale)
Precisione orologio hardware +/- 60 secondi/mese
Tempo di ritenzione dell'orologio Tip. 20 giorni/min. 12 giorni a 40 °C (condensatore ad elevata capacità che non
hardware richiede manutenzione)
1 La velocità più bassa è utilizzabile quando si configura l'HSC per il modo di funzionamento in quadratura.
2 Per i modelli di CPU con uscite relè è necessario installare una Signal Board digitale (SB) per utilizzare le uscite di
impulsi.

Tabella A- 68 Performance

Tipo di istruzione Velocità di esecuzione


Operazioni booleane 0,08 μs/istruzione
Trasferisci parola 1.7 μs/istruzione
Operazioni matematiche con numeri 2.3 μs/istruzione
reali

A.5.2 Temporizzatori, contatori e blocchi di codice supportati dalla CPU 1215C

Tabella A- 69 Blocchi, temporizzatori e contatori supportati dalla CPU 1215C

Elemento Descrizione
Blocchi Tipo OB, FB, FC, DB
Dimensione 64 Kbyte
Quantità Fino a 1024 blocchi in totale (OB + FB + FC + DB)
Campo di indirizzi per FB, FC FB e FC: 1 ... 65535 (ad es. FB 1 ... FB 65535)
e DB DB: da 1 a 59999
Profondità di annidamento 16 dall'OB di ciclo o di avvio del programma
6 da qualsiasi OB di eventi di allarme
Controllo Lo stato di 2 blocchi di codice può essere controllato
contemporaneamente
OB Ciclo del programma Diversi
Avviamento Diversi
Allarmi di ritardo 4 (1 per evento)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 895
Dati tecnici
A.5 CPU 1215C

Elemento Descrizione
Allarmi di schedulazione 4 (1 per evento)
orologio
Interrupt di processo 50 (1 per evento)
Allarmi di errore temporale 1
Allarmi di diagnostica 1
Estrazione o inserimento dei 1
moduli
Guasto del telaio o della 1
stazione
Orologio Diversi
Stato 1
Aggiornamento 1
Profilo 1
Temporizzatori Tipo IEC
Quantità Limitata solo dalla dimensione della memoria
Memoria Struttura in DB, 16 byte per temporizzatore
Contatori Tipo IEC
Quantità Limitata solo dalla dimensione della memoria
Memoria Struttura in DB, la dimensione dipende dal tipo di contatore
• SInt, USInt: 3 byte
• Int, UInt: 6 byte
• DInt, UDInt: 12 byte

Tabella A- 70 Comunicazione

Dati tecnici Descrizione


Numero di porte 2
Tipo Ethernet
Dispositivo HMI 3
Dispositivo di programmazione (PG) 1
Collegamenti • 8 per Open User Communication (attivi o passivi): TSEND_C,
TRCV_C, TCON, TDISCON, TSEND e TRCV
• 3 per la comunicazione GET/PUT S7 (da CPU a CPU) del server
• 8 per la comunicazione GET/PUT S7 (da CPU a CPU) dei client
Velocità dati 10/100 Mb/s
Isolamento (tra il segnale esterno e la logica Trasformatore isolato, 1500 VAC, solo per la sicurezza in caso di eventi
PLC) di breve durata
Tipo di cavo CAT5e schermato

Sistema di automazione S7-1200


896 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.5 CPU 1215C

Tabella A- 71 Alimentazione elettrica

Dati tecnici CPU 1215C CPU 1215C CPU 1215C


AC/DC/relè DC/DC/relè DC/DC/DC
Campo di tensione 85 ... 264 VAC 20,4 VDC ... 28,8 VDC
Frequenza della linea 47 ... 63 Hz --
Corrente di Solo CPU 100 mA a 120 VAC 500 mA a 24 VDC
ingresso (a 50 mA a 240 VAC
pieno carico) CPU con tutti i moduli di 300 mA a 120 VAC 1500 mA a 24 VDC
ampliamento 150 mA a 240 VAC
Spunto di corrente all'accensione (max.) 20 A a 264 VAC 12 A a 28,8 VDC
Isolamento (tra l'alimentazione in ingresso 1500 VAC Nessuno
e il circuito logico)
Dispersione verso terra, dalla linea AC 0,5 mA max. -
alla terra funzionale
Tempo di mantenimento (in caso di 20 ms a 120 VAC 10 ms a 24 VDC
mancanza di alimentazione) 80 ms a 240 VAC
Fusibile interno, non sostituibile dall'utente 3 A, 250 V, lento

Tabella A- 72 Alimentazione dei sensori

Dati tecnici CPU 1215C CPU 1215C CPU 1215C


AC/DC/relè DC/DC/relè DC/DC/DC
Campo di tensione 20,4 ... 28,8 VDC L+ meno 4 VDC min.
Corrente di uscita (max.) 400 mA (protetta da cortocircuito)
Rumore di ondulazione max. (<10 MHz) < 1 V da picco a picco Come la linea di ingresso
Isolamento (tra il circuito logico della CPU Nessuno
e l'alimentazione dei sensori)

A.5.3 Ingressi e uscite digitali

Tabella A- 73 Ingressi digitali

Dati tecnici CPU 1215C CPU 1215C CPU 1215C


AC/DC/relè DC/DC/relè DC/DC/DC
Numero di ingressi 14
Tipo Ad assorbimento/emissione di corrente (secondo IEC "tipo 1" se ad assorbimento
di corrente)
Tensione nominale 24 VDC a 4 mA, nominale
Tensione continua ammessa 30 VDC max.
Sovratensione transitoria 35 VDC per 0,5 sec.
Segnale logico 1 (min.) 15 VDC a 2.5 mA
Segnale logico 0 (max.) 5 VDC a 1 mA

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 897
Dati tecnici
A.5 CPU 1215C

Dati tecnici CPU 1215C CPU 1215C CPU 1215C


AC/DC/relè DC/DC/relè DC/DC/DC
Isolamento (tra il campo e i circuiti 500 VAC per 1 minuto
logici)
Gruppi di isolamento 1
Tempi di filtraggio impostazioni us: 0.1, 0.2, 0.4, 0.8, 1.6, 3.2, 6.4, 10.0, 12.8, 20.0
impostazioni ms: 0.05, 0.1, 0.2, 0.4, 0.8, 1.6, 3.2, 6.4, 10.0, 12.8, 20.0
Frequenze di clock in ingresso agli 100/80 kHz (Ia.0 ... Ia.5)
HSC (max.) 30/20 kHz (Ia.6 ... Ib.5)
(segnale logico 1 = 15 ... 26 VDC)
Numero di ingressi ON • 7 (ingressi non vicini) a 60 ℃ in orizzontale o 50 ℃ in verticale
contemporaneamente
• 14 a 55 ℃ in orizzontale o 45 ℃ in verticale
Lunghezza del cavo (metri) 500 m schermato, 300 m non schermato, 50 m schermato per gli ingressi HSC

Tabella A- 74 Uscite digitali

Dati tecnici CPU 1215C AC/DC/relè CPU 1215C DC/DC/DC


e CPU 1215C DC/DC/relè
Numero di uscite 10 10
Tipo Relè, contatto Dry MOSFET a stato solido (a
emissione di corrente)
Campo di tensione 5 ... 30 VDC oppure 5 ... 250 VAC 20,4 ... 28,8 VDC
Segnale logico 1 a corrente max. -- 20 VDC min.
Segnale logico 0 con carico di 10 KΩ -- 0,1 VDC max.
Corrente (max.) 2,0 A 0,5 A
Carico delle lampade 30 W DC / 200 W AC 5W
Resistenza in stato ON 0,2 Ω max. da nuova 0,6 Ω max.
Corrente di dispersione per punto -- 10 μA max.
Corrente di spunto 7 A con contatti chiusi 8 A per 100 ms max.
Protezione da sovraccarico No No
Isolamento (tra il campo e i circuiti 1500 VAC per 1 minuto (tra la bobina e il 500 VAC per 1 minuto
logici) contatto)
Nessuno (tra la bobina e i circuiti logici)
Resistenza di isolamento 100 MΩ min. da nuova --
Isolamento tra contatti aperti 750 VAC per 1 minuto --
Gruppi di isolamento 2 1
Clamp per tensioni induttive -- L+ meno 48 VDC,
dissipazione di 1 W
Ritardo durante la commutazione 10 ms max. 1,0 μs max., da off a on
(Qa.0 ... Qa.3) 3,0 μs max., da on a off
Ritardo durante la commutazione 10 ms max. 50 μs max., da off a on
(Qa.4 ... Qb.1) 200 μs max., da on a off
Frequenza di commutazione relè 1 Hz --
massima

Sistema di automazione S7-1200


898 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.5 CPU 1215C

Dati tecnici CPU 1215C AC/DC/relè CPU 1215C DC/DC/DC


e CPU 1215C DC/DC/relè
Frequenza di uscita treni di impulsi Non consigliata 1 100 kHz (Qa.0 ... Qa.3)2, 2 Hz min.
20 kHz (Qa.4 ... Qb.1)2
Tempo di vita in cicli meccanici 10.000.000 cicli di apertura/chiusura --
(senza carico)
Durata contatti con carico nominale 100.000 cicli di apertura/chiusura --
Comportamento in caso di Ultimo valore o valore sostitutivo (valore di default 0)
commutazione RUN - STOP
Numero di uscite ON • 5 (ingressi non vicini) a 60 ℃ in orizzontale o 50 ℃ in verticale
contemporaneamente
• 10 a 55 ℃ in orizzontale o 45 ℃ in verticale
Lunghezza del cavo (metri) 500 m schermato, 150 m non schermato
1 Per i modelli di CPU con uscite relè è necessario installare una Signal Board digitale (SB) per utilizzare le uscite di
impulsi.
2 A seconda del ricevitore di impulsi e del cavo utilizzati può essere necessario utilizzare un'ulteriore resistenza di carico
(pari ad almeno il 10% della corrente nominale) per migliorare la qualità del segnale e l'immunità al rumore.

A.5.4 Ingressi e uscite analogici

Tabella A- 75 Ingressi analogici

Dati tecnici Descrizione


Numero di ingressi 2
Tipo Tensione (asimmetrico)
Campo di fondo scala 0 ... 10 V
Campo di fondo scala (parola di dati) 0 ... 27648
Campo di overshoot 10,001 ... 11,759 V
Campo di overshoot (parola di dati) 27649 ... 32511
Campo di overflow 11,760 ... 11,852 V
Campo di overflow (parola di dati) 32512 ... 32767
Risoluzione 10 bit
Tensione di resistenza max. 35 VDC
Livellamento Nessuno, Debole, Medio o Forte
Vedere la tabella per la risposta a gradino (ms) per gli ingressi analogici
della CPU.
Filtraggio del rumore 10, 50 o 60 Hz
Impedenza ≥100 KΩ
Isolamento (tra il campo e i circuiti logici) Nessuno
Precisione (25 °C / 0 ... 55 °C) 3,0% / 3,5% del valore di fondo scala
Lunghezza del cavo (metri) 100 m, cavo doppio ritorto schermato

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 899
Dati tecnici
A.5 CPU 1215C

A.5.4.1 Risposta a gradino degli ingressi analogici integrati della CPU

Tabella A- 76 Risposta a gradino (ms), 0 V... 10 V misurata al 95%

Livellamento (media dei campioni) Frequenza di reiezione (tempo di integrazione)


60 Hz 50 Hz 10 Hz
Nessuno (1 ciclo): nessuna media 50 ms 50 ms 100 ms
Debole (4 cicli): 4 campioni 60 ms 70 ms 200 ms
Medio (16 cicli): 16 campioni 200 ms 240 ms 1150 ms
Forte (32 cicli): 32 campioni 400 ms 480 ms 2300 ms
Tempo di campionamento 4,17 ms 5 ms 25 ms

A.5.4.2 Tempo di campionamento per le porte analogiche integrate nella CPU

Tabella A- 77 Tempo di campionamento per gli ingressi analogici integrati nella CPU

Frequenza di reiezione (selezione del tempo di integrazione) Tempo di campionamento


60 Hz (16,6 ms) 4,17 ms
50 Hz (20 ms) 5 ms
10 Hz (100 ms) 25 ms

A.5.4.3 Campi di misura degli ingressi analogici per la tensione (CPU)

Tabella A- 78 Rappresentazione degli ingressi analogici per la tensione (CPU)

Sistema Campo di misura della tensione


Decimale Esadecimale 0 ... 10 V
32767 7FFF 11,851 V Overflow
32512 7F00
32511 7EFF 11,759 V Campo di overshoot
27649 6C01
27648 6C00 10 V Campo nominale
20736 5100 7,5 V
34 22 12 mV
0 0 0V
Valori negativi I valori negativi non sono
ammessi

Sistema di automazione S7-1200


900 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.5 CPU 1215C

A.5.4.4 Dati tecnici delle uscite analogiche

Uscite analogiche

Tabella A- 79 Uscite analogiche

Dati tecnici Descrizione


Numero di uscite 2
Tipo Corrente
Campo di fondo scala 0 ... 20 mA
Campo di fondo scala (parola di dati) 0 ... 27648
Campo di overshoot 20,01 ... 23,52 mA
Campo di overshoot (parola di dati) 27649 ... 32511
Campo di overflow vedere nota a pie' di pagina 1
Campo di overflow (parola di dati) 32512 ... 32767
Risoluzione 10 bit
Impedenza di uscita ≤500 Ω max.
Isolamento (tra il campo e i circuiti logici) Nessuno
Precisione (25 °C / -20 ... 60 °C) 3,0% / 3,5% del valore di fondo scala
Tempo di assestamento 2 ms
Lunghezza del cavo (metri) 100 m, cavo doppio ritorto schermato
1 In una condizione di overflow, le uscite analogiche si comporteranno in funzione delle impostazioni delle proprietà nella
configurazione dei dispositivi. Nel parametro "Comportamento in caso di STOP della CPU" selezionare: "Imposta valore
sostitutivo" o "Mantieni ultimo valore".

Tabella A- 80 Rappresentazione delle uscite analogiche per la corrente (CPU 1215C e CPU 1217C)

Sistema Campo della corrente in uscita


Decimale Esadecimale 0 mA ... 20 mA
32767 7FFF Vedere la nota 1 Overflow
32512 7F00 Vedere la nota 1
32511 7EFF 23,52 mA Campo di overshoot
27649 6C01
27648 6C00 20 mA Campo nominale
20736 5100 15 mA
34 22 12 mV
0 0 0 mA
Valori negativi I valori negativi non sono
ammessi
1 In una condizione di overflow le uscite analogiche si comporteranno in base alle impostazioni delle proprietà della
configurazione dei dispositivi. Nel parametro "Comportamento in caso di STOP della CPU" selezionare: "Imposta valore
sostitutivo" o "Mantieni ultimo valore".

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 901
Dati tecnici
A.5 CPU 1215C

A.5.5 Schemi elettrici della CPU 1215C

Tabella A- 81 CPU 1215C AC/DC/relè (6ES7 215-1BG40-0XB0)

① Uscita di alimentazione per sensori a 24 VDC


Per una maggiore immunità al rumore collegare "M" alla massa del telaio anche se non si utilizza
l'alimentazione per sensori.
② Per gli ingressi ad assorbimento di corrente collegare "-" a "M" (come indicato).
Per gli ingressi ad emissione di corrente collegare "+" a "M".
Nota 1: i connettori X11 devono essere in oro. Per il numero di ordinazione vedere Allegato C, Parti
di ricambio
Nota 2: il morsetto L1 o N (L2) può essere collegato a una fonte di alimentazione di max. 240 VAC. Il
morsetto N può essere considerato L2 e non deve essere necessariamente messo a terra. Non è
necessaria la polarizzazione per i morsetti L1 ed N (L2).

Tabella A- 82 Disposizione dei piedini del connettore della CPU 1215C AC/DC/relè (6ES7 215-1BG40-
0XB0)

Piedino X10 X11 (oro) X12


1 L1 / 120-240 VAC 2M 1L
2 N / 120 - 240 VAC AQ 0 DQ a.0
3 Terra funzionale AQ 1 DQ a.1
4 L+ / 24 VDC Uscita sensore 3M DQ a.2
5 M / 24 VDC Uscita sensore AI 0 DQ a.3
6 1M AI 1 DQ a.4
7 DI a.0 -- 2L
8 DI a.1 -- DQ a.5

Sistema di automazione S7-1200


902 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.5 CPU 1215C

Piedino X10 X11 (oro) X12


9 DI a.2 -- DQ a.6
10 DI a.3 -- DQ a.7
11 DI a.4 -- DQ b.0
12 DI a.5 -- DQ b.1
13 DI a.6 -- --
14 DI a.7 -- --
15 DI b.0 -- --
16 DI b.1 -- --
17 DI b.2 -- --
18 DI b.3 -- --
19 DI b.4 -- --
20 DI b.5 -- --

Tabella A- 83 CPU 1215C DC/DC/relè (6ES7 215-1HG40-0XB0)

① Uscita di alimentazione per sensori a 24 VDC


Per una maggiore immunità al rumore collegare "M" alla massa del telaio anche se non si utilizza
l'alimentazione per sensori.
② Per gli ingressi ad assorbimento di corrente collegare "-" a "M" (come indicato). Per gli ingressi
ad emissione di corrente collegare "+" a "M".
Nota: i connettori X11 devono essere in oro. Per il numero di ordinazione vedere Allegato C, Parti di
ricambio

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 903
Dati tecnici
A.5 CPU 1215C

Tabella A- 84 Disposizione dei piedini del connettore della CPU 1215C DC/DC/relè (6ES7 215-1HG40-
0XB0)

Piedino X10 X11 (oro) X12


1 L+ / 24 VDC 2M 1L
2 M / 24 VDC AQ 0 DQ a.0
3 Terra funzionale AQ 1 DQ a.1
4 L+ / 24 VDC Uscita sensore 3M DQ a.2
5 M / 24 VDC Uscita sensore AI 0 DQ a.3
6 1M AI 1 DQ a.4
7 DI a.0 -- 2L
8 DI a.1 -- DQ a.5
9 DI a.2 -- DQ a.6
10 DI a.3 -- DQ a.7
11 DI a.4 -- DQ b.0
12 DI a.5 -- DQ b.1
13 DI a.6 -- --
14 DI a.7 -- --
15 DI b.0 -- --
16 DI b.1 -- --
17 DI b.2 -- --
18 DI b.3 -- --
19 DI b.4 -- --
20 DI b.5 -- --

Sistema di automazione S7-1200


904 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.5 CPU 1215C

Tabella A- 85 CPU 1215C DC/DC/DC (6ES7 215-1AG40-0XB0)

① Uscita di alimentazione per sensori a 24 VDC


Per una maggiore immunità al rumore collegare "M" alla massa del telaio anche se non si utilizza
l'alimentazione per sensori.
② Per gli ingressi ad assorbimento di corrente collegare "-" a "M" (come indicato). Per gli ingressi
ad emissione di corrente collegare "+" a "M".
Nota: i connettori X11 devono essere in oro. Per il numero di ordinazione vedere Allegato C, Parti di
ricambio

Tabella A- 86 Disposizione dei piedini del connettore della CPU 1215C DC/DC/DC (6ES7 215-1AG40-
0XB0)

Piedino X10 X11 (oro) X12


1 L1 / 24 VDC 2M 4L+
2 M / 24 VDC AQ 0 4M
3 Terra funzionale AQ 1 DQ a.0
4 L+ / 24 VDC Uscita sensore 3M DQ a.1
5 M / 24 VDC Uscita sensore AI 0 DQ a.2
6 1M AI 1 DQ a.3
7 DI a.0 -- DQ a.4
8 DI a.1 -- DQ a.5
9 DI a.2 -- DQ a.6
10 DI a.3 -- DQ a.7
11 DI a.4 -- DQ b.0
12 DI a.5 -- DQ b.1

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 905
Dati tecnici
A.6 CPU 1217C

Piedino X10 X11 (oro) X12


13 DI a.6 -- --
14 DI a.7 -- --
15 DI b.0 -- --
16 DI b.1 -- --
17 DI b.2 -- --
18 DI b.3 -- --
19 DI b.4 -- --
20 DI b.5 -- --

Nota
Gli ingressi analogici inutilizzati dovrebbero essere cortocircuitati.

A.6 CPU 1217C

A.6.1 Dati tecnici e caratteristiche generali

Tabella A- 87 Dati generali

Dati tecnici CPU 1217C DC/DC/DC


Numero di ordinazione 6ES7 217-1AG40-0XB0
Dimensioni L x A x P (mm) 150 x 100 x 75
Peso di spedizione 530 grammi
Dissipazione di potenza 12 W
Corrente disponibile (SM e bus CM) 1.600 mA max. (5 VDC)
Corrente disponibile (24 VDC) 400 mA max. (alimentazione sensori)
Assorbimento di corrente ingressi 4 mA/ingresso utilizzato
digitali (24 VDC)

Tabella A- 88 Caratteristiche della CPU

Dati tecnici Descrizione


Memoria utente Lavoro 125 Kbyte
Carico 4 Mbyte interni, espandibile fino alla dimensione della scheda SD
Ritenzione 10 Kbyte
I/O digitali onboard 14 ingressi/10 uscite
I/O analogici onboard 2 ingressi/2 uscite

Sistema di automazione S7-1200


906 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.6 CPU 1217C

Dati tecnici Descrizione


Dimensione dell'immagine di processo 1024 byte di ingressi (I)/1024 byte di uscite (Q)
Memoria di merker (M) 8192 byte
Memoria temporanea (locale) • 16 Kbyte per gli OB di avvio e di ciclo compresi gli FB e le FC associati
• 6 Kbyte per ciascuno degli altri livelli di priorità degli allarmi (inclusi gli FB e le
FC)
Ampliamento con moduli di I/O 8 SM max.
Ampliamento con SB, CB, BB 1 max.
Ampliamento con moduli di 3 CM max.
comunicazione
Contatori veloci Fino a 6 configurati per l'uso di qualsiasi ingresso integrato o SB (vedere la
tabella di configurazione H/W degli ingressi digitali (DI) della CPU 1217C)
(Pagina 910)
• 1 MHz (Ib.2 ... Ib.5)
• 100/180 kHz (Ia.0 ... Ia.5)
• 30/120 kHz (Ia.6 ... Ib.1)
Uscite di impulsi Fino a 4 configurate per l'uso di qualsiasi uscita integrata o SB (vedere la tabella
di configurazione H/W delle uscite digitali (DQ) della CPU 1217C) (Pagina 910)
• 1 MHz (Qa.0 ... Qa.3)
• 100 kHz (Qa.4 ... Qb.1)
Ingressi di misurazione impulsi 14
Allarmi di ritardo 4 in totale con risoluzione di 1 ms
Allarmi di schedulazione orologio 4 in totale con risoluzione di 1 ms
Allarmi di fronte 12 di fronte di salita e 12 di fronte di discesa (16 e 16 con signal board
opzionale)
Memory card SIMATIC Memory Card (opzionale)
Precisione orologio hardware +/- 60 secondi/mese
Tempo di ritenzione dell'orologio Tip. 20 giorni/min. 12 giorni a 40 °C (condensatore ad elevata capacità che non
hardware richiede manutenzione)
1 La velocità più bassa è utilizzabile quando si configura l'HSC per il modo di funzionamento in quadratura.

Tabella A- 89 Performance

Tipo di istruzione Velocità di esecuzione


Operazioni booleane 0,08 μs/istruzione
Trasferisci parola 1.7 μs/istruzione
Operazioni matematiche con numeri 2.3 μs/istruzione
reali

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 907
Dati tecnici
A.6 CPU 1217C

A.6.2 Temporizzatori, contatori e blocchi di codice supportati dalla CPU 1217C

Tabella A- 90 Blocchi, temporizzatori e contatori supportati dalla CPU 1217C

Elemento Descrizione
Blocchi Tipo OB, FB, FC, DB
Dimensione 64 Kbyte
Quantità Fino a 1024 blocchi in totale (OB + FB + FC + DB)
Campo di indirizzi per FB, FC FB e FC: 1 ... 65535 (ad es. FB 1 ... FB 65535)
e DB DB: da 1 a 59999
Profondità di annidamento 16 dall'OB di ciclo o di avvio del programma
6 da qualsiasi OB di eventi di allarme
Controllo Lo stato di 2 blocchi di codice può essere controllato
contemporaneamente
OB Ciclo del programma Diversi
Avviamento Diversi
Allarmi di ritardo 4 (1 per evento)
Allarmi di schedulazione 4 (1 per evento)
orologio
Interrupt di processo 50 (1 per evento)
Allarmi di errore temporale 1
Allarmi di diagnostica 1
Estrazione o inserimento dei 1
moduli
Guasto del telaio o della 1
stazione
Orologio Diversi
Stato 1
Aggiornamento 1
Profilo 1
Temporizzatori Tipo IEC
Quantità Limitata solo dalla dimensione della memoria
Memoria Struttura in DB, 16 byte per temporizzatore
Contatori Tipo IEC
Quantità Limitata solo dalla dimensione della memoria
Memoria Struttura in DB, la dimensione dipende dal tipo di contatore
• SInt, USInt: 3 byte
• Int, UInt: 6 byte
• DInt, UDInt: 12 byte

Sistema di automazione S7-1200


908 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.6 CPU 1217C

Tabella A- 91 Comunicazione

Dati tecnici Descrizione


Numero di porte 2
Tipo Ethernet
Dispositivo HMI 6 max.
Dispositivo di programmazione (PG) 1
Collegamenti • 8 per Open User Communication (attivi o passivi): TSEND_C,
TRCV_C, TCON, TDISCON, TSEND e TRCV
• 3 per la comunicazione GET/PUT S7 (da CPU a CPU) del server
• 8 per la comunicazione GET/PUT S7 (da CPU a CPU) dei client
Velocità dati 10/100 Mb/s
Isolamento (tra il segnale esterno e la logica Trasformatore isolato, 1500 VAC, solo per la sicurezza in caso di eventi
PLC) di breve durata
Tipo di cavo CAT5e schermato

Tabella A- 92 Alimentazione elettrica

Dati tecnici CPU 1217C DC/DC/DC


Campo di tensione 20,4 VDC ... 28,8 VDC
Frequenza della linea --
Corrente di ingresso (a Solo CPU 600 mA a 24 VDC
pieno carico) CPU con tutti i 1600 mA a 24 VDC
moduli di
ampliamento
Spunto di corrente all'accensione (max.) 12 A a 28,8 VDC
Isolamento (tra l'alimentazione in ingresso Nessuno
e il circuito logico)
Tempo di mantenimento (dall'interruzione 10 ms a 24 VDC
dell'alimentazione)
Fusibile interno, non sostituibile dall'utente 3 A, 250 V, lento

Tabella A- 93 Alimentazione dei sensori

Dati tecnici CPU 1217C DC/DC/DC


Campo di tensione L+ meno 4 VDC min.
Corrente di uscita (max.) 400 mA (protetta da cortocircuito)
Rumore di ondulazione max. (<10 MHz) Come la linea di ingresso
Isolamento (tra il circuito logico della CPU Nessuno
e l'alimentazione dei sensori)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 909
Dati tecnici
A.6 CPU 1217C

A.6.3 Ingressi e uscite digitali

Tabella A- 94 Ingressi digitali

Dati tecnici CPU 1217C DC/DC/DC


Numero di ingressi 14: totale:
10: Ad assorbimento/emissione di corrente (secondo IEC "tipo 1" se ad
assorbimento di corrente)
4: 1,5 V differenziale
Tipo: Ad assorbimento/emissione di Ia.0 ... Ia.7, Ib.0 ... Ib.1
corrente
(IEC "tipo 1" se ad assorbimento di
corrente)
Tensione nominale 24 VDC a 4 mA, nominale
Tensione continua ammessa 30 VDC max.
Sovratensione transitoria 35 VDC per 0,5 sec.
Segnale logico 1 (min.) 15 VDC a 2.5 mA
Segnale logico 0 (max.) 5 VDC a 1 mA
Isolamento (tra il campo e i circuiti 500 VAC per 1 minuto (isolamento funzionale)
logici)
Gruppi di isolamento 1
Tempi di filtraggio impostazioni us: 0.1, 0.2, 0.4, 0.8, 1.6, 3.2, 6.4, 10.0, 12.8, 20.0
impostazioni ms: 0.05, 0.1, 0.2, 0.4, 0.8, 1.6, 3.2, 6.4, 10.0, 12.8, 20.0
Frequenze di clock in ingresso agli 100/80 kHz (Ia.0 ... Ia.5)
HSC (max.) 30/20 kHz (Ia.6 ... Ib.1)
(segnale logico 1 = 15 ... 26 VDC)
Tipo: Ingresso differenziale Ib.2 ... Ib.5 (.2+ .2- ... .5+ .5-)
Campo della tensione in modo -7 V ... +12 V, 1 secondo, 3 V RMS continuo (caratteristiche RS485)
comune
Terminazione e polarizzazione 390 Ω ... 2M su Ib'-', 390 Ω ... +5 V su Ib'-', (polarizzato OFF se circuito aperto T/B)
220 Ω tra Ib'+' e Ib'-'
Impedenza di ingresso ricevitore 100 Ω comprese le resistenze di terminazione e polarizzazione
Soglia/sensibilità ricevitore +/- 0,2 V min., 60 mV isteresi tipica
differenziale
Isolamento (tra il campo e i circuiti 500 VAC per 1 minuto (isolamento funzionale)
logici)
Gruppi di isolamento 1
Tempi di filtraggio impostazioni us: 0.1, 0.2, 0.4, 0.8, 1.6, 3.2, 6.4, 10.0, 12.8, 20.0
impostazioni ms: 0.05, 0.1, 0.2, 0.4, 0.8, 1.6, 3.2, 6.4, 10.0, 12.8, 20.0
Frequenze di clock in ingresso agli A una fase: 1 MHz (Ib.2 ... Ib.5)
HSC (max.) In quadratura di fase: 1 MHz (Ib.2 ... Ib.5)
Skew da canale a canale 40 ns max.
negli ingressi differenziali

Sistema di automazione S7-1200


910 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.6 CPU 1217C

Dati tecnici CPU 1217C DC/DC/DC


Dati tecnici generali (tutti gli ingressi
digitali)
Numero di ingressi ON 5 ingressi ad assorbimento/emissione di corrente (ingressi non vicini) e 4 ingressi
contemporaneamente differenziali a 60 ℃ in orizzontale o 50 ℃ in verticale
14 a 55 ℃ in orizzontale o 45 ℃ in verticale
Lunghezza del cavo (metri) 500 m schermato, 300 m non schermato
50 m schermato per gli ingressi HSC (ad assorbimento/emissione di corrente)
50 m schermato, cavo doppio ritorto per gli ingressi differenziali

Tabella A- 95 Uscite digitali

Dati tecnici CPU 1217C DC/DC/DC


Numero di uscite 10 in totale
6: MOSFET a stato solido (a emissione di corrente)
4: 1,5 V differenziale
Tipo: MOSFET a stato solido (uscita Qa.4 ... Qb.1
a emissione di corrente)
Campo di tensione 20,4 ... 28,8 VDC
Segnale logico 1 a corrente max. 20 VDC min.
Segnale logico 0 con carico di 10 KΩ 0,1 VDC max.
Corrente (max.) 0,5 A
Carico delle lampade 5W
Resistenza in stato ON 0,6 Ω max.
Corrente di dispersione per punto 10 μA max.
Corrente di spunto 8 A per 100 ms max.
Protezione da sovraccarico No
Isolamento (tra il campo e i circuiti 500 VAC per 1 minuto (isolamento funzionale)
logici)
Gruppi di isolamento 1
Clamp per tensioni induttive L+ meno 48 VDC, dissipazione di 1 W
Ritardo durante la commutazione 1,0 μs max., da off a on
(Qa.0 ... Qa.3) 3,0 μs max., da on a off
Ritardo durante la commutazione 50 μs max., da off a on
(Qa.4 ... Qb.1) 200 μs max., da on a off
Frequenza di commutazione relè --
massima
Frequenza di uscita treni di impulsi 100 KHz max. (Qa.4 ... Qb.1)1, 2 Hz min.

Tipo: Uscita differenziale 1,5 V Qa.0 ... Qa.3 (.0+ 0- ... .3+ .3-)
Campo della tensione in modo -7 V ... +12 V, 1 secondo, 3 V RMS continuo (caratteristiche RS485)
comune
Tensione di uscita differenziale 2 V min. a RL = 100 Ω, 1,5 V min. a RL = 54 Ω
trasmettitore

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 911
Dati tecnici
A.6 CPU 1217C

Dati tecnici CPU 1217C DC/DC/DC


Terminazione 100 Ω tra Qa'+' e Qa'-'
Impedenza di uscita dell'azionamento 100 Ω compresa la terminazione
Isolamento 500 VAC, 1 minuto (isolamento funzionale)
Gruppi di isolamento 1
Ritardo durante la commutazione 100 ns max.
(DQa.0 ... DQa.3)
Skew da canale a canale nelle uscite 40 ns max.
differenziali
Frequenza di uscita treni di impulsi 1 MHz (Qa.0 ... Qa.3), 2 Hz min.
Dati tecnici generali
(tutti gli ingressi digitali)
Comportamento in caso di Ultimo valore o valore sostitutivo (valore di default 0)
commutazione RUN - STOP
Numero di uscite ON 3 uscite MOSFET a stato solido (ad emissione di corrente) (ingressi non vicini) e 4
contemporaneamente uscite differenziali a 60 ℃ in orizzontale o 50 ℃ in verticale
10 a 55 ℃ in orizzontale o 45 ℃ in verticale
Lunghezza del cavo (metri) 500 m schermato, 150 m non schermato
1 A seconda del ricevitore di impulsi e del cavo utilizzati può essere necessario utilizzare un'ulteriore resistenza di carico
(pari ad almeno il 10% della corrente nominale) per migliorare la qualità del segnale e l'immunità al rumore.

Sistema di automazione S7-1200


912 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.6 CPU 1217C

Dettagli ingresso differenziale 1,5 V

Note:
• ciascun DI differenziale è polarizzato "OFF" quando le viti della morsettiera sono a
circuito aperto.
• Resistenze di terminazione e polarizzazione = 100 Ω.

Tabella A- 96 Tabella di configurazione H/W degli ingressi digitali (DI) della CPU 1217C

Ingresso Tipo e frequenza


DIa.0 Tipo: 24 V, ingresso tipo 1 ad assorbimento/emissione di corrente
Frequenza di ingresso del contatore veloce: 100 kHz max.
DIa.1 Tipo: 24 V, ingresso tipo 1 ad assorbimento/emissione di corrente
Frequenza di ingresso del contatore veloce: 100 kHz max.
DIa.2 Tipo: 24 V, ingresso tipo 1 ad assorbimento/emissione di corrente
Frequenza di ingresso del contatore veloce: 100 kHz max.
DIa.3 Tipo: 24 V, ingresso tipo 1 ad assorbimento/emissione di corrente
Frequenza di ingresso del contatore veloce: 100 kHz max.
DIa.4 Tipo: 24 V, ingresso tipo 1 ad assorbimento/emissione di corrente
Frequenza di ingresso del contatore veloce: 100 kHz max.
DIa.5 Tipo: 24 V, ingresso tipo 1 ad assorbimento/emissione di corrente
Frequenza di ingresso del contatore veloce: 100 kHz max.
DIa.6 Tipo: 24 V, ingresso tipo 1 ad assorbimento/emissione di corrente
Frequenza di ingresso del contatore veloce: 30 kHz max.
DIa.7 Tipo: 24 V, ingresso tipo 1 ad assorbimento/emissione di corrente
Frequenza di ingresso del contatore veloce: 30 kHz max.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 913
Dati tecnici
A.6 CPU 1217C

Ingresso Tipo e frequenza


DIb.0 Tipo: 24 V, ingresso tipo 1 ad assorbimento/emissione di corrente
Frequenza di ingresso del contatore veloce: 30 kHz max.
DIb.1 Tipo: 24 V, ingresso tipo 1 ad assorbimento/emissione di corrente
Frequenza di ingresso del contatore veloce: 30 kHz max.
DIb.2+ .2- Tipo: Ingresso differenziale 1,5 V
Frequenza di ingresso del contatore veloce: 1 MHz max.
DIb.3+ .3- Tipo: Ingresso differenziale 1,5 V
Frequenza di ingresso del contatore veloce: 1 MHz max.
DIb.4+ .4- Tipo: Ingresso differenziale 1,5 V
Frequenza di ingresso del contatore veloce: 1 MHz max.
DIb.5+ .5- Tipo: Ingresso differenziale 1,5 V
Frequenza di ingresso del contatore veloce: 1 MHz max.

Dettagli uscita differenziale 1,5 V

Tabella A- 97 Tabella di configurazione H/W delle uscite digitali (DQ) della CPU 1217C

Uscita Tipo e frequenza


DQa.0+ .0- Tipo: Uscita differenziale 1,5 V
Frequenza di uscita treni di impulsi: 1 MHz max., 2 Hz min.
DQa.1+ .1- Tipo: Uscita differenziale 1,5 V
Frequenza di uscita treni di impulsi: 1 MHz max., 2 Hz min.
DQa.2+ .2- Tipo: Uscita differenziale 1,5 V
Frequenza di uscita treni di impulsi: 1 MHz max., 2 Hz min.

Sistema di automazione S7-1200


914 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.6 CPU 1217C

Uscita Tipo e frequenza


DQa.3+ .3- Tipo: Uscita differenziale 1,5 V
Frequenza di uscita treni di impulsi: 1 MHz max., 2 Hz min.
DQa.4 Tipo: Uscita a emissione di corrente 24 V
Frequenza di uscita treni di impulsi: 100 kHz max., 2 Hz min.
DQa.5 Tipo: Uscita a emissione di corrente 24 V
Frequenza di uscita treni di impulsi: 100 kHz max., 2 Hz min.
DQa.6 Tipo: Uscita a emissione di corrente 24 V
Frequenza di uscita treni di impulsi: 100 kHz max., 2 Hz min.
DQa.7 Tipo: Uscita a emissione di corrente 24 V
Frequenza di uscita treni di impulsi: 100 kHz max., 2 Hz min.
DQb.0 Tipo: Uscita a emissione di corrente 24 V
Frequenza di uscita treni di impulsi: 100 kHz max., 2 Hz min.
DQb.1 Tipo: Uscita a emissione di corrente 24 V
Frequenza di uscita treni di impulsi: 100 kHz max., 2 Hz min.

A.6.4 Ingressi e uscite analogici

A.6.4.1 Dati tecnici degli ingressi analogici

Tabella A- 98 Ingressi analogici

Dati tecnici Descrizione


Numero di ingressi 2
Tipo Tensione (asimmetrico)
Campo di fondo scala 0 ... 10 V
Campo di fondo scala (parola di dati) 0 ... 27648
Campo di overshoot 10,001 ... 11,759 V
Campo di overshoot (parola di dati) 27649 ... 32511
Campo di overflow 11,760 ... 11,852 V
Campo di overflow (parola di dati) 32512 ... 32767
Risoluzione 10 bit
Tensione di resistenza max. 35 VDC
Livellamento Nessuno, Debole, Medio o Forte
Vedere la tabella per la risposta a gradino (ms) per gli ingressi analogici
della CPU.
Filtraggio del rumore 10, 50 o 60 Hz
Impedenza ≥100 KΩ
Isolamento (tra il campo e i circuiti logici) Nessuno
Precisione (25 °C / 0 ... 55 °C) 3,0% / 3,5% del valore di fondo scala
Lunghezza del cavo (metri) 100 m, cavo doppio ritorto schermato

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 915
Dati tecnici
A.6 CPU 1217C

A.6.4.2 Risposta a gradino degli ingressi analogici integrati della CPU

Tabella A- 99 Risposta a gradino (ms), 0 V... 10 V misurata al 95%

Livellamento (media dei campioni) Frequenza di reiezione (tempo di integrazione)


60 Hz 50 Hz 10 Hz
Nessuno (1 ciclo): nessuna media 50 ms 50 ms 100 ms
Debole (4 cicli): 4 campioni 60 ms 70 ms 200 ms
Medio (16 cicli): 16 campioni 200 ms 240 ms 1150 ms
Forte (32 cicli): 32 campioni 400 ms 480 ms 2300 ms
Tempo di campionamento 4,17 ms 5 ms 25 ms

A.6.4.3 Tempo di campionamento per le porte analogiche integrate nella CPU

Tabella A- 100 Tempo di campionamento per gli ingressi analogici integrati nella CPU

Frequenza di reiezione (selezione del tempo di integrazione) Tempo di campionamento


60 Hz (16,6 ms) 4,17 ms
50 Hz (20 ms) 5 ms
10 Hz (100 ms) 25 ms

A.6.4.4 Campi di misura degli ingressi analogici per la tensione (CPU)

Tabella A- 101 Rappresentazione degli ingressi analogici per la tensione (CPU)

Sistema Campo di misura della tensione


Decimale Esadecimale 0 ... 10 V
32767 7FFF 11,851 V Overflow
32512 7F00
32511 7EFF 11,759 V Campo di overshoot
27649 6C01
27648 6C00 10 V Campo nominale
20736 5100 7,5 V
34 22 12 mV
0 0 0V
Valori negativi I valori negativi non sono
ammessi

Sistema di automazione S7-1200


916 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.6 CPU 1217C

A.6.4.5 Dati tecnici delle uscite analogiche

Uscite analogiche

Tabella A- 102 Uscite analogiche

Dati tecnici Descrizione


Numero di uscite 2
Tipo Corrente
Campo di fondo scala 0 ... 20 mA
Campo di fondo scala (parola di dati) 0 ... 27648
Campo di overshoot 20,01 ... 23,52 mA
Campo di overshoot (parola di dati) 27649 ... 32511
Campo di overflow vedere nota a pie' di pagina 1
Campo di overflow (parola di dati) 32512 ... 32767
Risoluzione 10 bit
Impedenza di uscita ≤500 Ω max.
Isolamento (tra il campo e i circuiti logici) Nessuno
Precisione (25 °C / -20 ... 60 °C) 3,0% / 3,5% del valore di fondo scala
Tempo di assestamento 2 ms
Lunghezza del cavo (metri) 100 m, cavo doppio ritorto schermato
1 In una condizione di overflow, le uscite analogiche si comporteranno in funzione delle impostazioni delle proprietà nella
configurazione dei dispositivi. Nel parametro "Comportamento in caso di STOP della CPU" selezionare: "Imposta valore
sostitutivo" o "Mantieni ultimo valore".

Tabella A- 103 Rappresentazione delle uscite analogiche per la corrente (CPU 1215C e CPU 1217C)

Sistema Campo della corrente in uscita


Decimale Esadecimale 0 mA ... 20 mA
32767 7FFF Vedere la nota 1 Overflow
32512 7F00 Vedere la nota 1
32511 7EFF 23,52 mA Campo di overshoot
27649 6C01
27648 6C00 20 mA Campo nominale
20736 5100 15 mA
34 22 12 mV
0 0 0 mA
Valori negativi I valori negativi non sono
ammessi
1 In una condizione di overflow le uscite analogiche si comporteranno in base alle impostazioni delle proprietà della
configurazione dei dispositivi. Nel parametro "Comportamento in caso di STOP della CPU" selezionare: "Imposta valore
sostitutivo" o "Mantieni ultimo valore".

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 917
Dati tecnici
A.6 CPU 1217C

A.6.5 Schemi elettrici della CPU 1217C

Tabella A- 104 CPU 1217C DC/DC/DC (6ES7 217-1AG40-0XB0)

① Uscita di alimentazione per sensori a 24 VDC


Per una maggiore immunità al rumore collegare "M" alla massa del telaio anche se non si utilizza
l'alimentazione per sensori.
② Per gli ingressi ad assorbimento di corrente collegare "-" a "M" (come indicato). Per gli ingressi
ad emissione di corrente collegare "+" a "M".
Nota: i connettori X12 devono essere in oro. Per il numero di ordinazione vedere Allegato C, Parti di
ricambio (Pagina 1023)

Tabella A- 105 Disposizione dei piedini del connettore della CPU 1217C DC/DC/DC (6ES7 217-
1AG40-0XB0)

Piedino X10 X11 X12 (oro) X13


1 L+ / 24 VDC 2M 3M 5M
2 M / 24 VDC 2M AQ 0 5M
3 Terra funzionale DI b.2+ AQ 1 DQ a.0+
4 L+ / 24 VDC Uscita sensore DI b.2- 4M DQ a.0-
5 M / 24 VDC Uscita sensore DI b.3+ AI 0 DQ a.1+
6 1M DI b.3- AI 1 DQ a.1-
7 DI a.0 DI b.4+ -- DQ a.2+
8 DI a.1 DI b.4- -- DQ a.2-
9 DI a.2 DI b.5+ -- DQ a.3+
10 DI a.3 DI b.5- -- DQ a.3-

Sistema di automazione S7-1200


918 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.7 Moduli di I/O digitali (SM)

Piedino X10 X11 X12 (oro) X13


11 DI a.4 -- -- 6L+
12 DI a.5 -- -- 6M
13 DI a.6 -- -- DQ a.4
14 DI a.7 -- -- DQ a.5
15 DI b.0 -- -- DQ a.6
16 DI b.1 -- -- DQ a.7
17 -- -- -- DQ b.0
18 -- -- -- DQ b.1

Nota
Gli ingressi analogici inutilizzati dovrebbero essere cortocircuitati.

A.7 Moduli di I/O digitali (SM)

A.7.1 Dati tecnici del modulo di ingressi digitali SM 1221

Tabella A- 106 Dati tecnici generali

Modello SM 1221 DI 8 x 24 VDC SM 1221 DI 16 x 24 VDC


Numero di ordinazione 6ES7 221-1BF32-0XB0 6ES7 221-1BH32-0XB0
Dimensioni L x A x P (mm) 45 x 100 x 75 45 x 100 x 75
Peso 170 grammi 210 grammi
Dissipazione di potenza 1,5 W 2,5 W
Assorbimento di corrente (bus SM) 105 mA 130 mA
Assorbimento di corrente (24 VDC) 4 mA/ingresso utilizzato 4 mA/ingresso utilizzato

Tabella A- 107 Ingressi digitali

Modello SM 1221 DI 8 x 24 VDC SM 1221 DI 16 x 24 VDC


Numero di ingressi 8 16
Tipo Ad assorbimento/emissione di corrente Ad assorbimento/emissione di corrente
(secondo IEC "tipo 1" se ad (secondo IEC "tipo 1" se ad
assorbimento di corrente) assorbimento di corrente)
Tensione nominale 24 VDC a 4 mA, nominale 24 VDC a 4 mA, nominale
Tensione continua ammessa 30 VDC max. 30 VDC max.
Sovratensione transitoria 35 VDC per 0,5 sec. 35 VDC per 0,5 sec.
Segnale logico 1 (min.) 15 VDC a 2.5 mA 15 VDC a 2.5 mA

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 919
Dati tecnici
A.7 Moduli di I/O digitali (SM)

Modello SM 1221 DI 8 x 24 VDC SM 1221 DI 16 x 24 VDC


Segnale logico 0 (max.) 5 VDC a 1 mA 5 VDC a 1 mA
Isolamento (tra il campo e i circuiti 500 VAC per 1 minuto 500 VAC per 1 minuto
logici)
Gruppi di isolamento 2 4
Tempi di filtraggio 0,2; 0,4; 0,8; 1,6; 3,2; 6,4 e 12,8 ms 0,2; 0,4; 0,8; 1,6; 3,2; 6,4 e 12,8 ms
(selezionabili in gruppi di 4) (selezionabili in gruppi di 4)
Numero di ingressi ON 8 16
contemporaneamente
Lunghezza del cavo (metri) 500 m schermato, 300 m non 500 m schermato, 300 m non schermato
schermato

Tabella A- 108 Schemi elettrici per moduli di I/O (SM) digitali

SM 1221 DI 8 x 24 VDC (6ES7 221-1BF32- SM 1221 DI 16 x 24 VDC (6ES7 221-1BH32-


0XB0) 0XB0)

① Per gli ingressi ad assorbimento di corrente collegare "-" a "M" (come indicato). Per gli ingressi ad
emissione di corrente collegare "+" a "M".

Sistema di automazione S7-1200


920 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.7 Moduli di I/O digitali (SM)

Tabella A- 109 Disposizione dei piedini del connettore dell'SM 1221 DI 8 x 24 VDC (6ES7 221-
1BF32-0XB0)

Piedino X10 X11


1 GND Nessun collegamento
2 Nessun collegamento Nessun collegamento
3 1M 2M
4 DI a.0 DI a.4
5 DI a.1 DI a.5
6 DI a.2 DI a.6
7 DI a.3 DI a.7

Tabella A- 110 Disposizione dei piedini del connettore dell'SM 1221 DI 16 x 24 VDC (6ES7 221-
1BH32-0XB0)

Piedino X10 X11 X12 X13


1 GND Nessun Nessun Nessun collegamento
collegamento collegamento
2 Nessun Nessun Nessun Nessun collegamento
collegamento collegamento collegamento
3 1M 2M 3M 4M
4 DI a.0 DI a.4 DI b.0 DI b.4
5 DI a.1 DI a.5 DI b.1 DI b.5
6 DI a.2 DI a.6 DI b.2 DI b.6
7 DI a.3 DI a.7 DI b.3 DI b.7

A.7.2 Dati tecnici del modulo di uscite digitali SM 1222 8 uscite

Tabella A- 111 Dati tecnici generali

Modello SM 1222 DQ 8 x relè SM 1222 DQ 8 RLY di SM 1222 DQ 8 x 24 VDC


scambio
Numero di ordinazione 6ES7 222-1HF32-0XB0 6ES7 222-1XF32-0XB0 6ES7 222-1BF32-0XB0
Dimensioni L x A x P (mm) 45 x 100 x 75 70 x 100 x 75 45 x 100 x 75
Peso 190 grammi 310 grammi 180 grammi
Dissipazione di potenza 4,5 W 5W 1,5 W
Assorbimento di corrente (bus SM) 120 mA 140 mA 120 mA
Assorbimento di corrente (24 VDC) 11 mA / con bobina relè 16,7 mA / con bobina relè 50 mA

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 921
Dati tecnici
A.7 Moduli di I/O digitali (SM)

Tabella A- 112 Uscite digitali

Modello SM 1222 SM 1222 DQ8 RLY di SM 1222


DQ 8 x relè scambio DQ 8 x 24 VDC
Numero di uscite 8 8 8
Tipo Relè, contatto Dry Relè, contatto di scambio MOSFET a stato solido
(a emissione di corrente)
Campo di tensione 5 ... 30 VDC oppure 5 ... 5 ... 30 VDC oppure 5 ... 20,4 ... 28,8 VDC
250 VAC 250 VAC
Segnale logico 1 a corrente max. -- -- 20 VDC min.
Segnale logico 0 con carico di 10 KΩ -- -- 0,1 VDC max.
Corrente (max.) 2,0 A 2,0 A 0,5 A
Carico delle lampade 30 W DC / 200 W AC 30 W DC / 200 W AC 5W
Resistenza contatto in stato ON 0,2 Ω max. da nuova 0,2 Ω max. da nuova 0,6 Ω max.
Corrente di dispersione per punto -- -- 10 μA max.
Corrente di spunto 7 A con contatti chiusi 7 A con contatti chiusi 8 A per 100 ms max.
Protezione da sovraccarico No No No
Isolamento (tra il campo e i circuiti 1500 VAC per 1 minuto (tra 1500 VAC per 1 minuto 500 VAC per 1 minuto
logici) la bobina e il contatto) (tra la bobina e il
Nessuno (tra la bobina e i contatto)
circuiti logici)
Resistenza di isolamento 100 MΩ min. da nuova 100 MΩ min. da nuova --
Isolamento tra contatti aperti 750 VAC per 1 minuto 750 VAC per 1 minuto --
Gruppi di isolamento 2 8 1
Corrente per comune (max.) 10 A 2A 4A
Clamp per tensioni induttive -- -- L+ meno 48 V,
dissipazione di 1 W
Ritardo durante la commutazione 10 ms max. 10 ms max. 50 μs max. da off a on
200 μs max. da on a off
Frequenza di commutazione relè 1 Hz 1 Hz --
massima
Tempo di vita in cicli meccanici 10.000.000 cicli di 10.000.000 cicli di --
(senza carico) apertura/chiusura apertura/chiusura
Durata contatti con carico nominale 100.000 cicli di 100.000 cicli di --
(contatto n. a.) apertura/chiusura apertura/chiusura
Comportamento in caso di Ultimo valore o valore Ultimo valore o valore Ultimo valore o valore
commutazione RUN - STOP sostitutivo (valore di default sostitutivo (valore di sostitutivo (valore di
0) default 0) default 0)
Numero di uscite ON 8 • 4 (ingressi non vicini) 8
contemporaneamente a 60 ℃ in orizzontale
o 50 ℃ in verticale
• 8 a 55 ℃ in
orizzontale o 45 ℃ in
verticale
Lunghezza del cavo (metri) 500 m schermato, 150 m 500 m schermato, 150 m 500 m schermato, 150 m
non schermato non schermato non schermato

Sistema di automazione S7-1200


922 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.7 Moduli di I/O digitali (SM)

A.7.3 Dati tecnici del modulo di uscite digitali SM 1222 16 uscite

Tabella A- 113 Dati tecnici generali

Modello SM 1222 DQ 16 x relè SM 1222 DQ 16 x 24 VDC


Numero di ordinazione 6ES7 222-1HH32-0XB0 6ES7 222-1BH32-0XB0
Dimensioni L x A x P (mm) 45 x 100 x 75 45 x 100 x 75
Peso 260 grammi 220 grammi
Dissipazione di potenza 8,5 W 2,5 W
Assorbimento di corrente (bus SM) 135 mA 140 mA
Assorbimento di corrente (24 VDC) 11 mA / con bobina relè 100 mA

Tabella A- 114 Uscite digitali

Modello SM1222 SM1222


DQ 16 x relè DQ 16 x 24 VDC
Numero di uscite 16 16
Tipo Relè, contatto Dry MOSFET a stato solido (a emissione di
corrente)
Campo di tensione 5 ... 30 VDC oppure 5 ... 250 VAC 20,4 ... 28,8 VDC
Segnale logico 1 a corrente max. - 20 VDC min.
Segnale logico 0 con carico di 10 KΩ - 0,1 VDC max.
Corrente (max.) 2,0 A 0,5 A
Carico delle lampade 30 W DC / 200 W AC 5W
Resistenza contatto in stato ON 0,2 Ω max. da nuova 0,6 Ω max.
Corrente di dispersione per punto -- 10 μA max.
Corrente di spunto 7 A con contatti chiusi 8 A per 100 ms max.
Protezione da sovraccarico No No
Isolamento (tra il campo e i circuiti 1500 VAC per 1 minuto (tra la bobina 500 VAC per 1 minuto
logici) e il contatto)
Nessuno (tra la bobina e i circuiti
logici)
Resistenza di isolamento 100 MΩ min. da nuova -
Isolamento tra contatti aperti 750 VAC per 1 minuto -
Gruppi di isolamento 4 1
Corrente per comune (max.) 10 A 8A
Clamp per tensioni induttive - L+ meno 48 V, dissipazione di 1 W
Ritardo durante la commutazione 10 ms max. 50 μs max. da off a on
200 μs max. da on a off
Frequenza di commutazione relè 1 Hz -
massima
Tempo di vita in cicli meccanici (senza 10.000.000 cicli di apertura/chiusura -
carico)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 923
Dati tecnici
A.7 Moduli di I/O digitali (SM)

Modello SM1222 SM1222


DQ 16 x relè DQ 16 x 24 VDC
Durata contatti con carico nominale 100.000 cicli di apertura/chiusura -
(contatto n. a.)
Comportamento in caso di Ultimo valore o valore sostitutivo Ultimo valore o valore sostitutivo (valore di
commutazione RUN - STOP (valore di default 0) default 0)
Numero di uscite ON • 8 (ingressi non vicini) a 60 ℃ in 16
contemporaneamente orizzontale o 50 ℃ in verticale
• 16 a 55 ℃ in orizzontale o 45 ℃
in verticale
Lunghezza del cavo (metri) 500 m schermato, 150 m non 500 m schermato, 150 m non schermato
schermato

Tabella A- 115 Schemi elettrici dei moduli di I/O (SM) digitali a 8 uscite

SM 1222 DQ 8 x relè (6ES7 222-1HF32-0XB0) SM 1222 DQ 8 x 24 VDC (6ES7 222-1BF32-


0XB0)

Tabella A- 116 Disposizione dei piedini del connettore dell'SM 1222 DQ 8 x relè (6ES7 222-1HF32-
0XB0)

Piedino X10 X11


1 L+ / 24 VDC Nessun collegamento
2 M / 24 VDC 2L
3 Terra funzionale DQ a.3
4 1L DQ a.4
5 DQ a.0 DQ a.5

Sistema di automazione S7-1200


924 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.7 Moduli di I/O digitali (SM)

Piedino X10 X11


6 DQ a.1 DQ a.6
7 DQ a.2 DQ a.7

Tabella A- 117 Disposizione dei piedini del connettore dell'SM 1222 DQ 8 x 24 VDC (6ES7 222-
1BF32-0XB0)

Piedino X10 X11


1 L+ / 24 VDC Nessun collegamento
2 M / 24 VDC Nessun collegamento
3 Terra funzionale Nessun collegamento
4 DQ a.0 DQ a.4
5 DQ a.1 DQ a.5
6 DQ a.2 DQ a.6
7 DQ a.2 DQ a.7

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 925
Dati tecnici
A.7 Moduli di I/O digitali (SM)

Tabella A- 118 Schema elettrico dei moduli di I/O (SM) changeover digitali a 8 uscite

SM 1222 DQ 8 x relè di scambio (6ES7 222-1XF32-0XB0)

Un'uscita relè di scambio controlla due circuiti mediante un morsetto comune: un contatto
normalmente chiuso e uno normalmente aperto. Se si prende come esempio l'uscita "0",
quando l'uscita è OFF il polo comune (0L) è collegato al contatto normalmente chiuso (.0X) e
scollegato dal contatto normalmente aperto (.0). Quando l'uscita è ON, il polo comune (0L) è
scollegato dal contatto normalmente chiuso (.0X) e collegato al contatto normalmente aperto
(.0).

Tabella A- 119 Disposizione dei piedini del connettore dell'SM 1222 DQ 8 x relè di scambio (6ES7
222-1XF32-0XB0)

Piedino X10 X11 X12 X13


1 L+ / 24 VDC Terra funzionale Nessun Nessun collegamento
collegamento
2 M / 24 VDC Nessun Nessun Nessun collegamento
collegamento collegamento
3 Nessun Nessun Nessun Nessun collegamento
collegamento collegamento collegamento
4 Nessun Nessun Nessun Nessun collegamento
collegamento collegamento collegamento
5 0L 2L 4L 6L
6 DQ a.0X DQ a.2X DQ a.4X DQ a.6X
7 DQ a.0 DQ a.2 DQ a.4 DQ a.6
8 Nessun Nessun Nessun Nessun collegamento
collegamento collegamento collegamento

Sistema di automazione S7-1200


926 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.7 Moduli di I/O digitali (SM)

Piedino X10 X11 X12 X13


9 1L 3L 5L 7L
10 DQ a.1X DQ a.3X DQ a.5X DQ a.7X
11 DQ a.1 DQ a.3 DQ a.5 DQ a.7

Tabella A- 120 Schemi elettrici dei moduli di I/O (SM) digitali a 16 uscite

SM 1222 DQ 16 x relè (6ES7 222-1HH32-0XB0) SM 1222 DQ 16 x 24 VDC (6ES7 222-1BH32-


0XB0)

Tabella A- 121 Disposizione dei piedini del connettore dell'SM 1222 DQ 16 x relè (6ES7 222-1HH32-
0XB0)

Piedino X10 X11 X12 X13


1 L+ / 24 VDC Terra funzionale Nessun 4L
collegamento
2 M / 24 VDC Nessun Nessun DQ b.2
collegamento collegamento
3 1L 2L Nessun DQ b.3
collegamento
4 DQ a.0 DQ a.4 Nessun DQ b.4
collegamento
5 DQ a.1 DQ a.5 3L DQ b.5
6 DQ a.2 DQ a.6 DQ b.0 DQ b.6
7 DQ a.3 DQ a.7 DQ b.1 DQ b.7

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 927
Dati tecnici
A.7 Moduli di I/O digitali (SM)

Tabella A- 122 Disposizione dei piedini del connettore dell'SM 1222 DQ 16 x 24 VDC (6ES7 222-
1BH32-0XB0)

Piedino X10 X11 X12 X13


1 L+ / 24 VDC Terra funzionale Nessun Nessun collegamento
collegamento
2 M / 24 VDC Nessun Nessun Nessun collegamento
collegamento collegamento
3 Nessun Nessun Nessun Nessun collegamento
collegamento collegamento collegamento
4 DQ a.0 DQ a.4 DQ b.0 DQ b.4
5 DQ a.1 DQ a.5 DQ b.1 DQ b.5
6 DQ a.2 DQ a.6 DQ b.2 DQ b.6
7 DQ a.3 DQ a.7 DQ b.3 DQ b.7

A.7.4 Dati tecnici del modulo di I/O digitali VDC SM 1223

Tabella A- 123 Dati tecnici generali

Modello SM 1223 SM 1223 SM 1223 SM 1223


DI 8 x 24 VDC, DQ DI 16 x 24 VDC, DI 8 x 24 VDC, DQ DI 16 x 24 VDC,
8 x relè DQ 16 x relè 8 x 24 VDC DQ 16 x 24 VDC
Numero di ordinazione 6ES7 223-1PH32- 6ES7 223-1PL32- 6ES7 223-1BH32- 6ES7 223-1BL32-
0XB0 0XB0 0XB0 0XB0
Dimensioni L x A x P (mm) 45 x 100 x 75 70 x 100 x 75 45 x 100 x 75 70 x 100 x 75
Peso 230 grammi 350 grammi 210 grammi 310 grammi
Dissipazione di potenza 5,5 W 10 W 2,5 W 4,5 W
Assorbimento di corrente (bus SM) 145 mA 180 mA 145 mA 185 mA
Assorbimento di corrente (24 VDC) 4 mA/ingresso utilizzato 150 mA 200 mA
11 mA/con bobina relè

Tabella A- 124 Ingressi digitali

Modello SM 1223 SM 1223 SM 1223 SM 1223


DI 8 x 24 VDC, DQ DI 16 x 24 VDC, DI 8 x 24 VDC, DQ DI 16 x 24 VDC,
8 x relè DQ 16 x relè 8 x 24 VDC DQ 16 x 24 VDC
Numero di ingressi 8 16 8 16
Tipo Ad assorbimento/emissione di corrente (secondo IEC "tipo 1" se ad assorbimento
di corrente)
Tensione nominale 24 VDC a 4 mA, nominale
Tensione continua ammessa 30 VDC max.
Sovratensione transitoria 35 VDC per 0,5 sec.
Segnale logico 1 (min.) 15 VDC a 2.5 mA
Segnale logico 0 (max.) 5 VDC a 1 mA

Sistema di automazione S7-1200


928 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.7 Moduli di I/O digitali (SM)

Modello SM 1223 SM 1223 SM 1223 SM 1223


DI 8 x 24 VDC, DQ DI 16 x 24 VDC, DI 8 x 24 VDC, DQ DI 16 x 24 VDC,
8 x relè DQ 16 x relè 8 x 24 VDC DQ 16 x 24 VDC
Isolamento (tra il campo e i circuiti 500 VAC per 1 minuto
logici)
Gruppi di isolamento 2 2 2 2
Tempi di filtraggio 0,2; 0,4; 0,8; 1,6; 3,2; 6,4 e 12,8 ms, selezionabili in gruppi di 4
Numero di ingressi ON 8 • 8 (ingressi non 8 16
contemporaneamente vicini) a 60 ℃
in orizzontale o
50 ℃ in
verticale
• 16 a 55 ℃ in
orizzontale o
45 ℃ in
verticale
Lunghezza del cavo (metri) 500 m schermato, 300 m non schermato

Tabella A- 125 Uscite digitali

Modello SM 1223 SM 1223 SM 1223 SM 1223


DI 8 x 24 VDC, DI 16 x 24 VDC, DI 8 x 24 VDC, DI 16 x 24 VDC,
DQ 8 x relè DQ 16 x relè DQ 8 x 24 VDC DQ 16 x 24 VDC
Numero di uscite 8 16 8 16
Tipo Relè, contatto Dry MOSFET a stato solido (a emissione di
corrente)
Campo di tensione 5 ... 30 VDC oppure 5 ... 250 VAC 20,4 ... 28,8 VDC
Segnale logico 1 a corrente max. -- 20 VDC min.
Segnale logico 0 con carico di 10 KΩ -- 0,1 VDC max.
Corrente (max.) 2,0 A 0,5 A
Carico delle lampade 30 W DC / 200 W AC 5W
Resistenza contatto in stato ON 0,2 Ω max. da nuova 0,6 Ω max.
Corrente di dispersione per punto -- 10 μA max.
Corrente di spunto 7 A con contatti chiusi 8 A per 100 ms max.
Protezione da sovraccarico No
Isolamento (tra il campo e i circuiti 1500 VAC per 1 minuto (tra la bobina e 500 VAC per 1 minuto
logici) il contatto)
Nessuno (tra la bobina e i circuiti logici)
Resistenza di isolamento 100 MΩ min. da nuova --
Isolamento tra contatti aperti 750 VAC per 1 minuto --
Gruppi di isolamento 2 4 1 1
Corrente per comune 10A 8A 4A 8A
Clamp per tensioni induttive -- L+ meno 48 V, dissipazione di 1 W

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 929
Dati tecnici
A.7 Moduli di I/O digitali (SM)

Modello SM 1223 SM 1223 SM 1223 SM 1223


DI 8 x 24 VDC, DI 16 x 24 VDC, DI 8 x 24 VDC, DI 16 x 24 VDC,
DQ 8 x relè DQ 16 x relè DQ 8 x 24 VDC DQ 16 x 24 VDC
Ritardo durante la commutazione 10 ms max. 50 μs max., da off a on
200 μs max., da on a off
Frequenza di commutazione relè 1 Hz --
massima
Tempo di vita in cicli meccanici 10.000.000 cicli di apertura/chiusura --
(senza carico)
Durata contatti con carico nominale 100.000 cicli di apertura/chiusura --
(contatto n. a.)
Comportamento in caso di Ultimo valore o valore sostitutivo (valore di default 0)
commutazione RUN - STOP
Numero di uscite ON 8 • 8 (ingressi non 8 16
contemporaneamente vicini) a 60 ℃
in orizzontale o
50 ℃ in
verticale
• 16 a 55 ℃ in
orizzontale o
45 ℃ in
verticale
Lunghezza del cavo (metri) 500 m schermato, 150 m non schermato

Tabella A- 126 Schemi elettrici dei moduli di I/O (SM) digitali di ingressi VDC e uscite relè

SM 1223 DI 8 x 24 VDC, DQ 8 x relè SM 1223 DI 16 x 24 VDC, DQ 16 x relè Avvertenza


(6ES7 223-1PH32-0XB0) (6ES7 223-1PL32-0XB0)
① Per gli ingressi
ad assorbimento di
corrente collegare
"-" a "M" (come
indicato).
Per gli ingressi ad
emissione di
corrente collegare
"+" a "M".

Sistema di automazione S7-1200


930 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.7 Moduli di I/O digitali (SM)

Tabella A- 127 Disposizione dei piedini del connettore dell'SM 1223 DI 8 x 24 VDC, DQ 8 x relè
(6ES7 223-1PH32-0XB0)

Piedino X10 X11 X12 X13


1 L+ / 24 VDC GND Nessun Nessun collegamento
collegamento
2 M / 24 VDC Nessun Nessun Nessun collegamento
collegamento collegamento
3 1M 2M 1L 2L
4 DI a.0 DI a.4 DQ a.0 DQ a.4
5 DI a.1 DI a.5 DQ a.1 DQ a.5
6 DI a.2 DI a.6 DQ a.2 DQ a.6
7 DI a.3 DI a.7 DQ a.3 DQ a.7

Tabella A- 128 Disposizione dei piedini del connettore dell'SM 1223 DI 16 x 24 VDC, DQ 16 x relè
(6ES7 223-1PL32-0XB0)

Piedino X10 X11 X12 X13


1 L+ / 24 VDC GND 1L 3L
2 M / 24 VDC Nessun DQ a.0 DQ b.0
collegamento
3 1M 2M DQ a.1 DQ b.1
4 DI a.0 DI b.0 DQ a.2 DQ b.2
5 DI a.1 DI b.1 DQ a.3 DQ b.3
6 DI a.2 DI b.2 Nessun Nessun collegamento
collegamento
7 DI a.3 DI b.3 2L 4L
8 DI a.4 DI b.4 DQ a.4 DQ b.4
9 DI a.5 DI b.5 DQ a.5 DQ b.5
10 DI a.6 DI b.6 DQ a.6 DQ b.6
11 DI a.7 DI b.7 DQ a.7 DQ b.7

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 931
Dati tecnici
A.7 Moduli di I/O digitali (SM)

Tabella A- 129 Schemi elettrici dei moduli di I/O (SM) digitali di ingressi VDC e uscite

SM 1223 DI 8 x 24 VDC, DQ 8 x 24 VDC SM 1223 DI 16 x 24 VDC, DQ 16 x 24 VDC Avvertenza


(6ES7 223-1BH32-0XB0) (6ES7 223-1BL32-0XB0)
① Per gli ingressi
ad assorbimento di
corrente collegare
"-" a "M" (come
indicato).
Per gli ingressi ad
emissione di
corrente collegare
"+" a "M".

Tabella A- 130 Disposizione dei piedini del connettore dell'SM 1223 DI 8 x 24 VDC, DQ 8 x 24 VDC
(6ES7 223-1BH32-0XB0)

Piedino X10 X11 X12 X13


1 L+ / 24 VDC GND Nessun Nessun collegamento
collegamento
2 M / 24 VDC Nessun Nessun Nessun collegamento
collegamento collegamento
3 1M 2M Nessun Nessun collegamento
collegamento
4 DI a.0 DI a.4 DQ a.0 DQ a.4
5 DI a.1 DI a.5 DQ a.1 DQ a.5
6 DI a.2 DI a.6 DQ a.2 DQ a.6
7 DI a.3 DI a.7 DQ a.3 DQ a.7

Sistema di automazione S7-1200


932 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.7 Moduli di I/O digitali (SM)

Tabella A- 131 Disposizione dei piedini del connettore dell'SM 1223 DI 16 x 24 VDC, DQ 16 x 24
VDC (6ES7 223-1BL32-0XB0)

Piedino X10 X11 X12 X13


1 L+ / 24 VDC GND Nessun Nessun collegamento
collegamento
2 M / 24 VDC Nessun Nessun Nessun collegamento
collegamento collegamento
3 1M 2M Nessun Nessun collegamento
collegamento
4 DI a.0 DI b.0 DQ a.0 DQ b.0
5 DI a.1 DI b.1 DQ a.1 DQ b.1
6 DI a.2 DI b.2 DQ a.2 DQ b.2
7 DI a.3 DI b.3 DQ a.3 DQ b.3
8 DI a.4 DI b.4 DQ a.4 DQ b.4
9 DI a.5 DI b.5 DQ a.5 DQ b.5
10 DI a.6 DI b.6 DQ a.6 DQ b.6
11 DI a.7 DI b.7 DQ a.7 DQ b.7

A.7.5 Dati tecnici del modulo di I/O digitali AC SM 1223

Tabella A- 132 Dati tecnici generali

Modello SM 1223 DI 8 x120/230 VAC / DQ 8 x relè


Numero di ordinazione 6ES7 223-1QH32-0XB0
Dimensioni L x A x P (mm) 45 x 100 x 75 mm
Peso 190 g
Dissipazione di potenza 7,5 W
Assorbimento di corrente (bus SM) 120 mA
Assorbimento di corrente (24 VDC) 11 mA per uscita su ON

Tabella A- 133 Ingressi digitali

Modello SM 1223 DI 8 x 120/230 VAC / DQ 8 x relè


Numero di ingressi 8
Tipo Tipo 1 IEC
Tensione nominale 120 VAC a 6 mA, 230 VAC a 9 mA
Tensione continua ammessa 264 VAC
Sovratensione transitoria --
Segnale logico 1 (min.) 79 VAC a 2,5 mA
Segnale logico 0 (max.) 20 VAC a 1 mA
Corrente di dispersione (max.) 1 mA

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 933
Dati tecnici
A.7 Moduli di I/O digitali (SM)

Modello SM 1223 DI 8 x 120/230 VAC / DQ 8 x relè


Isolamento (tra il campo e i circuiti logici) 1500 VAC per 1 minuto
Gruppi di isolamento1 4
Tempi di ritardo sull'ingresso Tipico: 0,2 ... 12,8 ms, selezionabile dall'utente
Massimo: -
Connessione del sensore di prossimità a 2 fili 1 mA
(Bero) (max.)
Lunghezza del cavo Non schermato: 300 metri
Schermato: 500 metri
Numero di ingressi ON contemporaneamente 8
1 I canali all'interno di un gruppo devono avere la stessa fase.

Tabella A- 134 Uscite digitali

Modello SM 1223 DI 8 x 120/230 VAC / DQ 8 x relè


Numero di uscite 8
Tipo Relè, contatto Dry
Campo di tensione 5 ... 30 VDC oppure 5 ... 250 VAC
Segnale logico 1 a corrente max. --
Segnale logico 0 con carico di 10 KΩ --
Corrente (max.) 2,0 A
Carico delle lampade 30 W DC / 200 W AC
Resistenza contatto in stato ON 0,2 Ω max. da nuova
Corrente di dispersione per punto --
Corrente di spunto 7 A con contatti chiusi
Protezione da sovraccarico No
Isolamento (tra il campo e i circuiti logici) 1500 VAC per 1 minuto (tra la bobina e il contatto)
Nessuno (tra la bobina e i circuiti logici)
Resistenza di isolamento 100 MΩ min. da nuova
Isolamento tra contatti aperti 750 VAC per 1 minuto
Gruppi di isolamento 2
Corrente per comune (max.) 10 A
Clamp per tensioni induttive --
Ritardo durante la commutazione (max.) 10 ms
Frequenza di commutazione relè massima 1 Hz
Tempo di vita in cicli meccanici (senza carico) 10.000.000 cicli di apertura/chiusura
Durata contatti con carico nominale 1000.000 cicli di apertura/chiusura
Comportamento in caso di commutazione Ultimo valore o valore sostitutivo (valore di default 0)
RUN - STOP
Numero di uscite ON contemporaneamente • 4 (ingressi non vicini) a 60 ℃ in orizzontale o 50 ℃ in verticale
• 8 a 55 ℃ in orizzontale o 45 ℃ in verticale
Lunghezza del cavo (metri) 500 m schermato, 150 m non schermato

Sistema di automazione S7-1200


934 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.7 Moduli di I/O digitali (SM)

Tabella A- 135 SM 1223 DI 8 x 120/230 VAC, DQ 8 x relè (6ES7 223-1QH32-0XB0)

Tabella A- 136 Disposizione dei piedini del connettore dell'SM 1223 DI 8 x 120/240 VAC, DQ 8 x relè
(6ES7 223-1QH32-0XB0)

Piedino X10 X11 X12 X13


1 L+ / 24 VDC GND Nessun Nessun collegamento
collegamento
2 M / 24 VDC Nessun Nessun Nessun collegamento
collegamento collegamento
3 1N 2N 1L 2L
4 DI a.0 DI a.4 DQ a.0 DQ a.4
5 DI a.1 DI a.5 DQ a.1 DQ a.5
6 DI a.2 DI a.6 DQ a.2 DQ a.6
7 DI a.3 DI a.7 DQ a.3 DQ a.7

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 935
Dati tecnici
A.8 Moduli di I/O analogici (SM)

A.8 Moduli di I/O analogici (SM)

A.8.1 Dati tecnici del modulo di ingressi analogici SM 1231

Tabella A- 137 Dati tecnici generali

Modello SM 1231 AI 4 x 13 bit SM 1231 AI 8 x 13 bit SM 1231 AI 4 x 16 bit


Numero di ordinazione 6ES7 231-4HD32-0XB0 6ES7 231-4HF32-0XB0 6ES7 231-5ND30-0XB0
Dimensioni L x A x P (mm) 45 x 100 x 75 45 x 100 x 75 45 x 100 x 75
Peso 180 g 180 g 180 g
Dissipazione di potenza 2,2 W 2,3 W 2,0 W
Assorbimento di corrente (bus SM) 80 mA 90 mA 80 mA
Assorbimento di corrente (24 VDC) 45 mA 45 mA 65 mA

Tabella A- 138 Ingressi analogici

Modello SM 1231 AI 4 x 13 bit SM 1231 AI 8 x 13 bit SM 1231 AI 4 x 16 bit


Numero di ingressi 4 8 4
Tipo Tensione o corrente (differenziale): selezionabili in Tensione o corrente
gruppi di 2 (differenziale)
Campo ±10 V, ±5 V, ±2.5 V, 0 ... 20 mA o 4 mA ... 20 mA ±10 V, ±5 V, ±2,5 V, ±1,25
V, 0 ... 20 mA o 4 mA ... 20
mA
Campo di fondo scala (parola di -27648 ... 27648 tensione / 0 ... 27648 corrente
dati)
Campo di overshoot/undershoot Tensione: 32511 ... 27649 / -27649 ... -32.512
(parola di dati) Corrente: 32511 ... 27649 / 0 ... -4864
Per tensione e corrente
(Pagina 946) consultare il
paragrafo sui campi degli ingressi
analogici.
Campo di overflow/underflow Tensione: 32767 ... 32512 / -32513 ... -32768
(parola di dati) Corrente 0 ... 20 mA: 32767 ... 32512 / -4865 ... -32768
Per tensione e corrente Corrente 4 ... 20 mA: 32767 ... 32512 (i valori inferiori a -4864 indicano una rottura
(Pagina 946) consultare il conduttore)
paragrafo sui campi degli ingressi
analogici.

Risoluzione1 12 bit + bit di segno 15 bit + bit di segno


Tensione/corrente di resistenza ±35 V / ±40 mA
max.
Livellamento Nessuno, debole, medio o forte
Consultare il paragrafo sui tempi di risposta a gradino (Pagina 945).
Filtraggio del rumore 400, 60, 50 o 10 Hz
Consultare il paragrafo sulle frequenze di campionamento (Pagina 945).

Sistema di automazione S7-1200


936 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.8 Moduli di I/O analogici (SM)

Modello SM 1231 AI 4 x 13 bit SM 1231 AI 8 x 13 bit SM 1231 AI 4 x 16 bit


Impedenza di ingresso ≥ 9 MΩ (tensione) / 280 Ω (corrente) ≥ 1 MΩ (tensione) /
<315 Ω, >280 Ω (corrente)
Isolamento Nessuno
Fra il campo e il circuito logico 500 VAC
Fra il circuito logico e 24 VDC 500 VAC
Fra il campo e 24 VDC 500 VAC
Isolamento tra canali Nessuno
Precisione (25 °C / -20 ... 60 °C) ±0,1% / ±0,2% del valore di fondo scala ±0,1% / ±0,3% del valore
di fondo scala
Principio di misura Conversione del valore istantaneo
Reiezione in modo comune 40 dB, DC a 60 Hz
Campo operativo del segnale1 La tensione di segnale più quella di modo comune deve essere inferiore a +12 V e
maggiore di -12 V
Lunghezza del cavo (metri) 100 m, cavo doppio ritorto schermato
1 Le tensioni non comprese nel campo operativo applicate a un canale possono causare interferenze in altri canali.

Tabella A- 139 Diagnostica

Modello SM 1231 AI 4 x 13 bit SM 1231 AI 8 x 13 bit SM 1231 AI 4 x 16 bit


Overflow/underflow Sì Sì Sì
Tensione bassa 24 VDC Sì Sì Sì
Filo interrotto Solo nel campo 4 ... 20 mA (se l'ingressi è inferiore a -4164; 1,185 mA)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 937
Dati tecnici
A.8 Moduli di I/O analogici (SM)

Tabella A- 140 Schemi elettrici dei moduli di I/O analogici

SM 1231 AI 4 x 13 bit (6ES7 231-4HD32-0XB0) SM 1231 AI 8 x 13 bit (6ES7 231-4HF32-0XB0)

Nota: i connettori devono essere in oro. Per il numero di ordinazione vedere Allegato C, Parti di ricambio

Tabella A- 141 Disposizione dei piedini del connettore dell'SM 1231 AI 4 x 13 bit (6ES7 231-4HD32-
0XB0)

Piedino X10 (oro) X11 (oro)


1 L+ / 24 VDC Nessun collegamento
2 M / 24 VDC Nessun collegamento
3 GND Nessun collegamento
4 AI 0+ AI 2+
5 AI 0- AI 2-
6 AI 1+ AI 3+
7 AI 1- AI 3-

Tabella A- 142 Disposizione dei piedini del connettore dell'SM 1231 AI 8 x 13 bit (6ES7 231-4HF32-
0XB0)

Piedino X10 (oro) X11 (oro) X12 (oro) X13 (oro)


1 L+ / 24 VDC Nessun Nessun Nessun collegamento
collegamento collegamento
2 M / 24 VDC Nessun Nessun Nessun collegamento
collegamento collegamento

Sistema di automazione S7-1200


938 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.8 Moduli di I/O analogici (SM)

Piedino X10 (oro) X11 (oro) X12 (oro) X13 (oro)


3 GND Nessun Nessun Nessun collegamento
collegamento collegamento
4 AI 0+ AI 2+ AI 4+ AI 6+
5 AI 0- AI 2- AI 4- AI 6-
6 AI 1+ AI 3+ AI 5+ AI 7+
7 AI 1- AI 3- AI 5- AI 7-

Tabella A- 143 Schema elettrico di SM di ingressi analogici

SM 1231 AI 4 x 16 bit (6ES7 231-5ND30-0XB0)

Nota: i connettori devono essere in oro. Per il numero di ordinazione vedere Allegato C, Parti di ricambio

Tabella A- 144 Disposizione dei piedini del connettore dell'SM 1231 AI 4 x 16 bit (6ES7 231-5ND30-
0XB0)

Piedino X10 (oro) X11 (oro)


1 L+ / 24 VDC Nessun collegamento
2 M / 24 VDC Nessun collegamento
3 GND Nessun collegamento
4 AI 0+ AI 2+
5 AI 0- AI 2-
6 AI 1+ AI 3+
7 AI 1- AI 3-

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 939
Dati tecnici
A.8 Moduli di I/O analogici (SM)

Nota
Gli ingressi di tensione inutilizzati dovrebbero essere cortocircuitati.
Gli ingressi di corrente inutilizzati devono essere impostati nel campo 0 ... 20 mA e/o
disabilitando il rilevamento dell'errore di rottura conduttore.
Gli ingressi configurati per il modo in corrente non conducono la corrente di loop a meno che
il modulo non sia acceso e configurato.
I canali degli ingressi di corrente non funzionano a meno che non si alimenti il trasmettitore
con una sorgente di alimentazione esterna.

A.8.2 Dati tecnici del modulo di I/O analogici SM 1232

Tabella A- 145 Dati tecnici generali

Dati tecnici SM 1232 AQ 2 x 14 bit SM 1232 AQ 4 x 14 bit


Numero di ordinazione 6ES7 232-4HB32-0XB0 6ES7 232-4HD32-0XB0
Dimensioni L x A x P (mm) 45 x 100 x 75 45 x 100 x 75
Peso 180 g 180 g
Dissipazione di potenza 1,8 W 2,0 W
Assorbimento di corrente (bus SM) 80 mA 80 mA
Assorbimento di corrente (24 VDC) 45 mA (senza carico) 45 mA (senza carico)

Tabella A- 146 Uscite analogiche

Dati tecnici SM 1232 AQ 2 x 14 bit SM 1232 AQ 4 x 14 bit


Numero di uscite 2 4
Tipo Tensione o corrente Tensione o corrente
Campo ±10 V, 0 ... 20 mA o 4 mA ... 20 ±10 V, 0 ... 20 mA o 4 mA ... 20 mA
mA
Risoluzione Tensione: 14 bit Tensione: 14 bit
Corrente: 13 bit Corrente: 13 bit
Campo di fondo scala (parola di dati) Tensione: -27.648 ... 27.648 ; Corrente: 0 ... 27.648
Per tensione e corrente (Pagina 947) consultare il paragrafo sui campi
delle uscite.
Precisione (25 °C / -20 ... 60 °C) ±0,3% / ±0,6% del valore di fondo scala
Tempo di assestamento (95% del nuovo Tensione: 300 μS (R), 750 μS (1 uF)
valore) Corrente: 600 μS (1 mH), 2 ms (10 mH)
Impedenza di carico Tensione: ≥ 1000 Ω
Corrente: ≤ 600 Ω

Sistema di automazione S7-1200


940 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.8 Moduli di I/O analogici (SM)

Dati tecnici SM 1232 AQ 2 x 14 bit SM 1232 AQ 4 x 14 bit


Comportamento in caso di commutazione Ultimo valore o valore sostitutivo (valore di default 0)
RUN - STOP
Isolamento (tra il campo e i circuiti logici) Nessuno
Lunghezza del cavo (metri) 100 m, cavo doppio ritorto schermato

Tabella A- 147 Diagnostica

Dati tecnici SM 1232 AQ 2 x 14 bit SM 1232 AQ 4 x 14 bit


Overflow/underflow Sì Sì
Cortocircuito verso terra (solo nel modo in Sì Sì
tensione)
Rottura conduttore (solo nel modo in corrente) Sì Sì
Tensione bassa 24 VDC Sì Sì

Tabella A- 148 Schemi elettrici dei moduli di I/O analogici

SM 1232 AQ 2 x 14 bit (6ES7 232-4HB32-0XB0) SM 1232 AQ 4 x 14 bit (6ES7 232-4HD32-0XB0)

Nota: i connettori devono essere in oro. Per il numero di ordinazione vedere Allegato C, Parti di ricambio

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 941
Dati tecnici
A.8 Moduli di I/O analogici (SM)

Tabella A- 149 Disposizione dei piedini del connettore dell'SM 1232 AQ 2 x 14 bit (6ES7 232-
4HB32-0XB0)

Piedino X10 (oro) X11 (oro)


1 L+ / 24 VDC Nessun collegamento
2 M / 24 VDC Nessun collegamento
3 GND Nessun collegamento
4 Nessun collegamento AQ 0M
5 Nessun collegamento AQ 0
6 Nessun collegamento AQ 1M
7 Nessun collegamento AQ 1

Tabella A- 150 Disposizione dei piedini del connettore dell'SM 1232 AQ 4 x 14 bit (6ES7 232-
4HD32-0XB0)

Piedino X10 (oro) X11 (oro) X12 (oro) X13 (oro)


1 L+ / 24 VDC Nessun Nessun Nessun collegamento
collegamento collegamento
2 M / 24 VDC Nessun Nessun Nessun collegamento
collegamento collegamento
3 GND Nessun Nessun Nessun collegamento
collegamento collegamento
4 Nessun Nessun AQ 0M AQ 2M
collegamento collegamento
5 Nessun Nessun AQ 0 AQ 2
collegamento collegamento
6 Nessun Nessun AQ 1M AQ 3M
collegamento collegamento
7 Nessun Nessun AQ 1 AIQ 3
collegamento collegamento

A.8.3 Dati tecnici del modulo di I/O analogici SM 1234

Tabella A- 151 Dati tecnici generali

Dati tecnici SM 1234 AI 4 x 13 bit / AQ 2 x 14 bit


Numero di ordinazione 6ES7 234-4HE32-0XB0
Dimensioni L x A x P (mm) 45 x 100 x 75
Peso 220 g
Dissipazione di potenza 2,4 W
Assorbimento di corrente (bus SM) 80 mA
Assorbimento di corrente (24 VDC) 60 mA (senza carico)

Sistema di automazione S7-1200


942 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.8 Moduli di I/O analogici (SM)

Tabella A- 152 Ingressi analogici

Modello SM 1234 AI 4 x 13 bit / AQ 2 x 14 bit


Numero di ingressi 4
Tipo Tensione o corrente (differenziale): selezionabili in gruppi di 2
Campo ±10 V, ±5 V, ±2.5 V, 0 ... 20 mA o 4 mA ... 20 mA
Campo di fondo scala (parola di dati) -27648 ... 27648
Campo di overshoot/undershoot Tensione: 32511 ... 27649 / -27649 ... -32512
(parola di dati) Corrente: 32511 ... 27649 / 0 ... -4864
Per tensione e corrente (Pagina 946) consultare il paragrafo sui campi
degli ingressi.
Overflow/underflow (parola di dati) Tensione: 32767 ... 32512 / -32513 ... -32768
Corrente: 32767 ... 32512 / -4865 ... -32768
Per tensione e corrente (Pagina 946) consultare il paragrafo sui campi
degli ingressi.
Risoluzione 12 bit + bit di segno
Tensione/corrente di resistenza max. ±35 V / ±40 mA
Livellamento Nessuno, debole, medio o forte
Consultare il paragrafo sui tempi di risposta a gradino (Pagina 945).
Filtraggio del rumore 400, 60, 50 o 10 Hz
Consultare il paragrafo sulle frequenze di campionamento (Pagina 945).
Impedenza di ingresso ≥ 9 MΩ (tensione) / 280 Ω (corrente)
Isolamento (tra il campo e i circuiti logici) Nessuno
Precisione (25 °C / -20 ... 60 °C) ±0,1% / ±0,2% del valore di fondo scala
Tempo di conversione da analogico a digitale 625 μs (reiezione di 400 Hz)
Reiezione in modo comune 40 dB, DC a 60 Hz
Campo operativo del segnale1 La tensione di segnale più quella di modo comune deve essere inferiore a
+12 V e maggiore di -12 V
Lunghezza del cavo (metri) 100 m, cavo doppio ritorto schermato
1 Le tensioni non comprese nel campo operativo applicate a un canale possono causare interferenze in altri canali.

Tabella A- 153 Uscite analogiche

Dati tecnici SM 1234 AI 4 x 13 bit / AQ 2 x 14 bit


Numero di uscite 2
Tipo Tensione o corrente
Campo ±10 V o 0 ... 20 mA
Risoluzione Tensione: 14 bit; Corrente: 13 bit
Campo di fondo scala (parola di dati) Tensione: -27648 ... 27648 ; Corrente: 0 ... 27648
Per tensione e corrente (Pagina 947) consultare il paragrafo sui campi
delle uscite.
Precisione (25 °C / -20 ... 60 °C) ±0,3% / ±0,6% del valore di fondo scala
Tempo di assestamento (95% del nuovo Tensione: 300 μS (R), 750 μS (1 uF)
valore) Corrente: 600 μS (1 mH), 2 ms (10 mH)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 943
Dati tecnici
A.8 Moduli di I/O analogici (SM)

Dati tecnici SM 1234 AI 4 x 13 bit / AQ 2 x 14 bit


Impedenza di carico Tensione: ≥ 1000 Ω
Corrente: ≤ 600 Ω
Comportamento in caso di commutazione Ultimo valore o valore sostitutivo (valore di default 0)
RUN - STOP
Isolamento (tra il campo e i circuiti logici) Nessuno
Lunghezza del cavo (metri) 100 m, cavo doppio ritorto schermato

Tabella A- 154 Diagnostica

Modello SM 1234 AI 4 x 13 bit / AQ 2 x 14 bit


Overflow/underflow Sì
Cortocircuito verso terra (solo nel modo in Sì nelle uscite
tensione)
Rottura conduttore (solo nel modo in corrente) Sì nelle uscite
Tensione bassa 24 VDC Sì

Tabella A- 155 Schemi elettrici dei moduli di I/O analogici

SM 1234 AI 4 x 13 Bit / AQ 2 x 14 bit (6ES7 234-4HE32-0XB0)

Nota: i connettori devono essere in oro. Per il numero di


ordinazione vedere Allegato C, Parti di ricambio

Sistema di automazione S7-1200


944 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.8 Moduli di I/O analogici (SM)

Tabella A- 156 Disposizione dei piedini del connettore dell'SM 1234 AI 4 x 13 bit / AQ 2 x 14 bit
(6ES7 234-4HE32-0XB0)

Piedino X10 (oro) X11 (oro) X12 (oro) X13 (oro)


1 L+ / 24 VDC Nessun Nessun Nessun collegamento
collegamento collegamento
2 M / 24 VDC Nessun Nessun Nessun collegamento
collegamento collegamento
3 GND Nessun Nessun Nessun collegamento
collegamento collegamento
4 AI 0+ AI 2+ Nessun AQ 0M
collegamento
5 AI 0- AI 2- Nessun AQ 0
collegamento
6 AI 1+ AI 3+ Nessun AQ 1M
collegamento
7 AI 1- AI 3- Nessun AQ 1
collegamento

Nota
Gli ingressi di tensione inutilizzati dovrebbero essere cortocircuitati.
Gli ingressi di corrente inutilizzati devono essere impostati nel campo 0 ... 20 mA e/o
disabilitando il rilevamento dell'errore di rottura conduttore.
Gli ingressi configurati per il modo in corrente non conducono la corrente di loop a meno che
il modulo non sia acceso e configurato.
I canali degli ingressi di corrente non funzionano a meno che non si alimenti il trasmettitore
con una sorgente di alimentazione esterna.

A.8.4 Risposta a gradino degli ingressi analogici

Tabella A- 157 Risposta a gradino (ms), 0 ... valore di fondo scala misurata al 95%

Livellamento (media dei campioni) Frequenza di riduzione/reiezione del rumore (selezione del tempo di
integrazione)
400 Hz (2,5 ms) 60 Hz (16,6 ms) 50 Hz (20 ms) 10 Hz (100 ms)
Nessuno (1 ciclo): nessuna media 4 ms 18 ms 22 ms 100 ms
Debole (4 cicli): 4 campioni 9 ms 52 ms 63 ms 320 ms
Medio (16 cicli): 16 campioni 32 ms 203 ms 241 ms 1200 ms

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 945
Dati tecnici
A.8 Moduli di I/O analogici (SM)

Livellamento (media dei campioni) Frequenza di riduzione/reiezione del rumore (selezione del tempo di
integrazione)
400 Hz (2,5 ms) 60 Hz (16,6 ms) 50 Hz (20 ms) 10 Hz (100 ms)
Forte (32 cicli): 32 campioni 61 ms 400 ms 483 ms 2410 ms
Tempo di campionamento
• 4 AI x 13 bit • 0,625 ms • 4,17 ms • 5 ms • 25 ms
• 8 AI x 13 bit • 1,25 ms • 4,17 ms • 5 ms • 25 ms
• 4 AI4 x 16 bit • 0,417 ms • 0,397 ms • 0,400 ms • 0,400 ms

A.8.5 Tempo di campionamento e tempi di aggiornamento degli ingressi analogici

Tabella A- 158 Tempo di campionamento e tempo di aggiornamento

Frequenza di reiezione (tempo Tempo di campionamento Tempo di aggiornamento modulo per tutti i canali
di integrazione) SM a 4 canali SM a 8 canali
400 Hz (2,5 ms) • SM a 4 canali: 0,625 ms 0,625 ms 1,250 ms
• SM a 8 canali: 1,250 ms
60 Hz (16,6 ms) 4,170 ms 4,17 ms 4,17 ms
50 Hz (20 ms) 5,000 ms 5 ms 5 ms
10 Hz (100 ms) 25,000 ms 25 ms 25 ms

A.8.6 Campi di misura degli ingressi analogici per la tensione e la corrente (SB e SM)

Tabella A- 159 Rappresentazione degli ingressi analogici per la tensione (SB e SM)

Sistema Campo di misura della tensione


Decimale Esadecimale ±10 V ±5 V ±2,5 V ±1,25 V
32767 7FFF 11,851 V 5,926 V 2,963 V 1,481 V Overflow
32512 7F00
32511 7EFF 11,759 V 5,879 V 2,940 V 1,470 V Campo di overshoot
27649 6C01
27648 6C00 10 V 5V 2,5 V 1,250 V Campo nominale
20736 5100 7,5 V 3,75 V 1,875 V 0,938 V
1 1 361,7 μV 180,8 μV 90,4 μV 45,2 μV
0 0 0V 0V 0V 0V
-1 FFFF
-20736 AF00 -7,5 V -3,75 V -1,875 V -0,938 V
-27648 9400 -10 V -5 V -2,5 V -1,250 V

Sistema di automazione S7-1200


946 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.8 Moduli di I/O analogici (SM)

Sistema Campo di misura della tensione


Decimale Esadecimale ±10 V ±5 V ±2,5 V ±1,25 V
-27649 93FF Campo di undershoot
-32512 8100 -11,759 V -5,879 V -2,940 V -1,470 V
-32513 80FF Underflow
-32768 8000 -11,851 V -5,926 V -2,963 V -1,481 V

Tabella A- 160 Rappresentazione degli ingressi analogici per la corrente (SB e SM)

Sistema Campo di misura della corrente


Decimale Esadecimale 0 mA ... 20 mA 4 mA ... 20 mA
32767 7FFF 23,70 mA 22,96 mA Overflow
32512 7F00
32511 7EFF 23,52 mA 22,81 mA Campo di overshoot
27649 6C01
27648 6C00 20 mA 20 mA Campo nominale
20736 5100 15 mA 16 mA
1 1 723,4 nA 4 mA + 578,7 nA
0 0 0 mA 4 mA
-1 FFFF Campo di undershoot
-4864 ED00 -3,52 mA 1,185 mA
-4865 ECFF Underflow
-32768 8000

A.8.7 Campi di misura delle uscite analogiche per tensione e corrente (SB e SM)

Tabella A- 161 Rappresentazione delle uscite analogiche per la tensione (SB e SM)

Sistema Campo della tensione in uscita


Decimale Esadecimale ±10 V
32767 7FFF Vedere la nota 1 Overflow
32512 7F00 Vedere la nota 1
32511 7EFF 11,76 V Campo di overshoot
27649 6C01
27648 6C00 10 V Campo nominale
20736 5100 7,5 V
1 1 361,7 μ V
0 0 0V
-1 FFFF -361,7 μ V
-20736 AF00 -7,5 V
-27648 9400 -10 V

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 947
Dati tecnici
A.9 Moduli di I/O (SM) per termocoppie e RTD

Sistema Campo della tensione in uscita


Decimale Esadecimale ±10 V
-27649 93FF Campo di undershoot
-32512 8100 -11,76 V
-32513 80FF Vedere la nota 1 Underflow
-32768 8000 Vedere la nota 1
1 In una condizione di overflow o underflow le uscite analogiche assumono il valore sostitutivo di STOP.

Tabella A- 162 Rappresentazione delle uscite analogiche per la corrente (SB e SM)

Sistema Campo della corrente in uscita


Decimale Esadecimale 0 mA ... 20 mA 4 mA ... 20 mA
32767 7FFF Vedere la nota 1 Vedere la nota 1 Overflow
32512 7F00 Vedere la nota 1 Vedere la nota 1
32511 7EFF 23,52 mA 22,81 mA Campo di overshoot
27649 6C01
27648 6C00 20 mA 20 mA Campo nominale
20736 5100 15 mA 16 mA
1 1 723,4 nA 4 mA + 578,7 nA
0 0 0 mA 4mA
-1 FFFF 4 mA ... 578,7 nA Campo di undershoot
-6912 E500 0 mA
-6913 E4FF Impossibile. Valore di uscita limitato a 0 mA.
-32512 8100
-32513 80FF Vedere la nota 1 Vedere la nota 1 Underflow
-32768 8000 Vedere la nota 1 Vedere la nota 1
1 In una condizione di overflow o underflow le uscite analogiche assumono il valore sostitutivo di STOP.

A.9 Moduli di I/O (SM) per termocoppie e RTD

A.9.1 SM 1231 per termocoppie

Tabella A- 163 Dati tecnici generali

Modello SM 1231 AI 4 x 16 bit TC SM 1231 AI 8 x 16 bit TC


Numero di ordinazione 6ES7 231-5QD32-0XB0 6ES7 231-5QF32-0XB0
Dimensioni L x A x P (mm) 45 x 100 x 75 45 x 100 x 75
Peso 180 g 190 g
Dissipazione di potenza 1,5 W 1,5 W

Sistema di automazione S7-1200


948 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.9 Moduli di I/O (SM) per termocoppie e RTD

Modello SM 1231 AI 4 x 16 bit TC SM 1231 AI 8 x 16 bit TC


Assorbimento di corrente (bus SM) 80 mA 80 mA
Assorbimento di corrente (24 VDC) 1 40 mA 40 mA
1 Da 20,4 a 28,8 VDC (Classe 2, alimentazione limitata o alimentazione per sensori dal PLC)

Tabella A- 164 Ingressi analogici

Modello SM 1231 AI 4 x 16 bit TC SM 1231 AI 8 x 16 bit TC


Numero di ingressi 4 8
Campo Vedere la tabella di selezione delle Vedere la tabella di selezione delle
Campo nominale (parola di dati) termocoppie (Pagina 952). termocoppie (Pagina 952).
Overrange/underrange (parola di dati)
Overflow/underflow (parola di dati)
Risoluzione Temperatura 0,1 °C/0,1 °F 0,1 °C/0,1 °F
Tensione 15 bit più segno 15 bit più segno
Tensione di resistenza max. ± 35 V ± 35 V
Filtraggio del rumore 85 dB per il filtro impostato 85 dB per il filtro impostato
(10 Hz, 50 Hz, 60 Hz o 400 Hz) (10 Hz, 50 Hz, 60 Hz o 400 Hz)
Reiezione in modo comune > 120 dB a 120 VAC > 120 dB a 120 VAC
Impedenza ≥ 10 MΩ ≥ 10 MΩ
Isolamento Dal campo al circuito 500 VAC 500 VAC
logico
Dal campo a 24 VDC 500 VAC 500 VAC
Da 24 VDC al circuito 500 VAC 500 VAC
logico
Tra canali 120 VAC 120 VAC
Precisione Vedere la tabella di selezione delle Vedere la tabella di selezione delle
termocoppie (Pagina 952). termocoppie (Pagina 952).
Ripetibilità ±0,05% FS ±0,05% FS
Principio di misura Integrante Integrante
Tempo di aggiornamento del modulo Vedere la tabella di selezione della Vedere la tabella di selezione della
riduzione del rumore (Pagina 952). riduzione del rumore (Pagina 952).
Errore di giunto freddo ±1,5 ℃ ±1,5 ℃
Lunghezza del cavo (metri) Max. 100 metri fino al sensore Max. 100 metri fino al sensore
Resistenza dei conduttori 100 Ω max. 100 Ω max.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 949
Dati tecnici
A.9 Moduli di I/O (SM) per termocoppie e RTD

Tabella A- 165 Diagnostica

Modello SM 1231 AI 4 x 16 bit TC SM 1231 AI 8 x 16 bit TC


Overflow/underflow 1 Sì Sì
Rottura conduttore (solo nel modo in Sì Sì
corrente) 2
24 Sì Sì
Tensione bassa VDC 1

1 Gli allarmi di diagnostica per overflow, underflow e bassa tensione vengono segnalati nei valori di dati analogici anche
se sono stati disattivati nella configurazione del modulo.
2 Se l'allarme di rottura conduttore è disattivato e si verifica un'interruzione nel cablaggio del sensore, il modulo può
restituire valori random.

Il modulo di I/O analogici per termocoppie (TC) SM 1231 misura il valore della tensione
collegata ai propri ingressi. Il tipo di misura della temperatura può essere "Termocoppia" o
"Tensione".
● "Termocoppia": il valore viene indicato in gradi moltiplicati per dieci (ad es. 25,3 gradi
corrispondono al valore decimale 253).
● "Tensione": il valore di fondo scala del campo nominale è il valore decimale 27648.

Tabella A- 166 Schemi elettrici dei moduli I/O (SM) per termocoppie

SM 1231 AI 4 x TC 16 bit (6ES7 231-5QD32-0XB0) SM 1231 AI 8 x TC bit (6ES7 231-5QF32-0XB0)

Nota: i connettori devono essere in oro. Per il numero di ordinazione vedere Allegato C, Parti di ricambio

① Per maggiore chiarezza le TC 2, 3, 4 e 5 non sono rappresentate collegate.

Sistema di automazione S7-1200


950 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.9 Moduli di I/O (SM) per termocoppie e RTD

Tabella A- 167 Disposizione dei piedini del connettore dell'SM 1231 AI 4 x TC 16 bit (6ES7 231-
5QD32-0XB0)

Piedino X10 (oro) X11 (oro)


1 L+ / 24 VDC Nessun collegamento
2 M / 24 VDC Nessun collegamento
3 GND Nessun collegamento
4 AI 0+ /TC AI 2+ /TC
5 AI 0- /TC AI 2- /TC
6 AI 1+ /TC AI 3+ /TC
7 AI 1- /TC AI 3- /TC

Tabella A- 168 Disposizione dei piedini del connettore dell'SM 1231 AI 8 x TC bit (6ES7 231-5QF32-
0XB0)

Piedino X10 (oro) X11 (oro) X12 (oro) X13 (oro)


1 L+ / 24 VDC Nessun Nessun Nessun collegamento
collegamento collegamento
2 M / 24 VDC Nessun Nessun Nessun collegamento
collegamento collegamento
3 GND Nessun Nessun Nessun collegamento
collegamento collegamento
4 AI 0+ /TC AI 2+ /TC AI 4 I- /TC AI 6 I- /TC
5 AI 0- /TC AI 2- /TC AI 4 I+ /TC AI 6 I+ /TC
6 AI 1+ /TC AI 3+ /TC AI 5 M- /TC AI 7 M- /TC
7 AI 1- /TC AI 3- /TC AI 5 M+ /TC AI 7 M+ /TC

Nota
Gli ingressi analogici inutilizzati dovrebbero essere cortocircuitati.
I canali inutilizzati della termocoppia possono essere disattivati. Se un canale inutilizzato è
disattivato non si verifica nessun errore.

A.9.1.1 Funzionamento base di una termocoppia


Le termocoppie si formano ogni volta che due metalli diversi vengono collegati
elettricamente generando una tensione proporzionale alla temperatura del punto di
giunzione. Si tratta di una tensione molto piccola per cui un microvolt può corrispondere a
molti gradi. Il rilevamento della temperatura mediante termocoppia prevede la misura della
tensione della termocoppia, la compensazione dei giunti supplementari e la linearizzazione
del risultato.
Quando si collega una termocoppia al modulo di I/O SM 1231, i due fili di metallo diverso
vengono collegati al connettore di segnale del modulo. Il punto in cui i due fili si toccano
costituisce il sensore della termocoppia.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 951
Dati tecnici
A.9 Moduli di I/O (SM) per termocoppie e RTD

Altre due termocoppie si formano nel punto in cui i due fili di metallo diverso si collegano al
connettore di segnale. La temperatura del connettore genera una tensione che viene
sommata a quella del sensore. Se la tensione non viene compensata la temperatura rilevata
si discosta da quella del sensore.
Per compensare il connettore della termocoppia si effettua quindi una compensazione dei
giunti freddi. Le tabelle relative alle termocoppie sono basate su una temperatura di
riferimento dei giunti che generalmente è pari a 0 gradi Celsius. La compensazione dei giunti
freddi dell'unità compensa il connettore a zero gradi Celsius e corregge la tensione sommata
dalle termocoppie del connettore. La temperatura dell'unità viene misurata internamente e
convertita in un valore che viene sommato alla conversione del sensore. La conversione
corretta del sensore viene infine linearizzata mediante le tabelle delle termocoppie.
Per garantire un funzionamento ottimale della compensazione dei giunti freddi è necessario
collocare il modulo in un ambiente termicamente stabile. Le variazioni lente (inferiori a 0,1
℃/minuto) con il modulo a temperatura ambiente vengono compensate correttamente entro
le specifiche del modulo. Anche il passaggio di aria attraverso il modulo causa errori di
compensazione dei giunti freddi.
Per ottenere una migliore compensazione degli errori si può utilizzare un blocco isotermico
esterno. Il modulo per termocoppie consente di utilizzare un blocco con riferimento a 0 ℃ o
50 ℃.

A.9.1.2 Tabelle di selezione delle termocoppie per SM 1231


La seguente tabella riporta i campi e la precisione dei tipi di termocoppie utilizzabili con il
modulo di I/O SM 1231 per termocoppie.

Tabella A- 169 Tabella di selezione delle termocoppie per SM 1231

Tipo Sotto il limite Limite inferiore Limite superiore Sopra il Precisione del Precisione del
minimo del del campo del campo limite campo normale 3, 4 campo normale 1,
campo1 nominale nominale massimo a 25 °C 2 da -20 °C a 60

del campo2 °C
J -210,0 °C -150,0 °C 1200,0 °C 1450,0 °C ±0,3 ℃ ±0,6 °C
K -270,0 °C -200,0 °C 1372,0 °C 1622,0 °C ±0,4 °C ±1,0 °C
T -270,0 °C -200,0 °C 400,0 °C 540,0 °C ±0,5 °C ±1,0 °C
E -270,0 °C -200,0 °C 1000,0 °C 1200,0 °C ±0,3 ℃ ±0,6 °C
R&S -50,0 °C 100,0 °C 1768,0 °C 2019,0 °C ±1,0 °C ±2,5 °C
B 0,0 °C 200,0 °C 800,0 °C -- ±2,0 °C ±2,5 ℃
-- 800,0 °C 1820,0 °C 1820,0 °C ±1,0 °C ±2,3 °C
N -270,0 °C -200,0 °C 1300,0 °C 1550,0 °C ±1,0 °C ±1,6 °C
C 0,0 °C 100,0 °C 2315,0 °C 2500,0 °C ±0,7 °C ±2,7 °C

Sistema di automazione S7-1200


952 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.9 Moduli di I/O (SM) per termocoppie e RTD

Tipo Sotto il limite Limite inferiore Limite superiore Sopra il Precisione del Precisione del
minimo del del campo del campo limite campo normale 3, 4 campo normale 1,
campo1 nominale nominale massimo a 25 °C 2 da -20 °C a 60

del campo2 °C
TXK/XK(L) -200,0 °C -150,0 °C 800,0 °C 1050,0 °C ±0,6 °C ±1,2 °C
Tensione -32512 -27648 27648 32511 ±0,05% ±0,1%
-80mV 80mV
1 I valori delle termocoppie inferiori al limite minimo del campo vengono specificati come -32768.
2 I valori delle termocoppie superiori al limite minimo del campo vengono specificati come 32767.
3 L'errore interno di giunto freddo è di ±1,5 °C per tutti i campi. e va sommato all'errore indicato nella tabella. Il modulo
deve riscaldarsi per almeno 30 minuti per poter rispondere a queste specifiche.
4 Se è presente una radiofrequenza irradiata da 970 MHz a 990 MHz, la precisione dell'SM 1231 AI 4 x 16 bit TC
potrebbe essere inferiore.

Nota
Canale della termocoppia
Ciascun canale del modulo di I/O per termocoppie può essere configurato con un tipo di
termocoppia diverso (selezionabile nel software quando si configura il modulo).

Tabella A- 170 Riduzione del rumore e tempi di aggiornamento per la termocoppie SM 1231

Frequenza di reiezione Tempo di integrazione Tempo di aggiornamento del Tempo di aggiornamento del
modulo a 4 canali (secondi) modulo a 8 canali (secondi)
400 Hz (2,5 ms) 10 ms 1 0.143 0.285
60 Hz (16,6 ms) 16,67 ms 0.223 0.445
50 Hz (20 ms) 20 ms 0.263 0.525
10 Hz (100 ms) 100 ms 1.225 2.450
1 Per mantenere la risoluzione e la precisione del modulo con la reiezione di 400 Hz, il tempo di integrazione deve essere
di 10 ms. Selezionando questo valore vengono filtrati anche i disturbi a 100 Hz e 200 Hz.

Per la misura delle termocoppie si raccomanda di utilizzare un tempo di integrazione di 100


ms. Tempi di integrazione inferiori aumenterebbero l'errore di ripetibilità delle letture della
temperatura.

Nota
Una volta collegata l'alimentazione il modulo esegue la calibrazione interna del convertitore
analogico-digitale. Durante questo periodo di tempo restituisce il valore 32767 in tutti i canali
finché i canali non hanno dati validi. Nel programma utente può essere necessario tener
conto di questo tempo di inizializzazione. Poiché la configurazione del modulo può variare la
durata del tempo di inizializzazione è opportuno verificare il comportamento del modulo nella
configurazione. Se necessario, è possibile includere un circuito logico nel programma utente
per adattare il tempo di inizializzazione del modulo.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 953
Dati tecnici
A.9 Moduli di I/O (SM) per termocoppie e RTD

Rappresentazione dei valori analogici delle termocoppie di tipo J


La seguente tabella rappresenta i valori analogici delle termocoppie di tipo J.

Tabella A- 171 Rappresentazione dei valori analogici delle termocoppie di tipo J

Tipo J in °C Unità Tipo J in °F Unità


Decimale Esadecimale Decimale Esadecimale Campo
> 1450.0 32767 7FFF > 2642.0 32767 7FFF Overflow
1450.0 14500 38A4 2642.0 26420 6734 OR
: : : : : :
1200.1 12001 2EE1 2192.2 21922 55A2
1200.0 12000 2EE0 2192.0 21920 55A0 Campo
: : : : : : nominale
-150.0 -1500 FA24 -238.0 -2380 F6B4
< -150.0 -32768 8000 < -238.0 -32768 8000 Underflow1
1Un cablaggio errato (ad esempio, inversione di polarità o ingressi aperti) o un errore di
sensore nel campo negativo (ad esempio, tipo di termocoppia errato) fanno sì che il modulo
di termocoppia segnali un underflow.

A.9.2 SM 1231 per RTD

Dati tecnici del modulo SM 1231 per RTD

Tabella A- 172 Dati tecnici generali

Dati tecnici SM 1231 AI 4 x RTD x 16 bit SM 1231 AI 8 x RTD x 16 bit


Numero di ordinazione 6ES7 231-5PD32-0XB0 6ES7 231-5PF32-0XB0
Dimensioni L x A x P (mm) 45 x 100 x 75 70 x 100 x 75
Peso 220 grammi 270 grammi
Dissipazione di potenza 1,5 W 1,5 W
Assorbimento di corrente (bus SM) 80 mA 90 mA
Assorbimento di corrente (24 VDC) 1 40 mA 40 mA
1 Da 20,4 a 28,8 VDC (Classe 2, alimentazione limitata o alimentazione per sensori dalla CPU)

Sistema di automazione S7-1200


954 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.9 Moduli di I/O (SM) per termocoppie e RTD

Tabella A- 173 Ingressi analogici

Dati tecnici SM 1231 AI 4 x RTD x 16 bit SM 1231 AI 8 x RTD x16 bit


Numero di ingressi 4 8
Tipo RTD e Ω riferiti al modulo RTD e Ω riferiti al modulo
Campo Vedere la tabella di selezione del Vedere la tabella di selezione del
Campo nominale (parola di dati) sensore RTD (Pagina 958). sensore RTD (Pagina 958).
Campo di overshoot/undershoot
(parola di dati)
Overflow/underflow (parola di dati)
Risoluzione Temperatura 0,1 °C/0,1 °F 0,1 °C/0,1 °F
Resistenza 15 bit più segno 15 bit più segno
Tensione di resistenza max. ± 35 V ± 35 V
Filtraggio del rumore 85 dB per la riduzione del rumore 85 dB per la riduzione del rumore
selezionata (10 Hz, 50 Hz, 60 Hz o 400 selezionata (10 Hz, 50 Hz, 60 Hz o 400
Hz) Hz)
Reiezione in modo comune > 120 dB > 120 dB
Impedenza ≥ 10 MΩ ≥ 10 MΩ
Isolamento Dal campo al circuito 500 VAC 500 VAC
logico
Dal campo a 2 VDC 500 VAC 500 VAC
Da 24 VDC al circuito 500 VAC 500 VAC
logico
Isolamento tra canali Nessuno Nessuno
Precisione Vedere la tabella di selezione del Vedere la tabella di selezione del
sensore RTD (Pagina 958). sensore RTD (Pagina 958).
Ripetibilità ±0,05% FS ±0,05% FS
Dissipazione max. sensore 0.5 m W 0.5 m W
Principio di misura Integrante Integrante
Tempo di aggiornamento del modulo Vedere la tabella di selezione della Vedere la tabella di selezione della
riduzione del rumore (Pagina 958). riduzione del rumore (Pagina 958).
Lunghezza del cavo (metri) Max. 100 metri fino al sensore Max. 100 metri fino al sensore
Resistenza dei conduttori 20 Ω, 2,7 Ω per 10 Ω RTD max. 20 Ω, 2,7 Ω per 10 Ω RTD max.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 955
Dati tecnici
A.9 Moduli di I/O (SM) per termocoppie e RTD

Tabella A- 174 Diagnostica

Dati tecnici SM 1231 AI 4 x RTD x 16 bit SM 1231 AI 8 x RTD x16 bit


Overflow/underflow 1,2 Sì Sì
Rottura conduttore 3 Sì Sì
Tensione bassa 24 VDC 1 Sì Sì
1 Gli allarmi di diagnostica per overflow, underflow e bassa tensione vengono segnalati nei valori di dati analogici anche
se sono stati disattivati nella configurazione del modulo.
2 Il rilevamento dell'underflow non è mai abilitato per i campi di resistenza.
3 Se l'allarme di rottura conduttore è disattivato e si verifica un'interruzione nel cablaggio del sensore, il modulo può
restituire valori random.

Il modulo di I/O analogici SM 1231 RTD misura il valore della resistenza collegata ai suoi
ingressi. Il tipo di misura può essere "Resistenza" o "Resistenza termica".
● "Resistenza": il valore di fondo scala del campo nominale è il valore decimale 27648.
● "Resistenza termica": il valore viene indicato in gradi moltiplicati per dieci (ad es. 25,3
gradi corrispondono al valore decimale 253). I valori del campo "clima" vengono indicati
in gradi moltiplicati per cento (ad es. 25,34 gradi corrispondono al valore decimale 2534).
Il modulo SM 1231 RTD consente di effettuare misure mediante collegamenti a 2, 3 e 4 fili
alla resistenza del sensore.

Tabella A- 175 Schemi elettrici di moduli I/O (SM) per RTD

SM 1231 RTD 4 x 16 bit (6ES7 231-5PD32-0XB0) SM 1231 RTD 8 x 16 bit (6ES7 231-5PF32-0XB0)

① Ingressi loopback inutilizzati dell'RTD


② RTD a 2 fili ③ RTD a 3 fili ④ RTD a 4 fili
NOTA: i connettori devono essere in oro. Per il numero di ordinazione vedere Allegato C, Parti di ricambio

Sistema di automazione S7-1200


956 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.9 Moduli di I/O (SM) per termocoppie e RTD

Tabella A- 176 Disposizione dei piedini del connettore dell'SM 1231 RTD 4 x 16 bit (6ES7 231-
5PD32-0XB0)

Piedino X10 (oro) X11 (oro) X12 (oro) X13 (oro)


1 L+ / 24 VDC Nessun Nessun Nessun collegamento
collegamento collegamento
2 M / 24 VDC Nessun Nessun Nessun collegamento
collegamento collegamento
3 GND Nessun Nessun Nessun collegamento
collegamento collegamento
4 AI 0 M+ /RTD AI 1 M+ /RTD AI 2 M+ /RTD AI 3 M+ /RTD
5 AI 0 M- /RTD AI 1 M- /RTD AI 2 M- /RTD AI 3 M- /RTD
6 AI 0 I+ /RTD AI 1 I+ /RTD AI 2 I+ /RTD AI 3 I+ /RTD
7 AI 0 I- /RTD AI 1 I- /RTD AI 2 I- /RTD AI 3 I- /RTD

Tabella A- 177 Disposizione dei piedini del connettore dell'SM 1231 RTD 8 x 16 bit (6ES7 231-
5PF32-0XB0)

Piedino X10 (oro) X11 (oro) X12 (oro) X13 (oro)


1 L+ / 24 VDC Nessun Nessun Nessun collegamento
collegamento collegamento
2 M / 24 VDC Nessun Nessun Nessun collegamento
collegamento collegamento
3 GND Nessun Nessun Nessun collegamento
collegamento collegamento
4 AI 0 M+ /RTD AI 2 M+ /RTD AI 4 M+ /RTD AI 6 M+ /RTD
5 AI 0 M- /RTD AI 2 M- /RTD AI 4 M- /RTD AI 6 M- /RTD
6 AI 0 I+ /RTD AI 2 I+ /RTD AI 4 I+ /RTD AI 6 I+ /RTD
7 AI 0 I- /RTD AI 2 I- /RTD AI 4 I- /RTD AI 6 I- /RTD
8 AI 1 M+ /RTD AI 3 M+ /RTD AI 5 M+ /RTD A7 M+ /RTD
9 AI 1 M- /RTD AI 3 M- /RTD AI 5 M- /RTD AI 7 M- /RTD
10 AI 1 I+ /RTD AI 3 I+ /RTD AI 5 I+ /RTD AI 7 I+ /RTD
11 AI 1 I- /RTD AI 3 I- /RTD AI 5 I- /RTD AI 7 I- /RTD

Nota
I canali inutilizzati dell'RTD possono essere disattivati. Se un canale inutilizzato è disattivato
non si verifica nessun errore.
Il modulo RTD deve avere il loop continuo attuale per eliminare il tempo di stabilizzazione
supplementare che è aggiunto automaticamente a un canale inutilizzato che non è
disattivato. Per la coerenza il modulo RTD dovrebbe avere una resistenza collegata (come il
collegamento RTD a 2 fili).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 957
Dati tecnici
A.9 Moduli di I/O (SM) per termocoppie e RTD

A.9.2.1 Tabelle di selezione dell'RTD per SM 1231

Tabella A- 178 Campi e precisione dei diversi sensori supportati dalle unità RTD

Coefficiente di Tipo di RTD Sotto il limite Limite Limite Sopra il Precisione Precisione del
temperatura minimo del inferiore del superiore limite del campo campo
campo1 campo del campo massimo normale a normale da -
nominale nominale del 25 ℃ 20°C a 60 ℃
campo2
Pt 0,003850 Pt 100 clima -145,00 ℃ -120,00 °C 145,00 °C 155,00 ° ±0,20 °C ±0,40 °C
ITS90 C
DIN EN 60751 Pt 10 -243,0 °C -200,0 °C 850,0 °C 1000,0 ° ±1,0 °C ±2,0 °C
C
Pt 50 -243,0 °C -200,0 °C 850,0 °C 1000,0 ° ±0,5 °C ±1,0 °C
Pt 100 C

Pt 200
Pt 500
Pt 1000
Pt 0,003902 Pt 100 -243,0 °C -200,0 °C 850,0 °C 1000,0 ° ± 0,5 °C ±1,0 °C
Pt 0,003916 C
Pt 0,003920 Pt 200 -243,0 °C -200,0 °C 850,0 °C 1000,0 ° ± 0,5 °C ±1,0 °C
Pt 500 C

Pt 1000
Pt 0,003910 Pt 10 -273,2 °C -240,0 °C 1100,0 °C 1295 °C ±1,0 °C ±2,0 °C
Pt 50 -273,2 °C -240,0 °C 1100,0 °C 1295 °C ±0,8 °C ±1,6 °C
Pt 100
Pt 500
Ni 0,006720 Ni 100 -105,0 °C -60,0 °C 250,0 °C 295,0 °C ±0,5 °C ±1,0 °C
Ni 0,006180 Ni 120
Ni 200
Ni 500
Ni 1000
LG-Ni 0,005000 LG-Ni 1000 -105,0 °C -60,0 °C 250,0 °C 295,0 °C ±0,5 °C ±1,0 °C
Ni 0,006170 Ni 100 -105,0 °C -60,0 °C 180,0 °C 212,4 °C ±0,5 °C ±1,0 °C
Cu 0,004270 Cu 10 -240,0 °C -200,0 °C 260,0 °C 312,0 °C ±1,0 °C ±2,0 °C
Cu 0,004260 Cu 10 -60,0 °C -50,0 °C 200,0 °C 240,0 °C ±1,0 °C ±2,0 °C
Cu 50 -60,0 °C -50,0 °C 200,0 °C 240,0 °C ±0,6 °C ±1,2 °C
Cu 100
Cu 0,004280 Cu 10 -240,0 °C -200,0 °C 200,0 °C 240,0 °C ±1,0 °C ±2,0 °C
Cu 50 -240,0 °C -200,0 °C 200,0 °C 240,0 °C ±0,7 °C ±1,4 °C
Cu 100
1 I valori RTD inferiori al valore minimo di underrange vengono specificati come -32768.
2 I valori RTD superiori al valore massimo di overrange vengono specificati come +32767.

Sistema di automazione S7-1200


958 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.9 Moduli di I/O (SM) per termocoppie e RTD

Tabella A- 179 Resistenza

Campo Sotto il limite Limite inferiore Limite superiore Sopra il Precisione del Precisione del campo
minimo del del campo del campo limite campo normale normale da -20°C a
campo nominale nominale massimo a 25 ℃ 60 ℃
del
campo1
150 Ω n/d 0 (0 Ω) 27648 (150 Ω) 176,383 Ω ±0,05% ±0,1%
300 Ω n/d 0 (0 Ω) 27648 (300 Ω) 352,767 Ω ±0,05% ±0,1%
600 Ω n/d 0 (0 Ω) 27648 (600 Ω) 705,534 Ω ±0,05% ±0,1%
1 I valori di resistenza superiori al valore massimo di overrange vengono specificati come +32767.

Nota
Se il sensore non è collegato il modulo segnala 32767 nei canali attivi. Se è attivo anche il
rilevamento di rottura del conduttore gli appositi LED rossi del modulo lampeggiano.
Se i campi 500 Ω e 1000 Ω RTD vengono utilizzati con altri resistori di valore inferiore,
l'errore potrebbe aumentare del doppio dell'errore specificato.
Nei sensori RTD da 10 Ω la precisione migliore viene ottenuta utilizzando collegamenti a 4
fili.
Nella modalità a 2 fili la resistenza dei conduttori causa un errore nella lettura del sensore e
non garantisce la precisione massima.

Tabella A- 180 Riduzione del rumore e tempi di aggiornamento per le unità RTD

Frequenza di reiezione Tempo di integrazione Tempo di aggiornamento (secondi)


Modulo a 4 canali Modulo a 8 canali
400 Hz (2,5 ms) 10 ms 1 4/2 fili: 0,142 4/2 fili: 0,.285
3 fili: 0,285 3 fili: 0,525
60 Hz (16,6 ms) 16,67 ms 4/2 fili: 0,222 4/2 fili: 0,445
3 fili: 0,445 3 fili: 0,845
50 Hz (20 ms) 20 ms 4/2 fili: 0,262 4/2 fili: 0,524
3 fili: .505 3 fili: 1,015
10 Hz (100 ms) 100 ms 4/2 fili: 1,222 4/2 fili: 2,425
3 fili: 2,445 3 fili: 4,845
1 Per mantenere la risoluzione e la precisione del modulo con il filtro di 400 Hz, il tempo di integrazione deve essere di 10
ms. Selezionando questo valore vengono filtrati anche i disturbi a 100 Hz e 200 Hz.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 959
Dati tecnici
A.9 Moduli di I/O (SM) per termocoppie e RTD

Nota
Una volta collegata l'alimentazione il modulo esegue la calibrazione interna del convertitore
analogico-digitale. Durante questo periodo di tempo restituisce il valore 32767 in tutti i canali
finché i canali non hanno dati validi. Nel programma utente può essere necessario tener
conto di questo tempo di inizializzazione. Poiché la configurazione del modulo può variare la
durata del tempo di inizializzazione è opportuno verificarne il comportamento o il modulo
nella configurazione. Se necessario, è possibile includere un circuito logico nel programma
utente per adattare il tempo di inizializzazione del modulo.

Rappresentazione dei valori analogici degli RTD


Le seguenti tabelle rappresentano il valore misurato dei sensori di temperatura standard
RTD.

Tabella A- 181 Rappresentazione dei valori analogici delle termoresistenze PT 100, 200, 500, 1000
e PT 10, 50, 100, 500 GOST (0.003850) standard

Pt x00 Unità Pt x00 Unità


standard in standard in
°C (1 cifra = °F (1 cifra =
Decimale Esadecimale Decimale Esadecimale Campo
0,1 °C) 0,1 °F)
> 1000.0 32767 7FFF > 1832,0 32767 7FFF Overflow
1000,0 10000 2710 1832,0 18320 4790 OR
: : : : : :
850,1 8501 2135 1562,1 15621 3D05
850.0 8500 2134 1562,0 15620 3D04 Campo
: : : : : : nominale
-200.0 -2000 F830 -328,0 -3280 F330
-200,1 -2001 F82F -328,1 -3281 F32F Inferiore
: : : : : : all'intervallo
-243,0 -2430 F682 -405,4 -4054 F02A
< -243,0 -32768 8000 < -405,4 -32768 8000 Underflow

Sistema di automazione S7-1200


960 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.10 Moduli tecnologici

A.10 Moduli tecnologici

A.10.1 SM 1278 4xIO-Link Master

A.10.1.1 Dati tecnici dell'unità di ingresso/uscita SM 1278 4xIO-Link Master

Tabella A- 182 Dati tecnici generali

Dati tecnici Unità di ingresso/uscita SM 1278 4xIO-Link Master


Numero di ordinazione 6ES7 278-4BD32-0XB0
Dimensioni L x A x P (mm) 45 x 100 x 75
Peso 150 grammi
Informazioni generali
Dati I&M Sì; IM0 ... IM3
Tensione di alimentazione
Tensione nominale (DC) 24 VDC
Limite inferiore del campo valido (DC) 19,2 V; 20,5 V se si utilizza IO-Link (la tensione di
alimentazione per i dispositivi IO-Link sul master deve
essere almeno 20 V)
Limite superiore del campo valido (DC) 28,8 VDC
Protezione dall'inversione di polarità Sì
Corrente di ingresso
Corrente assorbita 65 mA; senza carico
Alimentazione encoder
Numero di uscite 4
Corrente in uscita, valore nominale 200 mA
Dissipazione di potenza
Dissipazione di potenza, tip. 1 W, escludendo il caricamento porta
Ingressi/uscite digitali
Lunghezza del cavo (metri) 20 m max., non schermato
SDLC
Lunghezza del cavo (metri) 20 m max., non schermato
IO-Link
Numero di porte 4
Numero di porte che possono essere comandate 4
contemporaneamente
Protocollo IO-Link 1.0 Sì
Protocollo IO-Link 1.1 Sì
Modo di funzionamento
IO-Link Sì
DI Sì

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 961
Dati tecnici
A.10 Moduli tecnologici

Dati tecnici Unità di ingresso/uscita SM 1278 4xIO-Link Master


DQ Sì; max. 100 mA
Collegamento di dispositivi IO-Link
Porta di tipo A Sì
Velocità di trasmissione 4,8 kBd (COM1)
38,4 kBd (COM2)
230,4 kBd (COM3)
Tempo di ciclo, min. 2 ms, dinamico, dipende dalla lunghezza dei dati utente
Dimensioni dei dati di processo, ingresso per porta 32 byte max.
Dimensioni dei dati di processo, ingresso per modulo 32 byte
Dimensioni dei dati di processo, uscita per porta 32 byte max.
Dimensioni dei dati di processo, uscita per modulo 32 byte
Dimensioni della memoria per i parametri del 2 Kbyte
dispositivo
Lunghezza del cavo non schermato, max. (metri) 20 m
Informazioni su allarmi/diagnostica/stato
Finestra di stato Sì
Allarmi
Allarme di diagnostica Sì; la diagnostica della porta è disponibile solo nel modo
IO-Link
Allarmi di diagnostica
Diagnostica
Controllo della tensione di alimentazione Sì
Cortocircuito Sì
LED di diagnostica
Controllo della tensione di alimentazione Sì; LED DIAG rosso lampeggiante
Finestra di stato del canale Sì; per ogni canale un LED verde per lo stato del canale
Qn (modo SIO) e lo stato della PORTA Cn (modo IO-Link)
Per diagnostica di canale Sì; LED Fn rosso
Per diagnostica del modulo Sì; LED DIAG verde/rosso
Isolamento elettrico
Canali per l'isolamento elettrico
Tra i canali No
Tra i canali e il bus backplane Sì
Differenza di potenziale ammessa
Tra i diversi circuiti 75 VDC / 60 VAC (isolamento base)
Isolamento
Isolamento testato con 707 VDC (test del tipo)
Condizioni ambientali
Temperatura di esercizio
Min. -20 °C
Max. 60 °C

Sistema di automazione S7-1200


962 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.10 Moduli tecnologici

Dati tecnici Unità di ingresso/uscita SM 1278 4xIO-Link Master


Montaggio orizzontale, min. -20 °C
Montaggio orizzontale, max. 60 °C
Montaggio verticale, min. -20 °C
Montaggio verticale, max. 50 °C

Panoramica del tempo di risposta

A.10.1.2 Schemi elettrici del modulo SM 1278 4xIO-Link Master

Tabella A- 183 Schema elettrico dell'SM 1278 IO-Link Master

SM 1278 IO-Link Master (6ES7 278-4BD32-0XB0)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 963
Dati tecnici
A.11 Signal board digitali (SB)

Tabella A- 184 Disposizione dei piedini del connettore dell'SM 1278 IO-Link Master (6ES7 278-
4BD32-0XB0)

Piedino X10 X11 X12 X13


1 L+ / 24 VDC Nessun Nessun Nessun
collegamento collegamento collegamento
2 M / 24 VDC Nessun Nessun Nessun
collegamento collegamento collegamento
3 Terra funzionale Nessun Nessun Nessun
collegamento collegamento collegamento
4 Nessun Nessun Nessun Nessun
collegamento collegamento collegamento collegamento
5 L1 L2 L3 L4
6 C/Q1 C/QL2 C/Q3 C/QL4
7 ML1 ML2 M3 ML4

A.11 Signal board digitali (SB)

A.11.1 Dati tecnici di SB 1221 di ingressi digitali a 200 kHz

Tabella A- 185 Dati tecnici generali

Dati tecnici SB 1221 DI 4 x 24 VDC, 200 kHz SB 1221 DI 4 x 5 VDC, 200 kHz
Numero di ordinazione 6ES7 221-3BD30-0XB0 6ES7 221-3AD30-0XB0
Dimensioni L x A x P (mm) 38 x 62 x 21 38 x 62 x 21
Peso 35 grammi 35 grammi
Dissipazione di potenza 1,5 W 1,0 W
Assorbimento di corrente (bus SM) 40 mA 40 mA
Assorbimento di corrente (24 VDC) 7 mA / ingresso + 20 mA 15 mA / ingresso + 15 mA

Tabella A- 186 Ingressi digitali

Dati tecnici SB 1221 DI 4 x 24 VDC, 200 kHz SB 1221 DI 4 x 5 VDC, 200 kHz
Numero di ingressi 4 4
Tipo Emissione di corrente Emissione di corrente
Tensione nominale 24 VDC a 7 mA, nominale 5 VDC a 15 mA, nominale
Tensione continua ammessa 28,8 VDC 6 VDC
Sovratensione transitoria 35 VDC per 0,5 sec. 6V
Segnale logico 1 (min.) L+ meno 10 VDC a 2,9 mA L+ meno 2,0 VDC a 5,1 mA
Segnale logico 0 (max.) L+ meno 5 VDC a 1,4 mA L+ meno 1,0 VDC a 2,2 mA

Sistema di automazione S7-1200


964 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.11 Signal board digitali (SB)

Dati tecnici SB 1221 DI 4 x 24 VDC, 200 kHz SB 1221 DI 4 x 5 VDC, 200 kHz
Frequenze di clock in ingresso agli A una fase: 200 kHz A una fase: 200 kHz
HSC (max.) In quadratura di fase: 160 kHz In quadratura di fase: 160 kHz
Isolamento (tra il campo e i circuiti 500 VAC per 1 minuto 500 VAC per 1 minuto
logici)
Gruppi di isolamento 1 1
Tempi di impostazioni us 0.1, 0.2, 0.4, 0.8, 1.6, 3.2, 6.4, 0,1; 0,2; 0,4; 0,8; 1,6; 3,2; 6,4; 10,0;
filtraggio 10.0,12.8, 20.0 12,8; 20,0
impostazioni ms 0.05, 0.1, 0.2, 0.4, 0.8, 1.6, 3.2, 6.4, 0,05; 0,1; 0,2; 0,4; 0,8; 1,6; 3,2; 6,4;
10.0, 12.8, 20.0 10,0; 12,8; 20,0
Numero di ingressi ON • 2 (ingressi non vicini) a 60 ℃ in 4
contemporaneamente orizzontale o 50 ℃ in verticale
• 4 a 55 ℃ in orizzontale o 45 ℃ in
verticale
Lunghezza del cavo (metri) 50 m, doppino ritorto schermato 50 m, doppino ritorto schermato

Nota
Quando si utilizzano frequenze superiori a 20 kHz è importante che gli ingressi digitali
ricevano un'onda quadra. La qualità del segnale verso gli ingressi può essere migliorata nei
seguenti modi:
• Riducendo il più possibile la lunghezza dei cavi
• Modificando un driver da "solo ad assorbimento di corrente" ad "assorbimento/emissione
di corrente"
• Utilizzando un cavo di qualità superiore
• Riducendo il circuito o i componenti da 24 V a 5 V
• Aggiungendo un carico esterno nell'ingresso

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 965
Dati tecnici
A.11 Signal board digitali (SB)

Tabella A- 187 Schemi elettrici di SB di ingressi digitali a 200 kHz

SB 1221 DI 4 x 24 VDC, 200 kHz SB 1221 DI 4 x 5 VDC, 200 kHz


(6ES7 221-3BD30-0XB0) (6ES7 221-3AD30-0XB0)

① Supporta solo gli ingressi ad emissione di corrente

Tabella A- 188 Disposizione dei piedini del connettore dell'SB 1221 DI 4 x 24 VDC, 200 kHz (6ES7
221-3BD30-0XB0)

Piedino X19
1 L+ / 24 VDC
2 M / 24 VDC
3 DI e.0
4 DI e.1
5 DI e.2
6 DI e.3

Tabella A- 189 Disposizione dei piedini del connettore dell'SB 1221 DI 4 x 5 VDC, 200 kHz (6ES7
221-3AD30-0XB0)

Piedino X19
1 L+ / 5 VDC
2 M / 5 VDC
3 DI e.0
4 DI e.1
5 DI e.2
6 DI e.3

Sistema di automazione S7-1200


966 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.11 Signal board digitali (SB)

A.11.2 Dati tecnici di SB 1222 di uscite digitali a 200 kHz

Tabella A- 190 Dati tecnici generali

Dati tecnici SB 1222 DQ 4 x 24 VDC, 200 kHz SB 1222 DQ 4 x 5 VDC, 200 kHz
Numero di ordinazione 6ES7 222-1BD30-0XB0 6ES7 222-1AD30-0XB0
Dimensioni L x A x P (mm) 38 x 62 x 21 38 x 62 x 21
Peso 35 grammi 35 grammi
Dissipazione di potenza 0,5 W 0,5 W
Assorbimento di corrente (bus SM) 35 mA 35 mA
Assorbimento di corrente (24 VDC) 15 mA 15 mA

Tabella A- 191 Uscite digitali

Dati tecnici SB 1222 DQ 4 x 24 VDC, 200 kHz SB 1222 DQ 4 x 5 VDC, 200 kHz
Numero di uscite 4 4
Tipo di uscite Stato solido - MOSFET ad Stato solido - MOSFET ad
assorbimento ed emissione di corrente1 assorbimento ed emissione di corrente1
Campo di tensione 20,4 ... 28,8 VDC 4,25 ... 6,0 VDC
Segnale logico 1 a corrente max. L+ meno 1,5 V L+ meno 0,7 V
Segnale logico 0 a corrente max. 1,0 VDC max. 0,2 VDC max.
Corrente (max.) 0,1 A 0,1 A
Carico delle lampade -- --
Resistenza contatto in stato ON 11 Ω max. 7 Ω max.
Resistenza in stato OFF 6 Ω max. 0,2 Ω max.
Corrente di dispersione per punto -- --
Frequenza di uscita treni di impulsi 200 kHz max., 2 Hz min. 200 kHz max., 2 Hz min.
Corrente di spunto 0,11 A 0,11 A
Protezione da sovraccarico No No
Isolamento (tra il campo e i circuiti 500 VAC per 1 minuto 500 VAC per 1 minuto
logici)
Gruppi di isolamento 1 1
Correnti per comune 0,4 A 0,4 A
Clamp per tensioni induttive Nessuno Nessuno
Ritardo durante la commutazione 1,5 μs + 300 ns salita 200 ns + 300 ns salita
1,5 μs + 300 ns caduta 200 ns + 300 ns caduta
Comportamento in caso di Ultimo valore o valore sostitutivo Ultimo valore o valore sostitutivo
commutazione RUN - STOP (valore di default 0) (valore di default 0)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 967
Dati tecnici
A.11 Signal board digitali (SB)

Dati tecnici SB 1222 DQ 4 x 24 VDC, 200 kHz SB 1222 DQ 4 x 5 VDC, 200 kHz
Numero di uscite ON • 2 (ingressi non vicini) a 60 ℃ in 4
contemporaneamente orizzontale o 50 ℃ in verticale
• 4 a 55 ℃ in orizzontale o 45 ℃ in
verticale
Lunghezza del cavo (metri) 50 m, doppino ritorto schermato 50 m, doppino ritorto schermato
1 Poiché sia la configurazione ad assorbimento che quella ad emissione di corrente sono supportate dallo stesso circuito,
lo stato attivo di un carico ad emissione di corrente è contrario a quello di un carico ad assorbimento di corrente. Le
uscite ad assorbimento di corrente presentano una logica positiva (il bit Q e LED sono ON quando il carico è
attraversato dalla corrente), mentre quelle ad emissione di corrente hanno una logica negativa (il bit Q e LED sono OFF
quando il carico è attraversato dalla corrente). Se si collega alla corrente il modulo senza programma utente, per default
il modulo è 0 V e di conseguenza il carico ad assorbimento di corrente si attiva.

Nota
Quando si utilizzano frequenze superiori a 20 kHz è importante che gli ingressi digitali
ricevano un'onda quadra. La qualità del segnale verso gli ingressi può essere migliorata nei
seguenti modi:
• Riducendo il più possibile la lunghezza dei cavi
• Modificando un driver da "solo ad assorbimento di corrente" ad "assorbimento/emissione
di corrente"
• Utilizzando un cavo di qualità superiore
• Riducendo il circuito o i componenti da 24 V a 5 V
• Aggiungendo un carico esterno nell'ingresso

Sistema di automazione S7-1200


968 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.11 Signal board digitali (SB)

Tabella A- 192 Schemi elettrici di SB di uscite digitali a 200 kHz

SB 1222 DQ 4 x 24 VDC, 200 kHz SB 1222 DQ 4 x 5 VDC, 200 kHz


(6ES7 222-1BD30-0XB0) (6ES7 222-1AD30-0XB0)

① Per le uscite ad emissione di corrente collegare "Load" a "-" (indicato). Per le uscite ad assorbimento di corrente
collegare "Load" a "+". Poiché sia la configurazione ad assorbimento che quella ad emissione di corrente sono
supportate dallo stesso circuito, lo stato attivo di un carico ad emissione di corrente è contrario a quello di un carico ad
assorbimento di corrente. Le uscite ad assorbimento di corrente presentano una logica positiva (il bit Q e LED sono ON
quando il carico è attraversato dalla corrente), mentre quelle ad emissione di corrente hanno una logica negativa (il bit
Q e LED sono OFF quando il carico è attraversato dalla corrente). Se si collega alla corrente il modulo senza
programma utente, per default il modulo è 0 V e di conseguenza il carico ad assorbimento di corrente si attiva.

Tabella A- 193 Disposizione dei piedini del connettore dell'SB 1222 DQ 4 x 24 VDC, 200 kHz (6ES7
222-1BD30-0XB0)

Piedino X19
1 L+ / 24 VDC
2 M / 24 VDC
3 DQ e.0
4 DQ e.1
5 DQ e.2
6 DQ e.3

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 969
Dati tecnici
A.11 Signal board digitali (SB)

Tabella A- 194 Disposizione dei piedini del connettore dell'SB 1222 DQ 4 x 5 VDC, 200 kHz (6ES7
222-1AD30-0XB0)

Piedino X19
1 L+ / 5 VDC
2 M / 5 VDC
3 DQ e.0
4 DQ e.1
5 DQ e.2
6 DQ e.3

A.11.3 Dati tecnici di SB 1223 di ingressi/uscite digitali a 200 kHz

Tabella A- 195 Dati tecnici generali

Dati tecnici SB 1223 DI 2 x 24 VDC / SB 1223 DI 2 x 5 VDC /


DQ 2 x 24 VDC, 200 kHz DQ 2 x 5 VDC, 200 kHz
Numero di ordinazione 6ES7 223-3BD30-0XB0 6ES7 223-3AD30-0XB0
Dimensioni L x A x P (mm) 38 x 62 x 21 38 x 62 x 21
Peso 35 grammi 35 grammi
Dissipazione di potenza 1,0 W 0,5 W
Assorbimento di corrente (bus SM) 35 mA 35 mA
Assorbimento di corrente (24 VDC) 7 mA / ingresso + 30 mA 15 mA / ingresso + 15 mA

Tabella A- 196 Ingressi digitali

Dati tecnici SB 1223 DI 2 x 24 VDC / SB 1223 DI 2 x 5 VDC /


DQ 2 x 24 VDC, 200 kHz DQ 2 x 5 VDC, 200 kHz
Numero di ingressi 2 2
Tipo Emissione di corrente Emissione di corrente
Tensione nominale 24 VDC a 7 mA, nominale 5 VDC a 15 mA, nominale
Tensione continua ammessa 28,8 VDC 6 VDC
Sovratensione transitoria 35 VDC per 0,5 sec. 6V
Segnale logico 1 (min.) L+ meno 10 VDC a 2,9 mA L+ meno 2,0 VDC a 5,1 mA
Segnale logico 0 (max.) L+ meno 5 VDC a 1,4 mA L+ meno 1,0 VDC a 2,2 mA
Frequenze di clock in ingresso agli A una fase: 200 kHz A una fase: 200 kHz
HSC (max.) In quadratura di fase: 160 kHz In quadratura di fase: 160 kHz
Isolamento (tra il campo e i circuiti 500 VAC per 1 minuto 500 VAC per 1 minuto
logici)
Gruppi di isolamento 1 (nessun isolamento verso le uscite) 1 (nessun isolamento verso le uscite)
Tempi di filtraggio impostazioni us 0.1, 0.2, 0.4, 0.8, 1.6, 3.2, 6.4, 10.0, 0.1, 0.2, 0.4, 0.8, 1.6, 3.2, 6.4, 10.0,
12.8, 20.0 12.8, 20.0

Sistema di automazione S7-1200


970 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.11 Signal board digitali (SB)

Dati tecnici SB 1223 DI 2 x 24 VDC / SB 1223 DI 2 x 5 VDC /


DQ 2 x 24 VDC, 200 kHz DQ 2 x 5 VDC, 200 kHz
impostazioni ms 0.05, 0.1, 0.2, 0.4, 0.8, 1.6, 3.2, 6.4, 0.05, 0.1, 0.2, 0.4, 0.8, 1.6, 3.2, 6.4,
10.0, 12.8, 20.0 10.0, 12.8, 20.0
Numero di ingressi ON 2 2
contemporaneamente
Lunghezza del cavo (metri) 50 m, doppino ritorto schermato 50 m, doppino ritorto schermato

Tabella A- 197 Uscite digitali

Dati tecnici SB 1223 DI 2 x 24 VDC / SB 1223 DI 2 x 5 VDC /


DQ 2 x 24 VDC, 200 kHz DQ 2 x 5 VDC, 200 kHz
Numero di uscite 2 2
Tipo di uscite Stato solido - MOSFET ad Stato solido - MOSFET ad
assorbimento ed emissione di corrente1 assorbimento ed emissione di corrente1
Campo di tensione 20,4 ... 28,8 VDC 4,25 ... 6,0 VDC
Valore nominale 24 VDC 5 VDC
Segnale logico 1 a corrente max. L+ meno 1,5 V L+ meno 0,7 V
Segnale logico 0 a corrente max. 1,0 VDC max. 0,2 VDC max.
Corrente (max.) 0,1 A 0,1 A
Carico delle lampade -- --
Resistenza contatto in stato ON 11 Ω max. 7 Ω max.
Resistenza in stato OFF 6 Ω max. 0,2 Ω max.
Corrente di dispersione per punto -- --
Frequenza di uscita treni di impulsi 200 kHz max., 2 Hz min. 200 kHz max., 2 Hz min.
Corrente di spunto 0,11 A 0,11 A
Protezione da sovraccarico No No
Isolamento (tra il campo e i circuiti 500 VAC per 1 minuto 500 VAC per 1 minuto
logici)
Gruppi di isolamento 1 (nessun isolamento verso gli ingressi) 1 (nessun isolamento verso gli ingressi)
Correnti per comune 0,2 A 0,2 A
Clamp per tensioni induttive Nessuno Nessuno
Ritardo durante la commutazione 1,5 μs + 300 ns salita 200 ns + 300 ns salita
1,5 μs + 300 ns caduta 200 ns + 300 ns caduta
Comportamento in caso di Ultimo valore o valore sostitutivo Ultimo valore o valore sostitutivo
commutazione RUN - STOP (valore di default 0) (valore di default 0)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 971
Dati tecnici
A.11 Signal board digitali (SB)

Dati tecnici SB 1223 DI 2 x 24 VDC / SB 1223 DI 2 x 5 VDC /


DQ 2 x 24 VDC, 200 kHz DQ 2 x 5 VDC, 200 kHz
Numero di uscite ON 2 2
contemporaneamente
Lunghezza del cavo (metri) 50 m, doppino ritorto schermato 50 m, doppino ritorto schermato
1 Poiché sia la configurazione ad assorbimento che quella ad emissione di corrente sono supportate dallo stesso circuito,
lo stato attivo di un carico ad emissione di corrente è contrario a quello di un carico ad assorbimento di corrente. Le
uscite ad assorbimento di corrente presentano una logica positiva (il bit Q e LED sono ON quando il carico è
attraversato dalla corrente), mentre quelle ad emissione di corrente hanno una logica negativa (il bit Q e LED sono OFF
quando il carico è attraversato dalla corrente). Se si collega alla corrente il modulo senza programma utente, per default
il modulo è 0 V e di conseguenza il carico ad assorbimento di corrente si attiva.

Nota
Quando si utilizzano frequenze superiori a 20 kHz è importante che gli ingressi digitali
ricevano un'onda quadra. La qualità del segnale verso gli ingressi può essere migliorata nei
seguenti modi:
• Riducendo il più possibile la lunghezza dei cavi
• Modificando un driver da "solo ad assorbimento di corrente" ad "assorbimento/emissione
di corrente"
• Utilizzando un cavo di qualità superiore
• Riducendo il circuito o i componenti da 24 V a 5 V
• Aggiungendo un carico esterno nell'ingresso

Sistema di automazione S7-1200


972 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.11 Signal board digitali (SB)

Tabella A- 198 Schemi elettrici di SB di ingressi/uscite digitali a 200 kHz

SB 1223 DI 2 x 24 VDC/DQ 2 x 24 VDC, SB 1223 DI 2 x 5 VDC / DQ 2 x 5 VDC,


200 kHz (6ES7 223-3BD30-0XB0) 200 kHz (6ES7 223-3AD30-0XB0)

① Supporta solo gli ingressi ad emissione di corrente


② Per le uscite ad emissione di corrente collegare "Load" a "-" (indicato). Per le uscite ad assorbimento di corrente
collegare "Load" a "+". 1 Poiché sia la configurazione ad assorbimento che quella ad emissione di corrente sono
supportate dallo stesso circuito, lo stato attivo di un carico ad emissione di corrente è contrario a quello di un carico ad
assorbimento di corrente. Le uscite ad assorbimento di corrente presentano una logica positiva (il bit Q e LED sono ON
quando il carico è attraversato dalla corrente), mentre quelle ad emissione di corrente hanno una logica negativa (il bit
Q e LED sono OFF quando il carico è attraversato dalla corrente). Se si collega alla corrente il modulo senza
programma utente, per default il modulo è 0 V e di conseguenza il carico ad assorbimento di corrente si attiva.

Tabella A- 199 Disposizione dei piedini del connettore dell'SB 1223 DI 2 x 24 VDC/DQ 2 x 24 VDC,
200 kHz (6ES7 223-3BD30-0XB0)

Piedino X19
1 L+ / 24 VDC
2 M / 24 VDC
3 DI e.0
4 DI e.1
5 DQ e.0
6 DQ e.1

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 973
Dati tecnici
A.11 Signal board digitali (SB)

Tabella A- 200 Disposizione dei piedini del connettore dell'SB 1223 DI 2 x 5 VDC / DQ 2 x 5 VDC,
200 kHz (6ES7 223-3AD30-0XB0)

Piedino X19
1 L+ / 5 VDC
2 M / 5 VDC
3 DI e.0
4 DI e.1
5 DQ e.0
6 DQ e.1

A.11.4 Dati tecnici di SB 1223 2 ingressi 24 V DC / 2 uscite 24 V DC

Tabella A- 201 Dati tecnici generali

Dati tecnici SB 1223 DI 2 x 24 VDC, DQ 2 x 24 VDC


Numero di ordinazione 6ES7 223-0BD30-0XB0
Dimensioni L x A x P (mm) 38 x 62 x 21
Peso 40 grammi
Dissipazione di potenza 1,0 W
Assorbimento di corrente (bus SM) 50 mA
Assorbimento di corrente (24 VDC) 4 mA/ingresso utilizzato

Tabella A- 202 Ingressi digitali

Dati tecnici SB 1223 DI 2 x 24 VDC, DQ 2 x 24 VDC


Numero di ingressi 2
Tipo IEC "tipo 1" se ad assorbimento di corrente
Tensione nominale 24 VDC a 4 mA, nominale
Tensione continua ammessa 30 VDC max.
Sovratensione transitoria 35 VDC per 0,5 sec.
Segnale logico 1 (min.) 15 VDC a 2,5 mA
Segnale logico 0 (max.) 5 VDC a 1 mA
Frequenze di clock in ingresso agli HSC (max.) A una fase: 30 kHz (15 ... 26 VDC)
In quadratura di fase: 20 kHz (15 ... 26 VDC)
Isolamento (tra il campo e i circuiti logici) 500 VAC per 1 minuto
Gruppi di isolamento 1
Tempi di filtraggio impostazioni us 0,1; 0,2; 0,4; 0,8; 1,6; 3,2; 6,4; 10,0; 12,8; 20,0
impostazioni ms 0,05; 0,1; 0,2; 0,4; 0,8; 1,6; 3,2; 6,4; 10,0; 12,8; 20,0
Numero di ingressi ON contemporaneamente 2
Lunghezza del cavo (metri) 500 schermato, 300 non schermato

Sistema di automazione S7-1200


974 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.11 Signal board digitali (SB)

Tabella A- 203 Uscite digitali

Dati tecnici SB 1223 DI 2 x 24 VDC, DQ 2 x 24 VDC


Numero di uscite 2
Tipo di uscite MOSFET a stato solido (a emissione di corrente)
Campo di tensione 20,4 ... 28,8 VDC
Segnale logico 1 a corrente max. 20 VDC min.
Segnale logico 0 con carico di 10 KΩ 0,1 VDC max.
Corrente (max.) 0,5 A
Carico delle lampade 5W
Resistenza contatto in stato ON 0,6 Ω max.
Corrente di dispersione per punto 10 μA max.
Frequenza di uscita di treni di impulsi (PTO) 20 kHz max., 2 Hz min.1
Corrente di spunto 5 A per 100 ms max.
Protezione da sovraccarico No
Isolamento (tra il campo e i circuiti logici) 500 VAC per 1 minuto
Gruppi di isolamento 1
Correnti per comune 1A
Clamp per tensioni induttive L+ meno 48 V, dissipazione di 1 W
Ritardo durante la commutazione 2 μs max., da off a on
10 μs max., da on a off
Comportamento in caso di commutazione RUN - STOP Ultimo valore o valore sostitutivo (valore di default 0)
Numero di uscite ON contemporaneamente 2
Lunghezza del cavo (metri) 500 m schermato, 150 m non schermato
1 A seconda del ricevitore di impulsi e del cavo utilizzati può essere necessario utilizzare un'ulteriore resistenza di carico
(pari ad almeno il 10% della corrente nominale) per migliorare la qualità del segnale e l'immunità al rumore.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 975
Dati tecnici
A.11 Signal board digitali (SB)

Tabella A- 204 Schema elettrico di SB di ingressi/uscite digitali

SB 1223 DI 2 x 24 VDC, DQ 2 x 24 VDC (6ES7 223-0BD30-


0XB0)

① Supporta solo gli ingressi ad assorbimento di corrente

Tabella A- 205 Disposizione dei piedini del connettore dell'SB 1223 DI 2 x 24 VDC, DQ 2 x 24 VDC
(6ES7 223-0BD30-0XB0)

Piedino X19
1 L+ / 24 VDC
2 M / 24 VDC
3 DI e.0
4 DI e.1
5 DQ e.0
6 DQ e.1

Sistema di automazione S7-1200


976 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.12 Signal board digitali (SB)

A.12 Signal board digitali (SB)

A.12.1 Dati tecnici di SB 1231 1 uscita analogica

Nota
Per poter utilizzare questo SM, il firmware della CPU deve avere la versione V2.0 superiore.

Tabella A- 206 Dati tecnici generali

Dati tecnici SB 1231 AI 1 x 12 bit


Numero di ordinazione 6ES7 231-4HA30-0XB0
Dimensioni L x A x P (mm) 38 x 62 x 21
Peso 35 grammi
Dissipazione di potenza 0,4 W
Assorbimento di corrente (bus SM) 55 mA
Assorbimento di corrente (24 VDC) Nessuno

Tabella A- 207 Ingressi analogici

Dati tecnici SB 1231 AI 1x12 bit


Numero di ingressi 1
Tipo Tensione o corrente (differenziale)
Campo ±10 V, ±5 V, ±2,5 o 0 ... 20 mA
Risoluzione 11 bit + bit di segno
Campo di fondo scala (parola di dati) -27648 ... 27648
Overrange/underrange (parola di dati) Tensione: 32511 ... 27649 / -27649 ... -32512
Corrente: 32511 ... 27649 / 0 ... -4864
(Vedere Rappresentazione degli ingressi analogici per la tensione
e Rappresentazione degli ingressi analogici per la corrente).
Overflow/Underflow (parola di dati) Tensione: 32767 ... 32512 / -32513 ... -32768
Corrente: 32767 ... 32512 / -4865 ... -32768
(Vedere Rappresentazione degli ingressi analogici per la tensione
e Rappresentazione degli ingressi analogici per la corrente).
Tensione/corrente di resistenza max. ±35 V / ±40 mA
Livellamento Nessuno, debole, medio o forte (Vedere Tempi di risposta degli
ingressi analogici per conoscere i tempi di risposta a gradino).
Filtraggio del rumore 400, 60, 50 o 10 Hz (vedere Tempi di risposta degli ingressi
analogici per conoscere le velocità di campionamento).
Precisione (25 °C / -20 ... 60 °C) ±0,3% / ±0,6% del valore di fondo scala

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 977
Dati tecnici
A.12 Signal board digitali (SB)

Dati tecnici SB 1231 AI 1x12 bit


Impedenza di ingresso
Differenziale Tensione: 220 kΩ; Corrente: 250 Ω
Modo comune Tensione: 55 kΩ; Corrente: 55 kΩ
Comportamento in caso di commutazione RUN - Ultimo valore o valore sostitutivo (valore di default 0)
STOP
Principio di misura Conversione del valore istantaneo
Reiezione in modo comune 400 dB, DC a 60 Hz
Campo operativo del segnale La tensione di segnale più quella di modo comune deve essere
inferiore a +35 V e maggiore di -35 V
Isolamento (tra il campo e i circuiti logici) Nessuno
Lunghezza del cavo (metri) 100 m, cavo doppio ritorto schermato

Tabella A- 208 Diagnostica

Dati tecnici SB 1231 AI 1 x 12 bit


Overflow/underflow Sì
Tensione bassa 24 VDC No

Tabella A- 209 Schema elettrico di SB di ingressi analogici

SB 1231 AI x 12 bit (6ES7 231-4HA30-0XB0)

① Collegare "R" e "0+" per corrente


Nota: i connettori devono essere in oro. Per il numero di ordinazione vedere Allegato C, Parti di ricambio

Sistema di automazione S7-1200


978 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.12 Signal board digitali (SB)

Tabella A- 210 Disposizione dei piedini del connettore dell'SB 1231 AI x 12 bit (6ES7 231-4HA30-
0XB0)

Piedino X19 (oro)


1 Nessun collegamento
2 Nessun collegamento
3 AI R
4 AI 0+
5 AI 0+
6 AI 0-

A.12.2 Dati tecnici di SB 1232 1 uscita analogica

Tabella A- 211 Dati tecnici generali

Dati tecnici SB 1232 AQ 1 x 12 bit


Numero di ordinazione 6ES7 232-4HA30-0XB0
Dimensioni L x A x P (mm) 38 x 62 x 21
Peso 40 grammi
Dissipazione di potenza 1,5 W
Assorbimento di corrente (bus SM) 15 mA
Assorbimento di corrente (24 VDC) 40 mA (senza carico)

Tabella A- 212 Uscite analogiche

Dati tecnici SB 1232 AQ 1 x 12 bit


Numero di uscite 1
Tipo Tensione o corrente
Campo ±10 V o 0 ... 20 mA
Risoluzione Tensione: 12 bit
Corrente: 11 bit
Campo di fondo scala (parola di dati) Tensione: -27648 ... 27648
Per tensione e corrente (Pagina 982) consultare il paragrafo Corrente: 0 ... 27648
sui campi delle uscite.
Precisione (25 °C / -20 ... 60 °C) ±0,5% / ±1% del valore di fondo scala
Tempo di assestamento (95% del nuovo valore) Tensione: 300 μS (R), 750 μS (1 uF)
Corrente: 600 μS (1 mH), 2 ms (10 mH)
Impedenza di carico Tensione: ≥ 1000 Ω
Corrente: ≤ 600 Ω
Comportamento in caso di commutazione RUN - STOP Ultimo valore o valore sostitutivo (valore di default 0)
Isolamento (tra il campo e i circuiti logici) Nessuno
Lunghezza del cavo (metri) 100 m, cavo doppio ritorto schermato

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 979
Dati tecnici
A.12 Signal board digitali (SB)

Tabella A- 213 Diagnostica

Dati tecnici SB 1232 AQ 1 x 12 bit


Overflow/underflow Sì
Cortocircuito verso terra (solo nel modo in tensione) Sì
Rottura conduttore (solo nel modo in corrente) Sì

Tabella A- 214 Schema elettrico di SB 1232 AQ 1 x 12 bit

SB 1232 AQ 1 x 12 bit (6ES7 232-4HA30-0XB0)

Nota: i connettori devono essere in oro. Per il numero di ordinazione vedere Allegato C, Parti di ricambio

Tabella A- 215 Disposizione dei piedini del connettore dell'SB 1232 AQ 1 x 12 bit (6ES7 232-4HA30-
0XB0)

Piedino X19 (oro)


1 AQ 0M
2 AQ 0
3 GND
4 Nessun collegamento
5 Nessun collegamento
6 Nessun collegamento

Sistema di automazione S7-1200


980 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.12 Signal board digitali (SB)

A.12.3 Campi di misura per ingressi e uscite analogici

A.12.3.1 Risposta a gradino degli ingressi analogici

Tabella A- 216 Risposta a gradino (ms), 0 V ... 10 V misurata al 95%

Livellamento (media dei campioni) Tempo di integrazione


400 Hz (2,5 ms) 60 Hz (16,6 ms) 50 Hz (20 ms) 10 Hz (100 ms)
Nessuno (1 ciclo): nessuna media 4,5 ms 18,7 ms 22,0 ms 102 ms
Debole (4 cicli): 4 campioni 10,6 ms 59,3 ms 70,8 ms 346 ms
Medio (16 cicli): 16 campioni 33,0 ms 208 ms 250 ms 1240 ms
Forte (32 cicli): 32 campioni 63,0 ms 408 ms 490 ms 2440 ms
Tempo di campionamento 0,156 ms 1,042 ms 1,250 ms 6,250 ms

A.12.3.2 Tempo di campionamento e tempi di aggiornamento degli ingressi analogici

Tabella A- 217 Tempo di campionamento e tempo di aggiornamento

Selezione Tempo di campionamento Tempo di aggiornamento dell'SB


400 Hz (2,5 ms) 0,156 ms 0,156 ms
60 Hz (16,6 ms) 1,042 ms 1,042 ms
50 Hz (20 ms) 1,250 ms 1,25 ms
10 Hz (100 ms) 6,250 ms 6,25 ms

A.12.3.3 Campi di misura degli ingressi analogici per la tensione e la corrente (SB e SM)

Tabella A- 218 Rappresentazione degli ingressi analogici per la tensione (SB e SM)

Sistema Campo di misura della tensione


Decimale Esadecimale ±10 V ±5 V ±2,5 V ±1,25 V
32767 7FFF 11,851 V 5,926 V 2,963 V 1,481 V Overflow
32512 7F00
32511 7EFF 11,759 V 5,879 V 2,940 V 1,470 V Campo di overshoot
27649 6C01
27648 6C00 10 V 5V 2,5 V 1,250 V Campo nominale
20736 5100 7,5 V 3,75 V 1,875 V 0,938 V
1 1 361,7 μV 180,8 μV 90,4 μV 45,2 μV
0 0 0V 0V 0V 0V
-1 FFFF
-20736 AF00 -7,5 V -3,75 V -1,875 V -0,938 V
-27648 9400 -10 V -5 V -2,5 V -1,250 V

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 981
Dati tecnici
A.12 Signal board digitali (SB)

Sistema Campo di misura della tensione


Decimale Esadecimale ±10 V ±5 V ±2,5 V ±1,25 V
-27649 93FF Campo di undershoot
-32512 8100 -11,759 V -5,879 V -2,940 V -1,470 V
-32513 80FF Underflow
-32768 8000 -11,851 V -5,926 V -2,963 V -1,481 V

Tabella A- 219 Rappresentazione degli ingressi analogici per la corrente (SB e SM)

Sistema Campo di misura della corrente


Decimale Esadecimale 0 mA ... 20 mA 4 mA ... 20 mA
32767 7FFF 23,70 mA 22,96 mA Overflow
32512 7F00
32511 7EFF 23,52 mA 22,81 mA Campo di overshoot
27649 6C01
27648 6C00 20 mA 20 mA Campo nominale
20736 5100 15 mA 16 mA
1 1 723,4 nA 4 mA + 578,7 nA
0 0 0 mA 4 mA
-1 FFFF Campo di undershoot
-4864 ED00 -3,52 mA 1,185 mA
-4865 ECFF Underflow
-32768 8000

A.12.3.4 Campi di misura delle uscite analogiche per tensione e corrente (SB e SM)

Tabella A- 220 Rappresentazione delle uscite analogiche per la tensione (SB e SM)

Sistema Campo della tensione in uscita


Decimale Esadecimale ±10 V
32767 7FFF Vedere la nota 1 Overflow
32512 7F00 Vedere la nota 1
32511 7EFF 11,76 V Campo di overshoot
27649 6C01
27648 6C00 10 V Campo nominale
20736 5100 7,5 V
1 1 361,7 μ V
0 0 0V
-1 FFFF -361,7 μ V
-20736 AF00 -7,5 V
-27648 9400 -10 V

Sistema di automazione S7-1200


982 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.12 Signal board digitali (SB)

Sistema Campo della tensione in uscita


Decimale Esadecimale ±10 V
-27649 93FF Campo di undershoot
-32512 8100 -11,76 V
-32513 80FF Vedere la nota 1 Underflow
-32768 8000 Vedere la nota 1
1 In una condizione di overflow o underflow le uscite analogiche assumono il valore sostitutivo di STOP.

Tabella A- 221 Rappresentazione delle uscite analogiche per la corrente (SB e SM)

Sistema Campo della corrente in uscita


Decimale Esadecimale 0 mA ... 20 mA 4 mA ... 20 mA
32767 7FFF Vedere la nota 1 Vedere la nota 1 Overflow
32512 7F00 Vedere la nota 1 Vedere la nota 1
32511 7EFF 23,52 mA 22,81 mA Campo di overshoot
27649 6C01
27648 6C00 20 mA 20 mA Campo nominale
20736 5100 15 mA 16 mA
1 1 723,4 nA 4 mA + 578,7 nA
0 0 0 mA 4mA
-1 FFFF 4 mA ... 578,7 nA Campo di undershoot
-6912 E500 0 mA
-6913 E4FF Impossibile. Valore di uscita limitato a 0 mA.
-32512 8100
-32513 80FF Vedere la nota 1 Vedere la nota 1 Underflow
-32768 8000 Vedere la nota 1 Vedere la nota 1
1 In una condizione di overflow o underflow le uscite analogiche assumono il valore sostitutivo di STOP.

A.12.4 Signal board per termocoppie (SB)

A.12.4.1 Dati tecnici di SB 1231 1 ingresso analogico per termocoppie

Nota
Per poter utilizzare questo SM, il firmware della CPU deve avere la versione V2.0 superiore.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 983
Dati tecnici
A.12 Signal board digitali (SB)

Tabella A- 222 Dati tecnici generali

Dati tecnici SB 1231 AI 1 x 16 bit per termocoppie


Numero di ordinazione 6ES7 231-5QA30-0XB0
Dimensioni L x A x P (mm) 38 x 62 x 21
Peso 35 grammi
Dissipazione di potenza 0,5 W
Assorbimento di corrente (bus SM) 5 mA
Assorbimento di corrente (24 VDC) 20 mA

Tabella A- 223 Ingressi analogici

Dati tecnici SB 1231 AI 1x16 bit per termocoppie


Numero di ingressi 1
Tipo TC flottante e mV
Campo Vedere la tabella di selezione dei filtri delle termocoppie
(Pagina 985).
• Campo nominale (parola di dati)
• Overrange/underrange (parola di dati)
• Overflow/underflow (parola di dati)
Risoluzione Temperatura 0,1° C/0,1° F
Tensione 15 bit più segno
Tensione di resistenza max. ±35 V
Filtraggio del rumore 85 dB per il filtro impostato
(10 Hz, 50 Hz, 60 Hz, 400 Hz)
Reiezione in modo comune > 120 dB a 120 VAC
Impedenza ≥ 10 M Ω
Precisione Vedere la tabella di selezione delle termocoppie (Pagina 985).
Ripetibilità ±0,05% FS
Principio di misura Integrante
Tempo di aggiornamento del modulo Vedere la tabella di selezione dei filtri delle termocoppie
(Pagina 985).
Errore di giunto freddo ±1,5° C
Isolamento (tra il campo e i circuiti logici) 500 VAC
Lunghezza del cavo (metri) Max. 100 m fino al sensore
Resistenza dei conduttori 100 Ω max.

Sistema di automazione S7-1200


984 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.12 Signal board digitali (SB)

Tabella A- 224 Diagnostica

Dati tecnici SB 1231 AI 1 x 16 bit per termocoppie


Overflow/underflow 1 Sì
Rottura conduttore 2 Sì
1 Gli allarmi di diagnostica per overflow e underflow vengono segnalati nei valori di dati analogici anche se sono stati
disattivati nella configurazione del modulo.
2 Se l'allarme di rottura conduttore è disattivato e si verifica un'interruzione nel cablaggio del sensore, il modulo può
restituire valori random.

Il modulo di I/O analogici per termocoppie (TC) SM 1231 misura il valore della tensione
collegata ai propri ingressi.
La signal board analogica per termocoppie SM 1231 misura il valore della tensione collegata
ai propri ingressi. Il tipo di misura della temperatura può essere "Termocoppia" o "Tensione".
● "Termocoppia": il valore viene indicato in gradi moltiplicati per dieci (ad es. 25,3 gradi
corrispondono al valore decimale 253).
● "Tensione": il valore di fondo scala del campo nominale è il valore decimale 27648.

A.12.4.2 Funzionamento base di una termocoppia


Le termocoppie si formano ogni volta che due metalli diversi vengono collegati
elettricamente generando una tensione proporzionale alla temperatura del punto di
giunzione. Si tratta di una tensione molto piccola per cui un microvolt può corrispondere a
molti gradi. Il rilevamento della temperatura mediante termocoppia prevede la misura della
tensione della termocoppia, la compensazione dei giunti supplementari e la linearizzazione
del risultato.
Quando si collega una termocoppia al modulo di I/O SM 1231, i due fili di metallo diverso
vengono collegati al connettore di segnale del modulo. Il punto in cui i due fili si toccano
costituisce il sensore della termocoppia.
Altre due termocoppie si formano nel punto in cui i due fili di metallo diverso si collegano al
connettore di segnale. La temperatura del connettore genera una tensione che viene
sommata a quella del sensore. Se la tensione non viene compensata la temperatura rilevata
si discosta da quella del sensore.
Per compensare il connettore della termocoppia si effettua quindi una compensazione dei
giunti freddi. Le tabelle relative alle termocoppie sono basate su una temperatura di
riferimento dei giunti che generalmente è pari a 0 gradi Celsius. La compensazione dei giunti
freddi dell'unità compensa il connettore a zero gradi Celsius e corregge la tensione sommata
dalle termocoppie del connettore. La temperatura dell'unità viene misurata internamente e
convertita in un valore che viene sommato alla conversione del sensore. La conversione
corretta del sensore viene infine linearizzata mediante le tabelle delle termocoppie.
Per garantire un funzionamento ottimale della compensazione dei giunti freddi è necessario
collocare il modulo in un ambiente termicamente stabile. Le variazioni lente (inferiori a 0,1
℃/minuto) con il modulo a temperatura ambiente vengono compensate correttamente entro
le specifiche del modulo. Anche il passaggio di aria attraverso il modulo causa errori di
compensazione dei giunti freddi.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 985
Dati tecnici
A.12 Signal board digitali (SB)

Per ottenere una migliore compensazione degli errori si può utilizzare un blocco isotermico
esterno. Il modulo per termocoppie consente di utilizzare un blocco con riferimento a 0 ℃ o
50 ℃.

Tabella di selezione delle termocoppie per SB 1231


La seguente tabella riporta i campi e la precisione dei tipi di termocoppie utilizzabili con la
signal board per termocoppie SB 1231.

Tabella A- 225 Tabella di selezione delle termocoppie per SB 1231

Tipo di Sotto il limite Limite Limite superiore Sopra il Precisione del Precisione del
termocoppia minimo del inferiore del del campo limite campo normale 3 a campo normale 3
campo1 campo nominale massimo 25 °C da -20 °C a 60 °C
nominale del campo2
J -210,0 °C -150,0 °C 1200,0 °C 1450,0 °C ±0,3 ℃ ±0,6 ℃
K -270,0 °C -200,0 °C 1372,0 °C 1622,0 °C ±0,4 °C ±1,0 °C
T -270,0 °C -200,0 °C 400,0 °C 540,0 °C ±0,5 °C ±1,0 °C
E -270,0 °C -200,0 °C 1000,0 °C 1200,0 °C ±0,3 ℃ ±0,6 °C
R&S -50,0 °C 100,0 °C 1768,0 °C 2019,0 °C ±1,0 °C ±2,5 °C
B 0,0 °C 200,0 °C 800,0 °C -- ±2,0 °C ±2,5 °C
-- 800,0 °C 1820,0 °C 1820,0 °C ±1,0 °C ±2,3 °C
N -270,0 °C 0,0 °C 1300,0 °C 1550,0 °C ±1,0 °C ±1,6 °C
C 0,0 °C 100,0 °C 2315,0 °C 2500,0 °C ±0,7 °C ±2,7 °C
TXK/XK(L) -200,0 °C -150,0 °C 800,0 °C 1050,0 °C ±0,6 ℃ ±1,2 °C
Tensione -32511 -27648 27648 32511 ±0,05% ±0,1%
-80mV 80mV
1 I valori delle termocoppie inferiori al limite minimo del campo vengono specificati come -32768.
2 I valori delle termocoppie superiori al limite minimo del campo vengono specificati come 32767.
3 L'errore interno di giunto freddo è di ±1,5 °C per tutti i campi. e va sommato all'errore indicato nella tabella. La signal
board deve riscaldarsi per almeno 30 minuti per poter rispondere a queste specifiche.

Tabella A- 226 Tabella di selezione dei filtri delle termocoppie per SB 1231

Frequenza di reiezione (Hz) Tempo di integrazione (ms) Tempo di aggiornamento sulla signal board (secondi)
10 100 0.306
50 20 0.066
60 16.67 0.056
4001 10 0.036
1 Per mantenere la risoluzione e la precisione del modulo con la reiezione di 400 Hz, il tempo di integrazione deve essere
di 10 ms. Selezionando questo valore vengono filtrati anche i disturbi a 100 Hz e 200 Hz.

Sistema di automazione S7-1200


986 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.12 Signal board digitali (SB)

Per la misura delle termocoppie si raccomanda di utilizzare un tempo di integrazione di 100


ms. Tempi di integrazione inferiori aumenterebbero l'errore di ripetibilità delle letture della
temperatura.

Nota
Una volta collegata l'alimentazione il modulo esegue la calibrazione interna del convertitore
analogico-digitale. Durante questo periodo di tempo restituisce il valore 32767 in tutti i canali
finché questi non dispongono di dati validi. Nel programma utente può essere necessario
tener conto di questo tempo di inizializzazione.

Tabella A- 227 Schema elettrico di SB 1231 AI 1 x 16 bit per termocoppie

SB 1231 AI 1 x 16 bit per termocoppie (6ES7 231-5QA30-0XB0)

Nota: i connettori devono essere in oro. Per il numero di ordinazione vedere Allegato C, Parti di ricambio

Tabella A- 228 Disposizione dei piedini del connettore dell'SB 1231 AI 1 x 16 bit TC (6ES7 231-
5QA30-0XB0)

Piedino X19 (oro)


1 Nessun collegamento
2 Nessun collegamento
3 Nessun collegamento
4 Nessun collegamento
5 AI 0- /TC
6 AI 0+ /TC

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 987
Dati tecnici
A.12 Signal board digitali (SB)

A.12.5 Signal board per RTD (SB)

A.12.5.1 Dati tecnici di SB 1231 1 ingresso analogico per RTD

Nota
Per poter utilizzare questo SM, il firmware della CPU deve avere la versione V2.0 superiore.

Tabella A- 229 Dati tecnici generali

Dati tecnici SB 1231 AI 1 x 16 bit per RTD


Numero di ordinazione 6ES7 231-5PA30-0XB0
Dimensioni L x A x P (mm) 38 x 62 x 2
Peso 35 grammi
Dissipazione di potenza 0,7 W
Assorbimento di corrente (bus SM) 5 mA
Assorbimento di corrente (24 VDC) 25 mA

Tabella A- 230 Ingressi analogici

Dati tecnici SB 1231 AI 1 x 16 bit per RTD


Numero di ingressi 1
Tipo RTD e Ohm riferiti al modulo
Campo Vedere le tabelle di selezione (Pagina 991).
• Campo nominale (parola di dati)
• Overrange/underrange (parola di dati)
• Overflow/underflow (parola di dati)
Risoluzione Temperatura 0,1 °C/0,1 °F
Tensione 15 bit più segno
Tensione di resistenza max. ±35 V
Filtraggio del rumore 85 dB (10 Hz, 50 Hz, 60 Hz, 400 Hz)
Reiezione in modo comune > 120 dB
Impedenza ≥ 10 MΩ
Precisione Vedere le tabelle di selezione (Pagina 991).
Ripetibilità ±0,05% FS
Dissipazione max. sensore 0,5 m W
Principio di misura Integrante
Tempo di aggiornamento del modulo Vedere la tabella di selezione (Pagina 991).
Isolamento (tra il campo e i circuiti logici) 500 VAC

Sistema di automazione S7-1200


988 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.12 Signal board digitali (SB)

Dati tecnici SB 1231 AI 1 x 16 bit per RTD


Lunghezza del cavo (metri) Max. 100 m fino al sensore
Resistenza dei conduttori 20 Ω, 2,7 per 10 Ω RTD max.

Tabella A- 231 Diagnostica

Dati tecnici SB 1231 AI 1 x 16 bit per RTD


Overflow/underflow1, 2 Sì
Rottura conduttore 3 Sì
1 Gli allarmi di diagnostica per overflow e underflow vengono segnalati nei valori di dati analogici anche se sono stati
disattivati nella configurazione del modulo.
2 Il rilevamento dell'underflow non è mai abilitato per i campi di resistenza.
3 Se l'allarme di rottura conduttore è disattivato e si verifica un'interruzione nel cablaggio del sensore, il modulo può
restituire valori random.

La signal board analogica per sensore RTD SM 1231 misura il valore della resistenza
collegata ai propri ingressi. Il tipo di misura può essere "Resistenza" o "Resistenza termica".
● "Resistenza": il valore di fondo scala del campo nominale è il valore decimale 27648.
● "Resistenza termica": il valore viene indicato in gradi moltiplicati per dieci (ad es. 25,3
gradi corrispondono al valore decimale 253). I valori del campo "clima" vengono indicati
in gradi moltiplicati per cento (ad es. 25,34 gradi corrispondono al valore decimale 2534).
La signal board per sensore RTD SM 1231 consente di effettuare misure mediante
collegamenti a 2, 3 e 4 fili alla resistenza del sensore.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 989
Dati tecnici
A.12 Signal board digitali (SB)

Tabella A- 232 Schema elettrico di SB 1231 AI 1 x 16 bit per RTD

SB 1231 AI 1 x 16 bit per RTD (6ES7 231-5PA30-0XB0)

① Ingresso loopback inutilizzato dell'RTD


② RTD a 2 fili
③ RTD a 3 fili
④ RTD a 4 fili
Nota: i connettori devono essere in oro. Per il numero di ordinazione vedere Allegato C, Parti di
ricambio

Tabella A- 233 Disposizione dei piedini del connettore dell'SB 1231 AI 1 x 16 bit RTD (6ES7 231-
5PA30-0XB0)

Piedino X19 (oro)


1 Nessun collegamento
2 Nessun collegamento
3 AI 0 M+ /RTD
4 AI 0 M- /RTD
5 AI 0 I+ /RTD
6 AI 0 I- /RTD

Sistema di automazione S7-1200


990 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.12 Signal board digitali (SB)

A.12.5.2 Tabelle di selezione dell'RTD per SB 1231

Tabella A- 234 Campi e precisione dei diversi sensori supportati dalle unità RTD

Coefficiente di Tipo di RTD Sotto il limite Limite Limite Sopra il Precisione Precisione
temperatura minimo del inferiore del superiore limite del campo del campo
campo1 campo del campo massimo normale a normale da
nominale nominale del campo2 25 ℃ -20°C a 60

Pt 0,003850 Pt 100 clima -145,00 ℃ -120,00 ℃ -145,00 ℃ -155,00 °C ±0,20 °C ±0,40 °C
ITS90 Pt 10 -243,0 °C -200,0 °C 850,0 °C 1000,0 °C ±1,0 °C ±2,0 °C
DIN EN 60751 Pt 50 -243,0 °C -200,0 °C 850,0 °C 1000,0 °C ±0,5 °C ±1,0 °C
Pt 100
Pt 200
Pt 500
Pt 1000
Pt 0,003902 Pt 100 -243,0 °C -200,0 °C 850,0 °C 1000,0 °C ± 0,5 °C ±1,0 °C
Pt 0,003916 Pt 200
Pt 0,003920
Pt 500
Pt 1000
Pt 0,003910 Pt 10 -273,2 °C -240,0 °C 1100,0 °C 1295 °C ±1,0 °C ±2,0 °C
Pt 50 -273,2 °C -240,0 °C 1100,0 °C 1295 °C ±0,8 °C ±1,6 °C
Pt 100
Pt 500
Ni 0,006720 Ni 100 -105,0 °C -60,0 °C 250,0 °C 295,0 °C ±0,5 °C ±1,0 °C
Ni 0,006180 Ni 120
Ni 200
Ni 500
Ni 1000
LG-Ni 0,005000 LG-Ni 1000 -105,0 °C -60,0 °C 250,0 °C 295,0 °C ±0,5 °C ±1,0 °C
Ni 0,006170 Ni 100 -105,0 °C -60,0 °C 180,0 °C 212,4 °C ±0,5 °C ±1,0 °C
Cu 0,004270 Cu 10 -240,0 °C -200,0 °C 260,0 °C 312,0 °C ±1,0 ° ±2,0 °C
Cu 0,004260 Cu 10 -60,0 °C -50,0 °C 200,0 °C 240,0 °C ±1,0 °C ±2,0 °C
Cu 50 -60,0 °C -50,0 °C 200,0 °C 240,0 °C ±0,6 ℃ ±1,2 ℃
Cu 100
Cu 0,004280 Cu 10 -240,0 °C -200,0 °C 200,0 °C 240,0 °C ±1,0 °C ±2,0 °C
Cu 50 -240,0 °C -200,0 °C 200,0 °C 240,0 °C ±0,7 °C ±1,4 °C
Cu 100
1 I valori delle termocoppie inferiori al valoo minimo di underrange vengono specificati come -32768.
2 I valori RTD superiori al valore massimo di overrange vengono specificati come +32768.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 991
Dati tecnici
A.12 Signal board digitali (SB)

Tabella A- 235 Resistenza

Campo Sotto il limite Limite inferiore Limite superiore Sopra il limite Precisione del Precisione del
minimo del del campo del campo massimo del campo normale campo normale
campo nominale nominale campo1 a 25 ℃ da -20°C a 60

150 Ω n/d 0 (0 Ω) 27648 (150 Ω) 176,383 Ω ±0,05% ±0,1%
300 Ω n/d 0 (0 Ω) 27648 (300 Ω) 352,767 Ω ±0,05% ±0,1%
600 Ω n/d 0 (0 Ω) 27648 (600 Ω) 705,534 Ω ±0,05% ±0,1%
1 I valori di resistenza superiori al valore massimo di overrange vengono specificati come 32767.

Nota
Se il sensore non è collegato il modulo segnala 32767 nei canali attivi. Se è attivo anche il
rilevamento di rottura del conduttore gli appositi LED rossi del modulo lampeggiano.
Nei sensori RTD da 10 Ω la precisione migliore viene ottenuta utilizzando collegamenti a 4
fili.
Nella modalità a 2 fili la resistenza dei conduttori causa un errore nella lettura del sensore e
non garantisce la precisione massima.

Tabella A- 236 Riduzione del rumore e tempi di aggiornamento per le unità RTD

Frequenza di reiezione Tempo di Modulo a 4/2 fili e a 1 canale Modulo a 3 fili e a 1 canale
integrazione Tempo di aggiornamento (secondi) Tempo di aggiornamento (secondi)
400 Hz (2,5 ms) 10 ms 1 0,036 0,071
60 Hz (16,6 ms) 16,67 ms 0,056 0,111
50 Hz (20 ms) 20 ms 0,066 1,086
10 Hz (100 ms) 100 ms 0,306 0,611
1 Per mantenere la risoluzione e la precisione del modulo con il filtro di 400 Hz, il tempo di integrazione deve essere di 10
ms. Selezionando questo valore vengono filtrati anche i disturbi a 100 Hz e 200 Hz.

Nota
Una volta collegata l'alimentazione il modulo esegue la calibrazione interna del convertitore
analogico-digitale. Durante questo periodo di tempo restituisce il valore 32767 in tutti i canali
finché i canali non hanno dati validi. Nel programma utente può essere necessario tener
conto di questo tempo di inizializzazione. Poiché la configurazione del modulo può variare la
durata del tempo di inizializzazione è opportuno verificarne il comportamento o il modulo
nella configurazione. Se necessario, è possibile includere un circuito logico nel programma
utente per adattare il tempo di inizializzazione del modulo.

Sistema di automazione S7-1200


992 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.13 BB 1297 Scheda di batteria

A.13 BB 1297 Scheda di batteria

BB 1297 Scheda di batteria


La scheda di batteria BB 1297 S7-1200 è stata progettata per il backup a lungo termine
dell'orologio hardware. Può essere inserita nello slot per signal board della CPU S7-1200
(dal firmware 3.0 in poi). La BB 1297 deve essere aggiunta alla configurazione dei dispositivi
e per far sì che sia funzionale occorre caricare la configurazione hardware nella CPU.
La batteria (tipo CR1025) non è in dotazione alla BB 1297 e deve essere acquistata a parte.

Nota
La BB 1297 è stata progettata meccanicamente per CPU con firmware dalla versione 3.0 in
poi.
Non utilizzare la BB 1297 con versioni precedenti di CPU in quanto il connettore della BB
1297 non si inserirebbe nella CPU.

Tabella A- 237 Dati tecnici generali

Dati tecnici BB 1297 Scheda di batteria


Numero di ordinazione 6ES7 297-0AX30-0XA0
Dimensioni L x A x P (mm) 38 x 62 x 21
Peso 28 grammi
Dissipazione di potenza 0,5 W
Assorbimento di corrente (bus SM) 11 mA
Assorbimento di corrente (24 VDC) Nessuno

Batteria (non in dotazione) BB 1297 Scheda di batteria


Tempo di mantenimento Circa 1 anno
Tipo di batteria CR1025 Consultare Installazione o sostituzione di una
batteria nella scheda di batteria BB 1297 (Pagina 58)
Tensione nominale 3V
Capacità nominale 30 mAH min.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 993
Dati tecnici
A.14 Interfacce di comunicazione

Diagnostica BB 1297 Scheda di batteria


Livello critico della batteria < 2,5 V
Diagnostica della batteria Indicatore di bassa tensione:
• Una bassa tensione della batteria provoca l'accensione
del led CPU MAINT con la luce ambra sempre accesa.
• Evento di buffer di diagnostica: 16#06:2700 "Necessaria
manutenzione sottomodulo: almeno una batteria
esaurita (BATTF)"
Stato della batteria È disponibile un bit di stato della batteria
0 = batteria OK
1 = batteria scarica
Aggiornamento dello stato della batteria Lo stato della batteria viene aggiornato all'accensione e in
seguito una volta al giorno quando la CPU è in RUN.

Tabella A- 238 Schema di inserimento della scheda di batteria BB 1297

Scheda di batteria BB 1297 (6ES7 297-0AX30-0XA0)

A.14 Interfacce di comunicazione

A.14.1 PROFIBUS

A.14.1.1 Slave PROFIBUS DP CM 1242-5

Tabella A- 239 Dati tecnici del CM 1242-5

Dati tecnici
Numero di ordinazione 6GK7 242-5DX30-0XE0
Interfacce

Sistema di automazione S7-1200


994 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.14 Interfacce di comunicazione

Dati tecnici
Collegamento a PROFIBUS Presa Sub-D a 9 poli
Corrente assorbita massima sull'interfaccia PROFIBUS per il 15 mA a 5 V (solo per terminazione di bus) *)
collegamento a componenti di rete (ad esempio componenti
di rete ottici)
Temperature ambiente ammesse
Temperatura ambiente
• durante il magazzinaggio • -40 °C ... 70 °C
• durante il trasporto • -40 °C ... 70 °C
• durante la fase di funzionamento in caso di installazione • 0 °C ... 55 °C
verticale (guida ad U orizzontale)
• durante la fase di funzionamento in caso di installazione • 0 °C ... 45 °C
orizzontale (guida ad U verticale)
Umidità relativa a 25 °C durante la fase di funzionamento, 95 %
senza condensa, max.
Grado di protezione IP20
Alimentazione, corrente assorbita, potenza dissipata
Tipo di alimentazione DC
Alimentazione dal bus back-plane 5V
Corrente assorbita (caratteristica) 150 mA
Potenza attiva dissipata (caratteristica) 0,75 W
Separazione di potenziale 710 V DC per 1 minuto
• Interfaccia PROFIBUS a massa
• Interfaccia PROFIBUS a circuito elettronico interno
Dimensioni e pesi
• Larghezza • 30 mm
• Altezza • 100 mm
• Profondità • 75 mm
Peso
• Peso netto • 115 g
• Peso confezione compresa • 152 g

*) Per la terminazione di bus il carico elettrico dovuto ad un'utenza esterna, collegata tra VP (pin 6) e DGND (pin 5), deve
essere max. 15 mA (resistente a cortocircuito).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 995
Dati tecnici
A.14 Interfacce di comunicazione

Interfaccia PROFIBUS

Tabella A- 240 Assegnazione dei contatti della presa Sub-D

Pin Descrizione Pin Descrizione


1 - libero - 6 P5V2: Alimentazione +5V
2 - libero - 7 - libero -
3 RxD/TxD-P: Conduttori dati B 8 RxD/TxD-N: Conduttori dati A
4 RTS 9 - libero -
5 M5V2: Potenziale di riferimento Contenitor Collegamento a terra
dati (massa DGND) e

A.14.1.2 Master PROFIBUS DP CM 1243-5

Tabella A- 241 Dati tecnici del CM 1243-5

Dati tecnici
Numero di ordinazione 6GK7 243-5DX30-0XE0
Interfacce
Collegamento a PROFIBUS Presa Sub-D a 9 poli
Corrente assorbita massima sull'interfaccia PROFIBUS per il 15 mA a 5 V (solo per terminazione di bus) *)
collegamento a componenti di rete (ad esempio componenti
di rete ottici)
Temperature ambiente ammesse
Temperatura ambiente
• durante il magazzinaggio • -40 °C ... 70 °C
• durante il trasporto • -40 °C ... 70 °C
• durante la fase di funzionamento in caso di installazione • 0 °C ... 55 °C
verticale (guida ad U orizzontale)
• durante la fase di funzionamento in caso di installazione • 0 °C ... 45 °C
orizzontale (guida ad U verticale)
Umidità relativa a 25 °C durante la fase di funzionamento, 95 %
senza condensa, max.
Grado di protezione IP20
Alimentazione, corrente assorbita, potenza dissipata
Tipo di alimentazione DC
Tensione di alimentazione / esterna 24 V
• minima • 19,2 V
• massima • 28,8 V
Corrente assorbita (caratteristica)
• dai DC 24 V • 100 mA
• dal bus back-plane S7-1200 • 0 mA

Sistema di automazione S7-1200


996 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.14 Interfacce di comunicazione

Dati tecnici
Potenza attiva dissipata (caratteristica)
• dai DC 24 V • 2,4 W
• dal bus back-plane S7-1200 • 0W
Alimentazione DC 24 V / esterna
• Sezione minima del cavo • min.: 0,14 mm2 (AWG 25)
• Sezione massima del cavo • max.: 1,5 mm2 (AWG 15)
• Coppia di serraggio dei morsetti a vite • 0,45 Nm (4 lb.in.)
Separazione di potenziale 710 V DC per 1 minuto
• Interfaccia PROFIBUS a massa
• Interfaccia PROFIBUS a circuito elettronico interno
Dimensioni e pesi
• Larghezza • 30 mm
• Altezza • 100 mm
• Profondità • 75 mm
Peso
• Peso netto • 134 g
• Peso confezione compresa • 171 g

*) Per la terminazione di bus il carico elettrico dovuto ad un'utenza esterna, collegata tra VP (pin 6) e DGND (pin 5), deve
essere max. 15 mA (resistente a cortocircuito).

Nota
Il CM 1243-5 (modulo master PROFIBUS) deve ricevere l'alimentazione dal sensore a 24 V
DC della CPU.

Interfaccia PROFIBUS

Tabella A- 242 Assegnazione dei contatti della presa Sub-D

Pin Descrizione Pin Descrizione


1 - libero - 6 VP: Alimentazione +5V solo per
resistenze terminali di bus
(terminazione);
non per alimentazione di apparecchi
esterni
2 - libero - 7 - libero -
3 RxD/TxD-P: Conduttori dati B 8 RxD/TxD-N: Conduttori dati A
4 CNTR-P: RTS 9 - libero -
5 DGND: Massa per segnali di dati Contenitore Collegamento a terra
e VP

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 997
Dati tecnici
A.14 Interfacce di comunicazione

Cavo PROFIBUS

Nota
Applicazione dello schermo del cavo PROFIBUS
Lo schermo del cavo PROFIBUS deve essere applicato.
Togliere quindi un pezzo dell'isolamento del cavo PROFIBUS sull'estremità e collegare lo
schermo con la terra funzionale.

A.14.2 GPRS

Nota
Il CP GPRS non è omologato per le applicazioni nel settore marittimo
Il seguente modulo non dispone dell'omologazione nel settore marittimo:
• Modulo GPRS CP 1242-7

Nota
Per poter utilizzare questi moduli il firmware della CPU deve avere la versione V2.0
superiore.

A.14.2.1 CP 1242-7 GPRS

Tabella A- 243 Dati tecnici del CP CP 1242-7

Dati tecnici
Numero di ordinazione 6GK7 242-7KX30-0XE0
Interfaccia radio
Collegamento antenna Presa SMA
Impedenza nominale 50 ohm
Radiocollegamento
Potenza massima di trasmissione • GSM 850, Class 4: +33 dBm ±2dBm
• GSM 900, Class 4: +33 dBm ±2dBm
• GSM 1800, Class 1: +30 dBm ±2dBm
• GSM 1900, Class 1: +30 dBm ±2dBm
GPRS Classe Multislot 10
Classe terminale dati B
Schema di codifica 1...4 (GMSK)
SMS Modo operativo in uscita: Servizio
MO: Punto a punto

Sistema di automazione S7-1200


998 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.14 Interfacce di comunicazione

Dati tecnici
Temperature ambiente ammesse
Temperatura ambiente
• durante il magazzinaggio • -40 °C ... 70 °C
• durante il trasporto • -40 °C ... 70 °C
• durante la fase di funzionamento in caso di installazione • 0 °C ... 55 °C
verticale (guida ad U orizzontale)
• durante la fase di funzionamento in caso di installazione • 0 °C ... 45 °C
orizzontale (guida ad U verticale)
Umidità relativa a 25 °C durante la fase di funzionamento, 95 %
senza condensa, max.
Grado di protezione IP20
Alimentazione, corrente assorbita, potenza dissipata
Tipo di alimentazione DC
Tensione di alimentazione / esterna 24 V
• minima • 19,2 V
• massima • 28,8 V
Corrente assorbita (caratteristica)
• dai DC 24 V • 100 mA
• dal bus back-plane S7-1200 • 0 mA
Potenza attiva dissipata (caratteristica)
• dai DC 24 V • 2,4 W
• dal bus back-plane S7-1200 • 0W
Alimentazione DC 24 V
• Sezione minima del cavo • min.: 0,14 mm2 (AWG 25)
• Sezione massima del cavo • max.: 1,5 mm2 (AWG 15)
• Coppia di serraggio dei morsetti a vite • 0,45 Nm (4 lb.in.)
Separazione di potenziale 710 V DC per 1 minuto
Alimentatore a circuito elettronico interno
Dimensioni e pesi
• Larghezza • 30 mm
• Altezza • 100 mm
• Profondità • 75 mm
Peso
• Peso netto • 133 g
• Peso confezione compresa • 170 g

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 999
Dati tecnici
A.14 Interfacce di comunicazione

Dati tecnici dell'antenna GSM/GPRS ANT794-4MR

ANT794-4MR
Numero di ordinazione 6NH9860-1AA00
Reti telefonia mobile GSM / GPRS
Campi di frequenza • 824...960 MHz (GSM 850, 900)
• 1 710...1 880 MHz (GSM 1 800)
• 1 900...2 200 MHz (GSM / UMTS)
Caratteristica omnidirezionale
Guadagno di antenna 0 dB
Impedenza 50 ohm
Rapporto onda stazionaria (ROS) < 2,0
Potenza massima 20 W
Polarità lineare verticale
Connettore SMA
Lunghezza cavo antenna 5m
Materiale esterno PVC duro, resistente a raggi UV
Grado di protezione IP20
Condizioni ambientali ammesse
• Temperatura di esercizio • -40 °C ... +70 °C
• Temperatura di trasporto/magazzinaggio • -40 °C ... +70 °C
• Umidità relativa • 100 %
Materiale esterno PVC duro, resistente a raggi UV
Struttura costruttiva Antenna con 5 m di cavo collegato in modo fisso
e connettore SMA
Dimensioni (diametro x altezza) in mm 25 x 193
Peso
• Antenna compreso cavo • 310 g
• Componenti di montaggio • 54 g
Montaggio Sull'angolare fornito

Dati tecnici dell'antenna piatta ANT794-3M

Numero di ordinazione 6NH9870-1AA00


Reti telefonia mobile GSM 900 GSM 1800/1900
Campi di frequenza 890 - 960 MHz 1710 - 1990 MHz
Rapporto onda stazionaria ≤ 2:1 ≤ 1,5:1
(ROS)
Attenuazione di riflusso (Tx) ≈ 10 dB ≈ 14 dB
Guadagno di antenna 0 dB
Impedenza 50 ohm

Sistema di automazione S7-1200


1000 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.14 Interfacce di comunicazione

Potenza massima 10 W
Cavo antenna Cavo HF RG 174 (collegato in modo fisso) con connettore SMA
Lunghezza cavo 1,2 m
Grado di protezione IP 64
Campo di temperatura -40°C ... +75°C
ammesso
Resistenza alla fiamma UL 94 V2
Materiale esterno ABS Polylac PA-765, grigio chiaro (RAL 7035)
Dimensioni (L x L x P) in mm 70,5 x 146,5 x 20,5
Peso 130 g

A.14.3 Master AS-i CM 1243-2

A.14.3.1 Dati tecnici del master AS-i CM 1243-2

Tabella A- 244 Dati tecnici del master AS-i CM 1243-2

Dati tecnici
Numero di ordinazione 3RK7243-2AA30-0XB0
Versione del firmware V1.0
Data 01.12.2011
Interfacce
Assorbimento di corrente massimo
dal bus di comunicazione S7-1200 max. 250 mA,
Tensione di alimentazione del bus di comunicazione
dal cavo AS-i S7-1200 DC 5 V
max. 100 mA
Portata massima tra i 8A
morsetti ASI+ o ASI-
Assegnazione dei pin Vedere il capitolo Collegamenti elettrici del master AS-i CM
1243-2 (Pagina 1002)
Sezione del conduttore 0,2 mm² (AWG 24) ... 3,3 mm² (AWG 12)
Coppia di serraggio connettore ASI 0,56 Nm
Condizioni ambientali ammessi
Temperatura ambiente
per l'immagazzinaggio -40 °C ... 70 °C
durante il trasporto -40 °C ... 70 °C
nella fase operativa con installazione verticale (guida
profilata orizzontale) 0 °C ... 55 °C
nella fase operativa con installazione orizzontale (guida
profilata verticale) 0 °C ... 45 °C
Umidità relativa max. a 25 °C nella fase operativa, senza 95 %
formazione di condensa

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1001
Dati tecnici
A.14 Interfacce di comunicazione

Dati tecnici
Grado di protezione IP20
Alimentazione di tensione, corrente assorbita, potenza dissipata
Tipo di alimentazione di tensione DC
Corrente assorbita (tipica)
dal bus backplane S7-1200 200 mA
Potenza attiva dissipata (tipica):
• dal bus backplane S7-1200 1W
2,4 W
• dal cavo AS-i
Dimensioni e pesi
Larghezza 30 mm
Altezza 100 mm
Profondità 75 mm
Peso
Peso netto 122 g
Peso, imballaggio incluso 159 g

A.14.3.2 Collegamenti elettrici del master AS-i CM 1243-2

Alimentazione di tensione del master AS-i CM 1243-2


L'alimentazione del master AS-i CM 1243-2 avviene tramite il bus di comunicazione del
controllore S7-1200. È così possibile inviare un messaggio di diagnostica al controllore
S7-1200 anche in caso di caduta della tensione di alimentazione AS-i. Il collegamento al bus
di comunicazione si trova sul lato destro del master AS-i CM 1243-2.

Morsetti di collegamento AS-Interface


I morsetti rimovibili per il collegamento del cavo AS-i si trovano dietro lo sportello di
copertura inferiore sul lato anteriore del master AS-i CM 1243-2.

Sistema di automazione S7-1200


1002 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.14 Interfacce di comunicazione

Se si utilizza il cavo profilato AS-i, è possibile riconoscere la polarità corretta del cavo di
collegamento dal simbolo .
Indicazioni per lo smontaggio e il rimontaggio del blocco morsetti si trovano nel Manuale di
sistema "Sistema di automazione SIMATIC S7-1200 " (n. di
ordinazione: 6ES7298-8FA30-8AH0).

Nota
Caricabilità massima dei contatti di collegamento
La caricabilità dei contatti di collegamento è di max. 8 A. Se questo valore viene superato sul
cavo AS-i, il master AS-i CM 1243-2 non deve essere interconnesso lungo il cavo AS-i, ma
deve essere collegato tramite un cavo di derivazione (è impegnata solo una coppia di
connessioni del master AS-i CM 1243-2).
È inoltre da considerare che, in caso di passaggio di corrente attraverso il master AS-i e di
correnti superiori a 4 A, i cavi utilizzati devono essere adatti per una temperatura d'impiego
di almeno 75 °C.
Ulteriori indicazioni sul collegamento del cavo AS-i si trovano nel capitolo "Montaggio,
collegamento e messa in servizio delle unità" nel manuale "Master AS-i CM 1243-2 e
modulo di disaccoppiamento dati AS-i DCM 1271 per SIMATIC S7-1200".

Assegnazione dei morsetti

Dicitura Significato
ASI + Connessione AS-i – polarità positiva
ASI – Connessione AS-i – polarità negativa
Terra funzionale

A.14.4 RS232, RS422 e RS485

A.14.4.1 Dati tecnici di CB 1241 RS485

Nota
Per poter utilizzare questa CB, il firmware della CPU deve avere la versione V2.0 superiore.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1003
Dati tecnici
A.14 Interfacce di comunicazione

Tabella A- 245 Dati tecnici generali

Dati tecnici CB 1241 RS485


Numero di ordinazione 6ES7 241-1CH30-1XB0
Dimensioni L x A x P (mm) 38 x 62 x 21
Peso 40 grammi

Tabella A- 246 Trasmettitore e ricevitore

Dati tecnici CB 1241 RS485


Tipo RS485 (half-duplex a 2 fili)
Campo della tensione in modo comune -7 V ... +12 V, 1 secondo, 3 V RMS continuo
Tensione di uscita differenziale trasmettitore 2 V min. a RL = 100 Ω
1,5 V min. a RL = 54 Ω
Terminazione e polarizzazione 10 K Ω ... +5 V su B, RS485 pin 3
10K Ω ... GND su A, RS485 pin 4
Interruzione opzionale Pin corto TB ... pin T/RB, impedenza di terminazione effettiva 127 Ω,
collega a RS485 pin 3
Pin corto TA ... pin T/RA, impedenza di terminazione effettiva 127 Ω,
collega a RS485 pin 4
Impedenza di ingresso ricevitore 5,4 K Ω min. compresa la terminazione
Soglia/sensibilità ricevitore +/- 0,2 V min., 60 mV isteresi tipica
Isolamento 500 VAC per 1 minuto
Tra il segnale RS485 e la massa del telaio
Tra il segnale RS485 e il comune dei circuiti logici
della CPU
Lunghezza conduttore schermato 1000 m max.
Velocità di trasmissione 300 baud, 600 baud, 1,2 kbit, 2,4 kbit, 4,8 kbit, 9,6 kbit (default), 19,2
kbit, 38,4 kbit, 57,6 kbit, 76,8 kbit, 115,2 kbit,
Parità Nessuna parità (default), pari, dispari, mark (bit di parità sempre
impostato a 1), space (bit di parità sempre impostato a 0)
Numero di bit di stop 1 (default), 2
Controllo del flusso Non supportato
Tempo di attesa 0 ... 65535 ms

Tabella A- 247 Alimentazione elettrica

Dati tecnici CB 1241 RS485


Dissipazione di potenza 1,5 W
Corrente assorbita (bus SM) max. 50 mA
Corrente assorbita (24 VDC) max. 80 mA

Sistema di automazione S7-1200


1004 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.14 Interfacce di comunicazione

CB 1241 RS485 (6ES7 241-1CH30-1XB0)

① Collegare "TA" e TB" per chiudere il segmento, come illustato. (Chiudere solo i dispositivi finali nel segmento RS485.)
② Utilizzare un cavo doppio ritorto schermato e collegare lo schermo del cavo a terra.
Vengono chiuse solo le due estremità del segmento RS485. I dispositivi che si trovano tra i
due dispositivi finali non vengono terminati né polarizzati. Vedere il paragrafo
"Polarizzazione e terminazione di un connettore RS485" del manuale di sistema S7-1200.

Tabella A- 248 Disposizione dei piedini del connettore della CB 1241 RS485 (6ES7 241-1CH30-
1XB0)

Piedino Connettore a 9 piedini X20


1 RS485 / massa logica --
2 RS485 / non utilizzato --
3 RS485 / TxD+ 3 - T/RB
4 RS485 / RTS 1 - RTS
5 RS485 / massa logica --
6 RS485 / 5 V Power --
7 RS485 / non utilizzato --
8 RS485 / TxD- 4 - T/RA
9 RS485 / non utilizzato --
Corpo 7-M

Vedere anche
Polarizzazione e terminazione di un connettore RS485 (Pagina 688)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1005
Dati tecnici
A.14 Interfacce di comunicazione

A.14.4.2 CM 1241 RS232, dati tecnici

Tabella A- 249 Dati tecnici generali

Dati tecnici CM 1241 RS232


Numero di ordinazione 6ES7 241-1AH32-0XB0
Dimensioni (mm) 30 x 100 x 75
Peso 150 grammi

Tabella A- 250 Trasmettitore e ricevitore

Dati tecnici CM 1241 RS232


Tipo RS232 (full-duplex)
Tensione di uscita trasmettitore +/- 5 V min. a RL=3 K Ω
Tensione di uscita trasmettitore +/- 15 VDC max.
Impedenza di ingresso ricevitore 3 K Ω min.
Soglia/sensibilità ricevitore 0,8 V min. bassa, 2,4 V max. alta,
0,5 V isteresi tipica
Tensione di ingresso ricevitore +/- 30 VDC max.
Isolamento 500 VAC per 1 minuto
Tra il segnale RS 232 e la massa del telaio
Tra il segnale RS 232 e il comune dei circuiti logici
della CPU
Lunghezza conduttore schermato 10 m max.
Velocità di trasmissione 300 baud, 600 baud, 1,2 kbit, 2,4 kbit, 4,8 kbit, 9,6 kbit (default), 19,2
kbit, 38,4 kbit, 57,6 kbit, 76,8 kbit, 115,2 kbit,
Parità Nessuna parità (default), pari, dispari, mark (bit di parità sempre
impostato a 1), space (bit di parità sempre impostato a 0)
Numero di bit di stop 1 (default), 2
Controllo del flusso Hardware, software
Tempo di attesa 0 ... 65535 ms

Tabella A- 251 Alimentazione elettrica

Dati tecnici CM 1241 RS232


Dissipazione di potenza 1W
Da +5 VDC 200 mA

Sistema di automazione S7-1200


1006 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.14 Interfacce di comunicazione

Tabella A- 252 Connettore RS232 (maschio)

Piedino Descrizione Connettore Piedino Descrizione


(maschio)
1 DCD Data carrier detect (rileva portante): 6 DSR Data set ready (set di dati pronto): Ingresso
Ingresso
2 RxD Dati ricevuti da DCE: Ingresso 7 RTS Request to Send (richiesta di invio): Uscita
3 TxD Dati trasmessi da DCE: Uscita 8 CTS Clear to send (pronto a trasmettere):
Ingresso
4 DTR Data terminal ready (terminale dati 9 RI Ring indicator (indicatore di squillo) (non
pronto): Uscita utilizzato)
5 GND Massa logica CORPO Massa del telaio

A.14.4.3 Dati tecnici del CM 1241 RS422/485

Dati tecnici del CM 1241 RS422/485

Tabella A- 253 Dati tecnici generali

Dati tecnici CM 1241 RS422/485


Numero di ordinazione 6ES7 241-1CH32-0XB0
Dimensioni L x A x P (mm) 30 x 100 x 75
Peso 155 grammi

Tabella A- 254 Trasmettitore e ricevitore

Dati tecnici CM 1241 RS422/485


Tipo RS422 o RS485, connettore femmina sub D a 9 piedini
Campo della tensione in modo comune -7 V ... +12 V, 1 secondo, 3 V RMS continuo
Tensione di uscita differenziale trasmettitore 2 V min. a RL = 100 Ω
1,5 V min. a RL = 54 Ω
Terminazione e polarizzazione 10 K Ω ... +5 V su B, PROFIBUS piedino 3
10 K Ω ... GND su A, PROFIBUS piedino 8
Opzioni per resistenza di polarizzazione interna o nessuna
resistenza di polarizzazione interna. In tutti i casi è necessaria una
resistenza di terminazione esterna, consultare Polarizzazione e
terminazione di un connettore di rete RS485 (Pagina 688) e
Configurazione di RS422 e RS485 nel manuale di sistema dell'S7-
1200 (Pagina 729)
Impedenza di ingresso ricevitore 5,4 K Ω min. compresa la terminazione
Soglia/sensibilità ricevitore +/- 0,2 V min., 60 mV isteresi tipica
Isolamento 500 VAC per 1 minuto
Tra il segnale RS485 e la massa del telaio
Tra il segnale RS485 e il comune dei circuiti logici
della CPU
Lunghezza conduttore schermato 1000 m max. (in funzione della velocità di trasmissione)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1007
Dati tecnici
A.15 TeleService (TS Adapter e TS Adapter modulare)

Dati tecnici CM 1241 RS422/485


Velocità di trasmissione 300 baud, 600 baud, 1,2 kbit, 2,4 kbit, 4,8 kbit, 9,6 kbit (default), 19,2
kbit, 38,4 kbit, 57,6 kbit, 76,8 kbit, 115,2 kbit,
Parità Nessuna parità (default), pari, dispari, mark (bit di parità sempre
impostato a 1), space (bit di parità sempre impostato a 0)
Numero di bit di stop 1 (default), 2
Controllo del flusso Supporto di XON/XOFF per il modo RS422
Tempo di attesa 0 ... 65535 ms

Tabella A- 255 Alimentazione elettrica

Dati tecnici CM 1241 RS422/485


Dissipazione di potenza 1,1 W
Da +5 VDC 220 mA

Tabella A- 256 Connettore RS485 o RS422 (femmina)

Piedino Descrizione Connettore Piedino Descrizione


(femmina)
1 Massa logica o di comunicazione 6 PWR +5 V con resistenza in serie di 100 ohm:
Uscita
2 TxD+ 1 Collegato per RS422 7 Non collegato
Non viene utilizzato RS485: Uscita
3 TxD+ Segnale B (RxD/TxD+): 8 TXD- Segnale A (RxD/TxD-): Ingresso/uscita
Ingresso/uscita
4 RTS 2 Request to send (richiesta di invio) 9 TXD- 1 Collegato per RS422
(livello TTL) Uscita Non viene utilizzato RS485: Uscita
5 GND Massa logica o di comunicazione CORPO Massa del telaio
1 I piedini 2 e 9 sono utilizzati solo come segnali di trasmissione per RS422.
2 RTS è un segnale di livello TTL e può essere usato per comandare un altro dispositivo half-duplex basato su questo
segnale. È attivo durante la trasmissione e disattivato negli altri casi.

A.15 TeleService (TS Adapter e TS Adapter modulare)


I seguenti manuali riportano le specifiche tecniche per il TS Adapter IE Basic e il TS Adapter
modulare:
● Tool di engineering per software industriali
TS Adapter modulare
● Tool di engineering per software industriali
TS Adapter IE Basic

Sistema di automazione S7-1200


1008 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.16 Memory card SIMATIC

Per maggiori informazioni su questo prodotto e per la documentazione del prodotto


consultare la pagina Web con il catalogo del prodotto relativa al TS Adapter
(https://eb.automation.siemens.com/mall/en/de/Catalog/Search?searchTerm=TS%20Adapte
r%20IE%20basic&tab=).

A.16 Memory card SIMATIC

Numero di ordinazione Capacità


6ES7 954-8LT02-0AA0 32 GB
6ES7 954-8LP02-0AA0 2 GB
6ES7 954-8LL02-0AA0 256 MB
6ES7 954-8LF02-0AA0 24 MB
6ES7 954-8LE02-0AA0 12 MB
6ES7 954-8LC02-0AA0 4 MB

A.17 Simulatori di ingressi

Tabella A- 257 Dati tecnici generali

Dati tecnici Simulatore a 8 posizioni Simulatore a 14 posizioni Simulatore della CPU 1217C
Numero di ordinazione 6ES7 274-1XF30-0XA0 6ES7 274-1XH30-0XA0 6ES7 274-1XK30-0XA0
Dimensioni L x A x P (mm) 43 x 35 x 23 67 x 35 x 23 93 x 40 x 23
Peso 20 grammi 30 grammi 43 grammi
I/O 8 14 14
Utilizzato con la CPU CPU 1211C, CPU 1212C CPU 1214C, CPU 1215C CPU 1217C

AVVERTENZA
Uso sicuro dei simulatori di ingressi
Questi simulatori di ingressi non sono stati certificati per l'utilizzo in luoghi pericolosi della
Classe I DIV 2 e della Classe I Zona 2, perché gli switch possono provocare scintille ed
esplosioni se utilizzati negli ambienti di questo tipo. Il funzionamento non approvato può
causare la morte o gravi lesioni al personale e/o danni alle apparecchiature.
Utilizzare i simulatori di ingressi solo in luoghi non pericolosi. Non utilizzarli in luoghi
pericolosi della Classe I DIV 2 o della Classe I Zona 2.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1009
Dati tecnici
A.17 Simulatori di ingressi

Simulatore a 8 posizioni (6ES7 274-1XF30-0XA0)


① Uscita di
alimentazione sensori
a 24 VDC

Simulatore a 14 posizioni (6ES7 274-1XF30-0XA0)


① Uscita di
alimentazione sensori a
24 VDC

Simulatore della CPU 1217C (6ES7 274-1XK30-0XA0)


① Uscita di
alimentazione sensori a
24 VDC

Sistema di automazione S7-1200


1010 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.18 Moduli potenziometro S7-1200

A.18 Moduli potenziometro S7-1200


Il modulo potenziometro S7-1200 è un accessorio della CPU S7-1200. Ogni potenziometro
genera una tensione di uscita proporzionale alla sua posizione per pilotare i due ingressi
analogici della CPU a 0 VDC e 10 VDC. Installazione del potenziometro:
1. Inserire la basetta del circuito stampato in una qualsiasi morsettiera di ingressi analogici
della CPU S7-1200 e collegare un'alimentazione esterna DC al connettore a 2 posizioni
del modulo potenziometro.
2. Effettuare le necessarie regolazioni con un piccolo cacciavite: ruotare il potenziometro in
senso orario (verso destra) per aumentare la tensione di uscita e in senso antiorario
(verso sinistra) per diminuirla.

Nota
Maneggiare il modulo potenziometro S7-1200 come indicato nelle direttive ESD.

Dati tecnici Descrizione


Numero di ordinazione 6ES7 274-1XA30-0XA0
Utilizzato con la CPU CPU S7-1200
Numero di potenziometri 2
Dimensioni L x A x P (mm) 20 x 33 x 14
Peso 26 grammi
Ingresso di tensione fornito dall'utente nel connettore a 2 16,4 VDC ... 28,8 VDC
posizioni1
(Classe 2, alimentazione limitata o alimentazione per
sensori dal PLC)
Lunghezza del cavo (metri)/tipo <30 m, cavo doppio ritorto schermato
Assorbimento di corrente ingressi 10 mA max.
Tensione di uscita del potenziometro per gli ingressi 0 VDC ... 10,5 VDC min.
analogici della CPU S7-12001
Isolamento Nessuno
Campo di temperatura ambiente -20 ℃ ... 60 ℃
1 La stabilità della tensione in uscita dal modulo dipende dalla qualità dell'ingresso di tensione
fornito dall'utente nel connettore a 2 posizioni, la si può considerare una tensione di ingresso
analogica.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1011
Dati tecnici
A.19 Prolunga per I/O

A.19 Prolunga per I/O

Tabella A- 258 Prolunghe

Dati tecnici
Numero di ordinazione 6ES7 290-6AA30-0XA0
Lunghezza del cavo 2m
Peso 200 g

Per informazioni sullo smontaggio e il montaggio della prolunga dell'S7-1200 consultare il


paragrafo Installazione (Pagina 64).

Sistema di automazione S7-1200


1012 Manuale di sistema, 03/2014, A5E02486684-AG
Dati tecnici
A.20 Prodotti associati

A.20 Prodotti associati

A.20.1 Power Module PM 1207


Il PM 1207 è un modulo di alimentazione per SIMATIC S7-1200. Questo modulo offre le
seguenti funzioni:
● ingresso 120/230 VAC, uscita 24 VDC/2,5A
● numero di ordinazione 6ESP 332-1SH71-4AA0
Per maggiori informazioni su questo prodotto e per la documentazione del prodotto
consultare il sito Web del catalogo prodotti per il PM 1207
(https://eb.automation.siemens.com/mall/en/de/Catalog/Product/6AG1332-1SH71-4AA0).

A.20.2 Compact Switch Module CSM 1277


Il CSM 1277 è uno switch compatto Industrial Ethernet che può essere utilizzato per
moltiplicare l'interfaccia Ethernet dell'S7-1200 in modo da permettere la comunicazione
simultanea con pannelli operatore, dispositivi di programmazione o altri controllori. Questo
modulo offre le seguenti funzioni:
● 4 prese RJ45 per il collegamento a Industrial Ethernet
● Spina a 3 poli nella morsettiera per il collegamento dell'alimentazione esterna 24 VDC sul
lato superiore
● LED per la visualizzazione della diagnostica e dello stato delle porte Industrial Ethernet
● Numero di ordinazione 6GK7 277-1AA00-0AA0
Per maggiori informazioni su questo prodotto e per la documentazione del prodotto
consultare il sito Web del catalogo prodotti per il CSM 1277
(https://eb.automation.siemens.com/mall/en/de/Catalog/Search?searchTerm=csm%201277&
tab=).

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1013
Dati tecnici
A.20 Prodotti associati

A.20.3 Modulo CM CANopen


Il modulo CM CANopen è un modulo plug-in che collega il PLC SIMATIC S7-1200 a un
qualsiasi dispositivo che esegue CANopen. Il CM CANopen può essere configurato sia
come master che come slave. Sono disponibili due CM CANopen modules: il modulo
CANopen (numero di ordinazione 021620-B) e il modulo CANopen (Ruggedized)
(Ruggedized) (numero di ordinazione 021730-B).
Il modulo CANopen offre le seguenti funzioni:
● È in grado di collegare 3 moduli per CPU
● Collega fino a 16 nodi slave CANopen
● 256 byte di ingresso e 256 byte di uscita per modulo
● 3 LED forniscono informazioni di diagnostica su modulo, rete e stato degli I/O
● Supporta il salvataggio della configurazione di rete CANopen nel PLC
● Il modulo può essere integrato nel catalogo hardware della suite di configurazione TIA
Portal
● Configurazione di CANopen tramite CANopen Configuration Studio (incluso) o un altro
strumento esterno di configurazione per CANopen
● È conforme ai profili di comunicazione CANopen CiA 301 rev. 4.2 e CiA 302 rev. 4.1
● Supporta CAN 2.0A trasparente per la gestione personalizzata dei protocolli
● Blocchi funzionali predefiniti disponibili per qualsiasi programmazione di PLC nel TIA
Portal
● Moduli CM CANopen inclusi; DSUB con morsetti a vite per sottorete. CD di CM CANopen
configuration studio e cavo di configurazione USB
Per maggiori informazioni su questo prodotto e per la documentazione del prodotto
consultare il sito Web del catalogo prodotti per il CM CM CANopen.

Sistema di automazione S7-1200


1014 Manuale di sistema, 03/2014, A5E02486684-AG
Calcolo del budget di potenza B
La CPU dispone di un alimentatore integrato che provvede all'alimentazione della CPU
stessa, dei moduli di ampliamento e delle altre utenze che richiedono un'alimentazione a 24
VDC.
Sono disponibili quattro tipi di moduli di ampliamento:
● I moduli di I/O (SM) vanno montati a destra della CPU. Ogni CPU consente di collegare
un numero particolare di moduli indipendentemente dal budget di potenza.
– La CPU 1214C, la CPU 1215C e la CPU 1217C consentono di collegare 8 moduli di
I/O
– La CPU 1212C consente di collegare 2 moduli di I/O
– La CPU 1211C non consente di collegare alcun modulo
● I moduli di comunicazione (CM) vanno montati a sinistra della CPU. È consentito
collegare al massimo 3 moduli per qualsiasi CPU indipendentemente dal budget di
potenza.
● Le Signal Board (SB), le schede di comunicazione (CB) e le schede di batteria (BB)
vanno montate nel lato superiore della CPU. Ogni CPU può contenere al massimo una
signal board, una scheda di comunicazione o una scheda di batteria.
Le informazioni fornite di seguito possono essere utilizzate come guida per determinare
quanta potenza (o corrente) la CPU è in grado di erogare alla propria configurazione.
Ogni CPU eroga una corrente continua a 5 VDC e 24 VDC.
● La CPU fornisce inoltre una tensione a 5VDC ai moduli di ampliamento (se presenti). Se
la tensione a 5 VDC assorbita dai moduli di ampliamento supera il budget di potenza
della CPU si devono rimuovere i moduli di ampliamento finché la corrente assorbita non
rientra nel budget disponibile.
● Ogni CPU dispone di un'alimentazione per sensori che fornisce una tensione a 24 VDC
agli ingressi locali o alle bobine dei relè dei moduli di ampliamento. Se la potenza
richiesta a 24 VDC è superiore al budget di potenza della CPU, è necessario aggiungere
un alimentatore esterno a 24 VDC per alimentare i moduli di ampliamento. L'alimentatore
a 24 VDC deve essere collegato manualmente agli ingressi e alle bobine del relè.

AVVERTENZA
Se si collega un alimentatore esterno a 24 VDC in parallelo all'alimentazione per sensori
DC può verificarsi un conflitto tra le due alimentazioni che cercheranno di imporre il
proprio livello di tensione di uscita preferenziale.
Ne potrebbero derivare una riduzione della durata o il guasto immediato di uno o
entrambi gli alimentatori, con conseguente funzionamento imprevedibile del sistema.
Ciò può causare la morte o gravi lesioni alle persone e/o danni alle cose.
L’alimentazione per sensori DC nella CPU e le sorgenti di alimentazione esterna devono
alimentare I/O diversi. È ammesso un unico collegamento dei poli comuni.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1015
Calcolo del budget di potenza

Alcune porte di ingresso dell'alimentazione a 24 VDC del sistema PLC sono interconnesse,
ovvero un circuito logico comune collega tra loro più morsetti M. Sono esempi di circuiti
interconnessi, se contrassegnati come "non isolati" nelle schede tecniche, l'ingresso di
alimentazione a 24 VDC della CPU, l'ingresso di alimentazione della bobina del relè di un
SM e un ingresso di alimentazione analogico non isolato. Tutti i morsetti M non isolati
devono essere collegati allo stesso potenziale di riferimento esterno.

AVVERTENZA
Se si collegano i morsetti M non isolati a potenziali di riferimento diversi si formano flussi di
corrente indesiderati che possono danneggiare il PLC e le apparecchiature a cui è
collegato o farli funzionare in modo imprevedibile.
Ciò può causare la morte o gravi lesioni alle persone e/o danni alle cose.
È quindi importante accertarsi che i morsetti M non isolati del sistema PLC siano collegati
allo stesso potenziale di riferimento.

Per informazioni sul budget di potenza delle CPU e sulla potenza richiesta dai moduli di
ampliamento consultare idati tecnici (Pagina 853).

Nota
Se si supera il budget di potenza della CPU potrebbe non essere possibile collegare il
numero massimo di moduli.

Esempio di budget di potenza


La tabella sotto riportata illustra un esempio di calcolo della potenza richiesta da una
configurazione costituita da una CPU 1214C AC/DC/relè, una SB 1223 con 2 ingressi 24 VD
C / 2 uscite 24 VD C, un CM 1241, tre SM 1223 con 8 ingressi DC/8 uscite relè e un SM
1221 con 8 ingressi DC. In questo esempio ci sono un totale di 48 ingressi e 36 uscite.

Nota
La CPU ha già assegnato la potenza necessaria per le bobine relè interne per cui non è
necessario tenerne conto nel calcolo del budget di potenza.

In questo esempio la tensione a 5 VDC fornita dalla CPU è sufficiente ad alimentare gli SM,
mentre l'alimentazione per sensori a 24 VDC risulta insufficiente ad alimentare gli ingressi e
le bobine dei relè. Gli I/O richiedono 456 mA ma la CPU fornisce solo 400 mA. Per
alimentare tutti gli ingressi e le uscite a 24 VDC dell'installazione è quindi necessario un
ulteriore alimentatore da min. 56 mA.

Sistema di automazione S7-1200


1016 Manuale di sistema, 03/2014, A5E02486684-AG
Calcolo del budget di potenza

Tabella B- 1 Esempio di budget di potenza

Budget di potenza della CPU 5 VDC 24 VDC


CPU 1214C AC/DC/relè 1600 mA 400 mA
Meno
Requisiti del sistema 5 VDC 24 VDC
CPU 1214C, 14 ingressi - 14 * 4 mA = 56 mA
1 SB 1223 con 2 ingressi 24 VDC / 2 50 mA 2 * 4 mA = 8 mA
uscite 24 VDC
1 CM 1241 RS422/485, 5 V 220 mA
3 SM 1223, 5 V 3 * 145 mA = 435 mA -
1 SM 1221, 5 V 1 * 105 mA = 105 mA -
3 SM 1223, ognuno con 8 ingressi - 3 * 8 * 4 mA = 96 mA
3 SM 1223, ognuno con 8 bobine relè - 3 * 8 * 11 mA = 264 mA
1 SM 1221, ognuno con 8 ingressi - 8 * 4 mA = 32 mA
Fabbisogno totale 810 mA 456 mA
Uguale
Bilancio di corrente 5 VDC 24 VDC
Corrente complessiva 790 mA (56 mA)

Modello per il calcolo del proprio budget di potenza


La tabella qui raffigurata può essere utilizzata per calcolare la potenza (o corrente) che la
CPU S7-1200 è in grado di erogare alla propria configurazione. Per maggiori informazioni
sul budget di potenza della propria CPU e sui requisiti di potenza dei moduli di I/O utilizzati,
consultare i dati tecnici (Pagina 853).

Tabella B- 2 Calcoli per un budget di potenza

Budget di potenza della CPU 5 VDC 24 VDC

Meno
Requisiti del sistema 5 VDC 24 VDC

Fabbisogno totale
Uguale
Bilancio di corrente 5 VDC 24 VDC
Corrente complessiva

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1017
Calcolo del budget di potenza

Sistema di automazione S7-1200


1018 Manuale di sistema, 03/2014, A5E02486684-AG
Numeri di ordinazione C
C.1 Moduli della CPU

Tabella C- 1 CPU del'S7-1200

Modelli di CPU Numero di ordinazione


CPU 1211C CPU 1211C DC/DC/DC 6ES7 211-1AE40-0XB0
CPU 1211C AC/DC/relè 6ES7 211-1BE40-0XB0
CPU 1211C DC/DC/relè 6ES7 211-1HE40-0XB0
CPU 1212C CPU 1212C DC/DC/DC 6ES7 212-1AE40-0XB0
CPU 1212C AC/DC/relè 6ES7 212-1BE40-0XB0
CPU 1212C DC/DC/relè 6ES7 212-1HE40-0XB0
CPU 1214C CPU 1214C DC/DC/DC 6ES7 214-1AG40-0XB0
CPU 1214C AC/DC/relè 6ES7 214-1BG40-0XB0
CPU 1214C DC/DC/relè 6ES7 214-1HG40-0XB0
CPU 1215C CPU 1215C DC/DC/DC 6ES7 215-1AG40-0XB0
CPU 1215C AC/DC/relè 6ES7 215-1BG40-0XB0
CPU 1215C DC/DC/relè 6ES7 215-1HG40-0XB0
CPU 1212C CPU 1217C DC/DC/DC 6ES7 217-1AG40-0XB0

C.2 Moduli di I/O (SM), signal board (SB) e schede di batteria (BB)

Tabella C- 2 Moduli di I/O (SM)

Moduli di I/O Numero di ordinazione


Ingresso digitale SM 1221 8 ingressi a 24 VDC (ad assorbimento/emissione di 6ES7 221-1BF32-0XB0
corrente)
SM 1221 16 ingressi a 24 VDC (ad assorbimento/emissione di 6ES7 221-1BH32-0XB0
corrente)
Uscita digitale SM 1222 8 uscite a 24 VDC (ad emissione di corrente) 6ES7 222-1BF32-0XB0
SM 1222 16 uscite a 24 VDC (ad emissione di corrente) 6ES7 222-1BH32-0XB0
SM 1222 8 uscite relè 6ES7 222-1HF32-0XB0
SM 1222 8 uscite relè (di scambio) 6ES7 222-1XF32-0XB0
SM 1222 16 uscite relè 6ES7 222-1HH32-0XB0
Ingresso / uscita SM 1223 8 ingressi a 24 VDC (ad assorbimento/emissione di 6ES7 223-1BH32-0XB0
digitale corrente) / 8 uscite a 24 VDC (ad emissione di corrente)
SM 1223 16 ingressi a 24 VDC (ad assorbimento/emissione di 6ES7 223-1BL32-0XB0
corrente) / 16 uscite a 24 VDC (ad emissione di corrente)

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1019
Numeri di ordinazione
C.2 Moduli di I/O (SM), signal board (SB) e schede di batteria (BB)

Moduli di I/O Numero di ordinazione


SM 1223 8 ingressi a 24 VDC (ad assorbimento/emissione di 6ES7 223-1PH32--0XB0
corrente) / 8 uscite relè
SM 1223 16 ingressi a 24 VDC (ad assorbimento/emissione di 6ES7 223-1PL32-0XB0
corrente) / 16 uscite relè
SM 1223 8 ingressi a 120/230 VAC (ad assorbimento/emissione 6ES7 223-1QH32-0XB0
di corrente) / 8 uscite relè
Ingresso SM 1231 4 ingressi analogici 6ES7 231-4HD32-0XB0
analogico SM 1231 8 ingressi analogici 6ES7 231-4HF32-0XB0
SM 1231 4 ingressi analogici 16 bit (high feature) 6ES7 231-5ND32-0XB0
Uscita analogica SM 1232 2 uscite analogiche 6ES7 232-4HB32-0XB0
SM 1232 4 uscite analogiche 6ES7 232-4HD32-0XB0
Ingresso / uscita SM 1234 4 ingressi analogici / 2 uscite analogiche 6ES7 234-4HE32-0XB0
analogico
RTD e SM 1231 TC 4 x 16 bit 6ES7 231-5QD32-0XB0
termocoppie SM 1231 TC 8 x 16 bit 6ES7 231-5QF32-0XB0
SM 1231 RTD 4 x 16 bit 6ES7 231-5PD32-0XB0
SM 1231 RTD 8 x 16 bit 6ES7 231-5PF32-0XB0
Moduli tecnologici SM 1278 4xIO-Link Master 6ES7 278-4BD32-0XB0

Tabella C- 3 Signal board (SB) e schede di batteria (BB)

Signal board e schede di batteria Numero di ordinazione


Ingresso digitale SB 1221 200 KHz 4 ingressi a 24 VDC (ad emissione di 6ES7 221-3BD30-0XB0
corrente)
SB 1221 200 KHz 4 ingressi a 5 VDC (ad emissione di corrente) 6ES7 221-3AD30-0XB0
Uscita digitale SB 1222 200 KHz 4 uscite a 24 VDC (ad 6ES7 222-1BD30-0XB0
assorbimento/emissione di corrente)
SB 1222 200 KHz 4 uscite a 5 VDC (ad assorbimento/emissione 6ES7 222-1AD30-0XB0
di corrente)
Ingresso / uscita SB 1223 2 ingressi a 24 VDC (ad assorbimento di corrente) / 2 6ES7 223-0BD30-0XB0
digitale uscite a 24 VDC (ad emissione di corrente)
SB 1223 200 KHz 2 ingressi a 24 VDC (ad emissione di 6ES7 223-3BD30-0XB0
corrente) / 2 uscite a 24 VDC (ad assorbimento/emissione di
corrente)
SB 1223 200 KHz 2 ingressi a 5 VDC (ad emissione di corrente) 6ES7 223-3AD30-0XB0
/ 2 uscite a 5 VDC (ad assorbimento/emissione di corrente)
Analogica SB 1232 1 uscita analogica 6ES7 232-4HA30-0XB0
SB 1231 1 ingresso analogico 6ES7 231-4HA30-0XB0
SB 1231 1 ingresso analogico per termocoppie 6ES7 231-5QA30-0XB0
SB 1231 1 ingresso analogico per RTD 6ES7 231-5PA30-0XB0
Batteria Scheda di batteria BB 1297 (tipo di batteria CR1025 non incluso) 6ES7 297-0AX30-0XA0

Sistema di automazione S7-1200


1020 Manuale di sistema, 03/2014, A5E02486684-AG
Numeri di ordinazione
C.3 Comunicazione

C.3 Comunicazione

Tabella C- 4 Modulo di comunicazione (CM)

Modulo di comunicazione (CM) Numero di ordinazione


RS232, RS422 e CM 1241 RS232 RS232 6ES7 241-1AH32-0XB0
RS485 CM 1241 RS422/485 RS422/485 6ES7 241-1CH32-0XB0
PROFIBUS CM 1243-5 Master PROFIBUS 6GK7 243-5DX30-0XE0
CM 1242-5 Slave PROFIBUS 6GK7 242-5DX30-0XE0
Master AS-i CM 1243-2 Master AS-i 3RK7 243-2AA30-0XB0

Tabella C- 5 Scheda di comunicazione (CB)

Scheda di comunicazione (CB) Numero di ordinazione


RS485 CB 1241 RS485 RS485 6ES7 241-1CH30-1XB0

Tabella C- 6 Processore di comunicazione (CP)

Processore di comunicazione (CP) Numero di ordinazione


CP 1242-7 GPRS 6GK7 242-7KX30-0XE0

Tabella C- 7 TeleService

TS Adapter Numero di ordinazione


TS Adapter IE Basic 6ES7 972-0EB00-0XA0
TS Module GSM 6GK7 972-0MG00-0XA0
TS Module RS232 6ES7 792-0MS00-0XA0
TS Module Modem 6ES7 972-0MM00-0XA0
TS Module ISDN 6ES7 972-0MD00-0XA0

Tabella C- 8 Accessori

Accessorio Numero di ordinazione


Antenna ANT794-4MR Antenna GSM/GPRS 6NH9 860-1AA00
ANT794-3M Antenna piatta 6NH9 870-1AA00

Tabella C- 9 Connettori

Tipo di connettore Numero di ordinazione


RS485 uscita cavo a 35 gradi, collegamento con morsetti a vite 6ES7 972-0BA42-0XA0
uscita cavo a 35 gradi, collegamento FastConnect 6ES7 972-0BA60-0XA0

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1021
Numeri di ordinazione
C.4 Altri moduli

C.4 Altri moduli

Tabella C- 10 Prodotti associati

Elemento Numero di ordinazione


Alimentazione Alimentazione PM 1207 6EP1 332-1SH71-4AA0
elettrica
Switch Ethernet Switch Ethernet a 4 porte CSM 1277 6GK7 277-1AA10-0AA0
CM CANopen CANopen per SIMATIC S7-1200 021620-B
CANopen (Ruggedized) per SIMATIC S7-1200 021730-B

C.5 Memory card

Tabella C- 11 Memory card

Memory card SIMATIC Numero di ordinazione


SIMATIC MC 4 MB 6ES7 954-8LC02-0AA0
SIMATIC MC 12 MB 6ES7 954-8LE02-0AA0
SIMATIC MC 24 MB 6ES7 954-8LF02-0AA0
SIMATIC MC 256 MB 6ES7 954-8LL02-0AA0
SIMATIC MC 2 GB 6ES7 954-8LP01-0AA0
SIMATIC MC 32 GB 6ES7 954-8LT02-0AA0

C.6 Dispositivi HMI Basic

Tabella C- 12 Dispositivi HMI

Pannelli HMI Basic Numero di ordinazione


KTP400 Basic (Mono, PN) 6AV6 647-0AA11-3AX0
KTP600 Basic (Mono, PN) 6AV6 647-0AB11-3AX0
KTP600 Basic (Color, PN) 6AV6 647-0AD11-3AX0
KTP1000 Basic (Color, PN) 6AV6 647-0AF11-3AX0
TP1500 Basic (Color, PN) 6AV6 647-0AG11-3AX0

Sistema di automazione S7-1200


1022 Manuale di sistema, 03/2014, A5E02486684-AG
Numeri di ordinazione
C.7 Parti di ricambio e altri componenti hardware

C.7 Parti di ricambio e altri componenti hardware

Tabella C- 13 Prolunghe, simulatori, blocchi terminali e staffe terminali

Elemento Numero di ordinazione


Prolunga per I/O Prolunga per I/O, 2 m 6ES7 290-6AA30-0XA0
Simulatore per I/O Simulatore (1211C/1212C - 8 posizioni) 6ES7 274-1XF30-0XA0
Simulatore (1214C/1215C - 14 posizioni) 6ES7 274-1XH30-0XA0
Simulatore, CPU 1217C 6ES7 274-1XK30-0XA0
Modulo Modulo potenziometro S7-1200 6ES7 274-1XA30-0XA0
potenziometro
Kit di coperchi CPU 1211C/1212C 6ES7 291-1AA30-0XA0
CPU 1214C 6ES7 291-1AB30-0XA0
CPU 1215C 6ES7 291-1AC30-0XA0
CPU 1217C 6ES7 291-1AD30-0XA0
Modulo di I/O, 45 mm 6ES7 291-1BA30-0XA0
Modulo di I/O, 70 mm 6ES7 291-1BB30-0XA0
Modulo di comunicazione 6ES7 291-1CC30-0XA0
Blocco terminale Stagno 7 terminali, 4/pk 6ES7 292-1AG30-0XA0
8 terminali, 4/pk 6ES7 292-1AH30-0XA0
10 terminali, 4/pk 6ES7 292-1AK30-0XA0
11 terminali, 4/pk 6ES7 292-1AL30-0XA0
12 terminali, 4/pk 6ES7 292-1AM30-0XA0
14 terminali, 4/pk 6ES7 292-1AP30-0XA0
16 terminali, 4/pk 6ES7 292-1AR30-0XA0
18 terminali, 4/pk 6ES7 292-1AT30-0XA0
20 terminali, 4/pk 6ES7 292-1AV30-0XA0
Oro 3 terminali, 4/pk (per CPU 6ES7 292-1BC30-0XA0
analogica)
6 terminali, 4/pk (per CPU 6ES7 292-1BF30-0XB0
analogica)
6 terminali, 4/pk (per Signal Board) 6ES7 292-1BF30-0XA0
7 terminali, 4/pk (per modulo di I/O 6ES7 292-1BG30-0XA0
analogico)
11 terminali, 4/pk (per modulo di I/O 6ES7 292-1BL30-0XA0
analogico)
Codifica meccanica a sinistra, 7 contatti 6ES7 292-1AG40-0XA1
Codifica meccanica a destra, 7 contatti 6ES7 292-1AG40-0XA0
Codifica meccanica a destra, 8 contatti 6ES7 292-1AH40-0XA0
Codifica meccanica a destra, 11 contatti 6ES7 292-1AL40-0XA0
Codifica meccanica a destra, 12 contatti 6ES7 292-1AM40-0XA0
Codifica meccanica a destra, 14 contatti 6ES7 292-1AP40-0XA0
Codifica meccanica a destra, 20 contatti 6ES7 292-1AV40-0XA0

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1023
Numeri di ordinazione
C.8 Software di programmazione

Elemento Numero di ordinazione


Staffa terminale Staffa terminale in materiale termoplastico da 10 MM 8WA1808
Staffa finale in acciaio da 10,3 MM 8WA1805

C.8 Software di programmazione

Tabella C- 14 Software di programmazione

Software SIMATIC Numero di ordinazione


Software di STEP 7 Basic V13 6ES7 822-0AA01-0YA0
programmazione STEP 7 Professional V13 6ES7 822-1AA01-0YA5
Software di WinCC Basic V12 SP1 6AV2100-0AA01-0AA0
visualizzazione WinCC Comfort V12 SP1 6AV2101-0AA01-0AA5
WinCC Advanced V12 SP1 6AV2102-0AA01-0AA5
WinCC Professional 512 PowerTags V12 SP1 6AV2103-0DA01-0AA5
WinCC Professional 4096 PowerTags V12 SP1 6AV2103-0HA01-0AA5
WinCC Professional max. PowerTags V12 SP1 6AV2103-0XA01-0AA5

C.9 Documentazione

Tabella C- 15 Documentazione dell'S7-1200

Documentazione cartacea Lingua Numero di ordinazione


Sistema di automazione S7-1200, Tedesco 6ES7 298-8FA30-8AH0
Manuale di sistema Inglese 6ES7 298-8FA30-8BH0
Francese 6ES7 298-8FA30-8CH0
Spagnolo 6ES7 298-8FA30-8DH0
Italiano 6ES7 298-8FA30-8EH0
Cinese 6ES7 298-8FA30-8KH0
Guida rapida all'S7-1200 Tedesco 6ES7 298-8FA30-8AQ0
Inglese 6ES7 298-8FA30-8BQ0
Francese 6ES7 298-8FA30-8CQ0
Spagnolo 6ES7 298-8FA30-8DQ0
Italiano 6ES7 298-8FA30-8EQ0
Cinese 6ES7 298-8FA30-8KQ0

Sistema di automazione S7-1200


1024 Manuale di sistema, 03/2014, A5E02486684-AG
Sostituzione di una CPU V3.0 con una CPU V4.0 D
È possibile sostituire una CPU V3.0 con una CPU V4.0 (Pagina 146) e utilizzare il progetto
STEP 7 realizzato per la CPU V3.0. È anche possibile verificare se esistono aggiornamenti
del firmware (Pagina 136) per i moduli collegati ed installarli.

Nota
Non è possibile modificare un dispositivo dalla V4.0 alla V3.0
Una CPU V3.0 può essere sostituita con una CPU V4.0, non è invece possibile sostituire
una CPU V4.0 con una CPU V3.0 dopo aver caricato la configurazione. Per visualizzare o
utilizzare il progetto STEP 7 V3.0 esistente è necessario crearne un archivio prima di
modificare il dispositivo.
Tenere presente che se non è stata caricata la configurazione del dispositivo sostituito è
possibile annullare questa operazione. Tuttavia una volta caricata, non è più possibile
annullare la modifica dalla V3.0 alla V4.0.

Occorre tenere in considerazione alcune modifiche nella configurazione e nel funzionamento


tra le due versioni di CPU:

Blocchi organizzativi
Con la V4.0 si può configurare l'esecuzione degli OB con o senza interruzioni (Pagina 95).
Per i progetti delle CPU V3.0 STEP 7 definisce per default che tutti gli OB siano senza
interruzioni.
STEP 7 imposta tutte le priorità degli OB (Pagina 95) sui valori che avevano nel progetto
STEP 7 della CPU V3.0.
Le impostazioni della priorità e delle interruzioni possono essere modificate
successivamente.
Se non sono presenti eventi di diagnostica l'informazione di avvio dell'OB di allarme di errore
di diagnostica (Pagina 90) si riferisce all'intero sottomodulo.

Protezione della CPU mediante password


STEP 7 imposta il livello di protezione mediante password (Pagina 195) per la CPU V4.0 allo
stesso livello impostato per la CPU V3.0 e assegna la password della V3.0 alla password
"Accesso completo (senza protezione)" per la CPU V4.0:

Livello di protezione della V3.0 Livello di accesso della V4.0


Senza protezione Accesso completo (senza protezione)
Protetto in scrittura Accesso in lettura
Protetto in scrittura/lettura Accesso HMI

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1025
Sostituzione di una CPU V3.0 con una CPU V4.0

Tenere presente che il livello di accesso della V4.0 "Nessun accesso (protezione completa)
non esisteva per la V3.0.

Web server
Se si modifica una CPU V3.0 con una CPU V4.0 le impostazioni del progetto del Web server
(Pagina 619) per l'attivazione del Web server e per l'eventuale richiesta dell'accesso HTTPS
saranno le stesse della V3.0. Si possono quindi configurare utenti, diritti, password
(Pagina 620) e lingue (Pagina 619) in base a quanto sia necessario per utilizzare il Web
server. Se non si assegnano agli utenti ulteriori diritti, l'accesso è limitato a quanto si vede
nelle pagine Web standard (Pagina 625). La CPU S7-1200 V4.0 non supporta l'utente e la
password "admin" preconfigurati in versioni precedenti.
In passato la pagina dei log di dati del Web server metteva a disposizione una funzione di
"caricamento e cancellazione". La pagina Unità di selezione file (Pagina 638)del Web server
V4.0, dalla quale si accede ai log di dati, non supporta più questa funzione. Al suo posto, il
Web server offre la possibilità di caricare, rinominare e cancellare i file di log.

Incompatibilità delle schede di trasferimento


Non è possibile utilizzare una scheda di trasferimento (Pagina 128) V3.0 per trasferire un
programma V3in una CPU V4.0. Occorre aprire il progetto V3.0 in STEP 7, modificare il
dispositivo in una CPU V4.0 (Pagina 146) e caricare il progetto STEP 7 nella CPU V4.0.
Dopo aver aggiornato il progetto alla versione V4.0 è possibile utilizzare la scheda V4.0 per i
trasferimenti successivi.

Comunicazione GET/PUT
La comunicazione GET/PUT era abilitata per default nella V3.0. Quando si sostituisce una
CPU V3.0 con una CPU V4.0 (Pagina 146), nella sezione con le informazioni sulla
compatibilità viene visualizzato un messaggio il quale indica che GET/PUT è abilitata.

Compatibilità con il controllo del movimento


Le CPU S7-1200 V4.0 non supportano le biblioteche di movimento della V1.0 e V2.0. Se si
modifica un dispositivo per un progetto STEP 7 con biblioteche di movimento della V1.0 o
V2.0, durante la compilazione le istruzioni delle biblioteche di movimento della V1.0 o V2.0
verranno sostituite daistruzioni di controllo del movimento (Pagina 467) compatibili della
V3.0.
Se si modifica un dispositivo per un progetto STEP 7 che contiene due diverse versioni delle
istruzioni di controllo del movimento (V3.0 e V4.0), durante la compilazione veranno
sostituite da istruzioni di controllo del movimento (Pagina 467) compatibili della V4.0.
Con la modifica di un dispositivo dalla V3.0 alla V4.0 la versione dell'oggetto tecnologico
(TO) di controllo del movimento passa automaticamente alla V4.0. La struttura di TO è
diversa nella V3.0 e V4.0. Anche tutti i blocchi associati vengono modificati. Le interfacce dei
blocchi, le tabelle di controllo e i trace vengono aggiornati alla nuova struttura della V4.0. Le
due tabelle seguenti riportano le differenze tra i parametri dell'asse per il controllo del
movimento nella V3.0 e nella V4.0:

Sistema di automazione S7-1200


1026 Manuale di sistema, 03/2014, A5E02486684-AG
Sostituzione di una CPU V3.0 con una CPU V4.0

V3.0 V4.0
Config.General.LengthUnit Units.LengthUnit
Config.Mechanics.PulsesPerDriveRevolution Actor.DriveParameter.PulsesPerDriveRevolution
Config.Mechanics.LeadScrew Mechanics.LeadScrew
Config.Mechanics.InverseDirection Actor.InverseDirection
Config.DynamicLimits.MinVelocity DynamicLimits.MinVelocity
Config.DynamicLimits.MaxVelocity DynamicLimits.MaxVelocity
Config.DynamicDefaults.Acceleration DynamicDefaults.Acceleration
Config.DynamicDefaults.Deceleration DynamicDefaults.Deceleration
Config.DynamicDefaults.EmergencyDeceleration DynamicDefaults.EmergencyDeceleration
Config.DynamicDefaults.Jerk DynamicDefaults.Jerk
Config.PositionLimits_SW.Active PositionLimitsSW.Active
Config.PositionLimits_SW.MinPosition PositionLimitsSW.MinPosition
Config.PositionLimits_SW.MaxPosition PositionLimitsSW.MaxPosition
Config.PositionLimits_HW.Active PositionLimitsHW.Active
Config.PositionLimits_HW.MinSwitchedLevel PositionLimitsHW.MinSwitchLevel
Config.PositionLimits_HW.MaxSwitchedLevel PositionLimitsHW.MaxSwitchLevel
Config.Homing.AutoReversal Homing.AutoReversal
Config.Homing.Direction Homing.ApproachDirection
Config.Homing.SideActiveHoming Sensor[1].ActiveHoming.SideInput
Config.Homing.SidePassiveHoming Sensor[1].PassiveHoming.SideInput
Config.Homing.Offset Sensor[1].ActiveHoming.HomePositionOffset
Config.Homing.FastVelocity Homing.ApproachVelocity
Config.Homing.SlowVelocity Homing.ReferencingVelocity
MotionStatus.Position Position
MotionStatus.Velocity Velocity
MotionStatus.Distance StatusPositioning.Distance
MotionStatus.TargetPosition StatusPositioning.TargetPosition
StatusBits.SpeedCommand StatusBits.VelocityCommand
StatusBits.Homing StatusBits.HomingCommand

L'unico parametro della tabella dei comandi che viene rinominato è l'array con i comandi:

V3.0 V4.0
Config.Command[] Command[]

Nota: l'array "Command[]" è un UDT del tipo "TO_CmdTab_Config_Command" in V3.0 e


"TO_Struct_Command" in V4.0.

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1027
Sostituzione di una CPU V3.0 con una CPU V4.0

Modifiche nelle istruzioni


Le seguenti istruzioni presentano modifiche nei parametri o nel comportamento:
● RDREC e WRREC (Pagina 322)
● CONV (Pagina 250)

Comunicazione con pannelli HMI


Se uno o più pannelli HMI (Pagina 32) erano collegati alla CPU S7-1200 V3.0, la
comunicazione con la CPU S7-1200 V4.0 dipende dal tipo di comunicazione utilizzato e
dalla versione del firmware del pannello. Ricompilare e caricare il progetto nella CPU e
nell'HMI e/o aggiornare il firmware dell'HMI.

Requisiti per la ricompilazione dei blocchi di programma


Dopo aver sostituito una CPU V3.0 con una CPU V4.0 occorre ricompilare tutti i blocchi di
programma prima di poterli caricare nella CPU V4.0. Inoltre se un blocco dispone della
protezione del know-how (Pagina 197) o della protezione dalla copia legata al numero
seriale del PLC (Pagina 199), prima di compilare e caricare i blocchi è necessario eliminare
la protezione. (Non occorre tuttavia disattivare la protezione dalla copia legata a una
memory card.) Dopo il caricamento è possibile riconfigurare la protezione del know-how e/o
la protezione dalla copia legata al numero seriale del PLC. Tenere presente che se il
progetto include blocchi con protezione del know-how forniti da un OEM (Original Equipment
Manufacturer), per ottenere le versioni V4.0 di questi blocchi è necessario contattare l'OEM.
In generale Siemens raccomanda di ricompilare la configurazione hardware e il software in
STEP 7 e di caricarli in tutti i dispositivi del progetto una volta sostituito un dispositivo.

Sistema di automazione S7-1200


1028 Manuale di sistema, 03/2014, A5E02486684-AG
Indice analitico

CAN_DINT (cancella allarme di ritardo), 349


DETACH (separa OB dall'evento di allarme), 338
( latenza degli allarmi, 95
panoramica, 85
-( )- (assegnazione), 207
QRY_DINT (interroga lo stato di un allarme di
-( )- (negazione assegnazione), 207
ritardo), 349
-( N )- (Imposta operando in caso di fronte di discesa
SRT_DINT (avvia allarme di ritardo), 349
del segnale), 213
Allarmi di ritardo, 349
-( P )- (Imposta operando in caso di fronte di salita del
Ambientale
segnale), 213
condizioni di esercizio, 857
-(R) (Resetta uscita), 210
condizioni di trasporto e immagazzinaggio, 857
-(RESET_BF) (Resetta campo di bit), 211
Ambienti industriali
-(S) (Imposta uscita), 210
Omologazioni, 855
-(SET_BF) (Imposta campo di bit), 211
Ampliamento delle funzionalità dell'S7-1200, 26
Analizzatore della logica, 838
AND (operazione logica), 280
|
Architettura di interrogazione, 724
-|/|- (contatto normalmente chiuso), 207 Architettura di interrogazione del master, 724
-||- (contatto normalmente aperto), 207 Architettura di interrogazione dello slave, 724
-|N|- (Interroga il fronte di discesa del segnale di un Aree di memoria, 106, 108
operando), 213 accesso diretto, 106
-|NOT|- (inverti RLO), 207 immagine di processo, 106
-|P|- (Interroga il fronte di salita del segnale di un indirizzamento di valori booleani o di bit, 107
operando), 213 Array, accesso ai membri, 247
ASi
istruzioni per la periferia decentrata,
A AS-i
WRREC (scrivi set di dati), 322
ABS (Genera valore assoluto), 238
AS-i
AC
RDREC (leggi set di dati), 322
istruzioni per il cablaggio, 71, 73
AS-i
istruzioni per l'isolamento, 72
Master AS-i CM 1243-2, 591
messa a terra, 72
AS-i
Accesso
aggiungere modulo master AS-i CM 1243-2, 592
log di dati dal PC, 639
AS-i
pagine Web personalizzate, 662
inserimento di uno slave AS-i, 592
ACOS (Genera valore dell'arcocoseno), 241
AS-i
ACT_TINT (attiva allarme dall'orologio), 347
Collegamento di rete, 593
Adattatore e modulo TeleService, 66
AS-i
ADD (somma), 235
indirizzo, 594
Aggiornamento del firmware, 136
AS-i
da STEP 7, 814
configurazione degli slave senza STEP 7, 596
dal Web server, 634
AS-i
Aggiornamento delle pagine Web personalizzate, 643
assegnazione di sistema degli indirizzi slave, 596
Aggiungi nuovo dispositivo
AS-i
CPU, 142
assegnazione di sistema, 596
Alias nelle pagine Web personalizzate, 650
AS-i
Allarmi
configurazione degli slave con STEP 7, 598
ATTACH assegna OB all'evento di allarme), 338

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1029
Indice analitico

AS-i blocchi organizzativi (OB), 25, 77, 85, 862, 873,


trasferimento di valori digitali, 598 884, 895, 908
AS-i Blocchi organizzativi (OB), 95
trasferimento di valori analogici, 598 blocco dati (DB), 77
ASIN (Genera valore dell'arcoseno), 241 blocco dati di istanza (DB), 179
Assegnazione a una CPU o memory card, 199 blocco funzionale (FB), 77, 179
Assegnazione dei tipi di enum nelle pagine Web caricamento, 200
personalizzate, 651 contatori (quantità e requisiti di memoria), 25, 863,
Assistenza, 3 873, 884, 896, 908
Assistenza tecnica, 3 controllo, 25, 862, 873, 884, 895, 908
ATH (Converti stringa di caratteri ASCII in un numero copia di blocchi da una CPU online, 201
esadecimale), 310 DB di istanza singola o multiistanza, 179
ATTACH assegna OB all'evento di allarme), 338 dimensione del programma utente, 25, 77, 862,
Avviamento a caldo, 81 873, 884, 895, 908
Avviamento all'accensione, 81 eventi, 95
elaborazione dell'avviamento, 84 funzione (FC), 77, 178
AWP_Enum_Def, 651 numeri FC, FB e DB validi, 77
AWP_Enum_Ref, 651 numero di blocchi di codice, 25, 862, 873, 884, 895,
AWP_Import_Fragment, 654 908
AWP_In_Variable, 646, 649 numero di OB, 25, 95, 862, 873, 884, 895, 908
AWP_Out_Variable, 647 OB di avvio, 95
AWP_Start_Fragment, 653 profondità di annidamento, 25, 77, 862, 873, 884,
Azionamenti 895, 908
Collegamento di un, 748 programmi lineari e strutturati, 174
Configurazione di un azionamento MM4, 750 protezione mediante password, 197
Requisiti generali per l'installazione richiami di blocco, 77
dell'azionamento, 748 richiamo di un FB o FC con SCL, 187
temporizzatori (quantità e requisiti di memoria), 25,
863, 873, 884, 896, 908
B tipi di blocchi di codice, 77
valore iniziale di un FB, 179
Barra degli strumenti "Preferiti", 38
verifica della coerenza, 205
Basic Panel (HMI), 32
Blocchi dati ottimizzati, 181
BB 1297, 993
Blocchi dati ottimizzati standard, 181
Biblioteca del protocollo USS
Blocchi dati per pagine Web personalizzate
codici di stato, 746
importazione di frammenti, 654
informazioni generali sull'installazione
Blocchi di codice richiamanti all'interno del programma
dell'azionamento, 748
utente, 176
panoramica, 735
Blocco dati
requisiti per l'utilizzo, 736
accesso ottimizzato, 181
USS_DRV (Scambia dati con azionamento), 740
accesso standard, 181
USS_PORT (Elabora comunicazione tramite rete
Blocchi organizzativi (OB), 177
USS), 738
blocco dati di istanza, 106
USS_RPM (leggi parametri dall'azionamento), 743
blocco dati globale, 106, 180
USS_WPM (modifica parametri
CONF_DATA, 558
nell'azionamento), 744
panoramica, 77, 180
Biblioteca globale
READ_DBL (leggi blocco dati nella memoria di
Panoramica del protocollo USS, 735
caricamento), 409
Bit di misurazione degli impulsi, configurazione degli
reset dei valori inziali, 821
ingressi digitali, 149
rilevamento valori, 821
Bit di stop, 692
struttura, 77
Blocchi
unico FB con più DB di istanza, 180
allarmi, 25, 95, 862, 873, 884, 895, 908

Sistema di automazione S7-1200


1030 Manuale di sistema, 03/2014, A5E02486684-AG
Indice analitico

WRIT_DBL (scrivi blocco dati nella memoria di Configurazione dell'esecuzione, 178


caricamento), 409 Creazione, 178
Blocco dati di istanza, 106 Di ciclo, multipli, 178
Blocco dati globale, 106, 180 elaborazione, 177
Blocco di codice Elaborazione, 177
allarmi, 25, 862, 873, 884, 895, 908 elaborazione dell'avviamento, 84
Assegnazione a una CPU o memory card, 199 funzione, 85
blocchi di codice richiamanti all'interno del panoramica, 77
programma utente, 176 programmazione lineare e strutturata, 174
blocchi organizzativi (OB), 25, 862, 873, 884, 895, Protezione del know-how, 197
908 richiamo, 85
Blocchi organizzativi (OB), 177 Box & (operazione logica AND FBD), 207
blocco dati di istanza (DB), 179 Box /= (negazione assegnazione FBD), 207
contatori (quantità e requisiti di memoria), 25, 863, Box = (assegnazione FBD), 207
873, 884, 896, 908 Box >=1 (operazione logica OR FBD), 207
controllo, 25, 862, 873, 884, 895, 908 Box N= e bobina N (Imposta operando in caso di fronte
DB (blocco dati), 77, 180 di discesa del segnale), 213
dimensione del programma utente, 25, 862, 873, Box P= e bobina P (Imposta operando in caso di fronte
884, 895, 908 di salita del segnale), 213
FB (blocco funzionale), 77, 179 Box x (operazione logica OR esclusivo FBD), 207
FC (funzione), 77, 178 Break, 695, 696
numeri FC, FB e DB validi, 77 Budget di potenza, 51
numero di blocchi di codice, 25, 862, 873, 884, 895, esempio, 1016
908 modello per i calcoli, 1017
numero di OB, 25, 862, 873, 884, 895, 908 panoramica, 1015
profondità di annidamento, 25, 862, 873, 884, 895, Byte dei merker di clock, 104
908 Byte dei merker di sistema, 103
programmi lineari e strutturati, 174
protezione dalla copia, 199
Protezione del know-how, 197 C
richiami di blocco, 77
CALCULATE (calculate), 234
temporizzatori (quantità e requisiti di memoria), 25,
Messa in scala di valori analogici, 40
863, 873, 884, 896, 908
utilizzo per le equazioni complesse, 39
tipi di blocchi di codice, 77
Calendario, 289
valore iniziale di un FB, 179
CAN_DINT (cancella allarme di ritardo), 349
Blocco di gestione dati (DHB), 180
CAN_TINT (cancella allarme dall'orologio), 346
Blocco di trasmissione (blocco T), 569
Carattere di fine messaggio, 701
Blocco funzionale (FB)
Carattere inizio messaggio, 697
blocchi di codice richiamanti all'interno del
Caratteri speciali
programma utente, 176
Pagine Web personalizzate, 656
blocco dati di istanza, 179
Caricamento dalla CPU
numeri FB validi, 77
copia di blocchi da una CPU online, 201
panoramica, 77, 179
programma utente, 201
parametri di uscita, 179
Caricamento del programma in modo RUN
programmi lineari e strutturati, 174
avvio da STEP 7, 830
Protezione del know-how, 197
caricamento dei blocchi selezionati, 831
unico FB con più DB di istanza, 180
caricamento non riuscito, 836
valore iniziale, 179
considerazioni, 836
Blocco organizzativo
errori di compilazione, 832
blocchi di codice richiamanti all'interno del
panoramica, 828
programma utente, 176
presupposti, 829
classi di priorità, 85
Caricamento in modo RUN

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1031
Indice analitico

caricamento senza reinizializzazione, 833 tipi di collegamenti, 606


impostazioni globali della riserva di memoria, 835 Collegamento attivo/passivo, 525
interfaccia di blocco ampliata, 833 Collegamento di rete
limitazioni, 835 Configurazione, 153
riserva di memoria e riserva di memoria a Diverse CPU, 567, 568, 573, 588, 593
ritenzione, 833 Collegamento locale/partner, 525
Carichi delle lampade, 73 Colonne e intestazioni nelle task card, 42
Carichi induttivi, 74 Comandi AWP, 643
Cartelle, lingue per pagine Web personalizzate, 675 combinazione delle definizioni, 655
Cavo definizione di un tipo di enum, 651
Comunicazione di rete, 688 generazione di frammenti, 653
di prolunga, 1012 importazione di frammenti, 654
CB 1241 indirizzamento di un tipo di enum, 651
terminazione e polarizzazione, 689 lettura di variabili speciali, 647
CB 1241 RS485, 1004 scrittura delle variabili, 646
CEIL (Genera da un numero in virgola mobile il numero scrittura di variabili speciali, 649
intero superiore), 255 uso di un alias, 650
Certificato di sicurezza Siemens, pagine Web, 629, Combinazione logica di bit, 207, 210, 213
684 Compact Switch Module CSM 1277, 1013
Char (tipo di dati carattere), 117 Compatibilità elettromagnetica, 857
Chars_TO_Strg (Converti Array of CHAR in Compatibilità elettromagnetica (CEM), 856
stringa), 308 Compensazione dei giunti freddi, termocoppia, 952,
Ciclo di scansione 986
forzamento, 826 Comunicazione
operazione di forzamento, 827 Architettura di interrogazione, 724
panoramica, 98 attiva/passiva, 154, 156, 608
Circuiti di protezione dalla sovratensione per carichi carico di comunicazione, 99
induttivi, 74 Collegamento di rete, 153
Circuiti di soppressione per carichi induttivi, 74 Collegamento hardware, 564
Classe di protezione, 858 configurazione, 154, 156, 608
Classi di errore PtP, 705 Controllo del flusso, 692
Clock ID di collegamento, 528
RD_SYS_T (Leggi ora), 293 Indirizzo AS-i, 594
WR_LOC_T (Imposta ora locale), 293 Indirizzo IP, 163
Codici di errore Indirizzo MAC, 163
errori comuni nelle istruzioni avanzate, 415 Indirizzo PROFIBUS, 589
RALRM, 329 numero di collegamenti (PROFINET), 525
RDREC, 329 parametri, 156
WRREC, 329 Parametri di invio e ricezione, 694
Collegamenti PROFINET e PROFIBUS, 523
Collegamento S7, 606 proprietà per la sincronizzazione dell'ora
configurazione, 156 (PROFINET), 170
ID di collegamento, 528 Rete, 564
numero di collegamenti (PROFINET), 525 TCON_Param, 156
partner, 154, 608 tempo di ciclo, 99
Protocolli Ethernet, 606 Comunicazione attiva/passiva
tipi di comunicazione, 523 configurazione dei partner, 154, 608
tipi, collegamenti multinodo, 606 ID di collegamento, 528
Web server, 682 parametri, 156
Collegamenti HTTP, server Web, 682 Comunicazione di rete, 564
Collegamenti multinodo polarizzazione e terminazione del cavo, 688
Protocolli Ethernet, 606 Comunicazione passiva/attiva

Sistema di automazione S7-1200


1032 Manuale di sistema, 03/2014, A5E02486684-AG
Indice analitico

configurazione dei partner, 154, 608 caricamento, 200


ID di collegamento, 528 Collegamento di rete, 153
parametri, 156 configurazione dei moduli, 151
Comunicazione PtP, 690 configurazione della CPU, 146
configurazione del programma di esempio, 726 inserimento dei moduli, 145
esempio di programma, 725 porta ASi,
esempio di programma, esecuzione, 734 Porta Ethernet, 163
Esempio di programma, programmazione con PROFIBUS, 589
STEP 7, 732 PROFINET, 163
parametri di configurazione, 694 proprietà per la sincronizzazione dell'ora
porte di configurazione, 690 (PROFINET), 170
Programmazione, 723 Unità non inserite, 47
terminale virtuale del programma di esempio, 734 Configurazione dei messaggi
Comunicazione punto a punto, 690 Istruzioni, 723
Comunicazione S7 Ricezione, 695
configurazione del collegamento, 155 Trasmissione, 694, 694
Comunicazione seriale, 690 Configurazione dei parametri
Comunicazione TCP/IP, 531 LENGH e BUFFER per SEND_PTP, 717
Comunicazione Teleservice Ricezione, 571
TM_MAIL (invia e-mail), 799 Trasmissione, 570
Condizioni di fine, 699 Configurazione dei parametri di invio, 154, 570, 608
Condizioni di inizio, 696 Configurazione dei parametri di ricezione, 571
Configurazione Configurazione del dispositivo
AS-i, 594 Modifica di un tipo di dispositivo, 146
caricamento, 200 configurazione della CPU
carico di comunicazione, 99 canali impulsivi, 374
Collegamento di rete, 153 comunicazione con l'HMI, 566
Comunicazione da PLC a PLC, 567 Controllo del tempo di ciclo, 98
HSC (contatore veloce), 428 parametri di esercizio, 146
Indirizzo IP, 163 più CPU, 567
Indirizzo MAC, 163 proprietà dei moduli, 151
Indirizzo PROFIBUS, 589 Configurazione della porta, 690
inserimento dei moduli, 145 errori, 707
Interfacce di comunicazione, 690 esempio di programma PtP, 726
Moduli, 151 Istruzioni, 723
parametri della CPU, 146 Configurazione della ricezione dei messaggi, 695
parametri di avvio, 130 esempio di programma PtP, 727
porta ASi, Configurazione della trasmissione dei messaggi, 694,
Porta Ethernet, 163 694
Porte, 690 esempio di programma PtP, 726
PROFIBUS, 589 Configurazione della trasmissione messaggi, 694, 694
PROFINET, 163 Configurazione dell'istruzione TSEND_C, 570
proprietà per la sincronizzazione dell'ora Configurazione dispositivi
(PROFINET), 170 Rilevamento, 144
Ricezione dei messaggi, 695 Configurazione e installazione
Rilevamento, 144 budget di potenza, 51
RS422, modi di funzionamento, 729 Configurazione hardware, 141
RS485, modi di funzionamento, 731 aggiungi nuovo dispositivo, 142
tempo di ciclo, 98 AS-i, 594
Configurazione dei dispositivi, 141, 565 caricamento, 200
aggiungi nuovo dispositivo, 142 Collegamento di rete, 153
AS-i, 594 configurazione dei moduli, 151

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1033
Indice analitico

configurazione della CPU, 146 indirizzamento (sequenza per l'indirizzamento


inserimento dei moduli, 145 attivo), 503
porta ASi, indirizzamento dell'asse, 500
Porta Ethernet, 163 MC_ChangeDynamic (modifica impostazioni
PROFIBUS, 589 dinamiche dell'asse), 489
PROFINET, 163 MC_CommandTable, 486
Rilevamento, 144 MC_Halt (metti in pausa l'asse), 475
Configurazione, pagine Web personalizzate MC_Home (indirizza e posiziona asse), 472
configurazione di più lingue, 677 MC_MoveAbsolute (posizionamento assoluto
Configurazione STEP 7, 658 dell'asse), 477
Confronto di blocchi di codice, 818 MC_MoveJog (aziona asse con funzionamento
Confronto di valori, 231 marcia manuale), 484
Confronto e sincronizzazione di CPU online e MC_MoveRelative (posizionamento relativo
offline, 818 dell'asse), 479
Connettore di bus, 29 MC_MoveVelocity (sposta l'asse alla velocità
Connettore RS485 predefinita), 481
terminazione e polarizzazione, 689 MC_Power (abilita/blocca asse), 468
Connettore, montaggio e smontaggio, 63 MC_ReadParam (leggi i parametri dell'oggetto
Contatore ore di esercizio (RTM), 297 tecnologico ), 493
Contatore veloce, 417 MC_Reset (conferma errore), 471
Configurazione, 428 MC_WriteParam (scrivi i parametri dell'oggetto
funzionamento, 420 tecnologico), 491
impossibile forzare, 827 panoramica, 452
Contatori parametri di configurazione per
Configurazione dell'HSC, 428 l'indirizzamento, 501
CTRL_HSC (Comanda contatore veloce), 417 Controllo del programma, 203
CTU (Conteggio all'indietro), 225 Controllo del programma (SCL), 272
CTU (Conteggio in avanti), 225 CASE, 274
CTUD (Conteggio in avanti e all'indietro), 225 CONTINUE, 278
dimensione, 26, 863, 873, 884, 896, 908 EXIT, 278
Funzionamento dell'HSC, 420 FOR, 275
operazione (contatori standard), 226 GO TO, 279
quantità, 25, 863, 873, 884, 896, 908 IF-THEN, 273
Contatti di collegamento REPEAT, 277
Caricabilità massima, 1003 RETURN, 279
Controllo WHILE, 276
operazione di forzamento, 827 Controllo delle variabili dal Web server, 636
reset dei valori iniziali di un DB, 821 CONV (Converti valore), 250
salvataggio dei valori di un DB, 821 Convenzioni per le virgolette, Web server, 656
Stato KOP, 820, 821 Conversione (istruzioni SCL), 251
tabella di controllo, 820, 822 cookie siemens_automation_language, 675
tabella di forzamento, 826 Cookie, siemens_automation_language, 675
tempo di ciclo, 816 Copia di blocchi da una CPU online, 201
utilizzo della memoria, 816 COS (Genera valore del coseno), 241
Controllo del flusso, 692, 692 CPU
Configurazione, 692 abilitazione delle uscite in STOP, 825
Controllo del flusso hardware, 692 aggiungi nuovo dispositivo, 142
Controllo del flusso software, 693 AS-i, 593
Controllo del movimento assegnazione di un indirizzo IP ad una CPU
configurazione dell'asse, 460 online, 162
finecorsa hardware e software, 496 Attivazione di un collegamento online, 810
budget di potenza, 51

Sistema di automazione S7-1200


1034 Manuale di sistema, 03/2014, A5E02486684-AG
Indice analitico

caricamento, 200 parametri di avvio, 130


Caricamento nel dispositivo, 168 password persa, 139
carichi delle lampade, 73 porta ASi,
carichi induttivi, 74 Porta Ethernet, 163
carico di comunicazione, 99 PROFIBUS, 589
Collegamento di rete, 153 PROFINET, 163
comunicazione, 526 PROFINET IO, 572
configurazione dei dispositivi, 141 prolunga, 64
configurazione del tempo di ciclo, 99 proprietà per la sincronizzazione dell'ora, 170
Configurazione dell'HSC, 428 Protezione del know-how, 197
confronto e sincronizzazione di blocchi, 818 protezione dell'accesso, 195
controllo, 820 protezione mediante password, 195
copia di blocchi da una CPU online, 201 Pulsanti RUN/STOP, 44
CPU 1211C AC/DC/relè, 861 Requisiti di alimentazione, 1015
CPU 1211C DC/DC/DC, 861 reset dei valori iniziali di un DB, 821
CPU 1211C DC/DC/relè, 861 ripristino delle impostazioni di fabbrica, 813
CPU 1212C AC/DC/relè, 871 ripristino in caso di perdita della password, 139
CPU 1212C DC/DC/DC, 871 RTM (Contatore ore di esercizio), 297
CPU 1212C DC/DC/relè, 871 salvataggio dei valori di un DB, 821
CPU 1214C AC/DC/relè, 882 Scheda di trasferimento vuota, 139
CPU 1214C DC/DC/DC, 882 schede di comunicazione (CB), 29
CPU 1214C DC/DC/relè, 882 signal board (SB), 29
CPU 1215C AC/DC/relè, 894 Tabella comparata, 24
CPU 1215C DC/DC/DC, 894 tabella di controllo, 822
CPU 1215C DC/DC/relè, 894 tempi di risposta a gradino, 867, 877, 888, 900, 916
CPU 1217C DC/DC/DC, 906 tipi di comunicazione, 523
CPU non specificata, 144 uscite di impulsi, 373
elaborazione degli OB, 177 visualizzazione degli indirizzi MAC e IP, 168
elaborazione dell'avviamento, 84 zona termica, 50, 54
esecuzione del programma, 77 CPU non specificata, 144
forzamento, 826, 827 Creazione di DB per le pagine Web
Indicatori LED, 807 personalizzate, 659
Indirizzo AS-i, 594 Creazione di pagine Web personalizzate, 642
Indirizzo IP, 163 Creazione di un collegamento di rete
Indirizzo MAC, 163, 168 tra PLC, 153
Indirizzo PROFIBUS, 589 CTRL_HSC (Comanda contatore veloce), 417
inserimento dei moduli, 145 CTS, 692
istruzioni per il cablaggio, 71, 73 CTU (conteggio all'indietro), 225
istruzioni per l'isolamento, 72 CTU (conteggio in avanti), 225
Livelli di sicurezza, 195 CTUD (conteggio in avanti e all'indietro), 225
messa a terra, 72
modi di funzionamento, 81
Modi RUN/STOP, 815 D
montaggio, 55, 56
Data
morsettiera, 63
SET_TIMEZONE (imposta fuso orario), 296
numero di collegamenti di comunicazione, 525
T_ADD (Somma tempi), 290
online, 820
T_COMBINE (combina tempi), 291
Online, 813
T_CONV (Estrai e converti tempi), 289
Pagina Web di identificazione standard, 630
T_DIFF (differenza di data e ora), 291
Pannello operatore, 44
T_SUB (Sottrai tempi), 290
pannello operatore (CPU online), 815
Date
panoramica, 23
DTL (tipo di dati Data and time long), 116

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1035
Indice analitico

Tipo di dati Date, 115 SM 1222 DQ 16 x relè, 923


Dati tecnici, 853 SM 1222 DQ 8 relè di scambio, 921
ambienti industriali, 855 SM 1222 DQ 8 x 24 VDC, 921
BB 1297, 993 SM 1222 DQ 8 x relè, 921
CB 1241 RS485, 1004 SM 1223 DI 16 x 24 VDC, DQ 16 x 24 VDC, 928
CM 1241 RS232, 1006 SM 1223 DI 16 x 24 VDC, DQ 16 x relè, 928
CM 1241 RS422/485, 1007 SM 1223 DI 8 24 VDC, DQ 8 x relè, 928
Compatibilità elettromagnetica (CEM), 856 SM 1223 DI 8 x 120/230 VAC / DQ 8 x relè, 933
Condizioni ambientali, 857 SM 1223 DI 8 x 24 VDC, DQ 8 x 24 VDC, 928
CPU 1211C AC/DC/relè, 861 SM 1231 AI 4 x 13 bit, 936
CPU 1211C DC/DC/DC, 861 SM 1231 AI 4 x 16 bit, 936
CPU 1211C DC/DC/relè, 861 SM 1231 AI 4 x 16 bit TC, 948
CPU 1212C AC/DC/relè, 871 SM 1231 AI 8 x 13 bit, 936
CPU 1212C DC/DC/DC, 871 SM 1231 AI 8 x 16 bit TC, 948
CPU 1212C DC/DC/relè, 871 SM 1232 AQ 2 x 14 bit, 940
CPU 1214C AC/DC/relè, 882 SM 1232 AQ 4 x 14 bit, 940
CPU 1214C DC/DC/DC, 882 SM 1234 AI 4 x 13 bit / AQ 2 x 14 bit, 942
CPU 1214C DC/DC/relè, 882 SM 1278 4xIO-Link Master, 961
CPU 1215C AC/DC/relè, 894 tempi di risposta a gradino (CPU), 867, 877, 888,
CPU 1215C DC/DC/DC, 894 900, 916
CPU 1215C DC/DC/relè, 894 tempi di risposta a gradino (SB), 981
CPU 1217C DC/DC/DC, 906 tempi di risposta a gradino (SM), 945
dati tecnici generali, 853 Tensioni nominali, 858
Memory card, 1009 DB (blocco dati), (Blocco dati)
modulo di I/O SM 1231 AI 4 x RTD x 16 bit, 954 DB di comando di frammenti manuali, 678
modulo di I/O SM 1231 AI 8 x RTD x 16 bit, 954 DB di comando per pagine Web personalizzate
modulo potenziometro, 1011 comandi globali, 678
Omologazioni, 853 parametri dell'istruzione WWW, 659
rappresentazione degli ingressi analogici richiesta di comandi e stati, 678
(corrente), 947, 982 DB di frammenti (pagine Web personalizzate)
rappresentazione degli ingressi analogici generazione, 659
(tensione), 946, 981 DC
rappresentazione delle uscite analogiche carichi induttivi, 74
(corrente), 948, 983 istruzioni per il cablaggio, 71, 73
rappresentazione delle uscite analogiche istruzioni per l'isolamento, 72
(tensione), 947, 982 messa a terra, 72
SB 1221 DI 4 x 24 VDC, 200 kHz, 964 Uscite, 859
SB 1221 DI 4 x 5 VDC, 200 kHz, 964 DEC (decrementa), 238
SB 1222 DQ 4 x 24 VDC, 200 kHz, 967 DECO (decodifica), 281
SB 1222 DQ 4 x 5 VDC, 200 kHz, 967 Definizione dei tipi di enum nelle pagine Web
SB 1223 DI 2 x 24 VDC, DQ 2 x 24 VDC, 974 personalizzate, 651
SB 1223 DI 2 x 24 VDC/DQ 2 x 24 VDC, 200 DELETE (cancella caratteri nella stringa), 317
kHz, 970 DETACH (separa OB dall'evento di allarme), 338
SB 1223 DI 2 x 5 VDC/DQ 2 x 5 VDC, 200 kHz, 970 DeviceStates (leggi informazioni sullo stato dell'unità di
SB 1231 AI 1 x 12 bit, 977 un sistema IO), 354
SB 1231 AI 1 x 16 bit per RTD, 988 Diagnostica
SB 1231 AI 1 x 16 bit per termocoppie, 984 buffer, 104
SB 1232 AQ 1 x 12 bit, 979 buffer di diagnostica, 817
simulatori di ingressi, 1009 DeviceStates (leggi informazioni sullo stato
SM 1221 DI 16 x 24 VDC, 919 dell'unità di un sistema IO), 354
SM 1221 DI 8 x 24 VDC, 919 GET_DIAG (leggi informazioni di diagnostica), 365
SM 1222 DQ 16 x 24 VDC, 923 indicatore di stato, 103

Sistema di automazione S7-1200


1036 Manuale di sistema, 03/2014, A5E02486684-AG
Indice analitico

Indicatori LED, 807 errori di diagnostica, 90


Istruzione ModuleStates (leggi informazioni sullo errori temporali, 89
stato del modulo di un'unità), 360 Errori di configurazione della ricezione, 714
LED (leggi stato del LED), 353 Errori di configurazione della trasmissione, 709
tabella di controllo, 822 Errori di gestione del segnale, 721, 723
tempo di ciclo, 816 Errori di runtime di trasmissione, 717
utilizzo della memoria, 816 Errori vari relativi ai parametri PtP, 705
Directory, lingue per pagine Web personalizzate, 675 Esecuzione degli eventi, 95
DIS_AIRT (Ritarda elaborazione di eventi di allarme e Esecuzione del programma, 77
di errore asincroni a priorità superiore), 351 Esegui i comandi dell'asse come sequenza di
Dispositivi HMI movimenti (MC_CommandTable), 486
Collegamento di rete, 153 Esempio
Configurazione della comunicazione Comunicazione PtP, 725
PROFINET, 566 Comunicazione PtP, configurazione, 726
Panoramica, 32 Comunicazione PtP, esecuzione, 734
Dispositivi portatili Comunicazione PtP, programmazione con STEP
layout delle pagine Web, 626 7, 732
Dispositivo Comunicazione PtP, terminale virtuale, 734
PROFINET IO, 572 pagine Web personalizzate, 663
DIV (dividi), 235 Slave Modbus, 788
Diverse definizioni delle variabili AWP, 655 Ethernet
Documentazione, 4 Collegamento di rete, 153
Download Compact Switch Module CSM 1277, 1013
aggiornamento del firmware, 136 DPNRM_DG (leggi dati di diagnostica di uno slave
Certificato di sicurezza Siemens al PC, 629, 684 DP), 335
DB per le pagine Web personalizzate, 661 DPWR_DAT (leggi dati coerenti di uno slave DP
progetto, 200 standard), 333
programma utente, 200 DPWR_DAT (scrivi dati coerenti di uno slave DP
visualizzazione degli indirizzi MAC e IP, 168 standard), 333
DPNRM_DG, 335 GET (leggi dati da una CPU remota), 602
DPWR_DAT (leggi dati coerenti di uno slave DP ID di collegamento, 528
standard), 333 Indirizzo IP, 163
DPWR_DAT (scrivi dati coerenti di uno slave DP Indirizzo MAC, 163
standard), 333 modo Ad hoc, 532
Durata di servizio dei relè, 859 numero di collegamenti di comunicazione, 525
Panoramica, 531
PUT (scrivi dati in una CPU remota), 602
E RALRM (ricevi allarme), 325
RDREC (leggi set di dati), 322
Editor di programma
T_CONFIG (configura interfaccia), 555
Controllo, 821
TCON (crea collegamento di comunicazione), 541
reset dei valori iniziali di un DB, 821
TDISCON (interrompi collegamento di
salvataggio dei valori di un DB, 821
comunicazione), 541
Stato, 821
tipi di comunicazione, 523
EN e ENO (flusso di corrente), 193
TRCV (ricevi dati tramite collegamento di
EN_AIRT (abilita elaborazione di eventi di allarme e di
comunicazione), 541
errore asincroni a priorità superiore), 351
TRCV_C (ricevi dati tramite Ethernet (TCP)), 534
ENCO (codifica), 281
TSEND (invia dati tramite collegamento di
ENDIS_PW (Limita e abilita autenticazione della
comunicazione), 541
password), 264
TSEND_C (invia dati tramite Ethernet (TCP), 534
Errore di incompatibilità con la versione della CPU, 808
TURCV (ricevi dati tramite Ethernet (UDP), 549
Errore di versione della CPU sconosciuta, 808
TUSEND (invia dati tramite Ethernet (UDP), 549
Errori

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1037
Indice analitico

WRREC (scrivi set di dati), 322 configurazione del collegamento, 155


EXP (Genera valore esponenziale), 241 GET (leggi dati da una CPU remota), 602
EXPT (Calcola la potenza), 241 GET_DIAG (leggi informazioni di diagnostica), 365
GET_ERROR (Interroga errori localmente), 268
GET_ERROR_ID (Interroga ID di errore
F localmente), 270
Grado di protezione, 858
F_TRIG (Imposta variabile con fronte di discesa del
Guida DIN, 55
segnale), 214
FAQ, 4
FB (blocco funzionale)
H
panoramica, 77
FC (funzione), 77, 178 Hotline, 3
FieldRead (Leggi campo), 246 HSC (contatore veloce)
FieldWrite (Scrivi nel campo), 246 Configurazione, 428
File GSD, 583 funzionamento, 420
FILL_BLK (Inserisci dati nell'area), 247 HTA (Converti cifre esadecimali in caratteri ASCII), 310
FIND (trova caratteri nella stringa), 320
FLOOR (Genera da un numero in virgola mobile il
numero intero inferiore), 255 I
Flusso d'aria, 50
I device
Forzamento, 826, 827
configurazione con un file GSD, 583
Ciclo di scansione, 827
I device (IO device intelligente)
ingressi della periferia, 826, 827
configurazione, 582
ingressi e uscite, 827
funzionalità, 575
Memoria I, 826, 827
Proprietà, 576
memory card, 127
Sistema di IO PN subordinato, 577
tabella di controllo, 822
I/O
FRAC (Rileva i decimali), 241
carichi induttivi, 74
Frammenti (pagine Web personalizzate)
controllo con tabella di controllo, 822
creazione da comando AWP, 653
controllo dello stato in KOP, 821
importazione con comando AWP, 654
Indicatori di stato analogici, 809
Frequenza, bit di clock, 104
Indicatori di stato digitali, 808
Funzionalità
indirizzamento, 111
I device, 575
operazione di forzamento, 827
Funzione (FC)
rappresentazione degli ingressi analogici
blocchi di codice richiamanti all'interno del
(corrente), 947, 982
programma utente, 176
rappresentazione degli ingressi analogici
numeri FC validi, 77
(tensione), 946, 981
panoramica, 77, 178
rappresentazione delle uscite analogiche
programmi lineari e strutturati, 174
(corrente), 948, 983
Protezione del know-how, 197
rappresentazione delle uscite analogiche
Funzione Trace, 838
(tensione), 947, 982
Funzioni matematiche, 39, 234, 235
tempi di risposta a gradino (CPU), 867, 877, 888,
FUP (schema logico), 185
900, 916
tempi di risposta a gradino (SB), 981
tempi di risposta a gradino (SM), 945
G
I/O analogici
Gap intercaratteri, 701 configurazione, 151
Generazione di DB per le pagine Web conversione in unità di engineering, 111, 258
personalizzate, 659 Conversione in unità di engineering, 40
GET indicatori di stato, 809

Sistema di automazione S7-1200


1038 Manuale di sistema, 03/2014, A5E02486684-AG
Indice analitico

rappresentazione degli ingressi (corrente), 947, 982 bit di misurazione degli impulsi, 149
rappresentazione degli ingressi (tensione), 946, 981 Ingressi e uscite
rappresentazione delle uscite (corrente), 948, 983 controllo, 820
rappresentazione delle uscite (tensione), 947, 982 Inserimento della memory card nella CPU, 128
tempi di risposta a gradino (CPU), 867, 877, 888, Inserimento di ingressi o uscite nelle istruzioni KOP e
900, 916 FUP, 41
tempi di risposta a gradino (SB), 981 Inserimento di nuovo dispositivo
tempi di risposta a gradino (SM), 945 CPU non specificata, 144
I/O digitali Rilevamento di un hardware esistente, 144
configurazione, 151 Inserimento di un dispositivo
indicatori di stato, 808 CPU non specificata, 144
misurazione degli impulsi, 151 Inserimento nella coda d'attesa, 95
Immagine di processo INSERT (inserisci caratteri nella stringa), 318
controllo, 820 Interfacce di comunicazione
Controllo, 821 CB 1241 RS485, 1004
forzamento, 826 CM 1241 RS232, 1006
operazione di forzamento, 827 Configurazione, 690
stato, 820, 826 configurazione dei dispositivi, 141
Stato, 821 Indicatori LED, 807
Immunità alle sovratensioni, 856 inserimento dei moduli, 145
Importazione del certificato di sicurezza Siemens, 684 Programmazione, 723
Impostazioni, 42 RS232 e RS485, 687
Impulso prolungato (TP), 216 Tabella comparata dei moduli, 26
IN_Range (Valore compreso nel campo), 232 Interfaccia di blocco ampliata
INC (incrementa), 238 caricamento in modo RUN, 833
Indicatore di prima scansione, 103 Interfaccia utente
Indicatori LED Viste portale e progetto di STEP 7, 37
interfaccia di comunicazione, 688, 807 INV (Crea complemento a uno), 281
Stato CPU, 807 IO Link
Indice di variabile per un array, 247 assegnazione dei pin, 842
Indicizzazione degli array con le variabili, 247 Configurazione, 845
Indirizzamento funzioni, 841
aree di memoria, 106 LED, 849
immagine di processo, 106 messaggi di errore, 846, 849
singoli ingressi (I) o uscite (Q), 107 modifica dei parametri in runtime, 846
Valori booleani o di bit, 107 parametri, 845
Indirizzamento dei tipi di enum nelle pagine Web record di dati, 847
personalizzate, 651 schema, 844
Indirizzo IP, 164, 165 sostituzione, 841
Assegnazione, 159, 167 spazio di indirizzamento, 846
Assegnazione online, 162 IO-Link
configurazione, 163 diagnostica, 850
Configurazione dei dispositivi, 146 memoria del dispositivo, 842
configurazione della CPU online, 813 messaggi di errore, 850
Indirizzo MAC, 163 profilo del dispositivo, 839
Indirizzo IP del router, 165 ripristino delle impostazioni di fabbrica, 842
Indirizzo MAC, 163, 168 ISO on TCP
Indirizzo PROFIBUS, 590 configurazione del collegamento, 154
Informazioni sui contatti, 3, 146 ID di collegamento, 528
Informazioni sul programma modo Ad hoc, 532
Nella struttura di richiamo, 205 parametri, 156
Ingressi Istruzione CONCAT (concatena stringhe), 314

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1039
Indice analitico

Istruzione MAX_LEN (lunghezza massima di una CONTINUE (SCL), 278


stringa), 313 controllo, 820
Istruzioni Controllo, 821
-( )- (assegnazione), 207 Controllo del movimento, 467
-( )- (negazione assegnazione), 207 controllo del programma (SCL), 272
-(N)- (Imposta operando in caso di fronte di discesa CONV (Converti valore), 250
del segnale), 213 COS (Genera valore del coseno), 241
-(P)- (Imposta operando in caso di fronte di salita CTRL_HSC (Comanda contatore veloce), 417
del segnale), 213 CTU (conteggio all'indietro), 225
-(R) (Resetta uscita), 210 CTU (conteggio in avanti), 225
-(RESET_BF) (Resetta campo di bit), 211 CTUD (conteggio in avanti e all'indietro), 225
-(S) (Imposta uscita), 210 Data, 289
-(SET_BF) (Imposta campo di bit), 211 DataLogClose (chiudi Data Log), 397
-|/|- (contatto normalmente chiuso), 207 DataLogCreate (crea Data Log), 389
-||- (contatto normalmente aperto), 207 DataLogNewFile (data Log in nuovo file), 398
-|N|- (Interroga il fronte di discesa del segnale di un DataLogOpen (apri Data Log), 393
operando), 213 DataLogWite (scrivi Data Log), 395
-|NOT|- (inverti RLO), 207 DEC (decrementa), 238
-|P|- (Interroga il fronte di salita del segnale di un DECO (decodifica), 281
operando), 213 DELETE (cancella caratteri nella stringa), 317
ABS (Genera valore assoluto), 238 DETACH (separa OB dall'evento di allarme), 338
ACOS (Genera valore dell'arcocoseno), 241 DeviceStates (leggi informazioni sullo stato
ACT_TINT (attiva allarme dall'orologio), 347 dell'unità di un sistema IO), 354
ADD (somma), 235 DIS_AIRT (Ritarda elaborazione di eventi di allarme
AND (operazione logica), 280 e di errore asincroni a priorità superiore), 351
ASIN (Genera valore dell'arcoseno), 241 DIV (dividi), 235
ATAN (Genera valore dell'arcotangente), 241 DPNRM_DG (leggi dati di diagnostica di uno slave
ATH (Converti stringa di caratteri ASCII in un DP), 335
numero esadecimale), 310 DPWR_DAT (leggi dati coerenti di uno slave DP
ATTACH assegna OB all'evento di allarme), 338 standard), 333
Box & (operazione logica AND FBD), 207 DPWR_DAT (scrivi dati coerenti di uno slave DP
Box /= (negazione assegnazione FBD), 207 standard), 333
Box = (assegnazione FBD), 207 EN_AIRT (abilita elaborazione di eventi di allarme e
Box N= e bobina N (Imposta operando in caso di di errore asincroni a priorità superiore), 351
fronte di discesa del segnale), 213 ENCO (codifica), 281
Box P= e bobina P (Imposta operando in caso di ENDIS_PW (Limita e abilita autenticazione della
fronte di salita del segnale), 213 password), 264
CALCULATE, 39 EXIT (SCL), 278
CALCULATE (calculate), 234 EXP (Genera valore esponenziale), 241
Calendario, 289 EXPT (Calcola la potenza), 241
CAN_DINT (cancella allarme di ritardo), 349 F_TRIG (Imposta variabile con fronte di discesa del
CAN_TINT (cancella allarme dall'orologio), 346 segnale), 214
carichi delle lampade, 73 FieldRead (Leggi campo), 246
carichi induttivi, 74 FieldWrite (Scrivi nel campo), 246
CASE (SCL), 274 FILL_BLK (Inserisci dati nell'area), 247
CEIL (Genera da un numero in virgola mobile il FIND (trova caratteri nella stringa), 320
numero intero superiore), 255 FLOOR (Genera da un numero in virgola mobile il
Chars_TO_Strg (Converti Array of CHAR in numero intero inferiore), 255
stringa), 308 FOR (SCL), 275
Codici di stato USS, 746 forzamento, 826
colonne e intestazioni, 42, 770 FRAC (Rileva i decimali), 241
confronto di valori, 231 GET (leggi dati da una CPU remota), 602

Sistema di automazione S7-1200


1040 Manuale di sistema, 03/2014, A5E02486684-AG
Indice analitico

GET_DIAG (leggi informazioni di diagnostica), 365 MC_MoveAbsolute (posizionamento assoluto


GET_ERROR (Interroga errori localmente), 268 dell'asse), 477
GET_ERROR_ID (Interroga ID di errore MC_MoveJog (aziona asse con funzionamento
localmente), 270 marcia manuale), 484
GOTO (SCL), 279 MC_MoveRelative (posizionamento relativo
HSC (contatore veloce), 420 dell'asse), 479
HTA (Converti cifre esadecimali in caratteri MC_MoveVelocity (sposta l'asse alla velocità
ASCII), 310 predefinita), 481
IF-THEN (SCL), 273 MC_Power (abilita/blocca asse), 468
IN_Range (Valore compreso nel campo), 232 MC_ReadParam (leggi i parametri dell'oggetto
INC (incrementa), 238 tecnologico ), 493
inserimento, 38 MC_Reset (conferma errore), 471
Inserimento di ingressi o uscite nelle istruzioni KOP MC_WriteParam (scrivi i parametri dell'oggetto
e FUP, 41 tecnologico), 491
INSERT (inserisci caratteri nella stringa), 318 messa a terra, 72
INV (Crea complemento a uno), 281 Messa in scala di valori analogici, 40
isolamento, 72 MID (leggi caratteri centrali della stringa), 315
Istruzione CONCAT (concatena stringhe), 314 MIN (Rileva valore min.), 239
Istruzione MAX_LEN (lunghezza massima di una MOD (Rileva il resto della divisione), 236
stringa), 313 montaggio, 49
Istruzione ModuleStates (leggi informazioni sullo Montaggio CPU, 56
stato del modulo di un'unità), 360 MOVE (Copia valore), 243
Istruzioni di conversione SCL, 251 MOVE_BLK (Copia area), 243
istruzioni espandibili, 41 MUL (moltiplica), 235
istruzioni per il cablaggio, 71, 73 MUX (multiplexaggio), 283
JMP (Salta se RLO = 1), 259 N (Interroga il fronte di discesa del segnale di un
JMP_LIST (Definisci elenco di salti), 260 operando), 213
JMPN (Salta se RLO = 0), 259 N_TRIG (Interroga il fronte di discesa del segnale
Label (Etichetta di salto), 259 del RLO ), 214
LED (leggi stato del LED), 353 NEG (Crea complemento a due), 237
LEFT (leggi caratteri sulla sinistra della stringa), 315 NORM_X (normalizzazione), 256
LEN (lunghezza attuale di una stringa), 313 NOT_OK (verifica invalidità), 233
LIMIT (Imposta valore limite), 240 OK (Verifica validità), 233
LN (Genera logaritmo naturale), 241 operazione di forzamento, 827
LOG2GEO (Rileva indirizzo geografico dall'indirizzo OR (operazione logica), 280
logico), 412 ora, 289
MAX (Rileva valore max.), 239 Orologio, 293
MB_CLIENT (comunica come client Modbus TCP OUT_Range (Valore fuori campo), 232
tramite PROFINET), 754 P (Interroga il fronte di salita del segnale di un
MB_COMM_LOAD (configura porta dell'unità PtP operando), 213
per Modbus RTU), 771 P_TRIG (Interroga il fronte di salita del segnale del
MB_MASTER (comunica come master Modbus RLO), 214
tramite porta PtP), 774 parametri comuni, 562
MB_SERVER (comunica come server Modbus TCP Periferia decentrata AS-i, 321
tramite PROFINET), 761 Periferia decentrata PROFIBUS, 321
MB_SLAVE (comunica come slave Modbus tramite Periferia decentrata PROFINET, 321
porta PtP), 780 PID_Compact (regolatore PID universale con
MC_ChangeDynamic (modifica impostazioni ottimizzazione integrata), 432
dinamiche dell'asse), 489 PORT_CFG (progetta dinamicamente parametri di
MC_CommandTable, 486 comunicazione), 706
MC_Halt (metti in pausa l'asse), 475 Preferiti, 38
MC_Home (indirizza e posiziona asse), 472 procedimenti di montaggio, 55

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1041
Indice analitico

PUT (scrivi dati in una CPU remota), 602 SGN_GET (imposta segnali RS-232), 722
PWM (modulazione ampiezza impulsi), 371 SGN_GET (Interroga segnali RS-232), 720
QRY_CINT (Interroga i parametri di schedulazione SHL (sposta verso sinistra) e SHR (Sposta verso
orologio), 343 destra), 286
QRY_DINT (interroga lo stato di un allarme di SIN (Genera valore del seno), 241
ritardo), 349 SQR (Genera quadrato), 241
QRY_TINT (interroga un allarme dall'orologio), 347 SQRT (Genera radice quadrata), 241
R (Resetta uscita), 210 SR (Flipflop di impostazione/resettaggio), 211
R_TRIG (Imposta variabile con fronte di salita del SRT_DINT (avvia allarme di ritardo), 349
segnale), 214 stato, 820
RALRM (ricevi allarme), 325 Stato, 821
RCV_CFG (progetta dinamicamente parametri di STP (Chiudi programma), 268
ricezione seriali), 709 Strg_TO_Chars (Converti stringa di caratteri in
RCV_PTP (abilita ricezione di messaggi), 718 Array of CHAR), 308
RCV_RST (cancella buffer di ricezione), 719 SUB (sottrai), 235
RD_ADDR (Rileva dati IO di un'unità), 414 SWAP (Modifica disposizione byte), 249
RD_LOC_T (leggi data e ora locale), 293 SWITCH (Distributore di salto), 261
RD_SYS_T (Leggi ora), 293 T_ADD (Somma tempi), 290
RDREC (leggi set di dati), 322 T_COMBINE (combina tempi), 291
RE_TRIGR, 98 T_CONFIG (configura interfaccia), 555
RE_TRIGR (Riavvia tempo di controllo del T_CONV (Estrai e converti tempi), 289
ciclo), 267 T_DIFF (differenza di data e ora), 291
READ_DBL (leggi blocco dati nella memoria di T_SUB (Sottrai tempi), 290
caricamento), 409 TAN (Genera valore della tangente), 241
RecipeExport (esporta ricetta), 381 TCON (crea collegamento di comunicazione), 541
RecipeImport (importa ricetta), 383 TDISCON (interrompi collegamento di
REPEAT (SCL), 277 comunicazione), 541
REPLACE (sostituisci caratteri nella stringa), 319 Temporizzatore, 216
RESET_BF (Resetta campo di bit), 211 TM_MAIL (invia e-mail), 799
RET (Salta indietro), 263 TOF (Temporizzatore come ritardo alla
RETURN (SCL), 279 disinserzione), 216
RIGHT (leggi caratteri sulla destra della TON (Temporizzatore come ritardo
stringa), 315 all'inserzione), 216
ROL (Fai ruotare verso sinistra) e ROR (Fai ruotare TONR (Temporizzatore come ritardo all'inserzione
verso destra), 287 con memoria), 216
ROUND (Arrotonda numero), 254 TP (Temporizzatore come impulso), 216
RS (Flipflop di resettaggio/impostazione ), 211 Trascinamento, 38
RT (Resetta temporizzatore), 216 Trascinamento tra editor, 43
RTM (Contatore ore di esercizio), 297 TRCV (ricevi dati tramite collegamento di
S (Imposta uscita), 210 comunicazione), 541
S_CONV (Converti stringa di caratteri), 300 TRCV_C, 570
S_MOVE (Sposta stringa di caratteri), 299 TRCV_C (ricevi dati tramite Ethernet (TCP), 534
SCALE_X (riporta in scala), 256 TRUNC (Genera numero intero), 254
SEL (seleziona), 283 TSEND (invia dati tramite collegamento di
SEND_CFG (progetta dinamicamente parametri di comunicazione), 541
trasferimento seriali), 708 TSEND_C, 569
SEND_PTP (trasferisci dati del buffer di invio), 715 TSEND_C (invia dati tramite Ethernet (TCP), 534
SET_BF (Imposta campo di bit), 211 TURCV (ricevi dati tramite Ethernet (UDP), 549
SET_CINT (imposta parametri di schedulazione TUSEND (invia dati tramite Ethernet (UDP), 549
orologio), 341 UFILL_BLK (Inserisci area senza interruzione), 247
SET_TIMEZONE (imposta fuso orario), 296 UMOVE_BLK (Copia area senza interruzione), 243
SET_TINTL (imposta allarme dall'orologio), 345 USS_DRV (Scambia dati con azionamento), 740

Sistema di automazione S7-1200


1042 Manuale di sistema, 03/2014, A5E02486684-AG
Indice analitico

USS_PORT (Elabora comunicazione tramite rete K


USS), 738
KOP (schema a contatti)
USS_RPM (leggi parametri dall'azionamento), 743
controllo, 820
USS_WPM (modifica parametri
Controllo, 821
nell'azionamento), 744
editor di programma, 821
VAL_STRG (Converti stringa di caratteri in un
panoramica, 184
valore numerico), 300
stato, 820, 826
VAL_STRG (Converti valore numerico in una
Stato, 821
stringa di caratteri), 300
versioni delle istruzioni, 42, 770
WHILE (SCL), 276
L
WR_LOC_T (Imposta ora locale), 293
WR_SYS_T (Imposta ora), 293 Label (Etichetta di salto), 259
WRIT_DBL (scrivi blocco dati nella memoria di Latenza, 95
caricamento), 409 LED (leggi stato del LED), 353
WRREC (scrivi set di dati), 322 LEFT (leggi caratteri sulla sinistra della stringa), 315
WWW (sicronizzazione delle pagine Web LEN (lunghezza attuale di una stringa), 313
personalizzate), 659 Lettura delle variabili HTTP, 647
XOR (operazione logica), 280 LIMIT (Imposta valore limite), 240
Istruzioni di controllo del movimento, 467 Limitazioni
Istruzioni di inserimento pagine Web personalizzate, 662
Preferiti, 38 Web server, 682
Trascinamento, 38 Limitazioni dei cookie nelle pagine Web standard, 684
Trascinamento tra editor, 43 limitazioni di JavaScript, pagine Web standard, 683
Istruzioni di tecnologia, 417 Linea inattiva, 695, 696
Istruzioni espandibili, 41 Lingue, pagine Web personalizzate, 674
Istruzioni per il cablaggio, 73 Livello di protezione
messa a terra, 72 Assegnazione a una CPU o memory card, 199
presupposti, 71 Blocco di codice, 197
spazio libero per il flusso d'aria e il CPU, 195
raffreddamento, 50 Password persa, 139
Istruzioni per l'isolamento, 72 LN (Genera logaritmo naturale), 241
Istruzioni PROFINET Log di dati
T_CONFIG (configura interfaccia), 555 DataLogClose (chiudi Data Log), 397
TCON (crea collegamento di comunicazione), 541 DataLogCreate (crea Data Log), 389
TDISCON (interrompi collegamento di DataLogNewFile (data Log in nuovo file), 398
comunicazione), 541 DataLogOpen (apri Data Log), 393
TRCV (ricevi dati tramite collegamento di DataLogWite (scrivi Data Log), 395
comunicazione), 541 esempio di programma, 405
TRCV_C, 570 limiti alle dimensioni dei log di dati, 401
TRCV_C (ricevi dati tramite Ethernet (TCP)), 534 Panoramica delle istruzioni Data log, 387
TSEND (invia dati tramite collegamento di struttura dei record di dati, 388
comunicazione), 541 visualizzazione di log di dati, 400
TSEND_C (invia dati tramite Ethernet (TCP), 534 Log in/out
TURCV (ricevi dati tramite Ethernet (UDP), 549 pagine Web standard, 627
TUSEND (invia dati tramite Ethernet (UDP), 549 LOG2GEO (Rileva indirizzo geografico dall'indirizzo
logico), 412
Lunghezza
J Messaggio, 702
Lunghezza fissa, 701
JMP (Salta se RLO = 1), 259
Lunghezza m, 702
JMP_LIST (Definisci elenco di salti), 260
Lunghezza massima del messaggio, 701
JMPN (Salta se RLO = 0), 259

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1043
Indice analitico

Lunghezza n, 702 CPU 1212C, 871


CPU 1214C, 882
CPU 1215C, 894
M CPU 1217C, 906
Memoria di caricamento, 24
Manuali, 4
CPU 1211C, 861
Maschera di sottorete, 164
CPU 1212C, 871
MAX (Rileva valore max.), 239
CPU 1214C, 882
MB_CLIENT (comunica come client Modbus TCP
CPU 1215C, 894
tramite PROFINET), 754
CPU 1217C, 906
MB_COMM_LOAD (configura porta dell'unità PtP per
memory card, 127
Modbus RTU), 771
pagine Web personalizzate, 662
MB_MASTER (comunica come master Modbus tramite
scheda di programma, 127
porta PtP), 774
scheda di trasferimento, 127
MB_SERVER (comunica come server Modbus TCP
Memoria di lavoro, 24
tramite PROFINET), 761
CPU 1211C, 861
MB_SLAVE (comunica come slave Modbus tramite
CPU 1212C, 871
porta PtP), 780
CPU 1214C, 882
MC_ChangeDynamic (modifica impostazioni dinamiche
CPU 1215C, 894
dell'asse), 489
CPU 1217C, 906
MC_CommandTable, 486
Memoria I
MC_Halt (metti in pausa l'asse), 475
controllo, 820
MC_Home (indirizza e posiziona asse), 472
forzamento, 826
MC_MoveAbsolute (posizionamento assoluto
indirizzi degli ingressi della periferia (tabella di
dell'asse), 477
forzamento), 826
MC_MoveJog (aziona asse con funzionamento marcia
monitor KOP, 821
manuale), 484
operazione di forzamento, 827
MC_MoveRelative (posizionamento relativo
tabella di controllo, 820
dell'asse), 479
tabella di forzamento, 826
MC_MoveVelocity (sposta l'asse alla velocità
Memoria Q
predefinita), 481
configurazione di canali impulsivi, 374
MC_Power (abilita/blocca asse), 468
uscite di impulsi, 373
MC_ReadParam (leggi i parametri dell'oggetto
Memory card, 1009
tecnologico ), 493
aggiornamento del firmware, 136
MC_Reset (conferma errore), 471
configurazione dei parametri di avvio, 130
MC_WriteParam (scrivi i parametri dell'oggetto
errore di incompatibilità, 808
tecnologico ), 491
funzionamento, 127
Memoria
inserimento nella CPU, 128
controllo dell'utilizzo della memoria, 816
panoramica, 127
I (immagine di processo degli ingressi), 108
password persa, 139
indirizzi degli ingressi della periferia (tabella di
scheda di programma, 134
forzamento), 826
scheda di trasferimento, 131
L (memoria locale), 106
scheda di trasferimento vuota per una password
M (merker), 109
persa, 139
Memoria a ritenzione, 100
Memory card della CPU
Memoria di caricamento, 100
inserimento, 128
Memoria di lavoro, 100
scheda di programma, 134
Memoria temporanea, 110
scheda di trasferimento, 131
Merker di clock, 102
utilizza, 127
Merker di sistema, 102
Messa in scala di valori analogici, 40, 258
Q (immagine di processo delle uscite), 109
Messaggio
Memoria a ritenzione, 24, 100
avvio, 696
CPU 1211C, 861

Sistema di automazione S7-1200


1044 Manuale di sistema, 03/2014, A5E02486684-AG
Indice analitico

fine, 699 processore di comunicazione (CP), 29


lunghezza, 701 schede di comunicazione (CB), 29
MicroMaster, azionamento signal board (SB), 29
Collegamento, 748 Tabella comparata, 26
MID (leggi caratteri centrali della stringa), 315 zona termica, 50, 54
MIN (Rileva valore min.), 239 Moduli CANopen
Misurazione degli impulsi, 149, 151 021620-B, 021630-B, 1014
MOD (Rileva il resto della divisione), 236 Moduli di comunicazione RS232 e RS485, 687
Modbus Moduli di I/O (SM)
Codici delle funzioni, 751 configurazione di parametri, 151
Comunicazione RTU, 753 inserimento dei moduli, 145
Esempio di slave Modbus, 788 montaggio, 60
Indirizzi delle stazioni di rete, 752 panoramica, 29
Indirizzi di memoria, 752 prolunga, 64
MB_CLIENT (comunica come client Modbus TCP rappresentazione degli ingressi analogici
tramite PROFINET), 754 (corrente), 947, 982
MB_COMM_LOAD (configura porta dell'unità PtP rappresentazione degli ingressi analogici
per Modbus RTU), 771 (tensione), 946, 981
MB_MASTER (comunica come master Modbus rappresentazione delle uscite analogiche
tramite porta PtP), 774 (corrente), 948, 983
MB_SERVER (comunica come server Modbus TCP rappresentazione delle uscite analogiche
tramite PROFINET), 761 (tensione), 947, 982
MB_SLAVE (comunica come slave Modbus tramite Requisiti di alimentazione, 1015
porta PtP), 780 SM 1221 DI 16 x 24 VDC, 919
versioni, 42, 770 SM 1221 DI 8 x 24 VDC, 919
Modifica SM 1222 DQ 16 x 24 VDC, 923
stato dell'editor di programma, 821 SM 1222 DQ 16 x relè, 923
tabella di controllo, 822 SM 1222 DQ 8 relè di scambio, 921
variabili dal Web server, 636 SM 1222 DQ 8 x 24 VDC, 921
Modifica delle impostazioni per STEP 7, 42 SM 1222 DQ 8 x relè, 921
Modifica dispositivo, 146 SM 1223 DI 16 x 24 VDC, DQ 16 x 24 VDC, 928
Modifica in modo RUN, (Caricamento del programma SM 1223 DI 16 x 24 VDC, DQ 16 x relè, 928
in modo RUN) SM 1223 DI 8 x 120/230 VAC / DQ 8 x relè, 933
Modo Ad hoc, TCP e ISO on TCP, 532 SM 1223 DI 8 x 24 VDC, DQ 8 x 24 VDC, 928
Modo AVVIAMENTO SM 1223 DI 8 x 24 VDC, DQ 8 x relè, 928
operazione di forzamento, 827 SM 1231 AI 4 x 13 bit, 936
Modo di funzionamento SM 1231 AI 4 x 16 bit, 936
commutazione STOP/RUN, 815 SM 1231 AI 4 x 16 bit TC, 948
modi di funzionamento della CPU, 81 SM 1231 AI 4 x RTD x 16 bit, 954
Modo RUN, 81, 84, 815 SM 1231 AI 8 x 13 bit, 936
operazione di forzamento, 827 SM 1231 AI 8 x 16 bit TC, 948
Pannello operatore, 44 SM 1231 AI 8 x RTD x 16 bit, 954
pulsanti della barra degli strumenti, 44 SM 1232 AQ 2 x 14 bit, 940
Modo STOP, 81, 815 SM 1232 AQ 4 x 14 bit, 940
abilitazione delle uscite in STOP, 825 SM 1234 AI 4 x 13 bit / AQ 2 x 14 bit, 942
operazione di forzamento, 827 SM 1278 4xIO-Link Master, 961
pulsanti della barra degli strumenti, 44 smontaggio, 61
ModuleStates, 360 tempi di risposta a gradino, 945
Moduli Moduli di I/O analogici
moduli di I/O (SM), 29 SM 1231, 936
modulo di comunicazione (CM), 29 SM 1231 per RTD, 954
parametri di configurazione, 151 SM 1231 per termocoppie, 948

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1045
Indice analitico

SM 1232, 940 raffreddamento, 50


SM 1234, 942 requisiti, 36
Moduli di I/O digitali scheda di comunicazione (CB), 58
SM 1221, 919 Scheda SIM del TS Adapter, 67
SM 1222, 921, 923 signal board (SB), 58
SM 1223, 928, 933 spazio libero, 50
Modulo di alimentazione TS Adapter e modulo TS Adapter, 66
PM1207, 1013 TS Adapter su guida DIN, 69
Modulo di comunicazione (CM) TS Adapter su parete, 70
aggiungere modulo master AS-i CM 1243-2, 592 zona termica, 50, 54
aggiunta di un modulo CM 1243-5 (master DP), 587 Morsettiera, 63
CM 1241 RS232, 1006 MOVE (Copia valore), 243
CM 1241 RS422/RS485, 1007 MOVE_BLK (Copia area), 243
configurazione dei dispositivi, 141 MRES
configurazione del programma di esempio per Pannello operatore, 44
PtP, 726 MUL (moltiplica), 235
configurazione di parametri, 151 MUX (multiplexaggio), 283
Indicatori LED, 688, 807 My Documentation Manager, 4
inserimento dei moduli, 145
montaggio, 62
panoramica, 29 N
Programmazione, 723
N (Interroga il fronte di discesa del segnale di un
Requisiti di alimentazione, 1015
operando), 213
Ricezione dei dati, 718
N_TRIG (Interroga il fronte di discesa del segnale del
RS232 e RS485, 687
RLO ), 214
smontaggio, 62
NEG (Crea complemento a due), 237
Tabella comparata, 26
Network Time Protocol (NTP), 170
Modulo di I/O IO-Link Master, 961
Nomi dei dispositivi
Modulo potenziometro
PROFINET IO, 573
dati tecnici, 1011
Nomi dei dispositivi online
Modulo switch compatto
PROFINET IO, 811
CSM 1277, 1013
NORM_X (normalizzazione), 256
Modulo tecnologico
Normalizzazione dei valori analogici, 258
SM 1278, 961
NOT_OK (verifica invalidità), 233
Montaggio
Numeri
carichi delle lampade, 73
binario, 113
carichi induttivi, 74
numero intero, 114
CPU, 56
reali, 114
dimensioni, 54
Numeri di ordinazione
dimensioni di montaggio, 54
Alimentazione PM 1207, 1022
flusso d'aria, 50
connettori e morsetti, 1021
isolamento, 72
CPU, 1019
istruzioni, 49
documentazione, 1024
istruzioni per il cablaggio, 71, 73
interfacce di comunicazione (CM, CB e CP), 1021,
istruzioni per l'isolamento, 72
1021
messa a terra, 72
Memory card, 1022
moduli di I/O (SM), 29
moduli di I/O, 1019
modulo di comunicazione (CM), 62
morsettiere, 1023
modulo di I/O (SM), 60
Pannelli HMI Basic, 1022
morsettiera, 63
prolunghe, 1023
panoramica, 49, 55
signal board, schede di batteria, 1020
prolunga, 64
simulatori, 1023

Sistema di automazione S7-1200


1046 Manuale di sistema, 03/2014, A5E02486684-AG
Indice analitico

software di programmazione, 1024 forzamento, 826


software di visualizzazione, 1024 Indirizzo IP, 813
staffa terminale, 1023 operazione di forzamento, 827
STEP 7, 1024 orologio, 813
Switch Ethernet CSM 1277, 1022 pannello operatore, 815
WinCC, 1024 Pannello operatore, 44
Numeri di porta Pulsanti RUN/STOP, 44
limitati, 563 reset dei valori iniziali di un DB, 821
Numero della porta, 531 salvataggio dei valori di un DB, 821
Numero massimo di collegamenti del server Web, 682 stato, 820
Stato, 821
strumenti, 819
O tabella di controllo, 820, 822
Tabella di controllo, 821
OB, (Blocco organizzativo)
tempo di ciclo, 816
OB di aggiornamento, 94
utilizzo della memoria, 816
OB di allarme dall'orologio, 93
OPC, configurazione, 795
OB di allarme di diagnostica, 90
Open User Communication (OUC)
OB di avvio, 86
attivazione di un collegamento e invio dei dati con
OB di ciclo, 85
TSEND_C, 534
OB di errore temporale, 88
attivazione di un collegamento e lettura dei dati con
OB di estrazione o inserimento dei moduli, 92
TRCV_C, 534
OB di guasto del telaio o della stazione, 93
OR (operazione logica), 280
OB di interrupt di processo, 87
Ora
OB di profilo, 95
RD_LOC_T (leggi data e ora locale), 293
OB di ritardo, 86
RD_SYS_T (Leggi ora), 293
OB di schedulazione orologio, 87
SET_TIMEZONE (imposta fuso orario), 296
OB di stato, 94
T_ADD (Somma tempi), 290
Oggetti tecnologici
T_COMBINE (combina tempi), 291
Controllo del movimento, 459
T_CONV (Estrai e converti tempi), 289
PID, 430
T_DIFF (differenza di data e ora), 291
OK (Verifica validità), 233
T_SUB (Sottrai tempi), 290
Omologazione ATEX, 854
WR_LOC_T (Imposta ora locale), 293
Omologazione CE, 853
WR_SYS_T (Imposta ora), 293
Omologazione coreana, 855
Ora locale
Omologazione C-Tick, 855
RD_LOC_T (leggi data e ora locale), 293
Omologazione cULus, 854
WR_LOC_T (Imposta ora locale), 293
Omologazione FM, 854
Orologio
Omologazione nel settore marittimo, 855
configurazione della CPU online, 813
Omologazioni
Orologio hardware, 105
ATEX, 854
RD_LOC_T (leggi data e ora locale), 293
CE, 853
WR_SYS_T (Imposta ora), 293
Certificazione coreana, 855
Orologio di sistema
C-Tick, 855
RD_SYS_T (Leggi ora), 293
cULus, 854
WR_LOC_T (Imposta ora locale), 293
FM, 854
WR_SYS_T (Imposta ora), 293
Maritime, 855
Ottimizzazione PID per le valvole, 438
Online
OUT_Range (Valore fuori campo), 232
assegnazione di un indirizzo IP, 162
attivazione di un collegamento online, 810
buffer di diagnostica, 817
confronto e sincronizzazione, 818
controllo, 820

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1047
Indice analitico

P Pagine Web standard, 617


accesso da PC, 622
P (Interroga il fronte di salita del segnale di un
accesso sicuro, 623
operando), 213
comunicazione, 636
P_TRIG (Interroga il fronte di salita del segnale del
Diagnostica, 631
RLO), 214
Identificazione, 630
Pagina Web di diagnostica standard, 631
Introduzione, 629
Pagina Web di identificazione standard, 630
layout, 625
Pagina Web di introduzione standard, 629
Limitazioni dei cookie, 684
Pagina Web di log di dati standard, 639
limitazioni di JavaScript, 683
Pagina Web iniziale standard, 630
Log di dati, 639
Pagina Web standard Comunicazione, 636
log in e log out, 627
Pagina Web standard Stato delle variabili, 636
modifica del modo di funzionamento, 630
Pagina web standard Stato dell'unità, 632
Pagina iniziale, 630
Pagine HTML
Stato delle variabili, 636
definito dell'utente, 641
Stato dell'unità, 632
Elenco, esempio di pagina Web personalizzata, 669
Panelli (HMI), 32
Pagine HTML personalizzate
Pannelli operatore, 32
accesso ai dati dell'S7-1200, 643
Pannello operatore, 44
aggiornamento, 643
modi di funzionamento della CPU, 81
posizione delle lingue, 677
Parametri di avvio, 130
posizioni delle pagine, 658
Parametri di uscita, 179
sviluppo, 642
configurazione di canali impulsivi, 374
Pagine Web
uscite di impulsi, 373
Assistenza tecnica, supporto e documentazione di
Parametrizzazione, 179
STEP 7, 4
Parametro BUFFER, SEND_PTP, 717
Pagine Web di STEP 7, 4
Parametro LENGTH, SEND_PTP, 717
Pagine Web personalizzate, 618, 641
Parità, 692
abilitazione con l'istruzione WWW, 659
Passaggio tra lingue, pagine Web personalizzate, 674
accesso da PC, 662
Password persa, 139
aggiornamento, 643
PID
attivazione e disattivazione dal DB di comando, 678
Algoritmo PID_3Step, 429
Comandi AWP per accedere ai dati dell'S7-
Algoritmo PID_Compact, 429
1200, 643
panoramica, 429
configurazione, 658
PID_3STEP (regolatore PID con ottimizzazione per
configurazione multilingua, 677
le valvole), 438
creazione con editor HTML, 642
PID_Compact (regolatore PID universale con
creazione di frammenti, 653
ottimizzazione integrata), 432
DB di comando di frammenti manuali, 678
PLC
download dei DB corrispondenti, 661
assegnazione di un indirizzo IP ad una CPU
eliminazione di blocchi di programma, 659
online, 162
esempio, 663
budget di potenza, 51
generazione di blocchi di programma, 659
caricamento, 200
gestione dei caratteri speciali, 656
carico di comunicazione, 99
importazione di frammenti, 654
configurazione dei dispositivi, 141
lettura delle variabili, 645
Configurazione dell'HSC, 428
lettura di variabili speciali, 647
confronto e sincronizzazione, 818
limitazioni della memoria di caricamento, 662
controllo, 820
Listing HTML, 669
copia di blocchi da una CPU online, 201
multilingue, 674
elaborazione dell'avviamento, 84
programmazione con STEP 7, 659
forzamento, 826
scrittura delle variabili, 646
inserimento dei moduli, 145
scrittura di variabili speciali, 649

Sistema di automazione S7-1200


1048 Manuale di sistema, 03/2014, A5E02486684-AG
Indice analitico

memory card, 127 Modulo CM 1242-5 (slave DP), 585


modi di funzionamento, 81 Modulo CM 1243-5 (master DP), 585
montaggio, 55, 56 Proprietà dell'indirizzo PROFIBUS, 590
morsettiera, 63 PUT (scrivi dati in una CPU remota), 602
operazione di forzamento, 827 RALRM (ricevi allarme), 325
Panoramica della CPU, 23 RDREC (leggi set di dati), 322
Progettazione del sistema, 173 slave, 584
prolunga, 64 WRREC (scrivi set di dati), 322
proprietà per la sincronizzazione dell'ora, 170 PROFINET
Protezione del know-how, 197 Assegnazione dell'indirizzo IP, 172
RTM (Contatore ore di esercizio), 297 Collegamento di rete, 153, 567, 568, 573
tabella di controllo, 822 Collegamento S7, 606
tempo di ciclo, 98, 99 Comunicazione da CPU a CPU, 567
tempo di ciclo, 98, 99 Comunicazione da PLC a PLC, 567
Utilizzo dei blocchi, 174 configurazione della comunicazione tra la CPU e il
Variabili, 106 dispositivo HMI, 566
Podcast, 4 configurazione dell'indirizzo IP, 146
Pointer Denominazione e indirizzamento di un
descrizione puntatore, 120 dispositivo, 171
PORT_CFG (progetta dinamicamente parametri di DPRD_DAT (leggi dati coerenti di uno slave DP
comunicazione), 706 standard), 333
Portale TIA DPWR_DAT (scrivi dati coerenti di uno slave DP
Vista portale, 37 standard), 333
Vista progetto, 37 GET (leggi dati da una CPU remota), 602
Posizione dei caratteri, lunghezza dei messaggi, 702 ID di collegamento, 528
Power Module PM 1207, 1013 Indirizzo IP, 163
Priorità Indirizzo MAC, 163
classe di priorità, 85 istruzioni per la periferia decentrata, 321
priorità di elaborazione, 95 modo Ad hoc, 532
Processore di comunicazione (CP) numero di collegamenti di comunicazione, 525
configurazione dei dispositivi, 141 Panoramica, 531
configurazione di parametri, 151 Proprietà dell'indirizzo Ethernet, 165
inserimento dei moduli, 145 proprietà per la sincronizzazione dell'ora, 170
panoramica, 29 PUT (scrivi dati in una CPU remota), 602
Tabella comparata, 26 RALRM (ricevi allarme), 325
PROFIBUS RDREC (leggi set di dati), 322
aggiunta di un modulo CM 1243-5 (master DP), 587 sincronizzazione dell'ora, 146
aggiunta di uno slave DP, 587 tempo di avviamento del sistema, 171
Collegamento di rete, 153, 588 Test di una rete, 167
Collegamento S7, 606 tipi di comunicazione, 523
DPNRM_DG (leggi dati di diagnostica di uno slave WRREC (scrivi set di dati), 322
DP), 335 PROFINET IO
DPWR_DAT (leggi dati coerenti di uno slave DP Assegnazione dei nomi dei dispositivi, 573
standard), 333 Assegnazione di una CPU, 573
DPWR_DAT (scrivi dati coerenti di uno slave DP Assegnazione online dei nomi dei dispositivi, 811
standard), 333 Dispositivi, 572
GET (leggi dati da una CPU remota), 602 Inserimento di un dispositivo, 572
indirizzo, 589 Nomi dei dispositivi, 573
Indirizzo PROFIBUS, 589 Nomi dei dispositivi online, 811
indirizzo, configurazione, 589 PROFINET RT, 531
istruzioni per la periferia decentrata, 321 Profondità di annidamento, 77
master, 584 Progettazione di un sistema PLC, 173, 174

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1049
Indice analitico

Progetto confronto e sincronizzazione di blocchi di


Assegnazione a una CPU o memory card, 199 codice, 818
caricamento, 200 CPU non specificata, 144
confronto e sincronizzazione, 818 data e ora di sistema, 293
Limitazione dell'accesso alla CPU, 195 Flusso di corrente (EN e ENO), 193
password persa, 139 funzione (FC), 178
protezione dell'accesso, 195 FUP (schema logico), 185
Protezione di un blocco di codice, 197 Inserimento di ingressi o uscite nelle istruzioni KOP
scheda di programma, 134 e FUP, 41
scheda di trasferimento, 131 Istruzioni di inserimento, 38
scheda di trasferimento vuota, 139 istruzioni espandibili, 41
Programma Istruzioni PtP, 723
Assegnazione a una CPU o memory card, 199 KOP (contatti), 184
blocchi di codice richiamanti all'interno del modi di funzionamento della CPU, 81
programma utente, 176 numeri FC, FB e DB validi, 77
Blocchi organizzativi (OB), 177 Panoramica del regolatore PID, 429
caricamento, 200 PID_3STEP (regolatore PID con ottimizzazione per
classe di priorità, 85 le valvole), 438
copia di blocchi da una CPU online, 201 PID_Compact (regolatore PID universale con
memory card, 127 ottimizzazione integrata), 432
programmi lineari e strutturati, 174 Preferiti, 38
protezione mediante password, 197 programma lineare, 174
reset dei valori iniziali di un DB, 821 programma strutturato, 174
salvataggio dei valori di un DB, 821 richiami di blocco, 77
Programma utente RTM (Contatore ore di esercizio), 297
Assegnazione a una CPU o memory card, 199 SCL (Structured Control Language), 186, 187
blocchi di codice richiamanti all'interno del tipi di blocchi di codice, 77
programma utente, 176 Trascinamento tra editor, 43
Blocchi organizzativi (OB), 177 Unità non inserite, 47
caricamento, 200 valore iniziale di un FB, 179
copia di blocchi da una CPU online, 201 Programmazione con STEP 7
Inserimento di ingressi o uscite nelle istruzioni KOP esempio di programma PtP, 732
e FUP, 41 pagine Web personalizzate, 659
Istruzioni di inserimento, 38 Programmazione del passaggio tra lingue nelle pagine
istruzioni espandibili, 41 Web personalizzate, 675
memory card, 127 Programmazione lineare, 174
Preferiti, 38 Programmazione punto a punto, 723
programmi lineari e strutturati, 174 Programmazione strutturata, 174, 176
protezione mediante password, 197 blocchi richiamanti, 176
scheda di programma, 127 Prolunga, 1012
scheda di trasferimento, 127 montaggio, 64
Trascinamento tra editor, 43 smontaggio, 64
Programmazione Proprietà della CPU, pagine Web personalizzate
Algoritmo PID_3Step, 429 configurazione di più lingue, 677
Algoritmo PID_Compact, 429 Configurazione STEP 7, 658
Assegnazione a una CPU o memory card, 199 Proprietà per la sincronizzazione dell'ora, 170
blocchi di codice richiamanti all'interno del Protezione dalla copia
programma utente, 176 Assegnazione a una CPU o memory card, 199
blocco dati (DB), 77 Protezione dall'inversione di polarità, 859
blocco dati di istanza (DB), 179 Protezione del know-how
blocco funzionale (FB), 77, 179 protezione mediante password, 197
classe di priorità, 85 Protezione dell'accesso, CPU, 195

Sistema di automazione S7-1200


1050 Manuale di sistema, 03/2014, A5E02486684-AG
Indice analitico

Protezione mediante password R


accesso alla CPU, 195
R (Resetta uscita), 210
Assegnazione a una CPU o memory card, 199
R_TRIG (Imposta variabile con fronte di salita del
Blocco di codice, 197
segnale), 214
CPU, 195
Raffreddamento, 50
ENDIS_PW (Limita e abilita autenticazione della
RALRM, 329
password), 264
RALRM (ricevi allarme), 325
Password persa, 139
RCV_CFG (progetta dinamicamente parametri di
protezione dalla copia, 199
ricezione seriali), 709
scheda di trasferimento vuota, 139
RCV_PTP (abilita ricezione di messaggi), 718
Protocolli Ethernet, 531
RCV_RST (cancella buffer di ricezione), 719
collegamenti multinodo, 606
RD_ADDR (Rileva dati IO di un'unità), 414
Protocollo
RD_LOC_T (leggi data e ora locale), 293
comunicazione, 690
RD_SYS_T (Leggi ora), 293
Freeport, 690
RDREC, 329
ISO on TCP, 531
RDREC (leggi set di dati), 322
Modbus, 690
RE_TRIGR (Riavvia tempo di controllo del ciclo), 267
PROFINET RT, 531
READ_DBL (leggi blocco dati nella memoria di
TCP, 531
caricamento), 409
UDP, 531
REPLACE (sostituisci caratteri nella stringa), 319
USS, 690
Requisiti del sistema, 36
Protocollo freeport, 690
Requisiti di alimentazione
Protocollo ISO on TCP, 531
budget di potenza, 1015
Protocollo UDP, 531
calcolo del budget di potenza, 1016
PTO (uscita di treni di impulsi)
modello per i calcoli, 1017
configurazione di canali impulsivi, 374
Requisiti hardware e software, 36
funzionamento, 373
Requisiti, installazione, 36
impossibile forzare, 827
Reset dei valori iniziali di un DB, 821
PWM (modulazione ampiezza impulsi), 371
RESET_BF (Resetta campo di bit), 211
Pulsanti RUN/STOP, 44
Resetta temporizzatore (RT), 216
Puntatori
RET (Salta indietro), 263
Tipo di dati Any, 122
Ricerca degli errori
Tipo di dati Pointer, 121
buffer di diagnostica, 817
Tipo di dati Variant, 123
Indicatori LED, 807
PUT
Ricetta
configurazione del collegamento, 155
esempio di programma, 385
PUT (scrivi dati in una CPU remota), 602
panoramica, 377
PWM (modulazione ampiezza impulsi)
RecipeExport (esporta ricetta), 381
impossibile forzare, 827
RecipeImport (importa ricetta), 383
PWM (modulazione ampiezza impulsi), 371
Struttura del DB, 378
PWM (modulazione dell'ampiezza degli impulsi)
Riferimenti incrociati per illustrare l'utilizzo, 204
configurazione di canali impulsivi, 374
RIGHT (leggi caratteri sulla destra della stringa), 315
funzionamento, 373
Rilevamento per il caricamento di una CPU online, 144
Ripristino delle impostazioni di fabbrica, 813
Risorse informative, 4
Q
Ritardo all’inserzione (TON), 216
QRY_CINT (Interroga i parametri di schedulazione Ritardo alla disinserzione (TOF), 216
orologio), 343 Ritardo all'inserzione con memoria (TONR), 216
QRY_DINT (interroga lo stato di un allarme di Ritardo RTS OFF, 695
ritardo), 349 Ritardo RTS ON, 695
QRY_TINT (interroga un allarme dall'orologio), 347 ROL (Fai ruotare verso sinistra) e ROR (Fai ruotare
verso destra), 287

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1051
Indice analitico

ROUND (Arrotonda numero), 254 parametri di avvio, 130


Router IP, 163 password persa, 139
RS (Flipflop di resettaggio/impostazione ), 211 porta ASi,
RT (resetta temporizzatore), 216 Porta Ethernet, 163
RTS, 692 PROFIBUS, 589
RTS disattivato, 692 PROFINET, 163
RTS sempre ON, 693 prolunga, 64
Protezione del know-how, 197
protezione dell'accesso, 195
S protezione mediante password, 195
Pulsanti RUN/STOP, 44
S (Imposta uscita), 210
raffreddamento, 50
S_CONV (Converti stringa di caratteri), 300
reset dei valori iniziali di un DB, 821
S_MOVE (Sposta stringa di caratteri), 299
salvataggio dei valori di un DB, 821
S7-1200
scheda di programma, 134
aggiungi nuovo dispositivo, 142
scheda di trasferimento vuota per una password
AS-i, 594
persa, 139
budget di potenza, 51
spazio libero, 50
carichi delle lampade, 73
Tabella comparata dei modelli di CPU, 24
carichi induttivi, 74
tempo di ciclo, 99
carico di comunicazione, 99
TS Adapter, 26
Collegamento di rete, 153
uscite di impulsi, 373
configurazione dei dispositivi, 141
zona termica, 50, 54
configurazione dei moduli, 151
Salvataggio dei valori da un DB online, 821
configurazione dei parametri della CPU, 146
SCALE_X (riporta in scala), 256
Configurazione dell'HSC, 428
Scambio dei dati tra i sistemi di IO, 580
confronto di blocchi di codice, 818
Scheda di batteria (BB)
controllo, 820
BB 1297, 993
dimensioni di montaggio, 54
Inserimento della batteria, 994
elaborazione dell'avviamento, 84
Scheda di comunicazione (CB)
flusso d'aria, 50
CB 1241 RS485, 1004
forzamento, 826
configurazione dei dispositivi, 141
funzionamento, 822
configurazione di parametri, 151
Indirizzo AS-i, 594
Indicatori LED, 688, 807
Indirizzo IP, 163
inserimento dei moduli, 145
Indirizzo MAC, 163
montaggio, 58
Indirizzo PROFIBUS, 589
panoramica, 29
inserimento dei moduli, 145
Programmazione, 723
istruzioni per il cablaggio, 71, 73
RS485, 687
istruzioni per l'isolamento, 72
smontaggio, 58
messa a terra, 72
Tabella comparata, 26
modi di funzionamento, 81
Scheda di programma
moduli, 26
configurazione dei parametri di avvio, 130
montaggio, 55
creazione, 134
Montaggio CPU, 56
funzionamento, 127
Montaggio di un CM, 62
inserimento nella CPU, 128
montaggio di un SM, 60
panoramica, 127
montaggio di una CB, 58
Scheda di trasferimento, 131
Montaggio di un'SB, 58
configurazione dei parametri di avvio, 130
morsettiera, 63
funzionamento, 127
operazione di forzamento, 827
inserimento nella CPU, 128
Pannello operatore, 44
panoramica, 127
Panoramica della CPU, 23

Sistema di automazione S7-1200


1052 Manuale di sistema, 03/2014, A5E02486684-AG
Indice analitico

password persa, 139 controllo del programma, 272


scheda di trasferimento vuota per una password CONV (Converti valore), 250
persa, 139 COS (Genera valore del coseno), 241
Schede (di programma) di trasferimento, 1009 CTRL_HSC (comanda contatore veloce), 417
Schemi elettrici CTU (conteggio all'indietro), 225
CB 1241 RS 485, 1005 CTU (conteggio in avanti), 225
CPU 1211C, 868 CTUD (conteggio in avanti e all'indietro), 225
CPU 1212C, 879 DataLogClose (chiudi Data Log), 397
CPU 1214C, 890 DataLogCreate (crea Data Log), 389
CPU 1215C, 902 DataLogNewFile (data Log in nuovo file), 398
CPU 1217C, 918 DataLogOpen (apri Data Log), 393
SB 1221, 966 DataLogWrite (scrivi Data Log), 395
SB 1222, 969 DEC (decrementa), 238
SB 1223, 973, 976 DECO (decodifica), 281
SB 1231, 978 DELETE (cancella caratteri nella stringa), 317
SB 1231 per RTD, 990 DETACH (separa OB dall'evento di allarme), 338
SB 1231 per termocoppie, 987 DeviceStates (leggi informazioni sullo stato
SB 1232, 980 dell'unità di un sistema IO), 354
SM 1221, 920 DIS_AIRT (Ritarda elaborazione di eventi di allarme
SM 1222, 924 e di errore asincroni a priorità superiore), 351
SM 1223, 930, 935 DIV (dividi), 235
SM 1231, 938 editor di programma, 186
SM 1231 per RTD, 956 EN e ENO (flusso di corrente), 193
SM 1231 per termocoppie, 950 EN_AIRT (abilita elaborazione di eventi di allarme e
SM 1232, 941 di errore asincroni a priorità superiore), 351
SM 1234, 944 ENCO (codifica), 281
SM 1278 IO-Link Master, 963 espressioni, 187
SCL (Structured Control Language) EXIT, 278
ABS (Genera valore assoluto), 238 EXP (Genera valore esponenziale), 241
ACOS (Genera valore dell'arcocoseno), 241 EXPT (Calcola la potenza), 241
ACT_TINT (attiva allarme dall'orologio), 347 F_TRIG (Imposta variabile con fronte di discesa del
ADD (somma), 235 segnale), 214
Algoritmo PID_3Step, 429 FILL_BLK (Inserisci dati nell'area), 247
Algoritmo PID_Compact, 429 FIND (trova caratteri nella stringa), 320
AND (operazione logica), 280 FLOOR (Genera da un numero in virgola mobile il
ASIN (Genera valore dell'arcoseno), 241 numero intero inferiore), 255
ATAN (Genera valore dell'arcotangente), 241 FOR, 275
ATH (Converti stringa di caratteri ASCII in un FRAC (Rileva i decimali), 241
numero esadecimale), 310 GET (leggi dati da una CPU remota), 602
ATTACH assegna OB all'evento di allarme), 338 GET_DIAG (leggi informazioni di diagnostica), 365
blocchi richiamanti, 176 GOTO, 279
CAN_DINT (cancella allarme di ritardo), 349 HTA (Converti cifre esadecimali in caratteri
CAN_TINT (cancella allarme dall'orologio), 346 ASCII), 310
CASE, 274 IF-THEN, 273
CEIL (Genera da un numero in virgola mobile il IN_Range (Valore compreso nel campo), 232
numero intero superiore), 255 INC (incrementa), 238
Chars_TO_Strg (Converti Array of CHAR in indirizzamento, 187
stringa), 308 INSERT (inserisci caratteri nella stringa), 318
combinazione logica di bit, 207 INV (Crea complemento a uno), 281
condizioni, 187 Istruzione CONCAT (concatena stringhe), 314
confronto di valori, 231 Istruzione MAX_LEN (lunghezza massima di una
CONTINUE, 278 stringa), 313

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1053
Indice analitico

Istruzione ModuleStates (leggi informazioni sullo NOT_OK (verifica invalidità), 233


stato del modulo di un'unità), 360 OK (Verifica validità), 233
istruzioni di controllo, 187, 272, 273, 274, 275, 276, operatori, 187
277, 278, 279 OR (operazione logica), 280
Istruzioni di conversione, 251 OUT_Range (Valore fuori campo), 232
JMP_LIST (Definisci elenco di salti), 260 panoramica, 186
LED (leggi stato del LED), 353 Panoramica del regolatore PID, 429
LEFT (leggi caratteri sulla sinistra della stringa), 315 Parte per Var, 186
LEN (lunghezza attuale di una stringa), 313 PID_3STEP (regolatore PID con ottimizzazione per
LIMIT (Imposta valore limite), 240 le valvole), 438
LN (Genera logaritmo naturale), 241 PID_Compact (regolatore PID universale con
LOG2GEO (Rileva indirizzo geografico dall'indirizzo ottimizzazione integrata), 432
logico), 412 PORT_CFG (progetta dinamicamente parametri di
MAX (Rileva valore max.), 239 comunicazione), 706
MB_CLIENT (comunica come client Modbus TCP priorità di operatori, 187
tramite PROFINET), 754 PUT (scrivi dati in una CPU remota), 602
MB_COMM_LOAD (configura porta dell'unità PtP PWM (modulazione ampiezza impulsi), 371
per Modbus RTU), 771 QRY_CINT (Interroga i parametri di schedulazione
MB_MASTER (comunica come master Modbus orologio), 343
tramite porta PtP), 774 QRY_DINT (interroga lo stato di un allarme di
MB_SERVER (comunica come server Modbus TCP ritardo), 349
tramite PROFINET), 761 QRY_TINT (interroga un allarme dall'orologio), 347
MB_SLAVE (comunica come slave Modbus tramite R_TRIG (Imposta variabile con fronte di salita del
porta PtP), 780 segnale), 214
MC_ChangeDynamic (modifica impostazioni RCV_CFG (progetta dinamicamente parametri di
dinamiche dell'asse), 489 ricezione seriali), 709
MC_CommandTable, 486 RCV_PTP (abilita ricezione di messaggi), 718
MC_Halt (metti in pausa l'asse), 475 RCV_RST (cancella buffer di ricezione), 719
MC_Home (indirizza e posiziona asse), 472 RD_ADDR (Rileva dati IO di un'unità), 414
MC_MoveAbsolute (posizionamento assoluto RD_LOC_T (leggi data e ora locale), 293
dell'asse), 477 RD_SYS_T (Leggi ora), 293
MC_MoveJog (aziona asse con funzionamento READ_DBL (leggi blocco dati nella memoria di
marcia manuale), 484 caricamento), 409
MC_MoveRelative (posizionamento relativo RecipeExport (esporta ricetta), 381
dell'asse), 479 RecipeImport (importa ricetta), 383
MC_MoveVelocity (sposta l'asse alla velocità REPEAT, 277
predefinita), 481 REPLACE (sostituisci caratteri nella stringa), 319
MC_Power (abilita/blocca asse), 468 RETURN, 279
MC_ReadParam (leggi i parametri dell'oggetto richiamo di un FB o FC, 187
tecnologico ), 493 RIGHT (leggi caratteri sulla destra della
MC_Reset (conferma errore), 471 stringa), 315
MC_WriteParam (scrivi i parametri dell'oggetto ROL (Fai ruotare verso sinistra) e ROR (Fai ruotare
tecnologico ), 491 verso destra), 287
MID (leggi caratteri centrali della stringa), 315 ROUND (Arrotonda numero), 254
MIN (Rileva valore min.), 239 RTM (Contatore ore di esercizio), 297
MOD (Rileva il resto della divisione), 236 S_CONV (Converti stringa di caratteri), 300
MOVE (Copia valore), 243 S_MOVE (Sposta stringa di caratteri), 299
MOVE_BLK (Copia area), 243 SCALE_X (riporta in scala), 256
MUL (moltiplica), 235 SEL (seleziona), 283
MUX (multiplexaggio), 283 SEND_CFG (progetta dinamicamente parametri di
NEG (Crea complemento a due), 237 trasferimento seriali), 708
NORM_X (normalizzazione), 256 SEND_PTP (trasferisci dati del buffer di invio), 715

Sistema di automazione S7-1200


1054 Manuale di sistema, 03/2014, A5E02486684-AG
Indice analitico

SET_CINT (imposta parametri di schedulazione Senza avviamento, 81


orologio), 341 Sequenza di caratteri
SET_TIMEZONE (imposta fuso orario), 296 Fine messaggio, 701
SET_TINTL (imposta allarme dall'orologio), 345 Inizio messaggio, 697
SGN_GET (imposta segnali RS-232), 722 Sequenza di movimenti (MC_CommandTable), 486
SGN_GET (Interroga segnali RS-232), 720 Servizio clienti, 3
SHL (sposta verso sinistra) e SHR (Sposta verso Servizio di assistenza clienti e supporto tecnico, 3
destra), 286 Servizio di assistenza tecnica Siemens, 3
SIN (Genera valore del seno), 241 SET_BF (Imposta campo di bit), 211
SQR (Genera quadrato), 241 SET_CINT (imposta parametri di schedulazione
SQRT (Genera radice quadrata), 241 orologio), 341
SRT_DINT (avvia allarme di ritardo), 349 SET_TIMEZONE (imposta fuso orario), 296
Strg_TO_Chars (Converti stringa di caratteri in SET_TINTL (imposta allarme dall'orologio), 345
Array of CHAR), 308 SGN_GET (imposta segnali RS-232), 722
SUB (sottrai), 235 SGN_GET (Interroga segnali RS-232), 720
SWAP (Modifica disposizione byte), 249 SHL (sposta verso sinistra) e SHR (Sposta verso
SWITCH (Distributore di salto), 261 destra), 286
T_ADD (Somma tempi), 290 Sicurezza
T_COMBINE (combina tempi), 291 Assegnazione a una CPU o memory card, 199
T_CONV (Estrai e converti tempi), 289 CPU, 195
T_DIFF (differenza di data e ora), 291 password persa, 139
T_SUB (Sottrai tempi), 290 protezione dalla copia, 199
TAN (Genera valore della tangente), 241 protezione del know-how per un blocco di
temporizzatori, 216 codice, 197
TM_MAIL (invia e-mail), 799 protezione dell'accesso, 195
TRUNC (Genera numero intero), 254 Signal board (SB)
UFILL_BLK (Inserisci area senza interruzione), 247 configurazione di parametri, 151
UMOVE_BLK (Copia area senza interruzione), 243 inserimento dei moduli, 145
USS_DRV (Scambia dati con azionamento), 740 montaggio, 58
USS_PORT (Elabora comunicazione tramite rete panoramica, 29
USS), 738 rappresentazione degli ingressi (corrente), 947, 982
USS_RPM (leggi parametri dall'azionamento), 743 rappresentazione degli ingressi (tensione), 946, 981
USS_WPM (modifica parametri rappresentazione delle uscite analogiche
nell'azionamento), 744 (corrente), 948, 983
VAL_STRG (Converti stringa di caratteri in un rappresentazione delle uscite analogiche
valore numerico), 300 (tensione), 947, 982
VAL_STRG (Converti valore numerico in una Requisiti di alimentazione, 1015
stringa di caratteri), 300 SB 1221 DI 4 x 24 VDC, 200 kHz, 964
WHILE, 276 SB 1221 DI 4 x 5 VDC, 200 kHz, 964
WR_LOC_T (Imposta ora locale), 293 SB 1222 DQ 4 x 24 VDC, 200 kHz, 967
WR_SYS_T (Imposta ora), 293 SB 1222 DQ 4 x 5 VDC, 200 kHz, 967
WRIT_DBL (scrivi blocco dati nella memoria di SB 1223 DI 2 x 24 VDC, DQ 2 x 24 VDC, 974
caricamento), 409 SB 1223 DI 2 x 24 VDC/DQ 2 x 24 VDC, 200
WWW (sicronizzazione delle pagine Web kHz, 970
personalizzate), 659 SB 1223 DI 2 x 5 VDC/DQ 2 x 5 VDC, 200 kHz, 970
XOR (operazione logica), 280 SB 1231 AI 1 x 12 bit, 977
SEL (seleziona), 283 SB 1231 AI 1 x 16 bit per RTD, 988
SEND_CFG (progetta dinamicamente parametri di SB 1231 AI 1 x 16 bit per termocoppie, 984
trasferimento seriali), 708 SB 1232 AQ 1 x 12 bit, 979
SEND_PTP (trasferisci dati del buffer di invio), 715 smontaggio, 58
SEND_PtP (Trasmetti dati punto a punto) Signal board analogiche
Parametri LENGH e BUFFE, 717 SB 1231, 977

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1055
Indice analitico

SB 1231 per RTD, 988 Configurazione dell'HSC, 428


SB 1231 per termocoppie, 984 confronto e sincronizzazione, 818
SB 1232, 979 controllo, 820
Signal board digitali Controllo, 821
SB 1221, 964 copia di blocchi da una CPU online, 201
SB 1222, 967 elaborazione dell'avviamento, 84
SB 1223, 970, 974 forzamento, 826
Simulatori, 1009 funzionamento, 822
Simulatori di ingressi, 1009 funzione (FC), 178
SIN (Genera valore del seno), 241 ingressi o uscite espandibili, 41
Sincronizzazione inserimento dei moduli, 145
proprietà per la sincronizzazione dell'ora Inserimento di ingressi o uscite in un'istruzione KOP
(PROFINET), 170 e FUP, 41
sistema di IO Istruzioni di inserimento, 38
scambio dei dati, 580 memory card, 127
SM 1231 per RTD modi di funzionamento, 81
tabelle di selezione, 958, 991 Modifica delle impostazioni, 42
SM e SB numeri FC, FB e DB validi, 77
configurazione dei dispositivi, 141 operazione di forzamento, 827
Tabella comparata, 26 Pannello operatore, 44
SMS, 794 porta ASi,
Sostituzione di un dispositivo, 146 Porta Ethernet, 163
Sostituzione di unità, 47 Preferiti, 38
Spazio libero, flusso d'aria e raffreddamento, 50 PROFIBUS, 589
SQR (Genera quadrato), 241 PROFINET, 163
SQRT (Genera radice quadrata), 241 programmi lineari e strutturati, 174
SR (Flipflop di impostazione/resettaggio), 211 proprietà per la sincronizzazione dell'ora
SRT_DINT (avvia allarme di ritardo), 349 (PROFINET), 170
Stato protezione mediante password, 197
Indicatori LED, 807 Pulsanti RUN/STOP, 44
Indicatori LED (interfaccia di comunicazione), 688 reset dei valori iniziali di un DB, 821
Stato di funzionamento, 44 richiami di blocco, 77
Stato STOP RTM (Contatore ore di esercizio), 297
Pannello operatore, 44 salvataggio dei valori di un DB, 821
STEP 7 scheda di programma, 127
aggiungi nuovo dispositivo, 142 tempo di ciclo, 98, 99
Aggiunta di un dispositivo PROFINET IO, 572 tempo di ciclo, 98, 99
AS-i, 594 tipi di blocchi di codice, 77
assegnazione di un indirizzo IP ad una CPU Trascinamento tra editor, 43
online, 162 Unità non inserite, 47
blocchi di codice richiamanti all'interno del valore iniziale di un FB, 179
programma utente, 176 Vista portale, 37
blocco dati (DB), 77 Vista progetto, 37
blocco dati di istanza (DB), 179 STP (Chiudi programma), 268
blocco funzionale (FB), 77, 179 Strg_TO_Chars (Converti stringa di caratteri in Array of
caricamento, 200 CHAR), 308
carico di comunicazione, 99 String
classe di priorità (OB), 85 descrizione dei dati String, 299
Collegamento di rete, 153 panoramica delle operazioni con le stringhe, 313
configurazione dei dispositivi, 141 S_MOVE (Sposta stringa di caratteri), 299
configurazione dei moduli, 151 Tipo di dati String, 117
configurazione della CPU, 146 Struttura del programma, 176

Sistema di automazione S7-1200


1056 Manuale di sistema, 03/2014, A5E02486684-AG
Indice analitico

blocchi di codice richiamanti, 176 panoramica, 98


Struttura di richiamo, 205 Tempo di filtraggio, 148
SUB (sottrai), 235 Tempo di filtraggio ingresso, 148
SWAP (Modifica disposizione byte), 249 Tempo di filtraggio ingresso digitale, 148
SWITCH (Distributore di salto), 261 Temporizzatore di controllo del tempo di ciclo
(istruzione RE_TRIGR), 267
Temporizzatori
T dimensione, 25, 863, 873, 884, 896, 908
funzionamento, 219
T_ADD (Somma tempi), 290
quantità, 25, 863, 873, 884, 896, 908
T_COMBINE (combina tempi), 291
RT (resetta temporizzatore), 216
T_CONFIG (configura interfaccia), 555
TOF (Temporizzatore come ritardo alla
T_CONV (Estrai e converti tempi), 289
disinserzione), 216
T_DIFF (differenza di data e ora), 291
TON (temporizzatore come ritardo
T_SUB (Sottrai tempi), 290
all'inserzione), 216
Tabella comparata
TONR (temporizzatore come ritardo all'inserzione
Dispositivi HMI, 32
con memoria), 216
Modelli di CPU, 24
TP (temporizzatore come impulso prolungato), 216
moduli, 26
Tensioni nominali, 858, 858
Tabella di controllo
Terminale virtuale del programma di esempio per
abilitazione delle uscite in STOP, 825
PtP, 734
controllo, 820
Termocoppia
forzamento, 203
compensazione dei giunti freddi, 952, 986
funzionamento, 822
funzionamento base, 952, 986
memory card, 127
SB 1231 AI 1 x 16 bit, 984
trigger di valori, 824
Tabella di selezione dei filtri delle termocoppie per
Tabella di forzamento
SB 1231, 986
forzamento, 826
Tabella di selezione dei filtri delle termocoppie per
indirizzamento degli ingressi della periferia, 826
SM 1231, 952
operazione di forzamento, 827
Tabella di selezione dei filtri per SB 1231, 986
TAN (Genera valore della tangente), 241
Tabella di selezione delle termocoppie per SM
Task card
1231, 952
colonne e intestazioni, 42, 770
Test
TCON
caricamento del programma in modo RUN, 828,
configurazione, 154
836
ID di collegamento, 528
Test del programma, 203
parametri del collegamento, 156
Test di isolamento per alti potenziali, 858
TCON (crea collegamento di comunicazione), 541
Time
TCON_Param, 156
DTL (tipo di dati Data and time long), 116
TCP
Tipo di dati Time, 115
configurazione del collegamento, 154
TOD (tipo di dati Time of day), 115
ID di collegamento, 528
TimeTransformationRule ora legale, 295
modo Ad hoc, 532
TimeTransformationRule per l'ora legale, 295
parametri, 156
Tipi di dati, 112
protocollo, 531
Any (puntatore), 122
TDISCON (interrompi collegamento di
array, 118
comunicazione), 541
Bool, Byte, Word e DWord, 113
Telecontrol, 791
Char (carattere) e String, 117
TeleService tramite GPRS, 791
descrizione del tipo di dati puntatore, 120
Tempo di attesa, 692
Editor del tipo di dati PLC, 120
Tempo di ciclo
Pointer (puntatore), 121
configurazione, 99
Real, LReal (numero reale in virgola mobile), 114
controllo, 816

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1057
Indice analitico

Struct, 119 configurazione, 154


Time, Date, TOD (time of day), DTL (date and time parametri, 156
long), 115 TUSEND (invia dati tramite Ethernet (UDP), 549
USInt, SInt, UInt, Int, UDInt, Dint (numero
intero), 114
Variant (puntatore), 123 U
Tipi di enum nelle pagine Web personalizzate, 651,
UDP
651
configurazione del collegamento, 154
TM_MAIL (invia e-mail), 799
parametri, 156
Tool online e di diagnostica
UFILL_BLK (Inserisci area senza interruzione), 247
caricamento del programma in modo RUN, 828
UMOVE_BLK (Copia area senza interruzione), 243
Transizione da RUN a STOP, 105
Unità non inserite, 47
Trascinamento tra editor, 43
Uscite di impulsi, 373
Trasmissione dei dati, avvio, 715
TRCV
ID di collegamento, 528
V
modo Ad hoc, 532
TRCV (ricevi dati tramite collegamento di VAL_STRG (Converti stringa di caratteri in un valore
comunicazione), 541 numerico), 300
TRCV_C, 570 VAL_STRG (Converti valore numerico in una stringa di
configurazione, 154 caratteri), 300
Configurazione dei parametri, 571 Valori booleani o di bit, 107
ID di collegamento, 528 Valori di ritorno durante il runtime di ricezione, 718
modo Ad hoc, 532 Valori iniziali
parametri del collegamento, 156 rilevamento e reset dei valori iniziali di un DB, 821
TRCV_C (ricevi dati tramite Ethernet (TCP), 534 Valori restituiti
Trigger di valori nella tabella di controllo, 824 Istruzioni Open User Communication, 563
TRUNC (Genera numero intero), 254 Istruzioni PtP, 704
TS Adapter, 26 Valori restituiti dalle istruzioni PtP, 704
installazione di un modulo TS, 66 Valori restituiti delle istruzioni Open User
installazione su guida DIN, 69 Communication, 563
Installazione su parete, 70 Variabili
Scheda SIM, 67 controllo, 820
TSAP, 531 forzamento, 826
limitati, 563 operazione di forzamento, 827
TSAP (transport service access points), 156, 533, 569, stato, 820
607 Variabili di blocco a ritenzione
TSAP e numeri di porta limitati, 563 caricamento in modo RUN, 834
TSEND Variabili, controllo e modifica dal Web server, 636
ID di collegamento, 528 Velocità di trasmissione, 692
TSEND (invia dati tramite collegamento di Verifica della coerenza, 205
comunicazione), 541 Versioni delle istruzioni, 42, 770
TSEND_C, 569 Vista portale, 37
configurazione, 154 Vista progetto, 37
ID di collegamento, 528 Visualizzazione
parametri del collegamento, 156 Dispositivi HMI, 32
TSEND_C (invia dati tramite Ethernet (TCP), 534 Visualizzazione degli indirizzi MAC e IP, 168
TURCV
configurazione, 154
parametri del collegamento, 156 W
TURCV (ricevi dati tramite Ethernet (UDP), 549
Web server, 617
TUSEND
aspetto in un dispositivo portatile, 626

Sistema di automazione S7-1200


1058 Manuale di sistema, 03/2014, A5E02486684-AG
Indice analitico

attivazione, 619
Convenzioni per le virgolette, 656
frequenza di aggiornamento, 619
limitazioni, 682
Numero massimo di collegamenti HTTP, 682
pagine Web personalizzate, 641
pagine Web standard, 622
Wizard di importazione del certificato, 684
WR_LOC_T (Imposta ora locale), 293
WR_SYS_T (Imposta ora), 293
WRIT_DBL (scrivi blocco dati nella memoria di
caricamento), 409
WRREC, 329
WRREC (scrivi set di dati), 322
WWW (sicronizzazione delle pagine Web
personalizzate), 659

X
XON / XOFF, 693
XOR (operazione logica), 280

Z
Zona termica, 50, 54

Sistema di automazione S7-1200


Manuale di sistema, 03/2014, A5E02486684-AG 1059
Indice analitico

Sistema di automazione S7-1200


1060 Manuale di sistema, 03/2014, A5E02486684-AG

Potrebbero piacerti anche