Sei sulla pagina 1di 878

s Prefazione

Blocchi organizzativi 1
Parametri generali relativi alle
SFC 2
SIMATIC Funzioni di copiatura e di
3
blocco

Software di sistema per S7-300/400 SFC per il controllo del


programma 4
- Funzioni standard e di sistema -
Volume 1 e Volume 2
SFC per la gestione
dell'orologio 5
SFC per la gestione del
Manuale di riferimento
contatore del tempo di
esercizio
6
SFC/SFB per il trasferimento
di set di dati 7
SFB DPV1 secondo PNO AK
1131 8
SFC per la gestione di allarmi
dall'orologio 9
SFC per la gestione di allarmi
di ritardo 10
SFC per la gestione di eventi
di errori di sincronismo 11
SFC per la gestione di allarmi
e di eventi di errori di 12
asincronismo

SFC per la diagnostica 13


SFC per l'aggiornamento
dell'immagine di processo e 14
l'elaborazione del campo di bit
Funzioni di sistema per
l'indirizzamento di unità 15
SFC per periferia decentrata
o per PROFINET IO 16

PROFINET 17
04/2017 SFC e SFB per le CPU
A5E41911986-AA
PROFINET 18
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 A5E41911986-AA Copyright © 2017.


Division Digital Factory Ⓟ 05/2017 Con riserva di modifiche Tutti i diritti riservati
Postfach 48 48
90026 NÜRNBERG
GERMANIA
Prefazione

Scopo del manuale


Questo manuale, suddiviso in volume 1 A5E02789979-01 e volume 2 A5E02790056-01 offre una
panoramica completa dei blocchi organizzativi (OB), delle funzioni di sistema (SFC), dei blocchi
funzionali di sistema e dei blocchi funzionali standard (SFB) nonché delle funzioni IEC, contenuti nei
sistemi operativi delle CPU dei sistemi S7-300 e S7-400. Nell’appendice sono descritti i dati di
diagnostica, la lista di stato di sistema (SZL) e gli eventi.

Avvertenza
Quali di queste funzioni e blocchi sono integrati in quale CPU viene descritto nella parte bibliografica
del manuale “Sistema di automazione S7-300, Configurazione e dati della CPU: CPU 31xC e
CPU 31x“ e "Sistema di automazione S7-300, Configurazione e dati della CPU: CPU 312 IFM 318-2
DP" /70/ o del manuale “Sistemi di automazione S7-400, M7-400, Dati delle unità /101/ o della lista
operazioni: “Sistema di automazione S7-400: Dati della CPU“ /102/, nella versione valida per la CPU
utilizzata. Le caratteristiche funzionali per le SFB di comunicazione per i collegamenti progettati e le
funzioni di segnalazione S7 si trovano nei manuali /70/ e /101/.

Informazioni relative ai sistemi operativi delle CPU, allo sviluppo di programmi e alle possibilità di
comunicazione e di diagnostica delle CPU sono riportate nel manuale /234/. Come potete richiamare
le funzioni e i blocchi funzionali dal proprio programma è spiegato nelle descrizioni dei linguaggi.
Tutte le funzioni indicate vengono programmate e parametrizzate con il software di base STEP 7, che
non viene spiegato in questo manuale. La relativa documentazione è offerta dal manuale /231/ e dalla
Guida online STEP 7.

Destinatari
I destinatari di questo manuale sono i programmatori e gli ingegneri che hanno familiarità con il
controllo dei processi e che scrivono programmi per i sistemi di automazione.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 3
Prefazione

Guida in linea
Come completamento del manuale è possibile avvalersi in fase operativa della dettagliata Guida in
linea integrata nel software.
Il sistema della Guida è integrato nel software mediante differenti interfacce.
• Nel menu ? sono disponibili diversi comandi: Argomenti della Guida apre l'indice della Guida di
STEP 7.
• Uso della Guida offre istruzioni dettagliate sulla possibilità di reperire informazioni nella Guida in
linea.
• La Guida al contesto offre informazioni sul contesto attuale, p. es. su una finestra di dialogo
aperta o su una finestra attiva. È richiamabile con il pulsante "?" o con il tasto F1.
• Una forma ulteriore di Guida al contesto è data dalla barra di stato: appena il cursore del mouse
si trova su un comando viene visualizzata nella barra di stato una breve spiegazione.
• Una tale spiegazione viene riportata anche nella barra degli strumenti se il mouse si sofferma
brevemente su una icona.
Se si preferisce leggere le informazioni della Guida in linea su carta, sarà possibile stampare dei
singoli argomenti o libri della Guida, o perfino l'intera Guida.
Questo manuale è un'estratto della Guida in linea a STEP 7 basata sul formato HTML. Poichè la
struttura del manuale e della Guida in linea è quasi identica, è possibile passare facilmente dal
manuale alla Guida in linea.

Altri manuali
Le singole CPU dell’S7-300 e S7-400 nonché le unità S7-300 e S7-400 sono descritte
• per il sistema di automazione S7-300 nei manuali /70/, /71/ e in /72/.
• per il sistema di automazione S7-400 nel manuale /101/ e in /102/.

Guida
Il presente manuale è suddiviso in base ai seguenti temi.
• Il capitolo 1 spiega tutti i blocchi organizzativi.
• Il capitolo 2 descrive i parametri generali RET_VAL, REQ e BUSY.
• I capitoli da 3 a 29 descrivono le SFC, gli SFB e le IEC-FC.
• I capitoli da 30 a 35 contengono la struttura dei dati di diagnostica, la panoramica delle ID SZL, i
possibili eventi, le liste con SFC, SFB e FC di questo manuale, una panoramica degli SDB e la
bibliografia.
• Nel glossario vengono spiegati concetti importanti.
• L’indice analitico permette di trovare rapidamente i passi relativi a voci importanti.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


4 Manuale di riferimento, 04/2017, A5E41911986-AA
Prefazione

Convenzioni
I riferimenti ad altra documentazione vengono indicati da un numero racchiuso tra due barre /.../. In
base a questo numero, nella bibliografia alla fine del manuale è possibile risalire al titolo esatto di tale
documentazione.

Ulteriore supporto
Per tutte le domande sull'uso dei prodotti descritti nel manuale, che non trovano risposta nella
documentazione, rivolgersi al rappresentante Siemens locale.
Sito Internet delle rappresentanze Siemens:
http://www.siemens.com/automation/partner
Per la guida alla documentazione tecnica dei singoli prodotti e sistemi SIMATIC, consultare il sito:
http://www.siemens.com/simatic-tech-doku-portal
Il catalogo in linea e il sistema di ordinazione in linea si trova al sito:
http://mall.automation.siemens.com/

Centro di addestramento
Per facilitare l'approccio al sistema di automazione SIMATIC S7, la Siemens organizza corsi specifici.
Rivolgersi a questo proposito al centro di addestramento locale più vicino o al centro di
addestramento centrale di Norimberga.
Internet: http://www.sitrain.com

Technical Support
Per tutti i prodotti Industry Automation and Drive Technology è possibile rivolgersi al Technical
Support
• mediante il modulo Web per la Support Request
http://www.siemens.com/automation/support-request
Per ulteriori informazioni sul Technical Support, consultare in Internet il sito
http://www.siemens.com/automation/service

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 5
Prefazione

Service & Support in Internet


Aggiuntivamente alla documentazione, mettiamo a disposizione della clientela diversi servizi in linea
all'indirizzo sottoindicato.
http://www.siemens.com/automation/service&support
Su questo sito si possono trovare:
• la Newsletter con informazioni sempre aggiornate sui prodotti;
• i documenti appropriati relativi alla ricerca in Service & Support;
• il Forum, luogo di scambio di informazioni tra utenti e personale specializzato di tutto il mondo;
• il partner di riferimento locali di Industry Automation and Drive Technology;
• informazioni su Riparazioni, pezzi di ricambio e consulenza.

Indicazioni di sicurezza:
Siemens commercializza prodotti e soluzioni dotati di funzioni Industrial Security che contribuiscono
al funzionamento sicuro di impianti, soluzioni, macchine e reti.
La protezione di impianti, sistemi, macchine e reti da minacce cibernetiche, richiede
l'implementazione e la gestione continua di un concetto globale di Industrial Security che corrisponda
allo stato attuale della tecnica. I prodotti e le soluzioni Siemens costituiscono soltanto una
componente imprescindibile di questo concetto.
È responsabilità del cliente prevenire accessi non autorizzati ad impianti, sistemi, macchine e reti. Il
collegamento di sistemi, macchine e componenti, se necessario, deve avvenire esclusivamente
nell'ambito della rete aziendale o tramite Internet previa adozione di opportune misure (ad es.
impiego di firewall e segmentazione della rete).
Attenersi inoltre alle raccomandazione Siemens concernenti misure di sicurezza adeguate. Ulteriori
informazioni su Industrial Security sono disponibili al sito
http://www.siemens.com/industrialsecurity
I prodotti e le soluzioni Siemens vengono costantemente perfezionati per incrementarne la
sicurezza. Siemens raccomanda espressamente di eseguire gli aggiornamenti non appena sono
disponibili i relativi update e di impiegare sempre le versioni aggiornate dei prodotti. L'uso di prodotti
non più attuali o di versioni non più supportate incrementa il rischio di attacchi cibernetici.
Per essere costantemente aggiornati sugli update dei prodotti, abbonarsi a Siemens Industrial
Security RSS Feed al sito
http://www.siemens.com/industrialsecurity

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


6 Manuale di riferimento, 04/2017, A5E41911986-AA
Indice del contenuto
Prefazione 3

1 Blocchi organizzativi 11
1.1 Panoramica degli OB ................................................................................................................... 11
1.2 Programma ciclico (OB 1) ............................................................................................................ 15
1.3 OB di allarme dall'orologio (da OB 10 a OB 17) .......................................................................... 17
1.4 OB di allarme di ritardo (da OB 20 a OB 23) ............................................................................... 21
1.5 OB di schedulazione orologio (da OB 30 a OB 38) ..................................................................... 23
1.6 OB di interrupt di processo (da OB 40 a OB 47) ......................................................................... 25
1.7 OB di allarme di stato (OB 55) ..................................................................................................... 28
1.8 OB di allarme di aggiornamento (OB 56) ..................................................................................... 31
1.9 OB per allarmi produttore (OB 57) ............................................................................................... 34
1.10 OB di allarme di multicomputing (OB 60) .................................................................................... 37
1.11 OB di allarme in sincronismo di clock (da OB 61 a OB 64) ......................................................... 39
1.12 OB di allarme di sincronismo tecnologico (OB 65) ...................................................................... 40
1.13 OB di errore di ridondanza della periferia (OB 70) ...................................................................... 41
1.14 OB di errore di ridondanza della CPU (OB 72) ............................................................................ 44
1.15 OB di errore di ridondanza di comunicazione OB (OB73) ........................................................... 47
1.16 OB di errore temporale (OB 80) ................................................................................................... 48
1.17 OB di errore di alimentazione (OB 81) ......................................................................................... 52
1.18 OB di allarme di diagnostica (OB 82)........................................................................................... 55
1.19 OB di estrazione/inserimento (OB 83) ......................................................................................... 58
1.20 OB di errore hardware CPU (OB 84) ........................................................................................... 63
1.21 OB di errore esecuzione programma (OB 85) ............................................................................. 65
1.22 OB di guasto telaio di montaggio (OB 86) ................................................................................... 69
1.23 OB di errore di comunicazione (OB 87) ....................................................................................... 75
1.24 OB di interruzione di elaborazione (OB 88) ................................................................................. 77
1.25 OB di priorità bassa (OB 90) ........................................................................................................ 79
1.26 OB di avviamento (OB 100, OB 101 e OB 102) .......................................................................... 81
1.27 OB di errore di programmazione (OB 121) .................................................................................. 86
1.28 OB di errore di accesso alla periferia (OB 122) ........................................................................... 89
2 Parametri generali relativi alle SFC 91
2.1 Analisi degli errori con il parametro di uscita RET_VAL .............................................................. 91
2.2 Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano
in modo asincrono ........................................................................................................................ 96

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 7
Indice del contenuto

3 Funzioni di copiatura e di blocco 101


3.1 Copia di un'area di memoria con la SFC 20 "BLKMOV" ........................................................... 101
3.2 Copia della variabile senza interruzioni con la SFC 81 "UBLKMOV" ........................................ 104
3.3 Inizializzazione di aree di memoria con la SFC 21 "FILL" ......................................................... 106
3.4 Creazione di un blocco dati con la SFC 22 "CREAT_DB" ......................................................... 109
3.5 Cancellazione di un blocco dati con la SFC 23 "DEL_DB" ........................................................ 111
3.6 Test di un blocco dati con la SFC 24 "TEST_DB" ..................................................................... 113
3.7 Compressione della memoria utente con la SFC 25 "COMPRESS" ......................................... 114
3.8 Copiatura del valore sostitutivo in ACCU 1 con la SFC 44 "REPL_VAL" ................................. 116
3.9 Creazione di un blocco dati nella memoria di caricamento con la SFC 82 "CREA_DBL"......... 117
3.10 Lettura di un blocco dati nella memoria di caricamento con la SFC 83 "READ_DBL" .............. 120
3.11 Scrittura di un blocco dati nella memoria di caricamento con la SFC 84 "WRIT_DBL" ............ 122
3.12 Creazione di un blocco dati con la SFC 85 "CREA_DB" ........................................................... 125
4 SFC per il controllo del programma 127
4.1 Retrigger del controllo tempo del ciclo con la SFC 43 "RE_TRIGR" ......................................... 127
4.2 Commutazione della CPU in STOP con la SFC 46 "STP" ........................................................ 127
4.3 Ritardo dell'elaborazione del programma utente con la SFC 47 "WAIT"................................... 128
4.4 Attivazione interrupt di multicomputing con la SFC 35 "MP_ALM" ............................................ 129
4.5 Comando dell’operazione CiR con la SFC 104 "CiR"................................................................ 130
4.6 Attivazione e disattivazione della protezione di accesso CPU con l'SFC 109 "PROTECT" ...... 132
5 SFC per la gestione dell'orologio 135
5.1 Impostazione dell'orologio con la SFC 0 "SET_CLK" ................................................................ 135
5.2 Lettura dell’orologio con la SFC 1 "READ_CLK" ....................................................................... 136
5.3 Sincronizzazione di orologi slave con la SFC 48 "SNC_RTCB" ................................................ 137
5.4 Impostazione dell'orologio e del relativo stato con la SFC 100 "SET_CLKS" ........................... 138
6 SFC per la gestione del contatore del tempo di esercizio 141
6.1 Contatore del tempo di esercizio ............................................................................................... 141
6.2 Gestione dei contatori del tempo di esercizio con la SFC 101 "RTM" ....................................... 142
6.3 Impostazione del contatore con la SFC 2 "SET_RTM" ............................................................. 144
6.4 Avvio e arresto del contatore con la SFC 3 "CTRL_RTM" ........................................................ 145
6.5 Lettura del contatore con la SFC 4 "READ_RTM" .................................................................... 146
6.6 Lettura del tempo di sistema con la SFC 64 "TIME_TCK" ........................................................ 147
7 SFC/SFB per il trasferimento di set di dati 149
7.1 Scrittura e lettura di set di dati ................................................................................................... 149
7.2 Lettura di parametri predefiniti con la SFC 54 "RD_DPARM" ................................................... 151
7.3 Lettura di parametri predefiniti con la SFC 102 "RD_DPARA" .................................................. 152
7.4 Scrittura di parametri dinamici con la SFC 55 "WR_PARM" ..................................................... 153
7.5 Scrittura di parametri predefiniti con la SFC 56 "WR_DPARM" ................................................ 155
7.6 Parametrizzazione di unità con la SFC 57 "PARM_MOD" ........................................................ 156
7.7 Scrittura di set di dati con la SFC 58 "WR_REC" ...................................................................... 159
7.8 Lettura di set di dati con la SFC 59 "RD_REC" ......................................................................... 161
7.9 Altre informazioni di errore delle SFC 55 fino a 59 .................................................................... 166
7.10 Lettura di parametri predefiniti con l'SFB 81 "RD_DPAR" ......................................................... 166

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


8 Manuale di riferimento, 04/2017, A5E41911986-AA
Indice del contenuto

8 SFB DPV1 secondo PNO AK 1131 169


8.1 Lettura di un set di dati con l'SFB 52 "RDREC" ......................................................................... 169
8.2 Scrittura di un set di dati con l'SFB 53 "WRREC" ...................................................................... 172
8.3 Ricezione di un allarme con l'SFB 54 "RALRM" ........................................................................ 175
8.4 Allarme inviato al master DP con l'SFB 75 "SALRM" ................................................................ 194
8.5 Ricezione di un set di dati con l'SFB 73 "RCVREC" .................................................................. 201
8.6 Messa a disposizione di un set di dati con l'SFB 74 "PRVREC" ............................................... 204
9 SFC per la gestione di allarmi dall'orologio 207
9.1 Gestione di allarmi dall'orologio ................................................................................................. 207
9.2 Caratteristiche delle SFC 28 ... 31 ............................................................................................. 209
9.3 Impostazione di un allarme dall'orologio con la SFC 28 "SET_TINT" ....................................... 211
9.4 Cancellazione di un allarme dall'orologio con la SFC 29 "CAN_TINT" ..................................... 213
9.5 Attivazione di un allarme dall'orologio con la SFC 30 "ACT_TINT" ........................................... 214
9.6 Interrogazione di un allarme dall'orologio con la SFC 31 "QRY_TINT" ..................................... 215
10 SFC per la gestione di allarmi di ritardo 217
10.1 Gestione di allarmi di ritardo ...................................................................................................... 217
10.2 Attivazione di un allarme di ritardo con la SFC 32 "SRT_DINT" ............................................... 219
10.3 Interrogazione dello stato di un allarme di ritardo con la SFC 34 "QRY_DINT" ........................ 220
10.4 Cancellazione di un allarme di ritardo con la SFC 33 "CAN_DINT" .......................................... 222
11 SFC per la gestione di eventi di errori di sincronismo 223
11.1 Mascheramento di eventi di errori di sincronismo ..................................................................... 223
11.2 Mascheramento di eventi di errori di sincronismo con la SFC 36 "MSK_FLT".......................... 230
11.3 Demascheramento di eventi di errori di sincronismo con la SFC 37 "DMSK_FLT" .................. 231
11.4 Lettura del registro di stato eventi con la SFC 38 "READ_ERR" .............................................. 232
12 SFC per la gestione di allarmi e di eventi di errori di asincronismo 233
12.1 Ritardo e disabilitazione di allarmi ed eventi di errore di asincronismo ..................................... 233
12.2 Disabilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo
con la SFC 39 "DIS_IRT" ........................................................................................................... 235
12.3 Abilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo con l’SFC 40
"EN_IRT" .................................................................................................................................... 237
12.4 Ritardo della risposta ad allarmi ed eventi di errori di asincronismo di più alta priorità
con la SFC 41 "DIS_AIRT" ........................................................................................................ 239
12.5 Abilitazione della risposta ad allarmi ed eventi di errori di asincronismo di più alta priorità
con la SFC 42 "EN_AIRT" ......................................................................................................... 240
13 SFC per la diagnostica 241
13.1 Diagnostica di sistema ............................................................................................................... 241
13.2 Lettura dell'informazione di avvio dell'OB attuale con la SFC 6 "RD_SINFO" .......................... 241
13.3 Lettura di una lista parziale SZL o di un estratto della lista parziale SZL con la SFC 51
"RDSYSST"................................................................................................................................ 244
13.4 Scrittura di un evento di diagnostica definito dall'utente nel buffer di diagnostica con la
SFC 52 "WR_USMSG" ............................................................................................................. 252
13.5 Rilevamento del tempo di esecuzione del programma OB con l'SFC 78 "OB_RT" .................. 257
13.6 Determinazione dello stato attuale del collegamento con la SFC 87 "C_DIAG" ....................... 262
13.7 Definizione della topologia di bus in un sistema master DP con la SFC 103 "DP_TOPOL" ..... 268

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 9
Indice del contenuto

14 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit 271
14.1 Aggiornamento dell'immagine di processo degli ingressi con la SFC 26 "UPDAT_PI" ............. 271
14.2 Aggiornamento delle uscite delle unità di periferia con la SFC 27 "UPDAT_PO" .................... 273
14.3 Aggiornamento con sincronizzazione di clock dell'immagine di processo parziale
degli ingressi con l'SFC 126 "SYNC_PI" ................................................................................... 275
14.4 Aggiornamento con sincronizzazione di clock dell'immagine di processo parziale
delle uscite con l'SFC 127 "SYNC_PO" ..................................................................................... 277
14.5 Impostazione del campo di bit nell'area periferia con la SFC 79 "SET" .................................... 279
14.6 Resettaggio del campo di bit nell'area periferia con la SFC 80 "RSET" .................................... 280
14.7 Realizzazione di un dispositivo di avanzamento a passi con l'SFB 32 "DRUM" ....................... 281
15 Funzioni di sistema per l'indirizzamento di unità 285
15.1 Rilevamento dell'indirizzo di base logico di un'unità con la SFC 5 "GADR_LGC"..................... 285
15.2 Rilevamento del posto connettore appartenente ad un indirizzo logico con la SFC 49
"LGC_GADR" ............................................................................................................................. 287
15.3 Rilevamento di tutti gli indirizzi logici di un'unità con la SFC 50 "RD_LGADR" ......................... 289
15.4 Determinazione dell'indirizzo iniziale di un'unità con la SFC 70 "GEO_LOG"........................... 290
15.5 Determinazione del posto connettore corrispondente a un indirizzo logico con la SFC 71
"LOG_GEO" ............................................................................................................................... 292
16 SFC per periferia decentrata o per PROFINET IO 295
16.1 Attivazione di un interrupt di processo nel master DP con l'SFC 7 "DP_PRAL" ....................... 295
16.2 Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR" ......................................... 298
16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP" .... 304
16.4 Lettura di dati di diagnostica (diagnostica slave) di uno slave DP
con l'SFC 13 "DPNRM_DG" ...................................................................................................... 311
16.5 Lettura di dati coerenti di uno slave standard DP/PROFINET IO Device con l'SFC 14
"DPRD_DAT" ............................................................................................................................. 315
16.6 Scrittura coerente di dati utili ad uno slave standard DP/PROFINET IO Device
con l'SFC 15 "DPWR_DAT" ....................................................................................................... 318
17 PROFINET 321
17.1 Informazioni sulle SFC 112, 113 e 114 ...................................................................................... 321
17.2 Aggiornamento degli ingressi dell'interfaccia del programma utente
dei componenti PROFINET CBA con l'SFC 112 "PN_IN" ......................................................... 324
17.3 Aggiornamento delle uscite dell'interfaccia PROFINET del componente PROFINET CBA
con l’SFC 113 "PN_OUT" .......................................................................................................... 325
17.4 Aggiornamento delle interconnessioni DP con l’SFC 114 "PN_DP" ......................................... 326
18 SFC e SFB per le CPU PROFINET 330
18.1 Attivazione/sincronizzazione di pagine Web personalizzate con l'SFC 99 "WWW" .................. 330
18.2 Impostazione della configurazione IP con l'SFB 104 "IP_CONF" ............................................. 332

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


10 Manuale di riferimento, 04/2017, A5E41911986-AA
1 Blocchi organizzativi

1.1 Panoramica degli OB

Blocchi organizzativi
I blocchi organizzativi formano l'interfaccia tra il sistema operativo della CPU e il programma utente.
Con l'aiuto degli OB si possono far eseguire parti di programma:
• all'avviamento della CPU
• nell'esecuzione ciclica o anche nell'esecuzione temporizzata
• a determinati orari o giorni
• al termine di una durata di tempo assegnata
• quando si presentano errori
• quando si presentano interrupt di processo.
I blocchi organizzativi vengono elaborati in base alla priorità ad essi assegnata.

OB disponibili
Non tutte le CPU possono elaborare tutti gli OB disponibili per S7. Consultare le liste operazioni /72/
e /102/ della CPU per sapere quali OB sono inclusi nella CPU.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 11
Blocchi organizzativi
1.1 Panoramica degli OB

Altre informazioni
Altre informazioni possono essere rilevate dalla Guida in linea e dai seguenti manuali:
• /70/: Questo manuale contiene i dati tecnici che descrivono le potenzialità delle diverse
CPU S7-300.
• /101/: Questo manuale contiene i dati tecnici che descrivono le potenzialità delle diverse
CPU S7-400.

OB Evento di avvio Classe di Spiegazione


priorità
preimpostata
OB 1 Fine avviamento o fine OB 1 1 Ciclo libero
OB 10 Allarme dall'orologio 0 2 Nessuna
OB 11 Allarme dall'orologio 1 2 assegnazione clock
default
OB 12 Allarme dall'orologio 2 2
OB 13 Allarme dall'orologio 3 2
OB 14 Allarme dall'orologio 4 2
OB 15 Allarme dall'orologio 5 2
OB 16 Allarme dall'orologio 6 2
OB 17 Allarme dall'orologio 7 2
OB 20 Allarme di ritardo 0 3 Nessuna
OB 21 Allarme di ritardo 1 4 assegnazione clock
default
OB 22 Allarme di ritardo 2 5
OB 23 Allarme di ritardo 3 6
OB 30 Allarme di schedulazione orologio 0 (default: clock 5 s) 7 Allarmi di
Allarme di schedulazione orologio 1 (default: clock 2 s) schedulazione
OB 31 8 orologio
Allarme di schedulazione orologio 2 (default: clock 1 s)
Allarme di schedulazione orologio 3 (default: clock 500 ms)
OB 32 9
Allarme di schedulazione orologio 4 (default: clock 200 ms)
Allarme di schedulazione orologio 5 (default: clock 100 ms)
OB 33 10
Allarme di schedulazione orologio 6 (default: clock 50 ms)
OB 34 Allarme di schedulazione orologio 7 (default: clock 20 ms) 11
Allarme di schedulazione orologio 8 (default: clock 10 ms)
OB 35 12

OB 36 13

OB 37 14

OB 38 15

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


12 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.1 Panoramica degli OB

OB Evento di avvio Classe di Spiegazione


priorità
preimpostata
OB 40 Interrupt di processo 0 16 Interrupt di
OB 41 Interrupt di processo 1 17 processo
OB 42 Interrupt di processo 2 18
OB 43 Interrupt di processo 3 19
OB 44 Interrupt di processo 4 20
OB 45 Interrupt di processo 5 21
OB 46 Interrupt di processo 6 22
OB 47 Interrupt di processo 7 23
OB 55 Allarme di stato 2 Allarmi DPV1
OB 56 Allarme di aggiornamento 2
OB 57 Allarme produttore 2
OB 60 Richiamo della SFC 35 "MP_ALM" 25 Allarme di
multicomputing
OB 61 Allarme in sincronismo di clock 1 25 Allarmi di
OB 62 Allarme in sincronismo di clock 2 25 sincronismo di clock
OB 63 Allarme in sincronismo di clock 3 25
OB 64 Allarme in sincronismo di clock 4 25
OB 65 Allarme di sincronismo tecnologico 25 Allarme di
sincronismo
tecnologico
OB 70 Errore di ridondanza della periferia (solo nelle CPU H) 25 Allarmi di errore di
Errore di ridondanza della CPU (solo nelle CPU H) 28 ridondanza
OB 72 OB di errore di ridondanza di comunicazione (solo nelle 25
CPU H)
OB 73
1
OB 80 Errore temporale 26, 28 Allarmi di errori di
asincronismo
1)
OB 81 Errore di alimentazione 26, 28 con
S7-300,
1)
25, 28 con
S7-400
e CPU 318
1)
OB 82 Allarme di diagnostica 26, 28 con
S7-300,
1)
25, 28 con
S7-400
e CPU 318
1)
OB 83 Allarme di estrazione/inserimento 26, 28 con
S7-300,
1)
25, 28 con
S7-400
e CPU 318

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 13
Blocchi organizzativi
1.1 Panoramica degli OB

OB Evento di avvio Classe di Spiegazione


priorità
preimpostata
1)
OB 84 Errore hardware CPU 26, 28 con
S7-300,
1)
25, 28 con
S7-400
e CPU 318
1)
OB 85 Errore di esecuzione programma 26, 28 con
S7-300,
1)
25, 28 con
S7-400
e CPU 318
1)
OB 86 Avaria di un'apparecchiatura di ampliamento, di un sistema 26, 28 con
master DP o di una stazione con periferia decentrata S7-300,
1)
25, 28 con
S7-400
e CPU 318
1)
OB 87 Errore di comunicazione 26, 28 con
S7-300,
1)
25, 28 con
S7-400
e CPU 318
OB 88 Interruzione elaborazione 28
2)
OB 90 Nuovo avviamento (avviamento a caldo) o avviamento a 29 Ciclo di sfondo
freddo o cancellazione di un blocco in esecuzione nell'OB 90
o caricamento di un OB 90 nella CPU o fine dell'OB 90.
1)
OB 100 Nuovo avviamento (avviamento a caldo) 27 Avviamento
Riavviamento
1)
OB 101 Avviamento a freddo 27
1)
OB 102 27
OB 121 Errore di programmazione Priorità Allarmi di errori di
OB 122 Errore di accesso alla periferia dell'OB che sincronismo
causa l'errore
Priorità
dell'OB che
causa l'errore

1)
Le classi di priorità 27 e 28 sono valide nel modello della classe di priorità dell'avviamento.
2)
La classe di priorità 29 corrisponde alla priorità 0.29. Il ciclo di sfondo ha dunque una priorità più bassa rispetto al ciclo
libero.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


14 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.2 Programma ciclico (OB 1)

1.2 Programma ciclico (OB 1)

Descrizione
Il sistema operativo della CPU S7 elabora ciclicamente l'OB 1; al termine dell'elaborazione dell'OB 1,
il sistema operativo inizia una nuova elaborazione dello stesso. L'elaborazione ciclica di OB 1 viene
iniziata al termine dell'avviamento. Si può usare OB 1 per richiamare altri blocchi funzionali (FB,
SFB) o altre funzioni (FC, SFC).

Funzionamento di OB 1
OB 1 ha la priorità più bassa rispetto a tutti gli altri OB. Ad eccezione di OB 90 tutti gli altri
OB possono interrompere l'elaborazione di OB 1. I seguenti eventi possono determinare il richiamo
di OB 1 da parte del sistema operativo:
• Fine dell'elaborazione dell'avviamento
• Fine dell'esecuzione di OB 1 (del ciclo precedente).
Quando l'elaborazione dell'OB 1 è terminata, il sistema operativo invia i dati globali. Prima di
riavviare OB 1, il sistema operativo scrive l'immagine di processo delle uscite nelle unità di uscita,
aggiorna l'immagine di processo degli ingressi e riceve i dati globali per la CPU.
S7 offre un controllo del tempo di ciclo massimo, con cui viene garantito il tempo di risposta
massimo. Il valore per il tempo di ciclo massimo è preimpostato su 150 ms; questo valore può essere
riparametrizzato o il tempo di controllo può essere avviato di nuovo in qualsiasi posizione del
programma con la SFC 43 "RE_TRIGR". Se il programma supera il tempo di ciclo massimo per
OB 1, il sistema operativo richiama OB 80 (OB di errore temporale); se OB 80 non è programmato, la
CPU passa in modalità STOP.
Oltre al controllo del tempo di ciclo massimo può essere garantita l'osservanza di un tempo ciclo
minimo. Il sistema operativo ritarda l'inizio di un nuovo ciclo (scrittura dell‘immagine di processo delle
uscite nelle unità di uscita) fino a quando non è stato raggiunto il tempo di ciclo minimo.
I campi dei valori per i parametri del tempo di ciclo massimo e minimo sono riportati nei manuali /70/
e /101/. La modifica dei parametri viene eseguita con STEP 7.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 15
Blocchi organizzativi
1.2 Programma ciclico (OB 1)

Dati locali per OB 1


La tabella seguente contiene le variabili temporanee (TEMP) di OB 1. Come nomi di variabili sono
stati scelti i nomi di default di OB 1.

Variabile Tipo di dati Descrizione


OB1_EV_CLASS BYTE Classe di evento e identificazioni: B#16#11: OB 1 è attivo
OB1_SCAN_1 BYTE • B#16#01:Conclusione del
nuovo avviamento (avviamento a caldo)
• B#16#02: Conclusione del
riavviamento
• B#16#03: Conclusione del
ciclo libero
• B#16#04: Conclusione dell'avviamento
a freddo
• B#16#05:Primo ciclo di OB1 della nuova CPU master dopo la
commutazione master-reserve e STOP del master finora
valido
OB1_PRIORITY BYTE Classe di priorità: 1
OB1_OB_NUMBR BYTE Numero di OB (01)
OB1_RESERVED_1 BYTE Riservato
OB1_RESERVED_2 BYTE Riservato
OB1_PREV_CYCLE INT Tempo ciclo della precedente scansione (ms)
OB1_MIN_CYCLE INT Tempo ciclo minimo (ms) dall'ultimo avviamento
OB1_MAX_CYCLE INT Tempo ciclo massimo (ms) dall'ultimo avviamento
OB1_DATE_TIME DATE_AND Data e ora in cui è stato richiamato l'OB
_TIME

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


16 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.3 OB di allarme dall'orologio (da OB 10 a OB 17)

1.3 OB di allarme dall'orologio (da OB 10 a OB 17)

Descrizione
S7 mette a disposizione fino a otto blocchi organizzativi (dall'OB 10 all'OB 17) che vengono avviati
una volta o periodicamente. L'utente può parametrizzare la CPU con le SFC o con STEP 7 in modo
che questi OB vengano elaborati ai seguenti intervalli:
• Una volta
• Ogni minuto
• Ogni ora
• Giornalmente
• Settimanalmente
• Mensilmente
• Annualmente
• A fine mese

Avvertenza
In caso di elaborazione mensile di un OB di allarme dall'orologio, lo standard prevede soltanto i giorni
1, 2 ... 28.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 17
Blocchi organizzativi
1.3 OB di allarme dall'orologio (da OB 10 a OB 17)

Funzionamento degli OB di allarme dall'orologio


Per avviare un allarme dall'orologio, è necessario impostare prima l'allarme e quindi attivarlo.
Esistono le seguenti tre possibilità di avviamento:
• Avviamento automatico dell'allarme dall'orologio. Esso ha luogo se sia l'impostazione che
l'attivazione dell'allarme dall'orologio sono state eseguite con STEP 7. La tabella 1-3 mostra le
possibilità di attivazione di un allarme dall'orologio con STEP 7.
• L'allarme dall'orologio viene impostato con STEP 7 e attivato mediante richiamo della SFC 30
"ACT_TINT" dal proprio programma.
• L'allarme dall'orologio viene impostato mediante richiamo della SFC 28 "SET_TINT" e viene
attivato mediante richiamo della SFC 30 "ACT_TINT".

Intervallo Descrizione
Non attivato L'OB di allarme dall'orologio non viene elaborato neppure se è caricato nella CPU.
L'allarme dall'orologio può essere attivato mediante richiamo della SFC 30.
Attivato una volta L'OB dell'allarme dall'orologio viene annullato automaticamente dopo che è stato
elaborato una volta come indicato.
Il programma utente può impostare di nuovo l'allarme dall'orologio con la SFC 28 e
attivarlo di nuovo con la SFC 30.
Attivato periodicamente Nel momento in cui viene impostato l'allarme dall'orologio la CPU rileva, in base
all'ora attuale e al periodo di tempo, l'istante in cui esso deve essere avviato.

Il comportamento degli allarmi dall'orologio durante la messa avanti o indietro dell'orologio è descritto
in /234/.

Avvertenza
Se si configura un allarme dall'orologio in modo che il relativo OB venga eseguito una volta, la data e
l'ora non devono essere nel passato (secondo l'orologio hardware della CPU).
Se si configura un allarme dall'orologio in modo che il relativo OB venga eseguito a intervalli
periodici, ma si imposta nel passato la data e l'ora di inizio, l'OB di allarme dall'orologio viene
eseguito al primo intervallo successivo rispetto all'ora attuale.

Gli allarmi dall'orologio possono essere disabilitati o ritardati e abilitati di nuovo con l'aiuto delle
SFC 39 fino a 42.

Tempo di avvio impostato Ora attuale

Intervallo Istante della prima esecuzione


impostato dell'OB di allarme dall'orologio

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


18 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.3 OB di allarme dall'orologio (da OB 10 a OB 17)

Condizioni che influiscono sugli OB di allarme dall'orologio


Siccome l'allarme dall'orologio viene eseguito solo a intervalli determinati, alcune condizioni possono
influire sul funzionamento degli OB corrispondenti durante l'elaborazione del programma. La tabella
seguente mostra alcune di queste condizioni e descrive l'effetto dell'esecuzione dell'OB di allarme
dall'orologio.

Condizione Risultato
Il programma richiama SFC 29 Il sistema operativo cancella l'evento di avvio (data e ora)
"CAN_TINT" e annulla un allarme dell'allarme dall'orologio. Occorre reimpostare e attivare l'evento
dall'orologio. di avvio prima di poter richiamare l'OB.
Il programma ha tentato di attivare un OB di Il sistema operativo chiama OB 85. Se OB 85 non è stato
allarme dall'orologio, che al momento programmato (caricato nella CPU), la CPU passa in STOP.
dell'attivazione non era caricato nella CPU.
Nel sincronizzare o correggere l'orologio di Il sistema operativo chiama OB 80 e codifica il numero di
sistema della CPU, si è impostata l'ora in OB (10) e le informazioni dell'evento di avvio in OB 80.
avanti e si è saltata la data o l'ora Il sistema operativo esegue quindi l'OB di allarme dall'orologio
dell'evento di avvio per l'OB ora del giorno. una volta, indipendentemente dal numero di volte che questo
OB sarebbe dovuto essere eseguito. Le informazioni di evento di
avvio dell'OB 80 mostrano la data e l'ora in cui l'OB di allarme
dall'orologio è stato saltato per la prima volta.
Nel sincronizzare o correggere l'orologio di CPU S7-400 e CPU 318:
sistema della CPU, l'ora è stata riportata Se l'OB di allarme dall'orologio era già attivato prima di riportare
indietro e si ripete la data o l'ora dell'evento indietro l'orologio, esso non viene di nuovo richiamato per i tempi
di avvio per un OB di allarme dall'orologio. già trascorsi.
CPU S7-300: viene eseguito l'OB di allarme dall'orologio
La CPU esegue un nuovo avviamento Ogni OB di allarme dall'orologio che è stato configurato con una
(avviamento a caldo) o un avviamento a SFC riprende la configurazione che è stata progettata con
freddo. STEP 7.
Se si configura un allarme dall'orologio in modo che il relativo
OB venga avviato una volta e l'allarme è stato impostato e
attivato con STEP 7 allora l'OB viene richiamato una volta dal
sistema operativo dopo un nuovo avviamento (avviamento a
caldo) oppure avviamento a freddo se l'istante di avvio
progettato è nel passato (riferito all'orologio hardware della CPU
).
Un OB di allarme dall'orologio viene ancora Il sistema operativo chiama OB 80. Se OB 80 non è
eseguito quando si verifica l'evento di avvio programmato, la CPU passa in STOP.
per il prossimo intervallo. Altrimenti, dopo l'esecuzione dell'OB 80 e dell'OB di allarme
dall'orologio, viene ripresa l'esecuzione di OB richiesta.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 19
Blocchi organizzativi
1.3 OB di allarme dall'orologio (da OB 10 a OB 17)

Dati locali per gli OB di allarme dall'orologio


La tabella seguente contiene le variabili temporanee (TEMP) di un OB di allarme dall'orologio. Come
nomi di variabili sono stati scelti i nomi di default di OB 10.

Variabile Tipo di dati Descrizione


OB10_EV_CLASS BYTE Classe d'evento e identificazioni: B#16#11: allarme attivo
OB40_STRT_INF BYTE B#16#11: Richiesta di avviamento per OB 10
(B#16#12: Richiesta di avviamento per OB 11)
:
:
(B#16#18: Richiesta di avviamento per OB 17)
OB10_PRIORITY BYTE Classe di priorità parametrizzata
valore di default:2
OB10_OB_NUMBR BYTE Numero di OB (da 10 a 17)
OB10_RESERVED_1 BYTE Riservato
OB10_RESERVED_2 BYTE Riservato
OB10_PERIOD_EXE WORD OB viene eseguito all'intervallo specificato:
W#16#0000: una volta
W#16#0201: una volta al minuto
W#16#0401: una volta all'ora
W#16#1001: una volta al giorno
W#16#1201: una volta alla settimana
W#16#1401: una volta al mese
W#16#1801: una volta all'anno
W#16#2001: a fine mese
OB10_RESERVED_3 INT Riservato
OB10_RESERVED_4 INT Riservato
OB10_DATE_TIME DATE_AND Data e ora in cui è stato richiamato l'OB
_TIME

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


20 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.4 OB di allarme di ritardo (da OB 20 a OB 23)

1.4 OB di allarme di ritardo (da OB 20 a OB 23)

Descrizione
S7 mette a disposizione fino a quattro OB (da OB 20 a OB 23) che vengono eseguiti rispettivamente
dopo un tempo di ritardo parametrizzabile. Ogni OB di allarme di ritardo viene avviato da un richiamo
della SFC 32 "SRT_DINT". Il tempo di ritardo è un parametro di ingresso della SFC.
Quando il programma chiama SFC 32 "SRT_DINT", si specifica il numero di OB, il tempo di ritardo e
un carattere di identificazione specifico per l'utente. Dopo che è trascorso il tempo di ritardo
specificato, il relativo OB si avvia. L'esecuzione di un allarme di ritardo che non è stato ancora
avviato può essere annullata.

Funzionamento dell'OB di allarme di ritardo


Al termine del tempo, il cui valore in ms è stato trasmesso insieme con un numero di OB alla SFC 32,
il sistema operativo avvia il rispettivo OB.
Per usare gli OB di allarme di ritardo si deve procedere come segue:
• Avviare l'allarme di ritardo SFC 32 "SRT_DINT".
• Occorre aver caricato l'OB di allarme dall'orologio nella CPU come parte del programma.
Gli OB di allarme di ritardo vengono eseguiti solo se la CPU si trova nello stato di funzionamento
RUN. Un nuovo avviamento (avviamento a caldo) ed un avviamento a freddo cancellano ogni evento
di avvio di un OB di allarme di ritardo. Un allarme di ritardo non ancora attivato può essere annullato
con la SFC 33 "CAN_DINT".
Il tempo di ritardo viene misurato con una precisione di 1 ms. Un tempo di ritardo può essere avviato
di nuovo immediatamente dopo la sua esecuzione. Con l'aiuto della SFC 34 "QRY_DINT" si può
determinare lo stato di un allarme di ritardo.
Il sistema operativo richiama un OB per errori di asincronismo se si presenta uno dei seguenti eventi:
• Se il sistema operativo cerca di avviare un OB che non è caricato e il cui numero è stato indicato
al richiamo della SFC 32 "SRT_DINT".
• Se il successivo evento di avvio per un allarme di ritardo si verifica prima che sia terminata
l'esecuzione del rispettivo OB di allarme di ritardo.
Gli allarmi di ritardo possono essere disabilitati o ritardati e abilitati di nuovo con l'aiuto delle SFC da
39 a 42.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 21
Blocchi organizzativi
1.4 OB di allarme di ritardo (da OB 20 a OB 23)

Dati locali degli OB di allarme di ritardo


La tabella seguente contiene le variabili temporali (TEMP) di un OB di allarme di ritardo. Come nomi
di variabili sono stati scelti i nomi di default dell'OB 20.

Variabile Tipo di dati Dichiarazione Descrizione


OB20_EV_CLASS BYTE TEMP Classe d'evento e identificazioni:
B#16#11: Allarme attivo
OB20_STRT_INF BYTE TEMP B#16#231: Richiesta di avvio per OB 20
(B#16#22: Richiesta di avvio per OB 21)
(B#16#23: Richiesta di avvio per OB 22)
(B#16#24: Richiesta di avvio per OB 23)
OB20_PRIORITY BYTE TEMP Classe di priorità parametrizzata: valori di default
da 3 (OB 20) fino a 6 (OB 23)
OB20_OB_NUMBR BYTE TEMP Numero di OB (da 20 a 23)
OB20_RESERVED_1 BYTE TEMP Riservato
OB20_RESERVED_2 BYTE TEMP Riservato
OB20_SIGN WORD TEMP Identificazione utente: Parametro di ingresso
SIGN dal richiamo della SFC 32 "SRT_DINT"
OB20_DTIME TIME TEMP Tempo di ritardo parametrizzato in ms
OB20_DATE_TIME DATE_AND TEMP Data e ora in cui è stato richiamato l'OB
_TIME

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


22 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.5 OB di schedulazione orologio (da OB 30 a OB 38)

1.5 OB di schedulazione orologio (da OB 30 a OB 38)

Descrizione
S7 mette a disposizione fino a nove OB di schedulazione orologio (da OB 30 a OB 38), con il cui
aiuto si possono avviare programmi in base ad intervalli di tempo equidistanti. La tabella seguente
mostra i valori preimpostati per i reticoli temporali e le classi di priorità degli OB di schedulazione
orologio.

OB di schedulazione orologio Valore di default per reticolo Valore di default per la classe di
temporale priorità
OB 30 5s 7
OB 31 2s 8
OB 32 1s 9
OB 33 500 MS 10
OB 34 200 MS 11
OB 35 100 MS 12
OB 36 50 MS 13
OB 37 20 MS 14
OB 38 10 MS 15

Funzionamento degli OB di schedulazione orologio


I momenti di avvio equidistanti degli OB di schedulazione orologio risultano dal rispettivo clock e dal
rispettivo spostamento delle fasi. In /234/. è illustrato in quale rapporto si trovano il momento di avvio,
il clock e lo spostamento delle fasi.

Avvertenza
È necessario provvedere affinché il tempo di esecuzione di ogni OB di schedulazione orologio sia
nettamente inferiore al suo clock. Se un OB di schedulazione orologio non è ancora terminato, ma è
di nuovo prossimo all'esecuzione a causa del clock decorso, viene avviato l'OB dell'errore temporale
(OB 80). Successivamente viene recuperata la schedulazione orologio che ha causato l'errore.

Gli allarmi di tempo possono essere disabilitati o ritardati e abilitati di nuovo con l'aiuto delle SFC da
39 a 42.
I campi dei valori per i parametri: clock, classe di priorità e spostamento delle fasi sono riportati nei
dati tecnici della CPU. La modifica dei parametri viene eseguita mediante parametrizzazione con
STEP 7.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 23
Blocchi organizzativi
1.5 OB di schedulazione orologio (da OB 30 a OB 38)

Dati locali degli OB di schedulazione orologio


La tabella seguente contiene le variabili temporanee (TEMP) di un OB di schedulazione orologio.

Variabile Tipo di dati Descrizione


OB3x_EV_CLASS BYTE Classe d'evento e identificazioni:
B#16#11: Allarme attivo
OB3x_STRT_INF BYTE • B#16#30: Richiesta straordinaria di avvio per l'OB di
schedulazione orologio nel sistema H (trattamento speciale
parametrizzato alla commutazione allo stato di sistema
"Ridondato)
• B#16#31: Richiesta di avvio per OB 30
:
• B#16#36: Richiesta di avvio per OB 35
:
• B#16#39: Richiesta di avvio per OB 38
• B#16#3A: Richiesta di avvio per gli OB di schedulazione
orologio (OB 30 ...OB 38) con intervallo di schedulazione
inferiore a un millisecondo.
OB3x_PRIORITY BYTE Classe di priorità parametrizzata: valori di default: da 7 (OB 30)
a 15 (OB 38)
OB3x_OB_NUMBR BYTE Numero OB (da 30 a 38)
OB3x_RESERVED_1 BYTE Riservato
OB3x_RESERVED_2 BYTE Riservato
OB3x_PHS_OFFSET INT Per gli OB da 30 a 34 e da 36 a 38:
• se OB3x_STRT_INF=B#16#3A: spostamento delle fasi in
µs
• in tutti gli altri casi: spostamento delle fasi in ms
OB35_PHASE WORD Per l’OB 35:
_OFFSET • se OB35_STRT_INF=B#16#3A: spostamento delle fasi in
µs
• in tutti gli altri casi: spostamento delle fasi in ms
OB3x_RESERVED_3 INT Riservato
OB3x_EXC_FREQ INT • se OB35_STRT_INF=B#16#3A: frequenza di esecuzione
in µs
• in tutti gli altri casi: frequenza di esecuzione in ms
OB3x_DATE_TIME DATE_AND Data e ora in cui è stato richiamato l'OB.
_TIME

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


24 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.6 OB di interrupt di processo (da OB 40 a OB 47)

1.6 OB di interrupt di processo (da OB 40 a OB 47)

Descrizione
S7 mette a disposizione fino a otto interrupt di processo indipendenti tra di loro con rispettivamente
un OB.
Mediante parametrizzazione con STEP 7 definire per ogni unità di ingresso/uscita, che deve attivare
gli interrupt di processo,
• quali canali devono attivare, con quale condizione marginale, un interrupt di processo
• quale OB di interrupt di processo viene assegnato ai singoli gruppi di canali (a default vengono
eseguiti tutti gli interrupt di processo tramite OB 40).
Nei CP e FM è necessario utilizzare il rispettivo software per l'unità.
Le classi di priorità per i singoli OB di interrupt di processo vengono definite con STEP 7.

Funzionamento degli OB dell'interrupt di processo


Dopo l'attivazione di un interrupt di processo da parte dell'unità, il sistema operativo identifica il posto
connettore e determina il rispettivo OB di interrupt di processo. Se esso ha una priorità maggiore
della classe di priorità momentaneamente attiva, esso viene avviato. La conferma specifica di canale
avviene al termine di questo OB di interrupt di processo.
Se nell'intervallo tra l'identificazione e la conferma di un interrupt di processo sulla stessa unità si
presenta di nuovo un evento che deve attivare un interrupt di processo, valgono le seguenti regole:
• Se l'evento si presenta nel canale che ha attivato prima l'interrupt di processo, il rispettivo
interrupt va perso. Questo fatto è rappresentato dalla figura seguente sull'esempio di un canale
di un'unità di ingresso digitale. L'evento attivante sia il fronte di salita. Il rispettivo OB di interrupt
di processo sia l'OB 40.

Interrupt di processo non riconosciuto

Segnale
di processo

OB 40
Elaborazione dell'OB 40

• Se l'evento si presenta in un altro canale della stessa unità, momentaneamente non può essere
attivato nessun interrupt di processo. Esso non va tuttavia perso, ma viene attivato dopo la
conferma dell'interrupt di processo attivo.
Se viene attivato un interrupt di processo il cui rispettivo OB è attivo momentaneamente proprio a
causa di un interrupt di processo di un'altra unità, la nuova richiesta viene registrata e l'OB viene
elaborato al momento opportuno .

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 25
Blocchi organizzativi
1.6 OB di interrupt di processo (da OB 40 a OB 47)

Gli interrupt di processo possono essere disabilitati o ritardati e abilitati di nuovo con l'aiuto delle
SFC da 39 a 42.
La parametrizzazione degli interrupt di processo di una unità può essere eseguita non solo con
STEP 7, ma anche con le SFC da 55 a 57.

Dati locali degli OB di interrupt di processo


La tabella seguente descrive le variabili temporanee (TEMP) di un OB di interrupt di processo. Come
nomi di variabili sono stati scelti nomi di default dell'OB 40.

Variabile Tipo di dati Descrizione


OB40_EV_CLASS BYTE Classe di evento e identificazioni:
B#16#11: Interrupt attivo
OB40_STRT_INF BYTE • B#16#41: Interrupt tramite conduttore interrupt 1
• B#16#42: Interrupt tramite conduttore interrupt 2 (solo con
S7-400)
• B#16#43: Interrupt tramite conduttore interrupt 3 (solo con
S7-400)
• B#16#44: Interrupt tramite conduttore interrupt 4 (solo con
S7-400)
• B#16#45: WinAC: allarme generato dal PC
Nota: nel funzionamento Multicomputing i conduttori interrupt 1,
... 4 sono assegnati alle CPU 1, ... 4.
OB40_PRIORITY BYTE Classe di priorità parametrizzata: valori di default: da 16
(OB 40) a 23 (OB 47)
OB40_OB_NUMBR BYTE Numero OB (da 40 a 47)
OB40_RESERVED_1 BYTE Riservato
OB40_IO_FLAG BYTE Unità di ingresso: B#16#54
Unità di uscita: B#16#55
OB40_MDL_ADDR WORD Indirizzo logico di base dell'unità che attiva l'interrupt
OB40_POINT_ADDR DWORD • Per unità digitali:
campo di bit con gli ingressi sull'unità che hanno generato
l'interrupt di diagnostica
Le modalità di l'assegnazione dei bit dell’ OB40
POINT_ADDR ai canali dell'unità sono riportate nella
descrizione dell'unità impiegata.
• Per unità analogiche:
campo di bit con le informazioni sul canale e il limite
superato (per l'esatta configurazione, vedere la
descrizione della relatva unità).
• Per CP o IM:
stato dell'allarme dell'unità (non rilevante per l'utente)
OB40_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


26 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.6 OB di interrupt di processo (da OB 40 a OB 47)

Avvertenza
Se si utilizza una CPU che supporta slave DPV1, con l'aiuto dell'SFB 54 "RALRM" è possibile ottenere ulteriori
informazioni sull'allarme oltre a quelle di avvio dell'OB. Ciò vale anche quando il master DP viene utilizzato nei
modi S7 compatibili.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 27
Blocchi organizzativi
1.7 OB di allarme di stato (OB 55)

1.7 OB di allarme di stato (OB 55)

Avvertenza
L'OB di allarme di stato (OB 55) è disponibile solo per le CPU che supportano slave DPV1 e PROFINET.

Descrizione
Il sistema operativo della CPU richiama l'OB 55 in seguito a un allarme di stato attivato da un posto
connettore di uno slave DPV1 o di un IO Device. Ciò si può verificare quando un componente (unità
o modulo) di uno slave DPV1 o di un IO Device cambia stato di funzionamento, p. es. da RUN a
STOP. Gli eventi specifici che attivano un allarme di stato sono riportati nella documentazione del
produttore dello slave DPV1 o dell’IO Device.

Dati locali dell'OB di allarme di stato


La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di allarme di stato. Per i nomi
delle variabili sono stati scelti i nomi di default dell'OB 55.

Variabile Tipo di dati Descrizione


OB55_EV_CLASS BYTE Classe di evento e identificazioni:
B#16#11 (evento entrante)
OB55_STRT_INF BYTE • B#16#55: allarme di stato per DP
• B#16#58: allarme di stato per PROFINET IO
OB55_PRIORITY BYTE Classe di priorità parametrizzata, valore di default: 2
OB55_OB_NUMBR BYTE Numero di OB (55)
OB55_RESERVED_1 BYTE Riservato
OB55_IO_FLAG BYTE Unità/modulo ingressi: B#16#54
Unità/modulo uscite: B#16#55
OB55_MDL_ADDR WORD Indirizzo logico di base del componente che attiva l'allarme
(unità o modulo)
OB55_LEN BYTE Lunghezza del blocco dati fornito dall'allarme
OB55_TYPE BYTE Identificazione del tipo di allarme "Allarme di stato"
OB55_SLOT BYTE N. di posto connettore del componente che attiva l'allarme
(unità o modulo)
OB55_SPEC BYTE Specificatore:
• Bit 0 ... 1: specificatore allarme
• Bit 2: Add_Ack
• Bit 3 … 7: n. sequenziale
OB55_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


28 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.7 OB di allarme di stato (OB 55)

Avvertenza
Il significato di OB55_LEN, OB55_TYPE, OB55_SLOT, OB55_SPEC indicato nella tabella
precedente è valido solo per un allarme di stato in DP. In caso di allarme di stato in PROFINET IO
organizzare le variabili locali come indicato nella tabella seguente.

Avvertenza
L'informazione supplementare completa sull'allarme del telegramma si ottiene richiamando l'SFB 54
"RALRM" all'interno dell'OB 55.

Se si intende programmare l'OB 55 in funzione degli eventi di avvio, si consiglia di organizzare le


variabili locali come indicato qui di seguito:

Variabile Tipo di dati


OB55_EV_CLASS BYTE
OB55_STRT_INF BYTE
OB55_PRIORITY BYTE
OB55_OB_NUMBR BYTE
OB55_RESERVED_1 BYTE_
OB55_IO_FLAG BYTE
OB55_MDL_ADR WORD
OB55_Z2 WORD
OB55_Z3 WORD
OB55_DATE_TIME DATE_AND_TIME

A seconda dell'evento di avvio, vengono fornite informazioni diverse alle variabili OB55_Z2 e
OB55_Z3. La tabella sottostante mostra questo comportamento nel dettaglio.

Significato dell'OB55_Z2

OB55_STRT_INF Significato dell'OB55_Z2


B#16#55 • low byte: ID del tipo di allarme "Allarme di stato"
• high byte: lunghezza del blocco dati che genera l'allarme
B#16#58 ID del tipo di allarme:
• W#16#0005: allarme di stato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 29
Blocchi organizzativi
1.7 OB di allarme di stato (OB 55)

Significato dell'OB55_Z3

OB55_STRT_INF Significato dell'OB55_Z3


B#16#55 • low byte: Specifier
- Bit 0 ... 1: Alarm Specifier
- Bit 2: Add_Ack
- Bit 3 ... 7: numero di sequenza
• high byte: posto connettore del componente che
ha generato l'allarme (unità o modulo)
B#16#58 Alarm Specifier:
• Bit 0 … 10: numero di sequenza (campo valori da
0 a 2047)
• Bit 11: diagnostica di canale
- 0: diagnostica di canale non disponibile
- 1: diagnostica di canale disponibile
• Bit 12: stato della diagnostica specifica del
produttore:
- 0: informazione di stato della diagnostica del
produttore non disponibile
- 1: informazione di stato della diagnostica del
produttore disponibile
• Bit 13: stato della diagnostica del sottomodulo:
- 0: informazione di stato non disponibile, tutti
gli errori sono stato eliminati
- 1: almeno un messaggio di diagnostica di
canale e/o un'informazione di stato
disponibili.
• Bit 14: riservato
• Bit 15: Application Relationship (AR) Diagnosis
State:
- 0: nessuna unità tra quelle progettate
all'interno del bit AR invia un messaggio di
diagnostica
- 1: almeno un'unità tra quelle progettate
all'interno del bit AR invia un messaggio di
diagnostica

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


30 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.8 OB di allarme di aggiornamento (OB 56)

1.8 OB di allarme di aggiornamento (OB 56)

Avvertenza
L'OB di allarme di aggiornamento (OB 56) è disponibile solo per le CPU che supportano slave DPV1 o
PROFINET.

Descrizione
Il sistema operativo della CPU richiama l'OB 56 in seguito a un allarme di aggiornamento attivato da
un posto connettore di uno slave DPV1 o di un IO Device. Ciò si può verificare quando si esegue una
modifica di parametrizzazione nel posto connettore di uno slave DPV1o di un IO Device (con
accesso locale o remoto). Gli eventi specifici che attivano un allarme di aggiornamento sono riportati
nella documentazione del produttore dello slave DPV1o dell’IO Device.

Dati locali dell'OB di allarme di aggiornamento


La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di allarme di aggiornamento.
Per i nomi delle variabili sono stati scelti i nomi di default dell'OB 56.

Variabile Tipo di dati Descrizione


OB56_EV_CLASS BYTE Classe di evento e identificazioni:
B#16#11 (evento entrante)
OB56_STRT_INF BYTE • B#16#56: allarme di aggiornamento in DP
• B#16#59: allarme di aggiornamento in PROFINET IO
OB56_PRIORITY BYTE Classe di priorità parametrizzata, valore di default: 2
OB56_OB_NUMBR BYTE Numero di OB (56)
OB56_RESERVED_1 BYTE Riservato
OB56_IO_FLAG BYTE Unità/modulo ingressi: B#16#54
Unità/modulo uscite: B#16#55
OB56_MDL_ADDR WORD Indirizzo logico di base del componente che attiva l'allarme
(unità o modulo)
OB56_LEN BYTE Lunghezza del blocco dati fornito dall'allarme
OB56_TYPE BYTE Identificazione del tipo di allarme "Allarme di aggiornamento"
OB56_SLOT BYTE N. di posto connettore del componente che attiva l'allarme
(unità o modulo)
OB56_SPEC BYTE Specificatore:
• Bit 0 ... 1: specificatore allarme
• Bit 2: Add_Ack
• Bit 3 ... 7: n. sequenziale
OB56_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 31
Blocchi organizzativi
1.8 OB di allarme di aggiornamento (OB 56)

Avvertenza
Il significato di OB56_LEN, OB56_TYPE, OB56_SLOT, OB56_SPEC indicato nella tabella
precedente è valido solo per un allarme di aggiornamento in DP. In caso di allarme di aggiornamento
in PROFINET IO organizzare le variabili locali come indicato nella tabella seguente.

Avvertenza
L'informazione supplementare completa sull'allarme del telegramma si ottiene richiamando l'SFB 54
"RALRM" all'interno dell'OB 56.

Se si intende programmare l'OB 56 in funzione degli eventi di avvio, si consiglia di organizzare le


variabili locali come indicato qui di seguito:

Variabile Tipo di dati


OB56_EV_CLASS BYTE
OB56_STRT_INF BYTE
OB56_PRIORITY BYTE
OB56_OB_NUMBR BYTE
OB56_RESERVED_1 BYTE_
OB56_IO_FLAG BYTE
OB56_MDL_ADR WORD
OB56_Z2 WORD
OB56_Z3 WORD
OB56_DATE_TIME DATE_AND_TIME

A seconda dell'evento di avvio, vengono fornite informazioni diverse alle variabili OB56_Z2 e
OB56_Z3. La tabella sottostante mostra questo comportamento nel dettaglio.

Significato dell'OB56_Z2

OB56_STRT_INF Significato dell'OB56_Z2


B#16#56 • Low byte: ID del tipo di allarme "Allarme di
aggiornamento"
• High byte: lunghezza del blocco dati che genera
l'allarme
B#16#59 • ID del tipo di allarme:
• W#16#0006: allarme di aggiornamento

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


32 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.8 OB di allarme di aggiornamento (OB 56)

Significato dell'OB56_Z3

OB56_STRT_INF Significato dell'OB56_Z3


B#16#56 • Low byte: Specifier
- Bit 0 ... 1: Alarm Specifier
- Bit 2: Add_Ack
- Bit 3 ... 7: numero di sequenza
• High byte: posto connettore del componente che
ha generato l'allarme (unità o modulo)
B#16#59 • Alarm Specifier:
• Bit 0 … 10: numero di sequenza (campo valori 0
… 2047)
• Bit 11: diagnostica di canale
- 0: diagnostica di canale non disponibile
- 1: diagnostica di canale disponibile
• Bit 12: stato della diagnostica specifica del
produttore:
- 0: informazione di stato specifica del
produttore non disponibile
- 1: informazione di stato specifica del
produttore disponibile
• Bit 13: stato della diagnostica del sottomodulo:
- 0: informazione di stato non disponibile, tutti
gli errori sono stato eliminati
- 1: almeno un messaggio di diagnostica di
canale e/o un'informazione di stato
disponibili.
• Bit 14: riservato
• Bit 15: Application Relationship (AR) Diagnosis
State:
- 0: nessuna unità tra quelle progettate
all'interno del bit AR invia un messaggio di
diagnostica
- 1: almeno un'unità tra quelle progettate
all'interno del bit AR invia un messaggio di
diagnostica

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 33
Blocchi organizzativi
1.9 OB per allarmi produttore (OB 57)

1.9 OB per allarmi produttore (OB 57)

Avvertenza
L'OB per allarmi produttore (OB 57) è disponibile solo per le CPU che supportano slave DPV1
oppure PROFINET.

Descrizione
Il sistema operativo della CPU richiama l'OB 57 in seguito a un allarme produttore attivato da un
posto connettore di uno slave DPV1 o di un IO Device.

Dati locali dell'OB per allarmi produttore


La tabella seguente contiene le variabili temporanee (TEMP) dell'OB per allarmi produttore. Per i
nomi delle variabili sono stati scelti i nomi di default dell'OB 57.

Variabile Tipo di dati Descrizione


OB57_EV_CLASS BYTE Classe di evento e identificazioni:
B#16#11 (evento entrante)
OB57_STRT_INF BYTE • B#16#57: Manufacture Alarm in DP
• B#16#5A: Manufacture Alarm in PN IO
• B#16#5B: IO: Profile Specific Alarm
OB57_PRIORITY BYTE Classe di priorità parametrizzata, valore di default: 2
OB57_OB_NUMBR BYTE Numero di OB (57)
OB57_RESERVED_1 BYTE Riservato
OB57_IO_FLAG BYTE Unità/modulo ingressi: B#16#54
Unità/modulo uscite: B#16#55
OB57_MDL_ADDR WORD Indirizzo logico di base del componente che attiva l'allarme
(unità o modulo)
OB57_LEN BYTE Lunghezza del blocco dati fornito dall'allarme
OB57_TYPE BYTE Identificazione del tipo di allarme "Allarme produttore"
OB57_SLOT BYTE N. di posto connettore del componente che attiva l'allarme
(unità o modulo)
OB57_SPEC BYTE Specificatore:
• Bit 0 ... 1: specificatore allarme
• Bit 2: Add_Ack
• Bit 3 ... 7: n. sequenziale
OB57_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


34 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.9 OB per allarmi produttore (OB 57)

Avvertenza
Il significato di OB57_LEN, OB57_TYPE, OB57_SLOT, OB57_SPEC indicato nella tabella
precedente è valido solo per un allarme produttore in DP. In caso di allarme produttore in PROFINET
IO organizzare le variabili locali come indicato nella tabella seguente.

Avvertenza
L'informazione supplementare completa sull'allarme del telegramma si ottiene richiamando l'SFB 54
"RALRM" all'interno dell'OB 57.

Se si intende programmare l'OB 57 in funzione degli eventi di avvio, si consiglia di organizzare le


variabili locali come indicato qui di seguito:

Variabile Tipo di dati


OB57_EV_CLASS BYTE
OB57_STRT_INF BYTE
OB57_PRIORITY BYTE
OB57_OB_NUMBR BYTE
OB57_RESERVED_1 BYTE_
OB57_IO_FLAG BYTE
OB57_MDL_ADR WORD
OB57_Z2 WORD
OB57_Z3 WORD
OB57_DATE_TIME DATE_AND_TIME

A seconda dell'evento di avvio, vengono fornite informazioni diverse alle variabili OB57_Z2 e
OB57_Z3. La tabella sottostante mostra questo comportamento nel dettaglio.

Significato dell'OB57_Z2

OB57_STRT_INF Significato dell'OB57_Z2


B#16#57 • low byte: ID del tipo di allarme "Allarme specifico
del produttore"
• high byte: lunghezza del blocco dati che genera
l’allarme
B#16#5° ID del tipo di allarme:
• W#16#0020 … 007F: alarme specifico del
produttore

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 35
Blocchi organizzativi
1.9 OB per allarmi produttore (OB 57)

Significato dell'OB57_Z3

OB57_STRT_INF Significato dell'OB57_Z3


B#16#57 • Low byte: Specifier
- Bit 0 ... 1: Alarm Specifier
- Bit 2: Add_Ack
- Bit 3 ... 7: numero di sequenza
• High byte: posto connettore del componente che
ha generato l'allarme (unità o modulo)
B#16#5° • Alarm Specifier:
• Bit 0 … 10: numero di sequenza (campo valori
0 ... 2047)
• Bit 11: diagnostica di canale
- 0: diagnostica di canale non disponibile
- 1: diagnostica di canale disponibile
• Bit 12: stato della diagnostica specifica del
produttore:
- 0: informazione di stato della diagnostica
specifica del produttore non disponibile
- 1: informazione di stato della diagnostica
specifica del produttore disponibile
• Bit 13: stato della diagnostica del sottomodulo:
- 0: informazione di stato non disponibile, tutti
gli errori sono stato eliminati
- 1: almeno un messaggio di diagnostica di
canale e/o un'informazione di stato
disponibili.
• Bit 14: riservato
• Bit 15: Application Relationship (AR) Diagnosis
State:
- 0: nessuna unità tra quelle progettate
all'interno del bit AR invia messaggio di
diagnostica
- 1: almeno un'unità tra quelle progettate
all'interno del bit AR invia un messaggio di
diagnostica.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


36 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.10 OB di allarme di multicomputing (OB 60)

1.10 OB di allarme di multicomputing (OB 60)

Descrizione
Con l'aiuto dell'allarme di multicomputing nel funzionamento multicomputing è possibile reagire ad
un segnale in modo sincronico sulla relativa CPU. A differenza degli interrupt di processo, che
vengono attivati da unità di segnale, l'allarme di multicomputing può essere emesso solo dalle CPU.

Funzionamento degli OB di allarme di multicomputing


L'allarme di multicomputing viene attivato richiamando la SFC 35 "MP_ALM". Nel funzionamento
multicomputing questo porta all'avvio sincronizzato dell'OB 60 su tutte le CPU inserite del segmento
di bus, se queste non hanno inibito l'OB 60 (tramite SFC 39 "DIS_IRT") o non l'hanno ritardato
(tramite SFC 41 "DIS_AIRT"). Se su una CPU non è stato caricato l'OB 60, la stessa CPU ritorna
subito nella classe di priorità elaborata per ultima e prosegue l'esecuzione del programma partendo
da questo punto. Nel funzionamento ad un processore e nel funzionamento in telai segmentati
l'OB 60 viene avviato solo su quella CPU sulla quale è stata richiamata la SFC 35 "MP_ALM".
Se il programma richiama la SFC 35 "MP_ALM", a questa deve essere assegnata una
identificazione di job a scelta. Questa identificazione viene trasmessa a tutte le CPU. Si ha così la
possibilità di reagire a seconda dell'evento presente. Nel caso l'OB 60 sia stato programmato nelle
singole CPU in modo differente, possono verificarsi dei tempi di elaborazione differenti. In questo
caso la classe di priorità interrotta di volta in volta, continua ad essere elaborata in differenti punti di
tempo. Se il successivo allarme di multicomputing viene emesso da una CPU, mentre un'altra CPU è
ancora impegnata con l'elaborazione dell'OB 60 del precedente allarme di multicomputing, né sulla
CPU richiedente, né su nessun'altra CPU inserita del segmento di bus può avvenire un avvio
dell'OB 60. Questo funzionamento, che viene rappresentato nella figura seguente sull'esempio di
due CPU, viene comunicato attraverso un relativo valore di funzione della SFC 35 richiamata.

CPU 1: "CALL SFC 35"

Elaborazione dell'OB60 Elaborazione


dell'OB60

Ciclo Ciclo

"CALL SFC 35" "CALL SFC 35"

CPU 2: Elaborazione Elaborazione


dell'OB60 dell'OB60

Ciclo Ciclo

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 37
Blocchi organizzativi
1.10 OB di allarme di multicomputing (OB 60)

Dati locali degli OB di allarme di multicomputing


La tabella seguente descrive le variabili temporanee (TEMP) degli OB di allarme di multicomputing.
Come nomi di variabili sono stati scelti nomi di default dell'OB 60.

Variabile Tipo di dati Descrizione


OB60_EV_CLASS BYTE Classe di evento e identificazioni:
B#16#11: allarme attivo
OB60_STRT_INF BYTE B#16#61: allarme di multicomputing attivato dalla CPU
B#16#62: allarme di multicomputing attivato da un'altra CPU
OB60_PRIORITY BYTE Classe di priorità: 25
OB60_OB_NUMBR BYTE Numero OB: 60
OB60_RESERVED_1 BYTE Riservato
OB60_RESERVED_2 BYTE Riservato
OB60_JOB INT Identificazione di job: variabile di ingresso JOB dell'SFC 35
"MP_ALM"
OB60_RESERVED_3 INT Riservato
OB60_REVERVED_4 INT Riservato
OB60_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


38 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.11 OB di allarme in sincronismo di clock (da OB 61 a OB 64)

1.11 OB di allarme in sincronismo di clock (da OB 61 a OB 64)

Descrizione
Gli allarmi in sincronismo di clock consentono di avviare i programmi in modo sincrono rispetto al
clock DP. L'allarme in sincronismo di clock TSAL y è costituito dall'OB 6y , <= y <= 4 che funge da
OB di interfaccia. È possibile impostare la priorità degli OB da 61 a 64 assegnando un valore
compreso tra 0 (OB deselezionato) e 2 - 26.

! Cautela
Sia in caso di accessi diretti con comandi L e T (p. es. L PEB, T PAB) che in caso di impiego delle
SFC 14 "DPRD_DAT" e 15 "DPWR_DAT", evitare gli accessi ad aree della periferia le cui immagini
di processo parziali siano assegnate con collegamenti OB6x (allarmi in sincronismo di clock).

Dati locali dell'OB di allarme in sincronismo di clock


La tabella seguente descrive le variabili temporanee (TEMP) dell'OB di allarme in sincronismo di
clock. Come nomi di variabili sono stati scelti i nomi di default dell'OB 61.

Variabile Tipo di dati Descrizione


OB61_EV_CLASS BYTE Classe dell'evento e identificazioni:
B#16#11: allarme attivo
OB61_STRT_INF BYTE B#16#64: richiesta di avvio per l'OB 61
B#16#67: richiesta di avvio per l'OB 64
OB61_PRIORITY BYTE Classe di priorità parametrizzata; valore di default: 25
OB61_OB_NUMBR BYTE Numero OB: 61 ... 64
OB61_RESERVED_1 BYTE Riservato
OB61_RESERVED_2 BYTE Riservato
OB61_GC_VIOL BOOL Violazione GC
OB61_FIRST BOOL Prima esecuzione dopo l'avviamento o lo stop
OB61_MISSED_EXEC BYTE Numero degli avvii dell'OB 61 non avvenuti dall'ultima
esecuzione dell'OB61
OB61_DP_ID BYTE ID del sistema master DP del sistema master DP del
sincronismo di clock
OB61_RESERVED_3 BYTE Riservato
OB61_RESERVED_4 WORD Riservato
OB61_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 39
Blocchi organizzativi
1.12 OB di allarme di sincronismo tecnologico (OB 65)

1.12 OB di allarme di sincronismo tecnologico (OB 65)

Avvertenza
L'OB di allarme di sincronismo tecnologico (OB 65) riguarda solamente le CPU tecnologiche.

Descrizione
L'allarme di sincronismo tecnologico offre la possibilità di avviare un programma in sincronismo di
clock con l'aggiornamento dei blocchi dati tecnologici. L'OB di allarme di sincronismo tecnologico
viene avviato di volta in volta dopo l'aggiornamento dei blocchi dati tecnologici.
La classe di priorità dell'OB di allarme di sincronismo tecnologico è fissata a 25 e non è modificabile.

Avvertenza
Al momento dell'avvio dell'OB di allarme di sincronismo tecnologico non sono ancora disponibili dati
di istanza aggiornati delle funzioni tecnologiche.

Dati locali dell'OB di allarme di sincronismo tecnologico


La tabella seguente mostra le variabili temporanee (TEMP) dell'OB di allarme di sincronismo
tecnologico. Per i nomi delle variabili sono stati scelti i nomi di default dell'OB 65.

Variabile Tipo di dati Descrizione


OB65_EV_CLASS BYTE Classe di evento e identificazioni:
B#16#11: evento entrante, classe di evento 1
OB65_STRT_INF BYTE B#16#6A: richiesta di avvio dell'OB 65
OB65_PRIORITY BYTE Classe di priorità: 25 (fissa)
OB65_OB_NUMBR BYTE Numero di OB (65)
OB65_RESERVED_1 BYTE Riservato
OB65_RESERVED_2 BYTE Riservato
OB65_RESERVED_3 BOOL Riservato
OB65_FIRST BOOL Prima esecuzione dell'OB 65 dopo l'avviamento
OB65_MISSED_EXEC BYTE Numero di avvii mancati dell'OB 65 dall'ultima esecuzione
dell'OB 65
OB65_RESERVED_4 BYTE Riservato
OB65_RESERVED_5 BYTE Riservato
OB65_RESERVED_6 WORD Riservato
OB65_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiesto l'OB

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


40 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.13 OB di errore di ridondanza della periferia (OB 70)

1.13 OB di errore di ridondanza della periferia (OB 70)

Avvertenza
L'OB di errore di ridondanza della periferia (OB 70) esiste solo con le CPU H.

Descrizione
Il sistema operativo della CPU H richiama l‘OB 70 se si verifica una perdita di ridondanza sul
PROFIBUS DP/sistema master DP oppure in caso di ripristino della stessa in almeno un IO
Device /slave DP.
Esempi di eventi di avvio dell’OB 70:
• Errore sull’interfaccia di un IO Device /slave DP.
• Guasto al bus sul master DP attivo che causa una perdita di ridondanza in almeno uno slave
DP.
Avvertenza: se in seguito ad un gusto in un sistema master DP o al ripristono dello stesso, lo
stato della ridondanza in tutti gli slave DP rimane invariato, viene richiamato l’OB 86.

Dati locali dell'OB d'errore di ridondanza della periferia


La seguente tabella contiene le variabili temporanee (TEMP) dell'OB d'errore di ridondanza della
periferia. Come nomi di variabili sono stati scelti i nomi di default dell‘OB 70.

Variabile Tipo di dati Descrizione


OB70_EV_CLASS BYTE Classe di evento e identificazioni:
• B#16#72: evento uscente
• B#16#73: evento entrante
OB70_FLT_ID BYTE Codice di errore (valori possibili:
B#16#A2, B#16#A3, B#16#A5)
OB70_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7
(Configurazione hardware)
OB70_OB_NUMBR BYTE Numero di OB (70)
OB70_RESERVED_1 WORD Riservato
OB70_INFO_1 WORD Dipendente dal codice di identificazione d‘errore
OB70_INFO_2 WORD Dipendente dal codice di identificazione d‘errore
OB70_INFO_3 WORD Dipendente dal codice di identificazione d‘errore
OB70_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l‘OB

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 41
Blocchi organizzativi
1.13 OB di errore di ridondanza della periferia (OB 70)

La tabella seguente mostra quale evento ha causato l'avviamento dell‘OB 70.

OB70_EV_CLASS OB70_FLT_ID Evento di avvio dell'OB 70


B#16#73 B#16#A2 Guasto di un master DP /di un sistema master DP con perdita della
ridondanza in almeno uno slave DP ovvero guasto d un controller
IO/sistema IO Profinet con perdita della ridondanza in almeno un IO
Device.
B#16#73/B#16#72 B#16#A3 Perdita di ridondanza/ritorno della ridondanza sullo slave DP
B#16#73/B#16#72 B#16#A5 Perdita di ridondanza/ritorno della ridondanza sull’IO Device

Le variabili dipendenti dal codice di errore hanno il significato seguente:

Codice errore Bit Significato


B#16#A2 (in caso di guasto del sistema master DP)
OB70_INFO_1: Indirizzo logico di base del master DP colpito
OB70_INFO_2: riservato
OB70_INFO_3: Da 0 a 7: riservato
da 8 a 15: ID del sistema master DP colpito per il master DP interessato
B#16#A2 (in caso di guasto di un sistema IO PROFINET)
OB70_INFO_1: Indirizzo logico di base del controller IO colpito
OB70_INFO_2: riservato
OB70_INFO_3: Da 0 a 10: riservato
da 11 a 14: ID sistema IO PROFINET (Offset 100 decimali)
15 1
B#16#A3
OB70_INFO_1: Indirizzo logico di base del master DP interessato
OB70_INFO_2: Slave DP interessato.
da 0 a 14: Indirizzo logico di base di uno slave S7 o indirizzo di diagnostica
di uno slave DP standard

OB70_INFO_3 15: Identificazione I/O


Slave DP interessato:
da 0 a 7: N. della stazione DP
da 8 a 15: ID del sistema master DP
B#16#A5
OB70_INFO_1: da 0 a 14: Indirizzo logico di base dell’IO-Controller
OB70_INFO_2: 15: IO Device interessato:
OB70_INFO_3 Indirizzo logico di base
da 0 a 10: Identificazione I/O
da 11 a 14: IO Device interessato:
15: Numero della stazione
ID del sistema PROFINET IO (offset 100 decimale)
1

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


42 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.13 OB di errore di ridondanza della periferia (OB 70)

Avvertenza
Se si utilizza una CPU che supporta slave DPV1, con l'aiuto dell'SFB 54 "RALRM" è possibile
ottenere ulteriori informazioni sull'allarme oltre a quelle di avvio dell'OB. Ciò vale anche quando il
master DP viene utilizzato nei modi S7 compatibili.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 43
Blocchi organizzativi
1.14 OB di errore di ridondanza della CPU (OB 72)

1.14 OB di errore di ridondanza della CPU (OB 72)

Avvertenza
L'OB d'errore di ridondanza della CPU (OB 72) esiste solo con le CPU H.

Descrizione
Il sistema operativo della CPU H richiama l'OB 72 quando compare uno degli eventi seguenti:
• Perdita di ridondanza delle CPU
• Commutazione riserva-master
• Errore di sincronizzazione
• Errore in un modulo SYNC
• Annullamento dell'operazione di aggiornamento
• Errore di confronto (p. es. RAM, PAA)
L'OB 72 viene eseguito da tutte le CPU che si trovano negli stati di funzionamento RUN o
AVVIAMENTO dopo un evento di avvio corrispondente.

Dati locali dell'OB d'errore di ridondanza della CPU


La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di errore di ridondanza della
CPU. Come nomi di variabili sono stati scelti i nomi di default dell‘OB 72.

Variabile Tipo di dati Descrizione


OB72_EV_CLASS BYTE Classe di evento e identificazioni:
• B#16#78: Evento uscente
• B#16#73, B#16#75, B#16#79: Evento entrante
OB72_FLT_ID BYTE Codice d'identificazione d'errore (valori possibili: B#16#01,
B#16#02, B#16#03, B#16#20, B#16#21, B#16#22, B#16#23,
B#16#31, B#16#33, B#16#34, B#16#35, B#16#40, B#16#41,
B#16#42, B#16#43, B#16#44, B#16#50, B#16#51, B#16#52,
B#16#53, B#16#54, B#16#55, B#16#56, B#16#C1,
B#16#C2)
OB72_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7
(Configurazione hardware)
OB72_OB_NUMBR BYTE Numero di OB (72)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


44 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.14 OB di errore di ridondanza della CPU (OB 72)

Variabile Tipo di dati Descrizione


OB72_RESERVED_1 WORD Solo per il codice di errore B#16#03:
• High byte: identificazione del contenuto di
OB72_INFO_2 e OB72_INFO_3
- 0: OB72_INFO-2 e OB72_INFO_3 non hanno
importanza
- B#16#C4: l'entrata nel funzionamento ridondante
dopo la ricerca di errori è stato eseguito con
commutazione della riserva master (se
OB72_INFO_3=W#16#0001) oppure senza
commutazione della riserva master (se
OB72_INFO_3=W#16#0002). OB72_INFO_2 è
riservato.
- B#16#CD: OB72_INFO_2 e OB72_INFO_3
contengono il tempo effettivo di bloccaggio delle
classi di priorità > 15
low byte: riservato
OB72_INFO_1 WORD Soltanto per il codice di errore B#16#C2:
• high byte: identificazione per il superamento del tempo
di controllo:
- 1: Ritardo del tempo di ciclo
- 2: Tempo morto della periferia
- 4: Ritardo di comunicazione
• low byte: : tentativo di aggiornamento attuale
OB72_INFO_2 WORD Solo per codice di errore B#16#03 e
OB72_RESERVED_1=B#16#CD:
high word del tempo effettivo di bloccaggio delle classi di
priorità > 15 in ms
OB72_INFO_3 WORD Solo per il codice di errore B#16#03:
• OB72_RESERVED_1=B#16#C4:
- W#16#0001: entrata nel funzionamento ridondante
dopo la ricerca di errori con commutazione della
riserva master
- W#16#0002: entrata nel funzionamento ridondante
dopo la ricerca di errori senza commutazione della
riserva master
OB72_RESERVED_1=B#16#CD: low word del tempo
effettivo di bloccaggio delle classi di priorità > 15 in ms
OB72_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l‘OB

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 45
Blocchi organizzativi
1.14 OB di errore di ridondanza della CPU (OB 72)

La tabella seguente mostra quale evento ha causato l'avviamento dell‘OB 72.

OB72_EV_CLASS OB72_FLT_ID Evento di avvio dell'OB 72


B#16#73 B#16#01 Perdita di ridondanza (1v2) dovuta a guasto della CPU
B#16#73 B#16#02 Perdita di ridondanza (1v2) dovuta a STOP della riserva, causato
dall'utente
B#16#73 B#16#03 Sistema H (1v2) passato al funzionamento ridondato
B#16#73 B#16#20 Errore nel confronto della RAM
B#16#73 B#16#21 Errore nel confronto del valore iniziale dell'immagine di processo
B#16#73 B#16#22 Errore nel confronto di merker, temporizzatori o contatori
B#16#73 B#16#23 Riconosciuti dati del sistema operativo diversi
B#16#73 B#16#31 Commutazione riserva-master dovuta a guasto del master
B#16#73 B#16#33 Commutazione riserva-master nel corso di una modifica all’impianto
in funzione
B#16#73 B#16#34 Commutazione riserva-master dovuta a un guasto del collegamento
sul modulo di sincronizzazione
B#16#73 B#16#35 Commutazione riserva-master attivata dall'SFC90 "H_CTRL"
B#16#73 B#16#40 Errore di sincronizzazione nel programma utente dovuto a tempo di
attesa scaduto
B#16#73 B#16#41 Errore di sincronizzazione nel programma utente dovuto ad attesa su
diversi punti di sincronizzazione
B#16#73 B#16#42 Errore di sincronizzazione nel sistema operativo dovuto ad attesa su
diversi punti di sincronizzazione
B#16#73 B#16#43 Errore di sincronizzazione nel sistema operativo dovuto a tempo di
attesa scaduto
B#16#73 B#16#44 Errore di sincronizzazione nel sistema operativo dovuto a dati errati
B#16#79 B#16#50 Manca il modulo SYNC
B#16#79 B#16#51 Modifica sul modulo di sincronizzazione senza ALIMENTAZIONE ON
B#16#79/B#16#78 B#16#52 Modulo SYNC estratto/inserito
B#16#79 B#16#53 Modifica sul modulo di sincronizzazione senza cancellazione totale
B#16#79 B#16#54 Modulo SYNC: doppia assegnazione di un n. di telaio di montaggio
B#16#79/B#16#78 B#16#55 Errore modulo SYNC /eliminato
B#16#79 B#16#56 N. di telaio di montaggio non ammesso impostato sul modulo SYNC
B#16#73 B#16#C1 Interruzione dell'operazione di aggiornamento
B#16#73 B#16#C2 Annullamento del processo di aggiornamento per il superamento di
un tempo di controllo all'n-esimo tentativo (1 <= n <= numero max.
possibile di tentativi di aggiornamento dopo l'annullamento causato
dal superamento del tempo )

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


46 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.15 OB di errore di ridondanza di comunicazione OB (OB73)

1.15 OB di errore di ridondanza di comunicazione OB (OB73)

Avvertenza
L'OB di errore di ridondanza di comunicazione (OB 73) esiste solo con firmware versione V2.0.x
della CPU 417-4H.

Descrizione
Il sistema operativo della CPU H richiama l'OB 73 alla prima perdita di ridondanza di un
collegamento S7 a elevata disponibilità (collegamenti S7 ad elevata disponibilità esistono
esclusivamente nella comunicazione S7, vedere "Sistema di automazione S7-400 H. Sistemi ad
elevata disponibilità".). In caso di perdita di ridondanza di altri collegamenti S7 ad elevata
disponibilità non viene più avviato l'OB73.
Un nuovo avvio dell'OB73 verrà eseguito nuovamente solo quando è stata ristabilita la ridondanza
per tutti i collegamenti S7 che erano a elevata disponibilità.
La CPU non passa allo stato di funzionamento STOP, se si verifica un evento di avvio corrispondente
e l'OB73 non è programmato.

Dati locali dell'OB di errore di ridondanza della comunicazione


Nella tabella seguente sono riportate le variabili temporanee (TEMP) dell'OB di errore di ridondanza
di comunicazione. Come nomi delle variabili sono stati scelti i nomi di default dell'OB 73.

Variabile Tipo di dati Descrizione


OB73_EV_CLASS BYTE Classe di evento e identificazioni:
B#16#73, B#16#72
OB73_FLT_ID BYTE Codice di errore (valore possibile: B#16#E0)
OB73_PRIORITY BYTE Classe di priorità parametrizzata; valore di default: 25
OB73_OB_NUMBR BYTE Numero di OB (73)
OB73_RESERVED_1 WORD Riservato
OB73_INFO_1 WORD • (non rilevante per l'utente)
OB73_INFO_2 WORD (non rilevante per l'utente)
OB73_INFO_3 WORD (non rilevante per l'utente)
OB73_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB

La tabella seguente mostra quale evento ha causato l'avviamento dell'OB 73 .

OB73_FLT_ID Evento di avvio dell'OB 73


B#16#E0 Perdita di ridondanza della comunicazione / eliminata

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 47
Blocchi organizzativi
1.16 OB di errore temporale (OB 80)

1.16 OB di errore temporale (OB 80)

Descrizione
Il sistema operativo della CPU chiama OB 80 ogni volta che vi è un evento che identifica un errore
correlato all'esecuzione di un OB: superamento del tempo di ciclo, errore di conferma
nell'esecuzione di un OB, spostamento in avanti dell'ora (salto dell'ora) per l'avvio di un OB, guasto e
ripristino dei telegrammi di sincronizzazione dell’ora, ritorno in RUN dopo una CiR. Per esempio, se
un evento di avvio per un OB di schedulazione orologio si verifica prima che sia terminata
l'esecuzione dello stesso OB, il sistema operativo richiama l'OB 80.
Se OB 80 non è stato programmato, la CPU passa in modalità STOP.
L'OB dell'errore temporale può essere disabilitato o ritardato e abilitato di nuovo con l'aiuto delle
SFC da 39 a 42.

Avvertenza
Se l'OB 80 viene richiamato due volte nello stesso ciclo a causa del superamento del tempo ciclo, la
CPU passa in STOP. Questo inconveniente può essere evitato richiamando la SFC43 "RE_TRIGR"
nel punto adatto.

Avvertenza sull'uso di "Segnalazione errori di sistema"


La "Segnalazione errori di sistema" ritarda l'elaborazione degli allarmi che si verificano durante la
sua esecuzione.
Questo effetto viene ulteriormente aggravato se è soddisfatta la condizione Tempo di esecuzione
di "Segnalazione errori di sistema" > 50% del tempo di ciclo (per tempo di esecuzione di
"Segnalazione errori di sistema" si intende la somma di tutti i tempi di elaborazione della
"Segnalazione errori di sistema" entro il tempo di ciclo). Ciò può causare il richiamo dell'OB di errore
temporale ed eventualmente lo STOP della CPU (se l'OB di errore temporale non è caricato).
Per evitare questo problema è possibile adottare le misure seguenti:
• Se si utilizzano gli OB di sincronismo di clock (OB61 ... OB64) occorre fare in modo che essi
vengano richiamati meno frequentemente di prima per ogni unità di tempo. Perciò è possibile
aumentare per ogni OB di sincronismo di clock il relativo parametro "Fattore" per il ciclo
dell'applicazione (in Configurazione HW, nelle proprietà della CPU: scheda "Allarmi in
sincronismo di clock" > casella di riepilogo "N° di sistema IO:" > pulsante "Dettagli" > casella di
riepilogo "Fattore" per il ciclo dell'applicazione).
• Aumentare il rapporto (tempo di ciclo – tempo di esecuzione della "Segnalazione errori di
sistema")/(tempo di esecuzione della " Segnalazione errori di sistema").
Esistono le due possibilità seguenti:
- Se si richiama la "Segnalazione errori di sistema" negli OB di schedulazione orologio
(OB30 ... OB38) aumentare il clock per i rispettivi OB.
- Aumentare il tempo di esecuzione del ciclo di programma indipendente dalla "Segnalazione
errori di sistema" nell'OB1, ad es. utilizzando l'SFC47 "WAIT".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


48 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.16 OB di errore temporale (OB 80)

Dati locali dell'OB di errore temporale


La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di errore temporale. Come
nomi di variabili sono stati scelti i nomi di default dell'OB 80.

Variabile Tipo di dati Descrizione


OB80_EV_CLASS BYTE Classe dell'evento e ID: B#16#35, B#16#38 (soltanto con il
codice di errore B#16#D5), B#16#39 (soltanto con il codice di
errore B#16#D5)
OB80_FLT_ID BYTE Codice di errore (valori possibili):
B#16#01, B#16#02, B#16#05, B#16#06, B#16#07, B#16#08,
B#16#09, B#16#0A, B#16#0B, B#16#D5)
OB80_PRIORITY BYTE Classe di priorità: l'OB 80 viene eseguito in RUN con la
classe di priorità 26 e in caso di overflow del buffer di richiesta
dell'OB con la classe di priorità 28
OB80_OB_NUMBR BYTE Numero di OB (80)
OB80_RESERVED_1 BYTE Riservato
OB80_RESERVED_2 BYTE Riservato
OB80_ERROR_INFO WORD Informazione di errore: dipendente dal codice di
identificazione errore
OB80_ERR_EV BYTE Classe dell'evento che ha causato l'errore
_CLASS
OB80_ERR_EV_NUM BYTE Numero dell'evento che ha causato l'errore
OB80_OB_PRIORITY BYTE Informazione di errore: dipendente dal codice di
identificazione errore
OB80_OB_NUM BYTE Informazione di errore: dipendente dal codice di
identificazione errore
OB80_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 49
Blocchi organizzativi
1.16 OB di errore temporale (OB 80)

Le variabili dipendenti dal codice di identificazione dell'errore hanno il seguente significato:

Codice errore Bit Significato


B#16#01 Tempo ciclo superato
OB80_ERROR_INFO: Tempo esecuzione dell'ultimo ciclo (ms)
OB80_ERR_EV_CLASS: Classe dell'evento che ha causato l'allarme
OB80_ERR_EV_NUM: Numero dell'evento che ha causato l'allarme
OB80_OB_PRIORITY: Classe di priorità dell'OB in elaborazione quando si è
verificato l'errore.
OB80_OB_NUM Il numero dell'OB in elaborazione quando si è verificato
l'errore.
B#16#02 L'OB richiamato è ancora in elaborazione.
OB80_ERROR_INFO: • La relativa variabile temporanea
dell'OB richiamato, che è determinato da
• OB80_ERR_EV_CLASS e
• OB80_ERR_EV_NUM.
OB80_ERR_EV_CLASS: • Classe dell'evento che ha causato
l'allarme
OB80_ERR_EV_NUM: • Numero dell'evento che ha causato l'allarme
OB80_OB_PRIORITY • Classe di priorità dell'OB che ha causato l'errore
(ad es.: „7" per OB30/classe di priorità 7 che
avrebbe dovuto essere avviato, ma non è stato
possibile avviare).
OB80_OB_NUM: • Numero dell'OB che ha causato l'errore (ad es.:
"30" per l'OB30 che avrebbe dovuto essere
avviato, ma non è stato possibile avviare).
B#16#05 e allarme dall'orologio decorso per salto dell'ora
B#16#06 allarme dall'orologio decorso alla ripresentazione in
RUN dopo ALT
OB80_ERROR_INFO: Bit 0 impostato: per l'allarme dall'orologio 0 il momento di avvio si trova
nel passato
Bit 7 impostato: per l'allarme dall'orologio 7 il momento di avvio si trova
nel passato
OB80_ERR_EV_CLASS: Bit da 8 a 15: non utilizzato
OB80_ERR_EV_NUM: non utilizzato
OB80_OB_PRIORITY: non utilizzato
OB80_OB_NUM: non utilizzato
non utilizzato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


50 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.16 OB di errore temporale (OB 80)

Codice errore Bit Significato


B#16#07 Overflow del buffer di richiesta dell'OB per l'attuale
Per il significato dei parametri classe di priorità
vedere il codice d'errore (ogni richiesta di avvio dell'OB per la classe di priorità
B#16#02. viene registrata nel rispettivo buffer di richiesta dell'OB;
al termine dell'OB la registrazione viene cancellata di
nuovo. Se per una classe di priorità sono presenti più
richieste di avvio dell'OB del massimo numero
possibile di registrazioni del rispettivo buffer di richiesta
dell'OB, viene richiamato l'OB 80 con il codice di
identificazione dell'errore B#16#07.)
B#16#08 Errore temporale di allarme in sincronismo di clock
Significato dei parametri: vedere
codice di errore B#16#02
B#16#09 Perdita dell’allarme a causa di un elevato carico di
Significato dei parametri: vedere allarmi
codice di errore B#16#02.
B#16#0A Rientro in RUN dopo CiR
OB80_ERROR_INFO: Tempo di sincronizzazione CiR in ms
B#16#0B Errore di tempo di allarme in sincronismo tecnologico
OB80_ERR_EV_NUM: Numero dell'evento che ha attivato l'allarme:
W#16#116A
OB80_OB_PRIORITY: Classe di priorità dell'OB elaborato
quando si è verificato l'errore.
OB80_OB_NUM Numero dell'OB elaborato quando si ¢Õ verificato
l'errore: 65
B#16#D5 Guasto/ripristino dei telegrammi di sincronizzazione
dell’ora
OB80_ERROR_INFO: ID delle interfacce (solo per i valori 1, 2 e 3 di
OB80_OB_NUM)
0: bus K (rack 0)
1: X1, DP (rack 0)
5: X5 - PROFINET (rack 0)
8: X8 - PROFINET (rack 0)
10: bus K (rack 1)
11: X1 - DP (rack 1)
15: X5 - PROFINET (rack 1)
18: X8 - PROFINET (rack 1)
OB80_OB_NUM: Causa dell’errore durante la sincronizzazione dell’ora
1: sincronizzazione non sovraordinata del’ora
2: guasto nella sincronizzazione esterna dell’ora
3: divergenza di regolazione al di fuori della tolleranza
di +- 10 ms
4: orologio impostato per PG/ES
5: orologio impostato per SFt

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 51
Blocchi organizzativi
1.17 OB di errore di alimentazione (OB 81)

1.17 OB di errore di alimentazione (OB 81)

Descrizione
Il sistema operativo della CPU richiama l'OB 81 ogni volta che si verifica un evento che identifica un
errore legato all'alimentatore (solo con S7-400) o alla bufferizzazione (sia con evento entrante sia
con evento uscente).
In S7-400 l'OB 81 viene richiamato in caso di errore della batteria solo se è attivata la verifica della
batteria con l'interruttore BATT.INDIC.
La CPU non passa in STOP quando l'OB 81 non è programmato.
L'OB dell'errore di alimentazione può essere disabilitato o ritardato e abilitato di nuovo con l'aiuto
delle SFC da 39 a 42.

Dati locali dell'OB di errore di alimentazione


La tabella seguente contiene le variabili temporanee (TEMPO) dell'OB dell'errore di alimentazione.
Come nomi di variabili sono stati scelti i nomi di default dell'OB 81.

Variabile Tipo di dati Descrizione


OB81_EV_CLASS BYTE Classe d'evento e identificazioni:
B#16#38: Evento uscente
B#16#39: Evento entrante
OB81_FLT_ID BYTE Codice d'identificazione d'errore (valori possibili:
B#16#21, B#16#22, B#16#23, B#16#25, B#16#26, B#16#27, B#16#31,
B#16#32, B#16#33)
OB81_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7 (Configurazione
hardware)
Per Esempio: valori parametrizzablili per RUN: 2-26
OB81_OB_NUMBR BYTE Numero di OB (81)
OB81_RESERVED_1 BYTE Riservato
OB81_RESERVED_2 BYTE Riservato
OB81_RACK_CPU WORD • Bit da 0 a 7: B#16#00
• Bit da 8 a 15:
- In una CPU standard: B#16#00
- In una CPU H: bit da 8 a 10: N. telaio di montaggio, bit 11:
0=CPU di riserva, 1=CPU master, bit da 12 a 15: 1111
OB81_RESERVED_3 BYTE Rilevante solo per i codici di identificazione errore B#16#31, B#16#32,
B#16#33
OB81_RESERVED_4 BYTE Rilevante solo per i codici di identificazione errore B#16#31, B#16#32,
B#16#33
OB81_RESERVED_5 BYTE Rilevante solo per i codici di identificazione errore B#16#31, B#16#32,
B#16#33
OB81_RESERVED_6 BYTE Rilevante solo per i codici di identificazione errore B#16#31, B#16#32,
B#16#33
OB81_DATE_TIME DATE_AND Data e ora in cui è stato richiamato l'OB
_TIME

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


52 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.17 OB di errore di alimentazione (OB 81)

Le variabili OB81_RESERVED_i, 3 ≤ i ≤ 6 contengono le apparecchiature di ampliamento, nelle quali


la bufferizzazione a batteria (per codice identificazione di errore B#16#31), la tensione del buffer (con
codice identificazione errore B#16#32) o l'alimentazione di 24V (con codice identificazione errore
B#16#33) ha subito un guasto o è ritornata. La seguente tabella mostra quale bit nelle variabili
OB81_RESERVED_i, 3 ≤ i ≤ 6 appartiene a quale apparecchiatura di ampliamento.

OB81_RESERVED_6 OB81_RESERVED_5 OB81_RESERVED_4 OB81_RESERVED_3


Bit 0 Riservato 8. apparecch. di ampl. 16. apparecch. di ampl. riservato
Bit 1 1. apparecch. di ampl. 9. apparecch. di ampl. 17. apparecch. di ampl. riservato
Bit 2 2. apparecch. di ampl. 10. apparecch. di ampl. 18. apparecch. di ampl. riservato
Bit 3 3. apparecch. di ampl. 11. apparecch. di ampl. 19. apparecch. di ampl. riservato
Bit 4 4. apparecch. di ampl. 12. apparecch. di ampl. 20. apparecch. di ampl. riservato
Bit 5 5. apparecch. di ampl. 13. apparecch. di ampl. 21. apparecch. di ampl. riservato
Bit 6 6. apparecch. di ampl. 14. apparecch. di ampl. Riservato riservato
Bit 7 7. apparecch. di ampl. 15. apparecch. di ampl. Riservato riservato

I bit nelle variabili OB 81_RESERVED_i hanno il seguente significato (per la rispettiva


apparecchiatura di ampliamento):
All'arrivo dell'evento vengono contrassegnate (i relativi bit sono impostati) le apparecchiature di
ampliamento, nelle quali almeno una batteria o la tensione del buffer o l'alimentazione di 24V ha
subito un guasto. Le apparecchiature di ampliamento, nelle quali già prima almeno una batteria o
una tensione del buffer o l'alimentazione di 24V hanno subito un guasto, non vengono più
visualizzate.
Alla partenza dell'evento viene segnalata perlomeno in una apparecchiatura di ampliamento una
bufferizzazione ritornata (il rispettivo bit è impostato).
La tabella seguente mostra quale evento ha causato l'avvio dell'OB 81.

OB81_EV_CLASS OB81_FLT_ID Significato


B#16#39/B#16#38 B#16#21 Almeno una batteria tampone dell'apparecchiatura centrale
scarica/eliminata (BATTF)
Avvertenza: L'evento entrante si verifica solo quando si guasta una
delle due batterie (in caso di batteria tampone ridondata). Se si
verifica successivamente il guasto anche dell'altra batteria, l'evento
non compare nuovamente.
B#16#39/B#16#38 B#16#22 Tensione buffer nell'apparecchiatura centrale manca/eliminata
(BAF).
B#16#39/B#16#38 B#16#23 Guasto dell'alimentazione 24V nell'apparecchiatura
centrale/eliminata.
B#16#39/B#16#38 B#16#25 Almeno una batteria tampone in almeno un'apparecchiatura
centrale ridondata scarica/eliminata (BATTF).
B#16#39/B#16#38 B#16#26 Tensione buffer in almeno un'apparecchiatura centrale ridondata
scarica/eliminata (BAF).
B#16#39/B#16#38 B#16#27 Guasto dell‘alimentazione 24V in almeno un'apparecchiatura
centrale ridondata.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 53
Blocchi organizzativi
1.17 OB di errore di alimentazione (OB 81)

OB81_EV_CLASS OB81_FLT_ID Significato


B#16#39/B#16#38 B#16#31 Almeno una batteria tampone di un'apparecchiatura di ampliamento
scarica/eliminata (BATTF).
B#16#39/B#16#38 B#16#32 Tensione del buffer di una delle apparecchiature di ampliamento
manca/eliminata (BAF).
B#16#39/B#16#38 B#16#33 Guasto dell'alimentazione 24V in un'apparecchiatura di
ampliamento/eliminata.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


54 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.18 OB di allarme di diagnostica (OB 82)

1.18 OB di allarme di diagnostica (OB 82)

Descrizione
Un'unità con funzioni di diagnostica che identifica una modifica dello stato della stessa, richiede un
allarme di diagnostica alla CPU. Nell'unità in oggetto deve essere stato abilitato l'allarme di
diagnostica.
• Si è in presenza di un guasto oppure uno o entrambi i componenti necessitano di manutenzione
(evento in entrata).
• Non si rilevano guasti, nessun componente necessita di manutenzione (evento in uscita).
Dopodiché il sistema operativo richiama l'OB 82.
L'OB 82 contiene, nelle sue variabili locali, l'indirizzo logico di base e un'informazione di diagnostica
lunga quattro byte dell'unità difettosa (vedere la tabella seguente).
Se l'OB 82 non è stato programmato, la CPU passa nello stato di funzionamento STOP.
L'OB di allarme di diagnostica può essere disabilitato o ritardato e abilitato di nuovo con l'aiuto delle
SFC da 39 a 42.

Nota
Nei Controller PROFINET IO è possibile indicare tramite la progettazione se gli allarmi di
comunicazione debbano provocare o no un richiamo dell’OB di diagnostica. Nel caso di questi
allarmi si tratta di eventi di diagnostica dell’interfaccia PROFINET.
Per default questi eventi non creano un richiamo OB 82.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 55
Blocchi organizzativi
1.18 OB di allarme di diagnostica (OB 82)

Dati locali dell'OB di allarme di diagnostica


La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di allarme di diagnostica. Come
nomi di variabili sono stati scelti i nomi di default dell'OB 82.

Variabile Tipo di dati Descrizione


OB82_EV_CLASS BYTE Classe d'evento e identificazioni:
• B#16#38: Evento uscente (unità corretta (tutti gli errori
sono stati eliminati).
• B#16#39: Evento entrante (unità a rischio di guasto o non
riparata (con il modificarsi del numero degli errori
presenti)
OB82_FLT_ID BYTE Codice identificazione errore (B#16#42)
OB82_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7
(Configurazione hardware)
OB82_OB_NUMBR BYTE Numero di OB (82)
OB82_RESERVED_1 BYTE Riservato
OB82_IO_FLAG BYTE Unità di ingresso: B#16#54
Unità di uscita: B#16#55
OB82_MDL_ADDR WORD Indirizzo base logico dell'unità in cui si è verificato il guasto
OB82_MDL_DEFECT BOOL Disturbo unità
OB82_INT_FAULT BOOL Guasto interno
OB82_EXT_FAULT BOOL Guasto esterno
OB82_PNT_INFO BOOL Errore di canale presente
OB82_EXT_VOLTAGE BOOL Manca tensione ausiliaria esterna
OB82_FLD_CONNCTR BOOL Manca connettore frontale
OB82_NO_CONFIG BOOL Unità non parametrizzata
OB82_CONFIG_ERR BOOL Parametri errati nell'unità
OB82_MDL_TYPE BYTE Bit da 0 a 3: Classe unità
Bit 4: Informazione canale presente
Bit 5: Informazione utente presente
Bit 6: Allarme di diagnostica del rappresentante
Bit 7: menutenzione necessaria
OB82_SUB_MDL_ERR BOOL Modulo utente errato / manca
OB82_COMM_FAULT BOOL Guasto di comunicazione
OB82_MDL_STOP BOOL Stato di funzionamento (0: RUN, 1: STOP)
OB82_WTCH_DOG_FLT BOOL Il temporizzatore watchdog ha arrestato l'unità
OB82_INT_PS_FLT BOOL Guasto alimentatore interno
OB82_PRIM_BATT_FLT BOOL Batteria scarica
OB82_BCKUP_BATT BOOL Intera bufferizzazione guasta
_FLT
OB82_RESERVED_2 BOOL Richiesta di manutenzione
OB82_RACK_FLT BOOL Guasto dell'apparecchiatura di ampliamento
OB82_PROC_FLT BOOL Guasto processore

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


56 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.18 OB di allarme di diagnostica (OB 82)

Variabile Tipo di dati Descrizione


OB82_EPROM_FLT BOOL Errore EPROM
OB82_RAM_FLT BOOL Errore RAM
OB82_ADU_FLT BOOL Errore ADU/DAU
OB82_FUSE_FLT BOOL Guasto fusibile
OB82_HW_INTR_FLT BOOL Interrupt di processo perso
OB82_RESERVED_3 BOOL Riservato
OB82_DATE_TIME DATE_AND Data e ora in cui è stato richiamato l'OB
_TIME

Avvertenza
Se si utilizza una CPU che supporta slave DPV1, con l'aiuto dell'SFB 54 "RALRM" è possibile
ottenere ulteriori informazioni sull'allarme oltre a quelle di avvio dell'OB. Ciò vale anche quando il
master DP viene utilizzato nei modi S7 compatibili.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 57
Blocchi organizzativi
1.19 OB di estrazione/inserimento (OB 83)

1.19 OB di estrazione/inserimento (OB 83)

Descrizione
Il sistema operativo della CPU richiama l’OB 83 nei seguenti casi:
• dopo l’estrazione o l’inserimento di un’unità progettata
• dopo aver modificato dei parametri di un’unità in STEP 7 nel corso di una modifica all’impianto in
funzione (operazione CiR) ed aver caricato queste modifiche di parametri nella CPU in RUN.
Se non è stato programmato l'OB 83, la CPU commuta nello stato di funzionamento STOP.
L’OB di l’estrazione/inserimento può essere disabilitato o ritardato e abilitato di nuovo con l’aiuto
delle SFC da 9 a 42.
Estrazione ed inserimento di unità
Ogni estrazione e inserimento di un'unità progettata (non ammesse: unità di alimentazione, CPU,
capsule di adattamento e IM) negli stati di funzionamento RUN, STOP e AVVIAMENTO provoca un
allarme di estrazione/inserimento. Questo allarme determina una registrazione rispettivamente nel
buffer di diagnostica e nella lista di stato di sistema della rispettiva CPU. Inoltre, nello stato di
funzionamento RUN viene avviato l'OB di estrazione/inserimento. Se questo OB non è stato
programmato, la CPU passa nel modo di funzionamento STOP.
L’operazione di estrazione/l’inserimento di unità S7-400 nel sistema viene sorvegliata secondo per
secondo. Affinché la CPU rilevi l’estrazione e l’inserimento di un’unità S7-400, tra le due operazioni
deve intercorrere un tempo minimo di due secondi. Altre unità richiedo un intervallo più lungo.
L'OB 83 viene avviato quando si estrae nello stato di funzionamento RUN una unità progettata. È
possibile identificare prima un errore durante l'accesso diretto o l'aggiornamento dell'immagine di
processo.
Quando si inserisce una unità in un posto connettore progettato nello stato RUN, il sistema operativo
verifica se il tipo dell'unità innestata coincide con la progettazione. Successivamente viene avviato
l'OB 83, e, in caso di corrispondenza dei tipi di unità, ha luogo la parametrizzazione.

Particolarità dell'S7-300
• L'estrazione e l'inserimento di unità della periferia centrale non sono consentiti nell'S7-300.
• La CPU 318 si comporta, per quanto concerne la periferia decentrata, come una CPU S7-400.
Per quanto riguarda tutte le altre CPU S7-300, soltanto le CPU 31x PN/DP, e soltanto per i
componenti IO PROFINET, sono dotate dell'allarme di estrazione e inserimento.
• Nelle CPU/IM151 (CPU dell'ET 200S), l'allarme di estrazione e inserimento è disponibile soltanto
per la periferia a livello centrale.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


58 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.19 OB di estrazione/inserimento (OB 83)

Riparametrizzazione di unità
Le unità presenti possono essere riparametrizzate nel corso di una modifica all’impianto in funzione
(operazione CiR). La riparametrizzazione prevede il trasferimento dei record dati dei parametri nelle
unità desiderate.
Si svolge come segue:
1. L’OB 83 si avvia dopo l’esecuzione della modifica dei parametri di un’unità in STEP 7 ed il loro
caricamento nella CPU in RUN (evento di avvio W#16#3367). Tra le informazioni di avvio
dell’OB sono importanti l’indirizzo logico di base (OB83_MDL_ADDR) e il tipo di unità
(OB83_MDL_TYPE). Da questo momento i dati di ingresso e di uscita possono non essere più
corretti e possono non esservi più SFC attive che inviano record dati a questa unità.
2. Al termine dell’OB segue la riparametrizzazione dell’unità.
3. Al termine dell’operazione di riparametrizzazione l’OB 83 viene nuovamente avviato (evento di
avvio W#16#3267 in caso di parametrizzazione riuscita, o W#16#3268 in caso di
parametrizzazione non riuscita). I dati di ingresso e di uscita dell’unità si comportano come dopo
un allarme di inserimento, vale a dire che in alcuni casi da quel momento possono non essere
corretti. È ammesso il richiamo immediato delle SFC per l’invio dei record dati all’unità.

Riparametrizzazione di sottomoduli
Nell’ambito di una modifica all’impianto durante il funzionamento (processo CiR) è possibile
riparametrizzare i sottomoduli disponibili. La nuova parametrizzazione avviene inoltranto i set di dati
dei parametri ai sottomoduli interessati.
Questo processo si svolge con le seguenti modalità:
1. In seguito alla nuova parametrizzazione di un sottomodulo in STEP 7 e al caricamento delle
modifiche nella CPU durante il funzionamento in RUN, viene avviato l’OB 83 (evento di avvio
W#16#335A). L’indirizzo di base logico (OB83_MDL_ADDR) e il tipo di unità
(OB83_MDL_TYPE) costituiscono dati di rilievo nell’informazione di avvio dell’OB.
Se il sottomodulo da riparametrizzare appartiene a un gruppo CombinedObjectContainer,
l’indirizzo di base logico e il tipo di unità sostitutiva del gruppo COC, in quest caso dell’interfaccia,
vengono inseriti nell’informazione di avvio dell‘OB 83.
Nota: i sotto-moduli PDev (interfacce, porte) di uno slot vengono riuniti in un gruppo
CombinedObjectContainer (gruppo COC). Il sottomodulo di interfaccia è in questo caso l’unità
sostitutiva di questo gruppo COC.
Da questo momento i dati di ingresso e uscita del sottomodulo potrebbero non essere più
corretti, pertanto le SFC preposte all’invio di dati a questo sottomodulo non devono più essere
attive.
2. Al termine dell’OB 83, ha luogo la riparametrizzazione del sottomodulo.
3. Terminata la procedura di riparametrizzazione, l‘OB 83 viene nuovamente avviato (evento di
avvio W#16#325A, se la parametrizzazione è riuscita, oppure W#16#395B se la
parametrizzazione non è riuscita). I dati di ingresso e uscita del sottomodulo hanno un
comportamento analogo a quello che segue ad un allarme di inserimento, in altri termini, da
questo momento la loro correttezza non può ancora essere garantita. Il richiamo delle SFC che
inviano i set di dati al sottomodulo è ora nuovamente possibile.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 59
Blocchi organizzativi
1.19 OB di estrazione/inserimento (OB 83)

Dati locali dell'OB di estrazione/ inserimento


La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di estrazione/inserimento.
Come nomi di variabili sono stati scelti i nomi di default dell'OB 83.

Variabile Tipo di dati Descrizione


OB83_EV_CLASS BYTE Classe d'evento e identificazioni:
B#16#32: fine riparametrizzazione unità o sottomodulo
B#16#33: inizio riparametrizzazione unità o sottomodulo
B#16#38: unità inserita
B#16#39: unità estratta o non indirizzabile o riparametrizzazione
terminata con errori
OB83_FLT_ID BYTE Codice di errore (valori possibili: B#16#51, B#16#54, B#16#55,
B#16#56, B#16#57, B#16#58, B#16#5A, B#16#5B, B#16#61,
B#16#63, B#16#64, B#16#65, B#16#66, B#16#67, B#16#68)
OB83_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7 (Configurazione
hardware)
OB83_OB_NUMBR BYTE Numero di OB (83)
OB83_RESERVED_1 BYTE Identificazione per l'unità o il sotto-modulo/modulo di interfaccia
OB83_MDL_TD BYTE Campo:
B#16#54: area periferia degli ingressi (PI)
B#16#55: area periferia delle uscite (PU)
OB83_MDL_ADDR WORD • PROFIBUS DP centrale o decentrato: indirizzo logico di base
dell'unità. In caso di unità mista, indirizzo logico più basso
utilizzato dell'unità. Se gli indirizzi logici E e A dell'unità mista
sono uguali, l'indirizzo logico di base avrà l'identificazione "E".
• PROFINET IO decentrato: indirizzo logico di base del
modulo/sotto-modulo
OB83_RACK_NUM WORD • Se OB83_RESERVED_1 =B#16#A0: N. del
sotto-modulo/modulo di interfaccia /low byte)
• Se OB83_RESERVED_1 = B#16#C4:
- centrale: n. del telaio di montaggio
- PROFIBUS DP decentrato: n. della stazione DP (low
byte) e ID del sistema master DP (high byte)
- PROFINET IO: indirizzo fisico: bit di identificazione
(bit 15, 1 = PROFINET IO), ID sistema IO (bit 11 … 14) e
numero della stazione (bit 0 … 10)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


60 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.19 OB di estrazione/inserimento (OB 83)

Variabile Tipo di dati Descrizione


OB83_MDL_TYPE WORD • PROFIBUS DP centrale o decentrato:
tipo di unità
(X: non rilevante per l’utente):
- W#16#09CA: ET200SP modulo power F-PM-El
- W#16#09E0: ET200SP modulo F-DQ
- W#16#X5XX: unità analogica
- W#16#X6XX: passaggio del bus
- W#16#X8XX: unità funzionale
- W#16#XCXX: CP
- W#16#XFXX: unità digitale
- W#16#8340: ID sostitutivo per unità di ingresso
- W#16#9340: ID sostitutivo per unità di uscita
- W#16#A340: ID sostitutivo per unità mista (E/A)
- W#16#F340: ID sostitutivo per unità vuota o non
identificabile in modo univoco (ad es. se gli indirizzi sono
compressi)
- I tipi di unità non elencati qui sono documentati nel
manuale dell'unità specifica.
• PROFINET IO decentrato:
- W#16#8101: unità innestata e unità estratta sono dello
stesso tipo
- W#16#8102: unità innestata e unità estratta sono di tipo
diverso
OB83_DATE_TIME DATE_AND Data e ora in cui è stato richiamato l'OB
_TIME

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 61
Blocchi organizzativi
1.19 OB di estrazione/inserimento (OB 83)

La tabella seguente mostra quale evento ha causato l'avvio dell'OB 83.

OB83_EV_CLASS OB83_FLT_ID Significato


B#16#39 B#16#51 Modulo PROFINET IO estratto
B#16#39 B#16#54 Sotto-modulo PROFINET IO estratto
B#16#38 B#16#54 Sotto-modulo PROFINET IO inserito e conforme al sotto-modulo
parametrizzato
B#16#38 B#16#55 Sotto-modulo PROFINET IO inserito ma non conforme al
sotto-modulo parametrizzato
B#16#38 B#16#56 Sotto-modulo PROFINET IO inserito ma errore di parametrizzazione
dell'unità
B#16#38 B#16#57 Sotto-modulo o modulo PROFINET IO inserito ma con guasto o
manutenzione
B#16#38 B#16#58 Errore di accesso al sotto-modulo PROFINET IO eliminato
B#16#33 B#16#5A Inizio della riparametrizzazione di un sottomodulo
B#16#32 B#16#5A Fine della riparametrizzazione di un sottomodulo
B#16#39 B#16#5B Riparametrizzazione di un sottomodulo terminata con errori
B#16#39 B#16#61 Unità estratta o non indirizzabile
OB83_MDL_TYPE: tipo unità attuale
B#16#38 B#16#61 Unità inserita, tipo unità ok
OB83_MDL_TYPE: tipo unità attuale
B#16#38 B#16#63 Unità inserita, ma tipo unità errato
OB83_MDL_TYPE: tipo unità attuale
B#16#38 B#16#64 Unità inserita, ma guasta (identificazione unità non leggibile)
OB83_MDL_TYPE: tipo unità configurato
B#16#38 B#16#65 Unità inserita, ma errore nella parametrizzazione unità
OB83_MDL_TYPE: tipo unità attuale
B#16#39 B#16#66 Unità non indirizzabile, errore di tensione di carico
B#16#38 B#16#66 Unità nuovamente indirizzabile, errore di tensione di carico eliminato
B#16#33 B#16#67 Inizio riparametrizzazione unità
B#16#32 B#16#67 Fine riparametrizzazione unità
B#16#39 B#16#68 Riparametrizzazione unità conclusa con errori

Avvertenza
Se si utilizza una CPU che supporta slave DPV1 o PROFINET, con l'ausilio dell'SFB 54 "RALRM" è
possibile ottenere ulteriori informazioni sull'allarme oltre a quelle di avvio dell'OB. Ciò vale anche
quando il master DP viene utilizzato nei modi S7 compatibili.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


62 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.20 OB di errore hardware CPU (OB 84)

1.20 OB di errore hardware CPU (OB 84)

Descrizione
Il sistema operativo della CPU richiama l'OB 84 nei seguenti casi:
• Dopo aver riconosciuto ed eliminato errori di memoria
• Nella progettazzione di CPU H fino alla versione V4.5 compresa: in caso di riduzione della
performance dell'accoppiamento di ridondanza tra le due CPU
Avvertenza: nella progettazzione di CPU H a partire dalla versione V6.0, in caso di riduzione
della performance dell'accoppiamento di ridondanza tra le CPU, viene richiamato l’OB di allarme
di diagnostica (OB 82).
• In WinAC RTX: errore nel sistema operativo del PC, ad es. blue screen
• Se non è stato programmato l'OB 84, la CPU commuta nello stato di funzionamento STOP.
L'OB di errore hardware CPU può essere inibito o ritardato e quindi riabilitato per mezzo delle
SFC da 39 a 42.

Dati locali dell'OB di errore hardware della CPU


La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di errore hardware CPU. Come
nomi di variabili sono stati scelti i nomi di default dell'OB 84.

Variabile Tipo di dati Descrizione


OB84_EV_CLASS BYTE Classe d'evento e identificazioni:
B#16#38: evento uscente
B#16#35, B#16#39: evento entrante
OB84_FLT_ID BYTE Classe di errore (B#16#82, B#16#83, B#16#85, B#16#86,
B#16#87, B#16#88, B#16#92)
OB84_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7
(Configurazione hardware)
OB84_OB_NUMBR BYTE Numero di OB (84)
OB84_RESERVED_1 BYTE Riservato
OB84_RESERVED_2 BYTE Riservato
OB84_RESERVED_3 WORD Riservato
OB84_RESERVED_4 DWORD Riservato
OB84_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB

Se OB84_FLT_ID = B#16#88, sostituire all’occorrenza la CPU interessata. L’identificazione della


CPU dai bit 8 e 9 di OB84_RESERVED_3 avviene come indicato nel seguito:
• Bit 8=1: telaio di montaggio mancante 0
• Bit 9=1: telaio di montaggio mancante 1

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 63
Blocchi organizzativi
1.20 OB di errore hardware CPU (OB 84)

Se OB84_FLT_ID = B#16#92 sostituire all’occorrenza la CPU interessata. In questo caso la variabile


OB84_RESERVED_4 ha il valore DW#16#000xFCAC. La CPU può essere identificata dai bit 16 a
19 di OB84_RESERVED_4 nel seguente modo:
• Bit 16=1: Errore nel telaio di montaggio 0 modulo 1
• Bit 17=1: Errore nel telaio di montaggio 0 modulo 2
• Bit 18=1: Errore nel telaio di montaggio 1 modulo 1
• Bit 19=1: Errore nel telaio di montaggio 1 modulo 2
La tabella seguente mostra quale evento ha causato l'avvio dell'OB 84.

OB84_EV_CLASS OB84_FLT_ID Evento di avvio dell'OB 84


B#16#35 B#16#82 Errore di memoria riconosciuto ed eliminato dal sistema operativo
B#16#35 B#16#83 Accumulo di errori di memoria riconosciuti e corretti
B#16#35 B#16#85 Errore nel sistema operativo del PC
B#16#35 B#16#86 Riduzione della performance dell'accoppiamento di ridondanza tra le
due CPU (soltanto nella progettazione di CPU H fino alla versione
V4.5 compresa)
B#16#35 B#16#87 Errore di memoria a più bit riconosciuto e corretto
B#16#35 B#16#92 È stato identificato un guasto dovuto a componenti esterni alla CPU
B#16#35 B#16#88 Limitazioni individuate nella memoria di caricamento a ritenzione
integrata
B#16#35 B#16#92 Guasto individuato da componenti esterni della CPU

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


64 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.21 OB di errore esecuzione programma (OB 85)

1.21 OB di errore esecuzione programma (OB 85)

Descrizione
Il sistema operativo della CPU richiama l'OB 85 se si presenta uno dei seguenti eventi:
• Evento di avvio per un OB non caricato (eccetto OB 80, OB 81, OB 82, OB 83 e OB 86)
• Errore di accesso del sistema operativo ad un blocco
• Errore di accesso alla periferia all'aggiornamento dell'intera immagine di processo (nel caso in
cui il richiamo di OB85 non è stato soppresso mediante la progettazione) .

Avvertenza
Se l'OB 85 non è stato programmato, la CPU passa nel modo di funzionamento STOP se si presenta
uno dei suddetti eventi.

L'OB di errore di esecuzione programma può essere disabilitato o ritardato e abilitato di nuovo con
l'aiuto della SFC da 39 a 42.

Dati locali dell'OB di errore esecuzione programma


La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di errore di esecuzione del
programma. Come nomi di variabili sono stati scelti i nomi di default dell'OB 85.

Variabile Tipo di dati Descrizione


OB85_EV_CLASS BYTE Classe d'evento e identificazioni: B#16#35, B#16#39 (solo con
codici di identificazione errore B#16#B3 e B#16#B4), B#16#39
(solo con codici di identificazione errore B#16#B1, B#16#B2,
B#16#B3 e B#16#B4)
OB85_FLT_ID BYTE Codice di errore (valori possibili: B#16#A1, B#16#A2, B#16#A3,
B#16#A4, B#16#B1, B#16#B2, B#16#B3, B#16#B4)
OB85_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7 (Configurazione
hardware)
OB85_OB_NUMBR BYTE Numero di OB (85)
OB85_RESERVED_1 BYTE Riservato
OB85_RESERVED_2 BYTE Riservato
OB85_RESERVED_3 INT Riservato
OB85_ERR_EV BYTE Classe dell'evento che ha generato l'errore
_CLASS
OB85_ERR_EV_NUM BYTE Numero dell'evento che ha generato l'errore
OB85_OB_PRIOR BYTE Classe di priorità dell'OB in corso di esecuzione quando si è
verificato l'errore (soltanto in alcuni codici di errore, per
informazionii più dettagliate vedere quanto riportato nel seguito)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 65
Blocchi organizzativi
1.21 OB di errore esecuzione programma (OB 85)

Variabile Tipo di dati Descrizione


OB85_OB_NUM BYTE Numero di OB per l'OB in corso di esecuzione quando si è
verificato l'errore (soltanto in alcuni codici di errore, per
informazionii più dettagliate vedere quanto riportato nel seguito)
OB85_DATE_TIME DATE_AND Data e ora in cui è stato richiamato l'OB
_TIME

Se si intende programmare l'OB 85 in funzione dei possibili codici di identificazione dell'errore, si


consiglia di organizzare le variabili locali nel modo seguente:

Variabile Tipo
OB85_EV_CLASS BYTE
OB85_FLT_ID BYTE
OB85_PRIORITY BYTE
OB85_OB_NUMBR BYTE
OB85_DKZ23 BYTE
OB85_RESERVED_2 BYTE
OB85_Z1 WORD
OB85_Z23 DWORD
OB85_DATE_TIME DATE_AND_TIME

La tabella seguente indica quale evento ha causato l'avvio dell'OB 85 nonché l'assegnazione dei
valori alle variabili dipendenti dal codice di errore

OB85_EV_CLASS OB85_FLT_ID Significato


B#16#35 B#16#A1 Il programma utente o il sistema operativo (a causa della progettazione
dell'utente con STEP 7) crea un evento di avvio per un OB che non è
caricato nella CPU.
• OB85_Z1: variabile temporanea relativa all'OB richiamato,
determinato dall'OB85_Z23.
• OB85_Z23:
- high word: classe e numero dell'evento causante
- low word, high byte: livello di programma attivo al momento
dell’errore
low word, low byte: OB attivo
B#16#35 B#16#A2 Il programma utente o il sistema operativo (a causa della progettazione
dell'utente con STEP 7) crea un evento di avvio per un OB che non è
caricato nella CPU.
• OB85_Z1 e OB85_Z23 come per OB85_FLT_ID=B#16#A1

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


66 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.21 OB di errore esecuzione programma (OB 85)

OB85_EV_CLASS OB85_FLT_ID Significato


B#16#35 B#16#A3 Errore durante l'accesso del sistema operativo a un blocco
• OB85_Z1: identificazione errore del sistema operativo
- high byte: 1= funzione integrata, 2=temporizzatore IEC
- low byte: 0= nessuna risoluzione dell'errore, 1= blocco non
caricato, 2= errore lunghezza settore, 3= errore protezione
scrittura
• OB85_Z23:
- high word: numero blocco
- low word: indirizzo relativo del comando MC7 che causa
l'errore. Il tipo di blocco va rilevato dall'OB 85_DKZ23
(B#16#88: OB, B#16#8C: FC, B#16#8E: FB, B#16#8A: DB).
B#16#35 B#16#A4 DB di interfaccia PROFINET non indirizzabile
B#16#34 B#16#A4 DB di interfaccia PROFINET non indirizzabile
B#16#39 B#16#B1 Errore di accesso alla periferia durante l'aggiornamento dell'immagine di
processo degli ingressi
• OB85_ DKZ23: ID del tipo di trasferimento dell'immagine di
processo con cui si è verificato l'errore
- B#16#10: accesso a byte
- B#16#20: accesso a parola
- B#16#30: accesso a doppia parola
- B#16#56 o B#16#57: trasferimento di un'area di coerenza
progettata
• OB85_Z1: riservato a uso interno della CPU
Se l'OB85_RESERVED_2 ha il valore B#16#76, l'OB85_Z1
contiene il valore di ritorno dell'SFC corrispondente (SFC 14, 15, 26
o 27).
• OB85_Z23:
- Byte 0: se OB85_DKZ23=B#16#57: n. dell'immagine parziale
di processo
- Byte 1: irrilevante se OB85_DKZ23=B#16#10, 20 o 30;
lunghezza dell'area di coerenza in byte se
OB85_DKZ23=B#16#57
- Byte 0 e byte 1 se OB85_DKZ23=B#16#56: lunghezza
dell'area di coerenza in byte
- Byte 2 e 3: indirizzo di periferia che ha causato l'errore di
accesso alla periferia se OB85_DKZ23=B#16#10, 20 o 30;
indirizzo logico iniziale dell'area di coerenza se
OB85_DKZ23=B#16#57

B#16#39 B#16#B2 Errore di accesso alla periferia duante il trasferimento dell’immagine di


proesso alle unità di uscita
OB85_DKZ23, OB85_Z1 e OB85_Z23 come in
OB85_FLT_ID=B#16#B1
Vengono emessi i codici di identificazione dell‘errore B#16#B1 e B#16#B2, nel caso in cui, per l'aggiornamento
dell‘immagine di processo da parte del sistema, sia stato progettato il richiamo ripetuto dell'OB 85

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 67
Blocchi organizzativi
1.21 OB di errore esecuzione programma (OB 85)

OB85_EV_CLASS OB85_FLT_ID Significato


B#16#39/B#16#38 B#16#B4 Errore di accesso alla periferia durante l'aggiornamento dell'immagine di
processo degli ingressi in entrata/in uscita
• OB85_DKZ23: identificazione del tipo di trasferimento
dell'immagine di processo con cui si è verificato l'errore
- B#16#10: accesso a byte
- B#16#20: accesso a parola
- B#16#30: accesso a doppia parola
- B#16#56 o B#16#57: trasferimento di un'area di coerenza
progettata
• OB85_Z1: riservato a uso interno della CPU
Se l'OB85_RESERVED_2 ha il valore B#16#76, l'OB85_Z1
contiene il valore di ritorno dell'SFC corrispondente (SFC 14, 15, 26
o 27).
• OB85_Z23:
- Byte 0: se OB85_DKZ23=B#16#57: n. dell'immagine di
processo parziale
- Byte 1: irrilevante se OB85_DKZ23=B#16#10, 20 o 30;
lunghezza dell'area di coerenza in byte se
OB85_DKZ23=B#16#57
- Byte 0 e byte 1 se OB85_DKZ23=B#16#56: lunghezza
dell'area di coerenza in byte
- Byte 2 e 3: indirizzo di periferia che ha causato l'errore di
accesso alla periferia se OB85_DKZ23=B#16#10, 20 o 30;
indirizzo logico iniziale dell'area di coerenza se
OB85_DKZ23=B#16#57
B#16#39/B#16#38 B#16#B4 Errore di accesso alla periferia durante l'aggiornamento dell'immagine di
processo delle uscite in entrata/in uscita
OB85_DKZ23, OB85_Z1, OB85_Z23 come per
OB85_FLT_ID=B#16#B3
Vengono emessi i codici di identificazione dell‘errore B#16#B3 e B#16#B4 nel caso in cui, per
l'aggiornamento dell‘immagine di processo da parte del sistema, sia stato progettato il richiamo
dell'OB 85 solo in caso di errori di accesso alla periferia entranti e uscenti. Dopo l'avviamento a
freddo o il nuovo avviamento (avviamento a caldo), con il successivo aggiornamento dell'immagine
di processo tutti gli accessi agli ingressi e uscite non presenti, vengono segnalati come errori di
accesso alla periferia entranti

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


68 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.22 OB di guasto telaio di montaggio (OB 86)

1.22 OB di guasto telaio di montaggio (OB 86)

Descrizione
Il sistema operativo della CPU richiama l'OB 86 nei seguenti casi:
• Riconoscimento di un guasto (sia con evento entrante che uscente) in un'apparecchiatura di
ampliamento centrale (non nell'S7 300).
• Riconoscimento di un guasto in un sistema master DP (sia con evento entrante che uscente).
• Riconoscimento di un guasto in una stazione della periferia decentrata (PROFIBUS DP o
PROFINET IO; sia con evento entrante che uscente).
• Disattivazione di una stazione della periferia decentrata (PROFIBUS DP o PROFINET IO) da
parte dell'utente con l'SFC 12 "D_ACT_DP" tramite MODE=4.
• Attivazione di una stazione della periferia decentrata (PROFIBUS DP o PROFINET IO) da parte
dell'utente con l'SFC 12 "D_ACT_DP" tramite MODE=3.
• Guasto di un sistema PROFINET IO, di una stazione PROFINET IO o di una parte dei
sotto-moduli di un PROFINET I Device.
Se l'OB 86 non è stato programmato e se si verifica uno di questi errori, la CPU passa nello stato di
funzionamento STOP.
L'OB 86 può essere disabilitato o ritardato e abilitato di nuovo con l'aiuto delle SFC da 39 a 42.

Dati locali dell'OB di guasto del telaio di montaggio


La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di guasto del telaio di
montaggio. Come nomi di variabili sono stati scelti i nomi di default dell'OB 86.

Variabile Tipo di dati Descrizione


OB86_EV_CLASS BYTE Classe di evento e identificazione:
• B#16#32: Attivazione di una stazione con l'SFC 12
"D_ACT_DP" tramite MODE=3
• B#16#33: Disattivazione di una stazione con l'SFC 12
"D_ACT_DP" tramiteMODE=4
• B#16#38: Evento uscente
• B#16#39: Evento entrante
OB86_FLT_ID BYTE Codice di errore (valori possibili: B#16#C1, B#16#C2, B#16#C3,
B#16#C4, B#16#C5, B#16#C6, B#16#C7, B#16#C8, B#16#C9,
B#16#CA, B#16#CB, B#16#CC, B#16#CD, B#16#CE, B#16#CF,
B#16#F8, B#16#F9)
OB86_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7 (Configurazione
hardware)
OB86_OB_NUMBR BYTE Numero di OB (86)
OB86_RESERVED_1 BYTE Riservato
OB86_RESERVED_2 BYTE Riservato
OB86_MDL_ADDR WORD Dipendente dal codice di identificazione errore

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 69
Blocchi organizzativi
1.22 OB di guasto telaio di montaggio (OB 86)

Variabile Tipo di dati Descrizione


OB86_RACKS_FLTD ARRAY [0 ..31] Dipendente dal codice di identificazione errore
OF BOOL
OB86_DATE_TIME DATE_AND Data e ora in cui è stato richiamato l'OB
_TIME

Se si intende programmare l'OB 86 in funzione dei codici di identificazione errore possibili, si


consiglia di organizzare le variabili locali nel modo seguente:

Variabile Tipo
OB86_EV_CLASS BYTE
OB86_FLT_ID BYTE
OB86_PRIORITY BYTE
OB86_OB_NUMBR BYTE
OB86_RESERVED_1 BYTE
OB86_RESERVED_2 BYTE
OB86_MDL_ADDR WORD
OB86_Z23 DWORD
OB86_DATE_TIME DATE_AND_TIME

La tabella seguente mostra quale evento ha causato l'avvio dell'OB 86

OB86_EV_CLASS OB86_FLT_ID Significato


B#16#39 B#16#C1 Guasto apparecchiatura di ampliamento
• OB86_MDL_ADDR: indirizzo logico di base dell'IM
• OB86_Z23: contiene un bit per ogni apparecchiatura di
ampliamento possibile. Vengono segnalate come guaste (sono
impostati i bit corrispondenti) le apparecchiature di ampliamento
che hanno causato il richiamo dell'OB 86. Le apparecchiature di
ampliamento già guaste in precedenza non vengono più
visualizzate.
- Bit 0: sempre 0
- Bit 1: apparecchiatura di ampliamento 1
- :
- Bit 21: apparecchiatura di ampliamento 21
- Bit 22 … 29: sempre 0
- Bit 30: guasto di almeno un'apparecchiatura di ampliamento
nel campo SIMATIC S5
- Bit 31: sempre 0
B#16#38 B#16#C1 Ritorno apparecchiatura di ampliamento
OB86_MDL_ADDR come per OB86_FLT_ID=B#16#C1. In OB86_Z23
vengono segnalate le apparecchiature di ampliamento ritornate (i bit
corrispondenti sono impostati).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


70 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.22 OB di guasto telaio di montaggio (OB 86)

OB86_EV_CLASS OB86_FLT_ID Significato


B#16#38 B#16#C2 Ritorno apparecchiatura di ampliamento (guasto apparecchiatura di
ampliamento uscente con scostamento configurazione
prefissata/attuale)
• OB86_MDL_ADDR: indirizzo logico di base dell'IM
• OB86_Z23: contiene un bit per ogni apparecchiatura di
ampliamento possibile, vedere OB86_FLT_ID B#16#C1.
Significato di un bit impostato: nell'apparecchiatura di
ampliamento corrispondente:
- Sono presenti unità con identificazione errata del tipo
- mancano unità progettate
- almeno un'unità è difettosa.
B#16#39 B#16#C3 Periferia decentrata: guasto di un sistema master DP.
Solo un evento entrante causa l'avvio dell'OB 86 con il codice di errore
B#16#C3.
Un evento uscente provoca l'avvio dell'OB 86 con codice di errore
B#16#C4 e classe di evento B#16#38.
Il ritorno di ogni stazione DP subordinata ha come conseguenza l'avvio
di un OB 86.
OB86_MDL_ADDR: indirizzo logico di base del master DP
• OB86_Z23: ID del sistema master DP:
- Bit 0 … 7: riservati
- Bit 8 … 15: ID sistema master DP
- Bit 16 … 31: riservati
B#16#39/B#16#38 B#16#C4 Guasto di una stazione DP
• OB86_MDL_ADDR: indirizzo logico di base del master DP
• OB86_Z23: indirizzo dello slave DP corrispondente:
- Bit 0 … 7: n. della stazione DP
- Bit 8 … 15: ID sistema master DP
- Bit 16 … 30: indirizzo logico di base di uno slave S7
o indirizzo di diagnostica di uno slave standard DP
- Bit 31: identificazione I/O
B#16#38 B#16#C6 Ripristino di una stazione DP, tuttavia stazione guasta
OB86_MDL_ADDR e OB86_Z23 come in FLT_ID=B#16#C4

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 71
Blocchi organizzativi
1.22 OB di guasto telaio di montaggio (OB 86)

OB86_EV_CLASS OB86_FLT_ID Significato


B#16#38 B#16#C6 Ritorno di apparecchiatura di ampliamento ma errore nella
parametrizzazione delle unità
• OB86_MDL_ADDR: indirizzo logico di base dell'IM
• OB86_Z23: contiene un bit per ogni possibile apparecchiatura di
ampliamento:
- Bit 0: sempre 0
- Bit 1: apparecchiatura di ampliamento 1:
- :
- Bit 21: apparecchiatura di ampliamento 21
- Bit 22 … 30: riservati
- Bit 31: sempre 0
Significato di un bit impostato: nell'apparecchiatura di
ampliamento corrispondente
- Sono presenti unità con identificazione errata
- sono presenti unità con parametri mancanti o errati.
B#16#38 B#16#C7 Ritorno di una stazione DP ma errore nella parametrizzazione delle
unità
• OB86_MDL_ADDR: indirizzo logico di base del master DP
• Indirizzo dello slave DP corrispondente:
- Bit 0 … 7: n. della stazione DP
- Bit 8 … 15: ID sistema master DP
- Bit 16 … 30: indirizzo logico di base dello slave DP
- Bit 31: identificazione I/O
B#16#38 B#16#C8 Ripristino stazione DP tuttavia con divergenze tra configurazione
prefissata/attuale
• OB86_MDL_ADDR: indirizzo logico di base del master DP
• OB86_Z23: Indirizzo dello slave DP interessato:
- Bit 0 … 7: N° della stazione DP
- Bit 8 … 15: ID del sistema master DP
- Bit 16 … 30: indirizzo logico di base dello slave DP
- Bit 31: identificazione I/O
B#16#32/B#16#33 B#16#C9 Attivazione/disattivazione di uno slvae DP con l’SFC 12 "D_ACT_DP"
tramite MODE=3/MODE=4
• OB86_MDL_ADDR: Indirizzo logico di base del master DP
• OB86_Z23: Indirizzo dello slave DP interessato:
- Bit 0 … 7: N° della stazione DP
- Bit 8… 15: ID del sistema master DP
- Bit 16 … 30: indirizzo logico di base di uno slave S7
- ovvero indirizzo di diagnostica di uno slave standard DP
- Bit 31: identificazione I/O

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


72 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.22 OB di guasto telaio di montaggio (OB 86)

OB86_EV_CLASS OB86_FLT_ID Significato


B#16#39 B#16#CA Guasto al sistema PROFINET IO
• OB86_MDL_ADDR: indirizzo di base logico dell'IO-Controller
• OB86_Z23:
- Bit 0 … 10: 0 (N° della stazione)
- Bit 11 … 14: ID del sistema IO
- Bit 15: 1
- Bit 16 …31: 0
B#16#39/38 B#16#CB Guasto/ripristino di una stazione PROFINET IO
• OB86_RESERVED_1: B#16#C4
• OB86_MDL_ADDR: Indirizzo di base logico dell'IO Controller
• OB86_Z23:
- Bit 0 … 10: N° della stazione
- Bit 11 … 14: ID del sistema IO
- Bit 15: 1
- Bit 16 … 30: indirizzo di base logico della stazione
- 31: identificazione I/O
Avvertenza: escludere innanzitutto un guasto al sistema PROFINET IO
nel programma prima di attribuire la causa dell’avvio dell‘OB86 ad un
guasto della stazione PROFINET IO.
B#16#38 B#16#CC Ripristino della stazione PROFINET IO guasta o fuori servizio per
manutenzione
• OB86_RESERVED_1: B#16#C4
• OB86_MDL_ADDR: Indirizzo di base logico dell'IO Controller
• OB86_Z23:
- Bit 0 … 10: N° della stazione
- Bit 11 … 14: ID del sistema IO
- Bit 15: 1
- Bit 16 ... 30:indirizzo di base logico della stazione
- Bit 31: identificazione I/O
B#16#38 B#16#CD Ripristino della stazione PROFINET IO, la configurazione prefissata
differisce da quella attuale
• OB86_MDL_ADDR: Indirizzo di base logico dell'IO Controller
• OB86_Z23:
- Bit 0 … 10: N° della stazione
- Bit 11... 14: ID del sistema IO
- Bit 15: 1
- Bit 16... 30: indirizzo di base logico della stazione
- Bit 31: identificazione I/O

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 73
Blocchi organizzativi
1.22 OB di guasto telaio di montaggio (OB 86)

OB86_EV_CLASS OB86_FLT_ID Significato


B#16#38 B#16#CE Ripristino della stazione PROFINET IO, errore di parametrizzazione
dell'unità.
• OB86_MDL_ADDR: Indirizzo di base logico dell’IO Controller
• OB86_Z23:
- Bit 0... 10: N° della stazione
- Bit 11... 14: ID del sistema IO
- Bit 15: 1
- Bit 16... 30: indirizzo di base logico della stazione
- Bit 31: identificazione I/O
B#16#32/B#16#33 B#16#CF Attivazione/disattivazione di un PROFINET IO-Device con l'SFC 12
"D_ACT_DP" tramite MODE=3/MODE=4
• OB86_MDL_ADDR: Indirizzo di base logico dell’IO Controller
• OB86_Z23:
- Bit 0... 10: N° della stazione
- Bit 11... 14: ID del sistema IO
- Bit 15: 1
- Bit 16... 30: indirizzo di base logico della stazione
- Bit 31: identificazione I/O
B#16#39/B#16#38 B#16#F8 Guasto/ripristino di una parte dei sottomoduli di un PROFINET I Device
• OB86_MDL_ADDR: Indirizzo di base logico dell’IO Controller
• OB86_Z23:
- Bit 0... 10: N° della stazione
- Bit 11... 14: ID del sistema IO
- Bit 15: 1
- Bit 16... 30: indirizzo di base logico della stazione
- Bit 31: identificazione I/O
B#16#38 B#16#F9 Ripristino di una parte dei sottomoduli di un PROFINET I Device con
divergenze di configurazione nei dispositivi.
• OB86_MDL_ADDR: Indirizzo di base logico dell’IO Controller
• OB86_Z23:
- Bit 0... 10: N° della stazione
- Bit 11... 14: ID del sistema IO
- Bit 15: 1
- Bit 16... 30: indirizzo di base logico della stazione
- Bit 31: identificazione I/O

Avvertenza
Se si utilizza una CPU che supporta slave DPV1 o PROFINET, con l'ausilio dell'SFB 54 "RALRM" è
possibile ottenere ulteriori informazioni sull'allarme oltre a quelle di avvio dell'OB. Ciò vale anche
quando il master DP viene utilizzato nei modi S7 compatibili.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


74 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.23 OB di errore di comunicazione (OB 87)

1.23 OB di errore di comunicazione (OB 87)

Descrizione
Il sistema operativo della CPU richiama OB 87 ogni volta che si verifica un evento che identifica un
errore legato alla comunicazione.
Se l'OB 87 non è stato programmato e si verifica un evento di avvio per l'OB 87, la CPU si comporta
come segue:
• Una CPU S7-300 commuta nelllo stato di funzionamento STOP.
• Una CPU S7-400 commuta nelllo stato di funzionamento STOP.
L'OB di errore di comunicazione può essere disabilitato o ritardato e abilitato di nuovo con l'aiuto
delle SFC da 39 a 42.

Dati locali dell'OB di errore di comunicazione


La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di errore di comunicazione.
Come nomi di variabili sono stati scelti i nomi di default dell'OB 87.

Variabile Tipo di dati Descrizione


OB87_EV_CLASS BYTE Classe d'evento e identificazioni B#16#35
OB87_FLT_ID BYTE Codice d'identificazione d'errore
(valori possibili: B#16#D2, B#16#D3, B#16#D4, B#16#D5,
B#16#E1, B#16#E2, B#16#E3, B#16#E4, B#16#E5, B#16#E6)
OB87_PRIORITY BYTE Classe di priorità; parametrizzabile con STEP 7 (Configurazione
hardware)
OB87_OB_NUMBR BYTE Numero di OB (87)
OB87_RESERVED_1 BYTE Riservato
OB87_RESERVED_2 BYTE Riservato
OB87_RESERVED_3 WORD Dipendente dal codice di identificazione errore
OB87_RESERVED_4 DWORD Dipendente dal codice di identificazione errore
OB87_DATE_TIME DATE_AND Data e ora in cui è stato richiamato l'OB
_TIME

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 75
Blocchi organizzativi
1.23 OB di errore di comunicazione (OB 87)

Le variabili dipendenti dal codice di identificazione errore hanno il seguente significato:

Codice errore Byte/Word Significato


B#16#D2: La trasmissione delle registrazioni di diagnostica non è
attualmente possibile.
B#16#D3 I telegrammi di sincronizzazione non possono essere
trasmessi (master).
B#16#D4: Salto di ora non ammesso a causa della sincronizzazione
dell'ora
B#16#D5 Errore nell'assunzione del tempo di sincronizzazione (slave)
OB87_RESERVED_3: Non contiene nessuna ulteriore informazione
OB87_RESERVED_4: Non contiene nessuna ulteriore informazione
B#16#E1: Identificazione errata di telegramma nella comunicazione dei
dati globali
B#16#E3: Errore lunghezza telegramma nella comunicazione dei dati
globali
B#16#E4: Ricevuto numero di pacchetto GD non ammesso
OB87_RESERVED_3: Identificazione interfaccia (0: bus K, 1: MPI)
OB87_RESERVED_4: high byte: Numero circuito GD
low byte: Non contiene nessuna ulteriore informazione
B#16#E2: Lo stato del pacchetto GD non è registrabile in un DB
OB87_RESERVED_3: Numero DB
OB87_RESERVED_4: high word: Non contiene nessuna ulteriore informazione
low word: • Numero circuito GD (high byte)
• Numero pacchetto GD (low-byte)
B#16#E5: Errore di accesso a DP per lo scambio dati tramite blocchi
funzionali di comunicazione
OB87_RESERVED_3: Riservato per impiego interno della CPU
OB87_RESERVED_4: high word: Numero del blocco con il comando MC7 che causa l'errore
low word: Indirizzo relativo del comando MC7 che causa l'errore

Il tipo di blocco va rilevato da OB87_RESERVED_1 (B#16#88: OB, B#16#8A: DB, B#16#8C: FC,
B#16#8E: FB).

Codice errore Significato


B#16#E6: Lo stato generale di GD non è registrabile in DB.
OB87_RESERVED_3: Numero DB
OB87_RESERVED_4: Non contiene nessuna ulteriore informazione

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


76 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.24 OB di interruzione di elaborazione (OB 88)

1.24 OB di interruzione di elaborazione (OB 88)

Descrizione
Il sistema operativo della CPU richiama l’OB 88 nel caso in caso di interruzione dell’elaborazione di
un modulo di programma. Le possibili cause di interruzione sono:
• Livello di annidamento eccessivo in caso di errori di sincronizzazione
• Livello di annidamento eccessivo di richiami di blocco (stack U)
• Errore di allocazione di dati locali

Se si verifica un’interruzione di elaborazione nel caso in cui l’OB 88 non sia programmato, la CPU
passa in modalità STOP (Evento W#16#4570).
La CPU passa in modalità STOP se l’interruzione di elaborazione si verifica nella classe di priorità
28.
L’OB di interruzione elaborazione può essere disabilitato o ritardato e abilitati di nuovo con l'aiuto
delle SFC da 39 a 42.

Dati locali per OB di interruzione elaborazione


La tabella seguente contiene le variabili temporanee (TEMP) per l’OB di interruzione elaborazione.
Come nomi di variabili sono stati scelti i nomi di default di OB 88.

Variabile Tipo di dati Descrizione


OB88_EV_CLASS BYTE Classe d’evento e identificazioni: B#16#35
OB88_EW_FLT BYTE Codice di errore
valori possibili:
• B#16#71: profondità di annidamento troppo elevata
del livello di parentesi
• B#16#72: profondità di annidamento troppo elevata
del master Control Relais
• B#16#73: Profondità di annidamento troppo elevata
con errori di sincronizzazione
• B#16#74: Profondità di annidamento troppo elevata
dei richiami dei blocchi (stack U)
• B#16#75: Profondità di annidamento troppo elevata
dei richiami dei blocchi (stack B)
• B#16#76: Errore durante la localizzazione dei dati
locali
• B#16#78: Istruzione sconosciuta
• B#16#7A:Istruzione di salto al di fuori del blocco
• Consultare la lista operazioni della CPU per
informazioni sui codici di errore validi..
OB88_PRIORITY BYTE • Classe di priorità: 28
OB88_OB_NUMBR BYTE Numero OB (88)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 77
Blocchi organizzativi
1.24 OB di interruzione di elaborazione (OB 88)

Variabile Tipo di dati Descrizione


OB88_BLK_TYPE BYTE Tipo di blocco in cui si è verificato l’errore:
• B#16#88: OB
• B#16#8C: FC
• B#16#8E: FB
• B#16##00: punto di interruzione non individuabile
OB88_RESERVED_1 BYTE Riservato
OB88_FLT_PRIORITY BYTE Classe di priorità dell’OB che causa l’errore
OB88_FLT_OB_NUMBR BYTE Numero dell’OB che causa l’errore
OB88_BLK_NUM WORD Numero del blocco con il comando MC7 che causa
l’errore
OB88_PRG_ADDR WORD Indirizzo relativo del comando MC7 che causa l’errore
OB88_DATE_TIME DATE_AND_TIME Data e ora in cui è stato richiamato l'OB

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


78 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.25 OB di priorità bassa (OB 90)

1.25 OB di priorità bassa (OB 90)

Descrizione
S7 offre il controllo di un tempo ciclo massimo e garantisce l'osservanza di un tempo ciclo minimo.
Se il tempo di esecuzione dell'OB 1, comprese tutte le esecuzioni di interrupt e le attività del sistema
annidate, è inferiore rispetto al tempo ciclo minimo assegnato
• il sistema operativo richiama l'OB di priorità bassa (se presente sulla CPU)
• il sistema operativo ritarda il successivo avviamento dell'OB 1 (se l'OB 90 non è presente sulla
CPU).

Funzionamento dell'OB 90 di sfondo


L'OB 90 ha la priorità più bassa rispetto a tutti gli altri OB. Esso viene interrotto da ogni attività di
sistema e ogni elaborazione di allarme (anche dall'OB 1 dopo che è trascorso il tempo ciclo minimo).
Una eccezione è costituita dalla elaborazione delle SFC e degli SFB, che vengono avviati
nell'OB 90. Questi vengono elaborati con la priorità dell'OB 1 e perciò non vengono interrotti
dall'esecuzione dell'OB 1. Non avviene alcun controllo del tempo dell'OB 90.
Il programma utente nell'OB 90 viene elaborato a partire dal primo comando nei seguenti casi:
• dopo un nuovo avviamento (avviamento a caldo) o un avviamento a freddo o un riavviamento
• dopo il caricamento o la cancellazione di un blocco (con STEP 7)
• dopo il caricamento dell'OB 90 nella CPU nello stato di funzionamento RUN
• dopo aver terminato il ciclo di priorità bassa.

Avvertenza
In progettazioni in cui il tempo ciclo minimo ed il tempo di controllo ciclo sono molto vicini, quando
vengono richiamate le SFC e gli SFB è possibile che nell'OB di priorità bassa si verifichino
superamenti imprevisti del tempo ciclo.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 79
Blocchi organizzativi
1.25 OB di priorità bassa (OB 90)

Dati locali degli OB 90 di sfondo


La tabella seguente contiene le variabili temporanee (TEMP) degli OB 90. Come nomi di variabili
sono stati scelti i nomi di default dell'OB 90.

Variabile Tipo di dati Descrizione


OB90_EV_CLASS BYTE Classe d'evento e identificazioni B#16#11: attivo
OB90_STRT_INF BYTE B#16#91: nuovo avviamento (avviamento a caldo)/avviamento a
freddo/riavviamento
B#16#92: cancellazione di un blocco
B#16#93: caricamento dell'OB 90 nella CPU nello stato RUN
B#16#95: conclusione ciclo di sfondo
OB90_PRIORITY BYTE Classe di priorità: 29 (corrisponde alla priorità 0.29)
OB90_OB_NUMBR BYTE Numero di OB (90)
OB90_RESERVED_1 BYTE Riservato
OB90_RESERVED_2 BYTE Riservato
OB90_RESERVED_3 INT Riservato
OB90_RESERVED_4 INT Riservato
OB90_RESERVED_5 INT Riservato
OB_90_DATE_TIME DATE_AND Data e ora in cui è stato richiamato l'OB
_TIME

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


80 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.26 OB di avviamento (OB 100, OB 101 e OB 102)

1.26 OB di avviamento (OB 100, OB 101 e OB 102)

Tipi di avviamento
Si distingue tra i tipi di avviamento seguenti:
• Riavviamento (non con S7-300 e S7-400H)
• Nuovo avviamento (avviamento a caldo).
• Avviamento a freddo
Dalla tabella seguente si può vedere quale OB viene richiamato dal sistema operativo
all'avviamento.

Tipo di avviamento Rispettivo OB


Riavviamento OB 101
Nuovo avviamento (avviamento a caldo) OB 100
Avviamento a freddo OB 102

Informazioni più dettagliate sui tipi di avviamento sono riportate nei manuali "Programmazione con
STEP 7" e "Configurazione dell'hardware e progettazione dei collegamenti con STEP 7" e "Sistema
di automazione S7-400H".

Eventi di avvio per l‘avviamento


La CPU esegue un avviamento
• dopo ALIMENTAZIONE ON
• se il selettore dei modi operativi viene commutato da STOP a RUN/RUN-P
• dopo la richiesta tramite una funzione di comunicazione (tramite comando del menù da PG o
tramite richiamo dei blocchi funzionali di comunicazione 19 "START" o 21 "RESUME" su un'altra
CPU).
• mediante sincronizzazione in funzionamento multicomputing
• in un sistema H dopo l'accoppiamento (solo sulla CPU di riserva)
A seconda dell'evento di avvio della CPU presente o dei suoi parametri registrati viene richiamato il
rispettivo OB di avviamento (OB 100, OB 101 e OB 102). In esso si possono eseguire le
preimpostazioni per il proprio programma ciclico (eccezione: con un sistema H viene eseguito un
avviamento sulla CPU di riserva dopo l'accoppiamento, tuttavia senza il richiamo di un OB di
avviamento.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 81
Blocchi organizzativi
1.26 OB di avviamento (OB 100, OB 101 e OB 102)

Dati locali degli OB di avviamento


La tabella seguente contiene le variabili temporanee (TEMP) di un OB di avviamento. Come nomi di
variabili sono stati scelti i nomi di default.

Variabile Tipo di dati Descrizione


OB10x_EV_CLASS BYTE Classe d'evento e identificazioni: B#16#13: attivo
OB10x_STRTUP BYTE Richiesta di avviamento:
• B#16#81: richiesta manuale di nuovo avviamento
(avviamento a caldo)
• B#16#82: richiesta automatica di nuovo avviamento
(avviamento a caldo)
• B#16#83: richiesta manuale di riavviamento
• B#16#84: richiesta automatica di riavviamento
• B#16#85: richiesta manuale di avviamento a freddo
• B#16#86: richiesta automatica di avviamento a freddo
• B#16#87: master: Richiesta manuale di avviamento a
freddo
• B#16#88: master: Richiesta automatica di avviamento a
freddo
• B#16#8A: master: Richiesta manuale di nuovo avviamento
(avviamento a caldo)
• B#16#8B: master: Richiesta automatica di nuovo
avviamento (avviamento a caldo)
OB100_PRIORITY BYTE Classe di priorità: 27
OB100_OB_NUMBR BYTE Numero di OB (100, 101 o 102)
OB100_RESERVED_1 BYTE Riservato
OB100_RESERVED_2 BYTE Riservato
OB100_STOP WORD Numero dell'evento che ha portato la CPU in STOP
OB100_STRT_INFO DWORD Informazione complementare all'avviamento attuale
OB100_DATE_TIME DATE_AND Data e ora in cui è stato richiamato l'OB
_TIME

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


82 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.26 OB di avviamento (OB 100, OB 101 e OB 102)

La seguente tabella mostra l'assegnazione delle variabili OB10x_STR_INFO.

N. Significato Valori Spiegazione


binari
possibili
31 - 24 Informazione 0000 xxxx N. telaio di montaggio 0 (solo con CPU H)
all‘avviamento 0100 xxxx N. telaio di montaggio 1 (solo con CPU H)
1000 xxxx N. telaio di montaggio 2 (solo con CPU H)
0001 xxxx Multicomputing (solo S7-400)
0010 xxxx Funzionamento di più unità centrali nel telaio di montaggio
segmentato (solo S7-400)
xxxx xxx0 Nessuna differenza tra unità di riferimento e unità attuale
(solo S7-300)
xxxx xxx1 Differenza presente tra unità di riferimento e unità attuale
(solo S7-300).
xxxx xx0x Nessuna differenza tra unità di riferimento e unità attuale
xxxx xx1x Differenza presente tra unità di riferimento e unità attuale
xxxx x0xx Nessuna CPU H
xxxx x1xx CPU H
xxxx 0xxx Ora per registrazione del tempo non bufferizzata all'ultima
ALIMENTAZIONE ON
xxxx 1xxx Ora per registrazione del tempo bufferizzata all'ultima
ALIMENTAZIONE ON
23 - 16 Tipo di avviamento 0000 0001 Nuovo avviamento (avviamento a caldo) con
appena eseguito funzionamento multicomputing senza manovra sulla CPU
corrispondente alla parametrizzazione (solo S7-400)
0000 0011 Nuovo avviamento (avviamento a caldo) con selettore modi
operativi
0000 0100 Nuovo avviamento (avviamento a caldo) tramite manovra
MPI
0000 0101 Avviamento a freddo con funzionamento multicomputing
senza manovra sulla CPU corrispondente alla
parametrizzazione (solo S7-400)
0000 0111 Avviamento a freddo con selettore modi operativi
0000 1000 Avviamento a freddo tramite manovra MPI
Riavviamento con funzionamento multicomputing senza
manovra sulla CPU corrispondente alla parametrizzazione
(solo S7-400)
0000 1011 Riavviamento tramite selettore modi operativi (solo S7-400)
0000 1100 Riavviamento tramite manovra MPI (solo S7-400)
0001 0000 Nuovo avviamento automatico (avviamento a caldo) dopo
ALIMENTAZIONE ON bufferizzata
0001 0001 Avviamento a freddo dopo ALIMENTAZIONE ON
bufferizzata, corrispondente alla parametrizzazione
0001 0011 Nuovo avviamento (avviamento a caldo) tramite selettore
modi operativi;
ultima ALIMENTAZIONE ON bufferizzata

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 83
Blocchi organizzativi
1.26 OB di avviamento (OB 100, OB 101 e OB 102)

N. Significato Valori Spiegazione


binari
possibili
23 - 16 Tipo di avviamento 0001 0100 Nuovo avviamento (avviamento a caldo) tramite manovra
appena eseguito MPI;
ultima ALIMENTAZIONE ON bufferizzata
0010 0000 Nuovo avviamento automatico (avviamento a caldo) dopo
ALIMENTAZIONE ON non bufferizzata (con cancellazione
totale da parte del sistema)
0010 0001 Avviamento a freddo dopo ALIMENTAZIONE ON non
bufferizzata (con cancellazione totale da parte del sistema)
0010 0011 Nuovo avviamento (avviamento a caldo) tramite selettore
modi operativi;
ultima ALIMENTAZIONE ON non bufferizzata
0010 0100 Nuovo avviamento (avviamento a caldo) tramite manovra
MPI;
ultima ALIMENTAZIONE ON non bufferizzata
1010 0000 Riavviamento automatico dopo ALIMENTAZIONE ON
bufferizzata corrispondente alla parametrizzazione (solo
S7-400
15 - 12 Ammissibilità dei tipi di 0000 Avviamento automatico non ammesso
avviamento automatico 0001 Avviamento automatico non ammesso, necessaria modifica
parametri ecc.
0011 Avviamento a freddo automatico ammesso
0111 Nuovo avviamento automatico (avviamento a caldo)
ammesso
1111 Nuovo avviamento automatico (avviamento a
caldo)/riavviamento ammesso (solo S7-400)
11 - 8 Ammissibilità dei tipi di 0000 Avviamento non ammesso
avviamento manuale 0001 Avviamento non ammesso, modifica parametri ecc.
necessaria
0011 Avviamento a freddo ammesso
0111 Nuovo avviamento (avviamento a caldo) ammesso
1111 Nuovo avviamento (avviamento a caldo) e riavviamento
ammessi (solo S7-400)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


84 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.26 OB di avviamento (OB 100, OB 101 e OB 102)

N. Significato Valori Spiegazione


binari
possibili
7-0 Ultima manovra valida o 0000 0000 Nessun tipo di avviamento
regolazione del tipo di 0000 0001 Nuovo avviamento (avviamento a caldo) con
avviamento automatico funzionamento multicomputing senza manovra sulla CPU
con ALIMENTAZIONE corrispondente alla parametrizzazione (solo S7-400)
ON
0000 0011 Nuovo avviamento (avviamento a caldo) con selettore modi
operativi
0000 0100 Nuovo avviamento (avviamento a caldo) tramite manovra
MPI
0000 0101 Avviamento a freddo con funzionamento multicomputing
senza manovra esplicita sulla CPU corrispondente alla
parametrizzazione (solo S7-400)
0000 0111 Avviamento a freddo tramite selettore modi operativi
0000 1000 Avviamento a freddo tramite manovra MPI
0000 1010 Riavviamento con funzionamento multicomputing senza
manovra sulla CPU corrispondente alla parametrizzazione
(solo S7-400)
0000 1011 Riavviamento tramite selettore modi operativi (solo S7-400)
0000 1100 Riavviamento tramite manovra MPI (solo S7-400)
0001 0000 Nuovo avviamento automatico (avviamento a caldo) dopo
ALIMENTAZIONE ON bufferizzata
0001 0001 Avviamento a freddo dopo ALIMENTAZIONE ON
bufferizzata, corrispondente alla parametrizzazione
0010 0011 Nuovo avviamento (avviamento a caldo) tramite selettore
modi operativi; ultima ALIMENTAZIONE ON bufferizzata
0001 0100 Nuovo avviamento (avviamento a caldo) tramite manovra
MPI;
ultima ALIMENTAZIONE ON bufferizzata
0010 0000 Nuovo avviamento (avviamento a caldo) automatico dopo
ALIMENTAZIONE ON non bufferizzata (con cancellazione
totale da parte del sistema)
0010 0001 Avviamento a freddo dopo ALIMENTAZIONE ON non
bufferizzata (con cancellazione totale da parte del sistema)
0010 0011 Nuovo avviamento (avviamento a caldo) tramite selettore
modi operativi;
ultima ALIMENTAZIONE ON non bufferizzata
0010 0100 Nuovo avviamento (avviamento a caldo) tramite manovra
MPI;
ultima ALIMENTAZIONE ON non bufferizzata
1010 0000 Riavviamento automatico dopo ALIMENTAZIONE ON
bufferizzata corrispondente alla parametrizzazione (solo
S7-400)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 85
Blocchi organizzativi
1.27 OB di errore di programmazione (OB 121)

1.27 OB di errore di programmazione (OB 121)

Descrizione
Il sistema operativo della CPU richiama l'OB 121 ogni volta che viene rilevato un evento provocato
da un errore nell'elaborazione del programma. Per esempio, se nel programma viene rilevato un
blocco che non è stato caricato nella CPU, ciò determina il richiamo dell'OB 121.

Funzionamento dell'OB di errore di programmazione


L'OB 121 viene eseguito nella stessa classe di priorità dell'OB interrotto.
Se l'OB 121 non è programmato, la CPU passa da RUN a STOP.
STEP 7 offre le seguenti SFC per mascherare e demascherare gli eventi di avvio per OB 121
durante l'elaborazione del programma:
• SFC 36 "MSK_FLT" maschera codici d'errore specifici
• SFC 37 "DMSK_FLT" demaschera i codici d'errore che erano stati mascherati dalla SFC 36
• SFC 38 "READ_ERR" legge il registro degli errori.

Dati locali dell'OB di errore di programmazione


La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di errore di programmazione.
Come nomi di variabili sono stati scelti i nomi di default dell'OB 121.

Variabile Tipo di dati Descrizione


OB121_EV_CLASS BYTE Classe d'evento e identificazioni: B#16#25
OB121_SW_FLT BYTE Codice d'identificazione d'errore
(valori possibili: B#16#21, B#16#22, B#16#23, B#16#24,
B#16#25, B#16#26, B#16#27, B#16#28, B#16#29, B#16#30,
B#16#31, B#16#32, B#16#33, B#16#34, B#16#35, B#16#3A,
B#16#3C, B#16#3D, B#16#3E, B#16#3F)
OB121_PRIORITY BYTE Classe di priorità: classe di priorità dell'OB in cui si è verificato
l'errore
OB121_OB_NUMBR BYTE Numero di OB (121)
OB121_BLK_TYPE BYTE Tipo di blocco in cui si è verificato l'errore (con S7-300 qui non
viene registrato nessun valore valido): B#16#88: OB, B#16#8A:
DB, B#16#8C: FC, B#16#8E: FB
OB121_RESERVED_1 BYTE Riservato
OB121_FLT_REG WORD Fonte dell'errore (dipendente dal codice di identificazione
d'errore), p. es.:
Registro in cui si è verificato l'errore di conversione
Indirizzo errato (per errore di lettura/scrittura)
Numero errato di temporizzatore, contatore o blocco
Area di memoria errata

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


86 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.27 OB di errore di programmazione (OB 121)

Variabile Tipo di dati Descrizione


OB121_BLK_NUM WORD Numero del blocco con il comando MC7 che ha causato l'errore
(con S7-300 qui non viene registrato nessun valore valido)
OB121_PRG_ADDR WORD Indirizzo relativo del comando MC7 che ha causato l'errore (con
S7-300 qui non viene registrato nessun valore valido)
OB121_DATE_TIME DATE_AND Data e ora in cui è stato richiamato l'OB
_TIME

Le variabili dipendenti dal codice di identificazione d'errore hanno il seguente significato:

Codice errore Significato


B#16#21: Errore di conversione BCD
OB121_FLT_REG: Identificazione per il registro interessato (W#16#0000: Akku 1)
B#16#22: Errore di settore in lettura
B#16#23: Errore lunghezza settore durante scrittura
B#16#28: Accesso in lettura a un byte, parola o doppia parola con un puntatore, il cui
indirizzo è diverso da 0
B#16#29: Accesso in scrittura a un byte, parola o doppia parola con un puntatore il cui
indirizzo di bit è diverso da 0
Indirizzo a byte errato. L'area dati e il tipo di accesso vanno rilevati da
OB121_RESERVED_1.
OB121_RESERVED_1: Bit da 7 a 4, tipo di accesso:
0: Accesso a bit
1: Accesso a byte,
2: Accesso a parola,
3: Accesso a doppia parola
Bit da 3 a 0, area di memoria:
0: Area di periferia
1: Immagine di processo degli ingressi
2: Immagine di processo delle uscite
3: Merker
4: DB globale
5:DB di istanza
6:Dati locali propri
7:Dati locali del richiamante
B#16#24: Errore di settore in lettura
B#16#25: Errore di settore in scrittura
OB121_FLT_REG: Contiene nel byte basso l'identificazione dell'area non ammessa (B#16#86
area propria dati locali)
B#16#26: Errore con numero temporizzatore
B#16#27: Errore con numero contatore
OB121_FLT_REG: Numero non ammesso

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 87
Blocchi organizzativi
1.27 OB di errore di programmazione (OB 121)

Codice errore Significato


B#16#30: Accesso in scrittura ad un DB globale protetto in scrittura
B#16#31: Accesso in scrittura ad un DB di istanza protetto in scrittura
B#16#32: Errore di numero DB all'accesso ad un DB globale
B#16#33: Errore di numero DB all'accesso ad un DB di istanza
OB121_FLT_REG: Numero DB non ammesso
B#16#34: Errore numero al richiamo FC
B#16#35: Errore numero FB al richiamo FB
B#16#3A: Accesso ad un DB non caricato; Il numero DB si trova nel settore ammesso.
OB121_FLT_REG: Numero DB
B#16#3C: Accesso ad una FC non caricata; Il numero FC si trova nel settore ammesso.
OB121_FLT_REG: Numero FC
B#16#3D: Accesso ad una SFC non caricata; Il numero SFC si trova nel settore
OB121_FLT_REG: ammesso.
B#16#3E: Numero SFC
OB121_FLT_REG: Accesso ad un FB non caricato; Il numero FB si trova nel settore ammesso.
B#16#3F: Numero FB
OB121_FLT_REG: Accesso ad un SFB non caricato; Il numero SFB si trova nel settore
ammesso.
Numero SFB

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


88 Manuale di riferimento, 04/2017, A5E41911986-AA
Blocchi organizzativi
1.28 OB di errore di accesso alla periferia (OB 122)

1.28 OB di errore di accesso alla periferia (OB 122)

Descrizione
Il sistema operativo della CPU chiama l'OB 122 ogni volta che viene rilevato un evento legato
all'accesso ai dati nelle unità. Per esempio, se la CPU rileva un errore di lettura nel tentativo di
accedere ai dati in un'unità di ingresso e di uscita, il sistema operativo chiama l'OB 122.

Funzionamento dell'OB di errore di accesso alla periferia


L'OB 122 viene eseguito nella stessa classe di priorità del blocco interrotto. Se l'OB 122 non è
programmato, la CPU passa dallo stato di funzionamento RUN a STOP.
S7 dispone delle seguenti SFC, con le quali gli eventi di avvio dell'OB 122 possono essere
mascherati e demascherati mentre il programma utente viene eseguito:
• La SFC 36 "MSK_FLT" maschera determinati codici d'errore.
• La SFC 37 "DMSK_FLT" demaschera i codici di errore che erano stati mascherati da SFC 36.
• La SFC 38 "READ_ERR" legge il registro dello stato degli eventi.

Dati locali dell'OB errore di accesso alla periferia


La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di errore di accesso alla
periferia. Come nomi di variabili sono stati scelti i nomi di default dell'OB 122.

Variabile Tipo di dati Descrizione


OB122_EV_CLASS BYTE Classe d'evento e identificazioni: B#16#29
OB122_SW_FLT BYTE Codice di errore:
• B#16#42: Errore di accesso alla periferia, in lettura.
• B#16#43: Errore di accesso alla periferia, in scrittura
OB122_PRIORITY BYTE Classe di priorità:
Classe di priorità dell'OB in cui si è verificato l'errore
OB122_OB BYTE Numero di OB (122)
_NUMBR
OB122_BLK_TYPE BYTE Tipo di blocco in cui si è verificato l'errore (B#16#88: OB,
B#16#8C: FC, B#16#8E: FB) (nelle S7-300 qui non viene registrato
un valore valido)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 89
Blocchi organizzativi
1.28 OB di errore di accesso alla periferia (OB 122)

Variabile Tipo di dati Descrizione


OB122_MEM BYTE Area di memoria e tipo di accesso:
_AREA • Bit da 7 a 4: tipo di accesso:
- 0: accesso a bit
- 1: accesso a byte
- 2: accesso a parola
- 3: accesso a doppia parola
• Bit da 3 a 0: area di memoria:
- 0: settore periferia
- 1: immagine di processo degli ingressi
- 2: immagine di processo delle uscite
OB122_MEM WORD Indirizzo di memoria in cui si è verificato l'errore
_ADDR
OB122_BLK WORD Numero del blocco con il comando MC7 che ha causato l'errore
_NUM (con S7-300 qui non viene registrato nessun valore valido
OB122_PRG WORD Indirizzo relativo del comando MC7 che ha causato l'errore (con
_ADDR S7-300 qui non viene registrato nessun valore valido)
OB122_DATE DATE_AND Data e ora in cui è stato richiamato l'OB
_TIME _TIME

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


90 Manuale di riferimento, 04/2017, A5E41911986-AA
2 Parametri generali relativi alle SFC

2.1 Analisi degli errori con il parametro di uscita RET_VAL

Tipologia di informazioni di errore


Una SFC elaborata indica nel programma utente se la CPU ha potuto eseguire correttamente la
funzione della SFC stessa o meno.
La relativa informazione di errore si può ricavare in due modi:
• nel bit BIE della parola di stato
• nel parametro di uscita RET_VAL (return value).

Avvertenza
Prima dell'analisi dei parametri di uscita specifici di una SFC è sempre opportuno procedere nel
modo seguente,
• analizzare per prima cosa il bit BIE della parola di stato.
• verificare infine il parametro di uscita RET_VAL
Se tramite il bit BIE venisse segnalata un'errata elaborazione della SFC oppure se in RET_VAL
fosse presente un codice di errore generale non è possibile analizzare il parametro di uscita specifico
della SFC.

Informazioni di errore nel valore di ritorno


Una funzione di sistema (SFC) indica tramite il valore 0 nel bit di risultato binario (BIE) della parola di
stato che è avvenuto un errore durante l'elaborazione della funzione. Alcune funzioni di sistema
forniscono ad un'uscita, definita valore di ritorno (RET_VAL), un codice di errore supplementare. Se
nel parametro di uscita RET_VAL si presenta un errore generale (per la spiegazione vedere sotto),
ciò viene indicato solo dal valore 0 nel bit BIE della parola di stato.
Il valore di ritorno è di tipo intero (INT). Il suo valore rispetto allo "0" indica se durante l'elaborazione
della funzione è avvenuto un errore.

Elaborazione della BIE Valore di ritorno Segno dell'intero


SFC mediante la CPU
presenza di errore 0 minore di "0" negativo (bit di segno è "1")
assenza di errore 1 maggiore o uguale a "0" positivo (bit di segno è "0")

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 91
Parametri generali relativi alle SFC
2.1 Analisi degli errori con il parametro di uscita RET_VAL

Reagire ad una informazione di errore


Per i codici di errore in RET_VAL si distingue tra:
• un codice di errore generale, che può essere fornito da tutte le SFC e
• un codice di errore specifico, che può essere fornito da una SFC in relazione alle proprie
specifiche funzioni.
È possibile scrivere il programma utente in modo tale che esso reagisca a possibili errori durante
l'elaborazione della funzione di sistema. In questo modo è possibile evitare ulteriori errori.

Informazioni di errore generali e specifiche


Il valore di ritorno (RET_VAL) di una funzione di sistema fornisce uno dei seguenti due codici di
errore:
• un codice di errore generale, che si può riferire ad una qualsiasi funzione di sistema.
• un codice di errore specifico, che si riferisce esclusivamente ad una determinata funzione di
sistema.
Anche se nel caso del parametro di uscita RET_VAL si tratta di un valore di numero intero (INT), i
codici di errore delle funzioni di sistema vengono rappresentati in formato esadecimale. Se si
interpreta un valore di ritorno e lo si vuole confrontare con i codici di errore riportati in questo
manuale, allora è opportuno farsi indicare il codice di errore in formato esadecimale.
La figura seguente illustra la struttura di un codice di errore di una funzione di sistema in formato
esadecimale.

Se,
Codice di errore, per esempio W#16#8081

15 8 7 0
1

X
Numero dell'evento o classe dell'errore e singolo
errore
Se x = 0" , si tratta di un codice di errore specifico di una SFC. Il codice di
errore specifico si trova nella descrizione delle singole SFC nel paragrafo
dedicato alle informazioni di errore
Se x > 0" si tratta di un codice di errore generale di una SFC. In questo caso
x è il numero del parametro della SFC che ha causato l'errore. I possibili
codici di errore generali si trovano nella siguiente tabella

Il bit di segno = 1 indica che è avvenuto un errore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


92 Manuale di riferimento, 04/2017, A5E41911986-AA
Parametri generali relativi alle SFC
2.1 Analisi degli errori con il parametro di uscita RET_VAL

Informazioni di errore generali


Il codice di errore generale indica errori che possono aver luogo in qualsiasi funzione di sistema. Un
codice di errore generale è costituito dai seguenti due numeri:
• un numero di parametro compreso tra 1 e 111, dove 1 indica il primo parametro, 2 il secondo,
ecc. della SFC richiamata.
• un numero compreso tra 0 e 127. Il numero dell'evento indica un errore di sincronismo.
Nella tabella seguente sono riportati i codici per errori generali, le loro abbreviazioni e spiegazioni in
merito agli errori.

8 7
Bit 15 0
1 numero di parametro numero di evento

segno

Avvertenza
Se è stato registrato un codice di errore generale nel RET_VAL,
• l'operazione relativa alla SFC può essere stata avviata o essere stata già completamente
eseguita.
• può essersi presentato un errore specifico della SFC durante l'operazione. A causa di un errore
generale supplementare, presentatosi successivamente, l'errore specifico non poteva più essere
indicato.

Informazioni di errore specifiche


Alcune funzioni di sistema (SFC) possiedono un valore di ritorno che fornisce un codice di errore
specifico. Questo codice indica che durante l'elaborazione della funzione è avvenuto un errore,
appartenente ad una determinata funzione di sistema (vedi figura). Un codice di errore specifico è
costituito dai seguenti due numeri:
• una classe dell'errore tra 0 e 7.
• un singolo errore tra 0 e 15.

15 8 7 4 3 0
Bit
1 0 1 classe d'errore singolo errore

segno

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 93
Parametri generali relativi alle SFC
2.1 Analisi degli errori con il parametro di uscita RET_VAL

Codici di errore generali


La tabella seguente spiega i codici di errore generali di un valore di ritorno. Il codice viene indicato in
formato esadecimale. La lettera x in ogni codice serve solo ad indicare una posizione e rappresenta
il numero del parametro della funzione di sistema che ha causato l'errore.

Codice di Significato
errore
(W#16#...)
8x7F Errore interno.
Questo codice indica un errore interno al parametro x.
8x01 Identificazione sintassi non ammessa in uno parametro ANY-
8x22 Errore di dimensione nella lettura di un parametro.
8x23 Errore di dimensione nella scrittura di un parametro.
Questo codice indica che il parametro x si trova completamente o parzialmente al di fuori
dell'area di memoria di un operando oppure che la lunghezza di un campo di bit in un parametro
ANY non è divisibile per 8.
8x24 Errore di memoria nella lettura di un parametro.
8x25 Errore di memoria nella scrittura di un parametro.
Questo codice indica che il parametro x si trova in un'area di memoria non permessa alla
funzione di sistema. La descrizione delle singole funzioni riporta le aree di memoria non
permesse.
8x26 Il parametro contiene un numero di temporizzatore troppo grande.
Questo codice indica che il temporizzatore, dato nel parametro x, non è presente.
8x27 Il parametro contiene un numero di contatore troppo grande (errore numero contatore).
Questo codice indica che il contatore, dato nel parametro x, non è presente.
8x28 Errore di riferimento nella lettura di un parametro.
8x29 Errore di riferimento nella scrittura di un parametro.
Questo codice indica che il parametro x punta ad un operando, il cui indirizzo a bit è diverso da 0.
8x30 Il parametro si trova nel DB globale, protetto in scrittura.
8x31 Il parametro si trova nel DB di istanza, protetto in scrittura
Questo codice indica che il parametro x si trova in un blocco dati protetto in scrittura. Se il blocco
dati era stato aperto dalla funzione di sistema stessa, essa fornisce sempre il valore W#16#8x30.
8x32 Il parametro contiene un numero di DB troppo grande (errore numero DB).
8x34 Il parametro contiene un numero di FC troppo grande (errore numero FC).
8x35 Il parametro contiene un numero di FB troppo grande (errore numero FB).
Questo codice indica che il parametro x contiene un numero di blocco maggiore del massimo
numero di blocco ammesso.
8x3A Il parametro contiene il numero di un DB che non è stato caricato.
8x3C Il parametro contiene il numero di una FC che non è stato caricata.
8x3E Il parametro contiene il numero di un FB che non è stato caricato.
8x42 È avvenuto un errore di accesso, mentre il sistema voleva leggere un'area della periferia degli
8x43 ingressi.
È avvenuto un errore di accesso, mentre il sistema voleva scrivere un'area della periferia delle
uscite.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


94 Manuale di riferimento, 04/2017, A5E41911986-AA
Parametri generali relativi alle SFC
2.1 Analisi degli errori con il parametro di uscita RET_VAL

Codice di Significato
errore
(W#16#...)
8x44 Errore all'ennesimo (N > 1) accesso di lettura dopo che si è presentato un errore.
8x45 Errore all'ennesimo (N > 1) accesso di scrittura dopo che si è presentato un errore.
Questo codice indica che viene rifiutato l'accesso al parametro desiderato.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 95
Parametri generali relativi alle SFC
2.2 Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono

2.2 Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che
lavorano in modo asincrono

SFC che lavorano in modo asincrono


Le SFC che lavorano in modo asincrono sono SFC in cui l'esecuzione della funzione può essere
allargata a più richiami delle SFC.
Le seguenti SFC vengono eseguite, generalmente o a determinate condizioni in modo asincrono:
• SFC 7 "DP_PRAL"
• SFC 11 "DPSYC_FR"
• SFC 12 "D_ACT_DP"
• SFC 13 "DPNRM_DG"
• SFC 51 "RDSYSST"
• SFC 55 "WR_PARM"
• SFC 56 "WR_DPARM"
• SFC 57 "PARM_MOD"
• SFC 58 "WR_REC"
• SFC 59 "RD_REC"
• SFC 65 "X_SEND"
• SFC 67 "X_GET"
• SFC 68 "X_PUT"
• SFC 69 "X_ABORT"
• SFC 72 "I_GET"
• SFC 73 "I_PUT"
• SFC 74 "I_ABORT"
• SFC 82 "CREA_DBL"
• SFC 83 "READ_DBL"
• SFC 84 "WRIT_DBL"
• SFC 90 "H_CTRL"
• SFC 102 "RD_DPARA"
• SFC 103 "DP_TOPOL"
• SFC 114 "PN_DP"

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


96 Manuale di riferimento, 04/2017, A5E41911986-AA
Parametri generali relativi alle SFC
2.2 Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono

Identificazione del job


Se con una delle SFC indicate sopra è stata avviata l'attivazione di un interrupt di processo o l'invio di
istruzioni di comando a slave DP, o una trasmissione di dati, o l'interruzione di un collegamento non
progettato e se questa SFC viene richiamata di nuovo prima che il job in corso sia terminato,
l'ulteriore comportamento della SFC dipende in modo determinante dalla possibilità che il nuovo
richiamo riguardi lo stesso job o meno.

La tabella seguente spiega per ogni SFC quali parametri di ingresso definiscono un job. Quando i
parametri qui indicati corrispondono ad un job non ancora concluso il richiamo SFC vale come
richiamo successivo.

SFC Il job è identificato da


7 "DP_PRAL" IOID, LADDR
11 "DPSYC_FR" LADDR, GROUP, MODE
12 "D_ACT_DP" LADDR
13 "DPNRM_DG" LADDR
51 "RDSYSST" SZL_ID, INDEX
55 "WR_PARM" IOID, LADDR, RECNUM
56 "WR_DPARM" IOID, LADDR, RECNUM
57 "PARM_MOD" IOID, LADDR
58 "WR_REC" IOID, LADDR, RECNUM
59 "RD_REC" IOID, LADDR, RECNUM
65 "X_SEND" DEST_ID, REQ_ID
67 "X_GET" DEST_ID, VAR_ADDR
68 "X_PUT" DEST_ID, VAR_ADDR
69 "X_ABORT" DEST_ID
72 "I_GET" IOID, LADDR, VAR_ADDR
73 "I_PUT" IOID, LADDR, VAR_ADDR
74 "I_ABORT" IOID, LADDR
82 "CREA_DBL" LOW_LIMIT, UP_LIMIT, COUNT, ATTRIB, SRCBLK
83 "READ_DBL" SRCBLK, DSTBLK
84 "WRIT_DBL" SRCBLK, DSTBLK
90 "H_CTRL" MODE, SUBMODE
102 "RD_DPARA" LADDR, RECNUM
103 "DP_TOPOL" DP_ID
114 "PN_DP" -

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 97
Parametri generali relativi alle SFC
2.2 Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono

Parametro di ingresso REQ


Il parametro di ingresso REQ (request) serve esclusivamente all'avviamento del job:
• Se viene richiamata la SFC per un job, che non è attualmente attivato, viene avviato il job con
REQ = 1 (caso 1).
• Se un determinato job è avviato e non è ancora concluso, e se viene richiamata la SFC per lo
stesso job (p. es. in un OB di schedulazione orologio), il REQ non viene analizzato dalla
SFC (caso 2).

Parametri di uscita RET_VAL e BUSY


Tramite i parametri di uscita RET_VAL e BUSY viene indicato lo stato dell'esecuzione del job
Fare attenzione all'avvertenza nel paragrafo Analisi degli errori con il parametro di uscita RET_VAL.
• Nel caso 1 (primo richiamo con REQ=1), con risorse di sistema libere e assegnazione corretta
dei parametri di ingresso, in RET_VAL viene registrato W#16#7001 e viene impostato BUSY. Se
le risorse di sistema necessarie sono attualmente occupate o è presente un errore nei parametri
di ingresso, in RET_VAL viene registrato il rispettivo codice di errore e BUSY viene registrato con
0.
• Nel caso 2 (richiamo intermedio) in RET_VAL viene registrato W#16#7002 (questa registrazione
corrisponde ad un avvertimento: il job viene attualmente ancora elaborato!), e viene impostato
BUSY.
• All'ultimo richiamo per un job sono valide le seguenti regole:
- Nelle SFC 13 "DPNRM_DG", SFC 67 "X_GET" e SFC 72 "I_GET" in caso di trasmissione
senza errori dei dati in RET_VAL viene registrato il numero dei dati forniti in byte come
numero positivo e BUSY viene registrato con 0.
In caso di errore in RET_VAL viene registrata l'informazione di errore. In questo caso non è
consentito analizzare BUSY.
- Nella SFC 59 "RD_REC" in caso di trasmissione senza errori dei dati viene registrata in
RET_VAL la grandezza del set di dati in byte, oppure viene registrato 0 (vedi paragrafo
Lettura di set di dati con la SFC 59 "RD_REC"!). BUSY è registrato in questo caso con 0.
In caso di errore il codice di errore viene registrato in RET_VAL e BUSY viene registrato con
0 (fare attenzione all'avvertenza nel capitolo Lettura di set di dati con la SFC 59 "RD_REC")
- In tutte le altre SFC viene registrato 0 in RET_VAL in caso di esecuzione senza errori del
job e BUSY viene registrato con 0.
In caso di errore il codice di errore viene registrato in RET_VAL e BUSY viene registrato con
0.

Avvertenza
Se il primo e l'ultimo richiamo avvengono contemporaneamente, per RET_VAL e BUSY è valido
quanto detto per l'ultimo richiamo.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


98 Manuale di riferimento, 04/2017, A5E41911986-AA
Parametri generali relativi alle SFC
2.2 Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono

Risorse occupate da un job


Ogni job occupa risorse della CPU. Con l’SFC 59 "RD_REC" p. es. si tratta di spazio di memoria
dell’area di destinazione. Queste risorse sono assegnate esclusivamente a questo job e sono
occupate fino a che l’SFC è attiva, ovvero finché BUSY ha il valore 1.
Le risorse occupate non possono né essere utilizzate altrove né essere modificate. Pertanto non è
consentito per esempio modificare nel caso dell‘SFC 59 "RD_REC" né la lunghezza, né il contenuto
dell’area di destinazione.

Panoramica delle SFC di comunicazione


La tabella seguente fornisce una panoramica delle correlazioni descritte sopra. Essa indica in
particolare i valori possibili dei parametri di uscita se l'esecuzione del job non è conclusa dopo un
richiamo della SFC.

Avvertenza
Dopo ogni richiamo è necessario valutare i parametri di uscita rilevanti nel proprio programma.

N. prog. Tipo REQ RET_VAL BUSY


richiamo richiamo
1 Primo 1 W#16#7001 1
richiamo
Codice di errore 0
2 fino a (n-1) Richiamo Irrilevante W#16#7002 1
intermedio
n Ultimo Irrilevante W#16#0000 (eccezioni: SFC 59 "RD_REC" se 0
richiamo l'area di destinazione è maggiore del set di dati
trasmessi, SFC 13 "DPNRM_DG", SFC 67
"X_GET" e SFC 72 "I_GET") se non si sono
verificati errori
Codice di errore, se si sono verificati errori 0

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 99
Parametri generali relativi alle SFC
2.2 Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


100 Manuale di riferimento, 04/2017, A5E41911986-AA
3 Funzioni di copiatura e di blocco

3.1 Copia di un'area di memoria con la SFC 20 "BLKMOV"

Descrizione
Con la SFC 20 "BLKMOV" (block move) si copia il contenuto di un'area di memoria (= area
sorgente) in un'altra area di memoria (= area di destinazione).
Le aree sorgente consentite sono le seguenti:
• Parti di blocchi dati
• Merker
• Immagine di processo degli ingressi
• Immagine di processo delle uscite
Il parametro sorgente può trovarsi anche nella memoria di caricamento in un blocco dati non
rilevante per l'esecuzione del programma (DB che sono stati compilati con la parola chiave
UNLINKED).

Avvertenza
Se la CPU dell'utente è provvista di SFC 83, occorre utilizzarla per leggere i blocchi dati non rilevanti
per l'esecuzione nella memoria di caricamento. Se si utilizza la SFC 20 viene visualizzato il
messaggio di erorre W#16#8092.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 101
Funzioni di copiatura e di blocco
3.1 Copia di un'area di memoria con la SFC 20 "BLKMOV"

DB10. DBW4 A B
DB10. DBW6 C D
DB10. DBW8 E F Copia
DB10. DBW10 G H
La copiatura
avviene in
direzione di
indirizzi crescenti
MW 10 A B
MW 12 C D
MW 14 E F
MW 16 G H

Area di memoria

Coerenza dei dati sorgente e di destinazione


Osservare che durante l'elaborazione dell'SFC 20 "BLKMOV" i dati sorgente devono restare
invariati. In caso contrario non è assicurata la coerenza dei dati di destinazione.

Possibilità di interruzione
Fino a quando l'area sorgente non è parte di un blocco dati presente solo nella memoria di
caricamento, non esiste nessuna limitazione della profondità di annidamento.
In caso di interruzione di un'elaborazione della SFC 20, invece, durante la quale viene effettuata la
copiatura da un blocco dati non rilevante per l'esecuzione del programma, un'elaborazione simile
della SFC 20 non può essere più annidata.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
SRCBLK INPUT ANY E, A, M, D, L Definizione dell'area di memoria che deve
essere ricopiata (area sorgente). Arrays del
tipo di dati STRING non sono permessi.
RET_VAL OUTPUT INT E, A, M, D, L Nel caso di un errore durante l'elaborazione
della funzione, il valore di ritorno contiene un
codice di errore.
DSTBLK OUTPUT ANY E, A, M, D, L Definizione dell'area di memoria nella quale
si deve copiare (area di destinazione). Arrays
del tipo di dati STRING non sono permessi.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


102 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni di copiatura e di blocco
3.1 Copia di un'area di memoria con la SFC 20 "BLKMOV"

Condizioni per l'area sorgente e di destinazione


L'area sorgente e l'area di destinazione non devono sovrapporsi. Se l'area di destinazione indicata è
maggiore dell'area sorgente, nell'area di destinazione vengono copiati solo tanti dati quanti ne sono
contenuti nell'area sorgente.
Se l'area di destinazione indicata (parametro DSTBLK) è minore dell'area sorgente (parametro
SRCBLK), vengono copiati solo tanti dati quanti ne può contenere l'area di destinazione.
Se lo spazio effettivamente disponibile nell'area di destinazione o sorgente è minore delle dimensioni
dell'area di memoria parametrizzata per l'area sorgente o di destinazione (parametri SRCBLK,
DSTBLK), la reazione dipenderà dal tipo di CPU.
• CPU S7-300: non vengono trasmessi dati. RET_VAL ha il valore W#16#837F.
• CPU S7-400 V4 (CPU standard V4, CPU H V4 e V4.5): non vengono trasmessi dati.
Per tutte le altre CPU S7-400: i dati vengono trasmessi.
In tutte le CPU S7-400 viene segnalato un errore in RET_VAL con codice di errore W#16#8122 o
W#16#8323. Questi parametri RET_VAL vanno sempre analizzati nel programma utente.
Se il puntatore ANY (sorgente o destinazione) è del tipo BOOL, la lunghezza indicata deve essere
divisibile per 8; in caso contrario non viene eseguita la copia.
Se si utilizzano variabili con tipo di dati STRING per i parametri SRCBLK e DSTBLK, STEP 7
interpreta queste variabili come ARRAY of BYTE (inclusi entrambi i byte di gestione con lunghezza
massima e attuale). Ciò comporta il fatto che l'SFC 20 viene copiata byte per byte: vengono quindi
copiati il byte con la lunghezza massima, il byte con la lunghezza attuale e l'effettiva stringa.
Qualora si utilizzasse il tipo di dati STRING per uno dei parametri SRCBLK o DSTBLK, o per
entrambi, occorre configurare personalmente i corrispondenti puntatori ANY. Se la sorgente è una
stringa vengono copiati al massimo i caratteri in essa contenuti al momento. Se sorgente e
destinazione sono entrambe una stringa, la lunghezza attuale della destinazione viene impostata sul
numero dei caratteri copiati.

Avvertenza
Se un DB non rilevante per l'esecuzione del programma viene copiato con l'SFC 20 BLKMOV nella
memoria di lavoro e contemporaneamente ricaricato, ad es. mediante PG, l'SFC può essere
ritardata di diversi millisecondi. Ciò causa un prolungamento del ciclo dell'OB e probabilmente la
reazione del controllo tempo di ciclo. Evitare di ricaricare questo blocco mentre la CPU copia questo
blocco con l'SFC 20.

Informazioni di errore

Codice di errore Spiegazione


(W#16#...)
0000 Nessun errore
8091 È stata superata la profondità di annidamento.
8092 La SFC 20 "BLKMOV" non può essere eseguita a causa di un accesso a un blocco dati
non utilizzabile (protetto in scrittura, non eseguibile oppure non caricato)
8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 103
Funzioni di copiatura e di blocco
3.2 Copia della variabile senza interruzioni con la SFC 81 "UBLKMOV"

3.2 Copia della variabile senza interruzioni con la SFC 81 "UBLKMOV"

Descrizione
Con la SFC 81 "UBLKMOV" (uninterruptable block move) viene copiato il contenuto di un'area di
memoria (= area sorgente) in modo coerente in un'altra area di memoria (= area di destinazione). La
procedura di copia non può essere interrotta da altre attività del sistema operativo.
Con la SFC 81 "UBLKMOV" è possibile copiare tutte le aree di memoria eccetto:
• i blocchi seguenti: FB, SFB, FC, SFC, OB, SDB
• contatori
• temporizzatori
• aree di memoria dell'area della periferia
• blocchi dati non rilevanti per l'esecuzione.
La quantità max. di dati che si può copiare ammonta a 512 byte.
Osservare le limitazioni specifiche della CPU chesi possono ad es. prendere dall'elenco delle
operazioni.

Possibilità di interruzione, tempo di reazione all'allarme


La procedura di copia non può essere interrotta. Si deve quindi tenere presente che il tempo di
reazione all'allarme della propria CPU può aumentare se si utilizza la SFC 81 "UBLKMOV".

Parametri Dichiarazione Tipo di dati Area di Descrizione


memoria
SRCBLK INPUT ANY E, A, M, D, L Definizione dell'area di memoria che deve
essere copiata (area sorgente). Arrays del
tipo STRING non sono ammessi.
RET_VAL OUTPUT INT E, A, M, D, L Se si verifica un errore durante
l'elaborazione della funzione, il valore di
ritorno contiene un codice di identificazione
dell'errore.
DSTBLK OUTPUT ANY E, A, M, D, L Definizione dell'area di memoria in cui deve
essere copiato (area di destinazione). Arrays
del tipo STRING non sono ammessi.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


104 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni di copiatura e di blocco
3.2 Copia della variabile senza interruzioni con la SFC 81 "UBLKMOV"

Condizioni per l'area sorgente e di destinazione


L'area sorgente e l'area di destinazione non devono sovrapporsi. Se l'area di destinazione indicata è
maggiore dell'area sorgente, nell'area di destinazione vengono copiati solo tanti dati quanti ne sono
contenuti nell'area sorgente.
Se l'area di destinazione indicata è minore dell'area sorgente, vengono copiati solo tanti dati quanti
ne può contenere l'area di destinazione.
Se l'area di destinazione o l'area sorgente realmente disponibile è minore delle dimensioni dell'area
di memoria parametrizzata per l'area sorgente o di destinazione (parametri SRCBLK, DSTBLK), la
reazione dipenderà dal tipo di CPU.
• CPU S7-300: non vengono trasmessi dati. RET_VAL ha il valore W#16#837F.
• CPU S7-400 V4 (CPU standard V4, CPU H V4 e V4.5): non vengono trasmessi dati.
Per tutte le altre CPU S7-400: i dati vengono trasmessi.
In tutte le CPU S7-400 viene segnalato un errore in RET_VAL con codice di errore W#16#8122 o
W#16#8323. Questi parametri RET_VAL vanno sempre analizzati nel programma utente.
Se il puntatore ANY (sorgente o destinazione) è del tipo BOOL, la lunghezza indicata deve essere
divisibile per 8; in caso contrario l'SFC non viene eseguita.
Se il puntatore ANY è del tipo STRING, la lunghezza indicata deve essere 1.

Informazioni di errore

Codice di errore Spiegazione


(W#16#...)
0000 Nessun errore
8091 L'area sorgente non si trova in un blocco dati rilevante per l'esecuzione.
8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di
uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 105
Funzioni di copiatura e di blocco
3.3 Inizializzazione di aree di memoria con la SFC 21 "FILL"

3.3 Inizializzazione di aree di memoria con la SFC 21 "FILL"

Descrizione
Con la SFC 21 "FILL" è possibile inizializzare un'area di memoria (area di destinazione) con il
contenuto di un'altra area di memoria (area sorgente). La SFC copia il contenuto nell'area di
destinazione assegnata, fino ad inizializzarla completamente.

Condizioni per l'area sorgente e di destinazione


L'area sorgente e l'area di destinazione non devono sovrapporsi.
Se l'area di destinazione da preimpostare non è un multiplo intero della lunghezza del parametro di
ingresso BVAL, essa viene comunque scritta fino all'ultimo byte.
Se l'area di destinazione indicata è minore dell'area sorgente, vengono copiati solo tanti dati quanti
ne può contenere l'area di destinazione.
Se l'area di destinazione o l'area sorgente realmente disponibile è minore delle dimensioni dell'area
di memoria parametrizzata per l'area sorgente o di destinazione (parametri BVAL, BLK), la reazione
dipenderà dal tipo di CPU.
• CPU S7-300: non vengono trasmessi dati. RET_VAL ha il valore W#16#837F.
• CPU S7-400 V4 (CPU standard V4, CPU H V4 e V4.5): non vengono trasmessi dati.
Per tutte le altre CPU S7-400: i dati vengono trasmessi.
In tutte le CPU S7-400 viene segnalato un errore in RET_VAL con codice di errore W#16#8122 o
W#16#8323. Questi parametri RET_VAL vanno sempre analizzati nel programma utente.
Se il puntatore ANY (sorgente o destinazione) è del tipo BOOL, la lunghezza indicata deve essere
divisibile per 8; in caso contrario l'SFC non viene eseguita.
Se l'area di destinazione è del tipo di dati STRING, l'SFC 21 "FILL" scrive l'intera stringa inclusa
l'informazione di gestione.

FILL

A B MW 14 A B MW 100
C D MW 16 C D MW 102
BVAL
E F MW 18 E F MW 104
G H MW 20 G H MW 106
A B MW 108
BLK
C D MW 110
E F MW 112
G H MW 114
A B MW 116
C D MW 118

Esempio: il contenuto dell'area di memoria da MW 100 a MW 118 deve venire


inizializzato con il contenuto delle parole di merker da MW 14 a MW 20.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


106 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni di copiatura e di blocco
3.3 Inizializzazione di aree di memoria con la SFC 21 "FILL"

Coerenza dei dati sorgente e di destinazione


Osservare che durante l'elaborazione dell'SFC 21 "FILL" i dati sorgente devono restare invariati. In
caso contrario non è assicurata la coerenza dei dati di destinazione.

Eccezioni
Non sono ammessi come aree sorgente:
• Contatori
• Temporizzatori
Con la SFC 21 non è possibile scrivere valori in:
• seguenti blocchi: FB, SFB, FC, SFC, SDB
• contatori
• temporizzatori
• aree di memoria della periferia

Parametri

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
BVAL INPUT ANY E, A, M, D, L Il parametro BVAL contiene il valore o la
definizione dell'area, con il cui contenuto si
vuole inizializzare l'area di destinazione (area
sorgente). Arrays del tipo di dati STRING non
sono permessi.
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione
avviene un errore, il valore di ritorno contiene
un codice di errore.
BLK OUTPUT ANY E, A, M, D, L Il parametro BLK definisce l'area che deve
essere inizializzata (area di destinazione).
Arrays del tipo di dati STRING non sono
permessi.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 107
Funzioni di copiatura e di blocco
3.3 Inizializzazione di aree di memoria con la SFC 21 "FILL"

Il parametro è una struttura


Se viene passata al parametro di ingresso una struttura, occorre considerare la seguente
particolarità:
Lo STEP 7 interpreta la lunghezza di una struttura sempre come un numero pari di byte. Se la
struttura viene dichiarata con un numero dispari di byte, tale struttura necessita allora di un byte di
memoria supplementare.
Esempio
La struttura è dichiarata nel modo seguente:
TYP_5_BYTE_STRUTTURA : STRUCT
BYTE_1_2 : WORD
BYTE_3_4 : WORD
BYTE_5 : BYTE
END_STRUCT
La struttura dichiarata "TYP_5_BYTE_STRUTTURA" necessita di 6 byte di memoria.

Informazioni di errore
La SFC 21 "FILL" non fornisce informazioni specifiche sugli errori ma soltanto generali. Vedere
Analisi degli errori con il parametro di uscita RET_VAL.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


108 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni di copiatura e di blocco
3.4 Creazione di un blocco dati con la SFC 22 "CREAT_DB"

3.4 Creazione di un blocco dati con la SFC 22 "CREAT_DB"

Descrizione
Con la SFC 22 "CREAT_DB" (create data block) è possibile creare un blocco dati nel programma
utente, che non contiene i valori inizializzati. Anziché questi valori vengono assegnati dati casuali. La
SFC crea un blocco dati con un numero compreso in un intervallo predefinito e con una dimensione
predefinita. La SFC assegna al DB il numero più piccolo possibile compreso nell'area data. Per
attribuire al DB un determinato numero occorre assegnare ai limiti massimi e minimi dell‘area lo
stesso valore, corrispondente al numero desiderato. Numeri di DB già utilizzati nel programma non
possono più venire assegnati. La lunghezza del DB deve essere un numero pari.

Possibilità di interruzione
La SFC "CREAT_DB" può essere interrotta da OB di più elevata priorità. Se, a sua volta, in un OB di
più elevata priorità viene richiamata una SFC 22 "CREAT_DB", questo richiamo viene respinto con il
codice di identificazione dell'errore W#16#8091.

Parametri

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
LOW_LIMIT INPUT WORD E, A, M, D, L, cost. Il limite inferiore è il più piccolo dei numeri
che è possibile assegnare al blocco dati.
UP_LIMIT INPUT WORD E, A, M, D, L, cost. Il limite superiore è il più grande dei
numeri, che è possibile assegnare al
blocco dati.
COUNT INPUT WORD E, A, M, D, L, cost. Il valore di conteggio indica il numero di
byte che si vogliono riservare per il blocco
dati. In questo caso occorre assegnare un
numero pari di byte (massimo 65534)
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione
avviene un errore, il valore di ritorno
contiene un codice di errore.
DB_NUMBER OUTPUT WORD E, A, M, D, L Il numero di blocco dati è il numero del
blocco dati appena creato. In caso di
errore (è stato impostato il bit 15 di
RET_VAL) il valore 0 viene registrato in
DB_NUMBER.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 109
Funzioni di copiatura e di blocco
3.4 Creazione di un blocco dati con la SFC 22 "CREAT_DB"

Informazioni di errore

Codice di Significato
errore
(W#16#...)
0000 Nessun errore
8091 La SFC 22 è stata richiamata annidata.
8092 La funzione "Creazione di blocchi dati" non è eseguibile al momento perché
• la funzione "Compressione della memoria utente" è attualmente attiva
• il numero dei DB presenti nella CPU ha già raggiunto il massimo valore consentito
• la CPU H è in fase di accoppiamento o aggiornamento
• la CPU del software WinAC ha rilevato un errore nel sistema operativo del computer sul
quale è stato installato WinAC
• la cancellazione precedente non è ancora terminata.
80A1 Errore nel numero del DB:
• il numero è 0
• il numero supera il numero massimo di DB ammesso per la CPU specifica
• limite inferiore > limite superiore
80A2 Errore nella lunghezza del DB:
• la lunghezza è 0
• la lunghezza è stata data come numero dispari
• la lunghezza è maggiore di quanto la CPU permetta
80B1 Nessun numero di DB è libero
80B2 La memoria libera a disposizione non è sufficiente
80B3 L'area di memoria contigua a disposizione non è sufficiente (comprimere la memoria!)
8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


110 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni di copiatura e di blocco
3.5 Cancellazione di un blocco dati con la SFC 23 "DEL_DB"

3.5 Cancellazione di un blocco dati con la SFC 23 "DEL_DB"

Descrizione
Con la SFC 23 "DEL_DB" (delete data block) è possibile cancellare un blocco dati presente nella
memoria di lavoro ed eventualmente nella memoria di caricamento della CPU. Il DB da cancellare
non deve essere aperto né nel livello di esecuzione attuale né in uno di priorità bassa. Ciò vuol dire
che non deve essere registrato né in uno dei due registri DB né in B-Stack, in quanto altrimenti la
CPU, al momento del richiamo della SFC 23, avvierebbe l'OB 121. Se l'OB 121 non è disponibile, la
CPU entra nello stato di STOP; nell'S7-300 (ad eccezione della CPU 318) la cancellazione del DB
avviene senza richiamo dell'OB 121.

Avvertenza
Cancellare DB di istanza con la SFC 23 "DEL_DB" non è un'operazione opportuna e comporta
sempre errori di programma. Evitare quindi di cancellare i DB di istanza con la SFC 23!

La tabella seguente spiega quando un blocco dati può essere cancellato con la SFC 23 "DEL_DB".

Se il DB ... con l' SFC 23 ...


è stato creato con il richiamo dell'SFC 22 "CREAT_DB" può essere cancellato
è stato trasferito con STEP 7 alla CPU e non è stato creato con la può essere cancellato
parola chiave UNLINKED
è stato creato con la parola chiave UNLINKED • può essere cancellato nell'S7-300
• non può essere cancellato
nell'S7-400
è stato creato con il richiamo dell'SFC 82 "CREA_DBL" può essere cancellato
è memorizzato sulla flashcard Non può essere cancellato

Possibilità di interruzione
La SFC 23 "DEL_DB" può essere interrotta da livelli di esecuzione di priorità più alta. Se poi la
SFC viene qui richiamata di nuovo, questo secondo richiamo viene interrotto e in RET_VAL viene
registrato W#16#8091.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
DB_NUMBER INPUT WORD E, A, M, D, L, cost. Numero del DB da cancellare
RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 111
Funzioni di copiatura e di blocco
3.5 Cancellazione di un blocco dati con la SFC 23 "DEL_DB"

Informazioni di errore

Codice di Significato
errore
(W#16#...)
0000 Nessun errore
8091 Nei richiami annidati della SFC 23 è stata superata la profondità di annidamento massima
delle CPU utilizzate.
8092 La funzione "Cancellazione di un DB" non è eseguibile al momento perché
• la funzione "Compressione della memoria utente" è attiva
• l'utente sta copiando il DB da cancellare dalla CPU in un progetto offline
• la CPU H è in fase di accoppiamento o aggiornamento
• la CPU del software WinAC ha rilevato un errore nel sistema operativo del computer sul
quale è stato installato WinAC
80A1 Errore nel parametro di ingresso DB_NUMBER: il parametro attuale selezionato
ha valore 0
è maggiore del numero di DB massimo ammesso per la CPU utilizzata
80B1 Il DB con il numero indicato non è presente nella memoria d lavoro della CPU.
80B2 Il DB con il numero indicato è stato creato con la parola chiave UNLINKED (soltanto
nell'S7-400).
80B3 Il DB si trova sulla flashcard.
80B4 Il DB non è stato cancellato perché
• fa parte di un programma F
• è un DB di istanza di un blocco dati della comunicazione S7 (solo per S7-400)
• è un DB tecnologico.
80C1 La funzione "Cancellazione di un DB" non è attualmente eseguibile per mancanza di risorse.
8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


112 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni di copiatura e di blocco
3.6 Test di un blocco dati con la SFC 24 "TEST_DB"

3.6 Test di un blocco dati con la SFC 24 "TEST_DB"

Descrizione
L'SFC 24 "TEST_DB" (test data block) consente di ottenere informazioni su un blocco dati contenuto
nella memoria di lavoro o di caricamento della CPU (S7-300) oppure informazioni su un blocco dati
contenuto nella memoria di lavoro della CPU (S7-400). L'SFC rileva il numero dei byte di dati per il
DB selezionato e verifica se il DB è protetto in scrittura.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
DB_NUMBER INPUT WORD E, A, M, D, L, cost. Numero del DB da verificare
RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore
DB_LENTH OUTPUT WORD E, A, M, D, L Numero dei byte di dati contenuti nel DB
selezionato.
WRITE_PROT OUTPUT BOOL E, A, M, D, L Informazione sulla protezione da scrittura
del DB selezionato (1 significa protetto in
scrittura).

Informazioni di errore

Codice di Significato
errore
(W#16#...)
0000 Nessun errore
80A1 Errore nel parametro di ingresso DB_NUMBER: il parametro attuale selezionato
ha il valore 0
è maggiore del numero di DB massimo ammesso per la CPU utilizzata
80B1 Il DB con il numero indicato non è presente nella CPU.
80B2 Il DB con il numero indicato è stato creato con la parola chiave UNLINKED.
8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 113
Funzioni di copiatura e di blocco
3.7 Compressione della memoria utente con la SFC 25 "COMPRESS"

3.7 Compressione della memoria utente con la SFC 25 "COMPRESS"

Formazione di spazi vuoti di memoria


A causa di ripetute cancellazioni o postcaricamenti di blocchi è possibile che si formino degli spazi
vuoti sia nella memoria di caricamento che in quella di lavoro, i quali riducono l'area di memoria
utilizzabile.

Descrizione
Con la SFC 25 "COMPRESS" è possibile avviare la compressione sia della parte RAM della
memoria di caricamento che della memoria di lavoro. L'operazione di compressione è la stessa
come dopo un avvio esterno nello stato di funzionamento RUN-P (posizione del selettore dei modi
operativi).
Se la compressione è già attiva a causa di un avvio esterno, il richiamo della SFC 25 provoca una
visualizzazione di errore.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore
BUSY OUTPUT BOOL E, A, M, D, L Informazione se la compressione è attiva
a causa della SFC 25
(1 = attiva)
DONE OUTPUT BOOL E, A, M, D, L Informazione se l'operazione di
compressione avviata mediante la
SFC 25 si è conclusa con successo
(1 = conclusa con successo)

Controllo sull'operazione di compressione


L'operazione di compressione viene avviata mediante un unico richiamo della SFC 25
"COMPRESS"; tuttavia, non è possibile verificare se la compressione è stata eseguita in modo
corretto.
Se si desidera esercitare questa funzione di controllo, è necessario procedere come segue:
La SFC 25 deve essere richiamata in modo ciclico. Dopo ogni richiamo, dapprima deve essere
valutato il parametro RET_VAL. Se questo ha il valore 0, devono essere valutati i parametri BUSY e
DONE. Se BUSY = 1 e DONE = 0, vuol dire che l'operazione di compressione è ancora attiva. Solo
dopo che BUSY ha assunto il valore 0 e DONE il valore 1, significa che l'operazione di compressione
è stata portata a termine con successo. Se, a questo punto, la SFC 25 viene richiamata di nuovo, si
avvia un'ulteriore compressione.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


114 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni di copiatura e di blocco
3.7 Compressione della memoria utente con la SFC 25 "COMPRESS"

Informazioni di errore

Codice di Significato
errore
(W#16#...)
0000 Nessun errore. L'operazione di compressione è stata avviata dalla SFC 25. Solo in questo
caso è utile valutare tramite il programma utente (vedi sopra) i parametri di uscita BUSY e
DONE.
8091 L'operazione di compressione è già attiva a causa di un avvio esterno.
8092 La funzione "Avvio della compressione della memoria utente" non è eseguibile al momento
perché
• la funzione "Cancellazione blocchi" è attualmente attiva a causa di un avvio di STEP 7
• una funzione di test e di messa in servizio agisce al momento su un blocco (ad es. Stato)
• la funzione "Copiatura di blocchi" è attualmente attiva a causa di un avvio esterno
• la CPU H è in fase di accoppiamento o aggiornamento
8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 115
Funzioni di copiatura e di blocco
3.8 Copiatura del valore sostitutivo in ACCU 1 con la SFC 44 "REPL_VAL"

3.8 Copiatura del valore sostitutivo in ACCU 1 con la


SFC 44 "REPL_VAL"

Descrizione
Con la SFC 44 "REPL_VAL" (replace value) si può trasferire un valore nell'ACCU 1 del livello di
programma che ha causato l'errore.

Solo in OB di errore di sincronismo


La SFC 44 "REPL_VAL" può essere richiamata solo in un OB di errore di sincronismo (OB 121,
OB 122).

Esempio applicativo
Nel caso in cui un'unità di ingresso è disturbata al punto tale che non è più possibile leggere alcun
valore, dopo ogni accesso a questa unità, viene avviato l'OB 122. Nell'OB 122 è possibile trasferire
nell'ACCU 1 del livello di programma interrotto un valore sostitutivo con l'ausilio della SFC 44, in
modo tale che il programma possa continuare ad operare con questo valore sostitutivo. Le
informazioni necessarie per la scelta di questo valore sostitutivo (ad es. il blocco in cui ha avuto luogo
l'errore, l'indirizzo interessato) vengono fornite dalle variabili locali dell'OB 122.

Parametri

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
VAL INPUT DWORD E, A, M, D, L, cost. Valore sostitutivo
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione
avviene un errore, il valore di ritorno contiene
un codice di errore.

Informazioni di errore

Codice di Descrizione
errore
(W#16#....)
0000 Nessun errore. È stato specificato un valore sostitutivo.
8080 La SFC 44 non è stata richiamata all'interno di un OB di errore di sincronismo (OB 121,
OB 122).
8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


116 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni di copiatura e di blocco
3.9 Creazione di un blocco dati nella memoria di caricamento con la SFC 82 "CREA_DBL"

3.9 Creazione di un blocco dati nella memoria di caricamento con la


SFC 82 "CREA_DBL"

Descrizione
Con la SFC 82 "CREA_DBL" (create data block in load memory) si crea nella memoria di
caricamento (Micro Memory Card) un nuovo blocco dati. La SFC 82 crea un blocco dati con un
numero preso da un'area indicata e una dimensione predefinita. Dall'area indicata, la SFC 82
assegna al DB il numero più basso possibile. Per creare un DB con un determinato numero,
assegnare lo stesso numero al limite superiore e a quello inferiore dell'area da indicare. I numeri dei
DB già contenuti nel programma utente non si possono più assegnare. Se la memoria di lavoro e/o la
memoria di caricamento contengono già un DB con lo stesso numero o se questo esiste già come
variante copiata, la SFC viene conclusa mentre viene creata un'informazione d'errore.

Avvertenza
L'esistenza di un DB con lo stesso numero si può determinare con la SFC 24 "TEST_DB".

Il DB viene scritto con il contenuto dell'area di dati al quale fa riferimento il parametro SRCBLK
(source block). Questa area dati deve essere un DB o un'area di un DB. Per garantire la coerenza dei
dati, non è consentito modificare questa area dati nel corso dell'elaborazione della SFC 82 (vale a
dire finché il parametro BUSY ha il valore TRUE).
È possibile creare e inizializzare un DB con l'attributo READ_ONLY solo tramite SFC 82.
La SFC 82 non modifica la somma di controllo del programma utente.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 117
Funzioni di copiatura e di blocco
3.9 Creazione di un blocco dati nella memoria di caricamento con la SFC 82 "CREA_DBL"

Procedimento
La SFC 82 "CREA_DBL" è una SFC che lavora in modo asincrono, vale a dire che l'elaborazione si
estende per più richiami di SFC. Per avviare il job, richiamare la SFC 82 con REQ = 1.
Con i parametri di uscita RET_VAL e BUSY viene visualizzato lo stato del job.
Vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo
asincrono

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


REQ INPUT BOOL E, A, M, D, L REQ = 1: richiesta di creazione del DB
LOW_LIMIT INPUT WORD E, A, M, D, L Limite inferiore dell'area dalla quale la
SFC assegna un numero al DB dell'utente
UP_LIMIT INPUT WORD E, A, M, D, L Limite superiore dell'area dalla quale la
SFC assegna un numero al DB dell'utente
COUNT INPUT WORD E, A, M, D, L Il valore di conteggio indica il numero di byte
che si vogliono riservare per il blocco dati. In
questo caso occorre assegnare un numero
pari di byte
ATTRIB INPUT BYTE E, A, M, D, L Proprietà del DB:
Bit 0 = 1: UNLINKED:
il DB è solo nella memoria di
caricamento.
Bit 1 = 1: READ_ONLY:
il DB è protetto in scrittura.
Bit 2 = 1: NON_RETAIN:
il DB non è rimanente.
Bit 3 - 7: Riservato
SRCBLK INPUT ANY D Puntatore sul blocco dati con i cui valori viene
inizializzato il blocco dati da creare
RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore
BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: l'operazione non è ancora
terminata.
DB_NUM OUTPUT WORD E, A, M, D, L Numero del DB creato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


118 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni di copiatura e di blocco
3.9 Creazione di un blocco dati nella memoria di caricamento con la SFC 82 "CREA_DBL"

Informazioni di errore

Codice errore Descrizione


(W#16#...)
0000 Nessun errore
0081 L'area di destinazione è maggiore dell'area sorgente.
L'area sorgente viene scritta completamente nell'area di destinazione, i restanti byte
dell'area di destinazione vengono occupati da uno 0.
7000 Primo richiamo con REQ=0: trasmissione dati non attiva; BUSY ha il valore 0.
7001 Primo richiamo con REQ=1: trasmissione dati avviata; BUSY ha il valore 1.
7002 Richiamo temporaneo (REQ non rilevante): trasmissione dati già attiva; BUSY ha il
valore 1
8081 L'area sorgente è maggiore dell'area di destinazione.
L'area di destinazione viene scritta completamente, i restanti byte dell'area sorgente
vengono ignorati.
8091 È stata richiamata la SFC 82 annidata.
8092 La funzione "Crea DB" non è momentaneamente eseguibile perché
• la funzione "Comprimi la memoria utente" è attualmente attiva
• il numero max. di blocchi della CPU è stato raggiunto
8093 Nel parametro SRCBLK non è indicato un blocco dati/è indicato un blocco dati che non
esiste nella memoria di lavoro
8094 Nel parametro ATTRIB è stato specificato un attributo non ancora supportato.
80A1 Errore nel numero del DB:
• Il numero è 0
• Limite inferiore > limite superiore
80A2 Errore nella lunghezza del DB:
• La lunghezza è 0
• La lunghezza è un numero dispari
• La lunghezza è maggiore di quanto consentito dalla CPU
80B1 Non vi sono numeri di DB liberi
80B2 Memoria di lavoro insufficiente
80BB Memoria di caricamento insufficiente
80C0 La destinazione viene attualmente elaborata da un'altra SFC o da una funzione di
comunicazione.
80C3 Al momento è già stato raggiunto il numero max. di SFC 82 attive
contemporaneamente.
8xyy Codice di errore generale, ad es.:
• DB sorgente inesistente o esistente solo come variante copiata
• Area sorgente non disponibile nel DB
• Vedere Analisi degli errori con il parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 119
Funzioni di copiatura e di blocco
3.10 Lettura di un blocco dati nella memoria di caricamento con la SFC 83 "READ_DBL"

3.10 Lettura di un blocco dati nella memoria di caricamento con la


SFC 83 "READ_DBL"

Descrizione
Con la SFC 83 "READ_DBL" (read data block in load memory) è possibile copiare un DB o una parte
di un DB contenuto nella memoria di caricamento (Micro Memory Card) nell'area dati di un DB di
destinazione. Il DB di destinazione deve essere rilevante per l'esecuzione, vale a dire che non deve
essere stato creato con l'attributo UNLINKED. Il contenuto della memoria di caricamento non viene
modificato dall'operazione di copia.
Per garantire la coerenza dei dati, non è consentito modificare l'area di destinazione nel corso
dell'elaborazione della SFC 83 (vale a dire finché il parametro BUSY ha il valore TRUE).
Per i parametri SRCBLK (source block) e DSTBLK (destination block) valgono le seguenti limitazioni:
• Con un puntatore ANY del tipo BOOL, la lunghezza deve essere divisibile per 8.
• Con un puntatore ANY del tipo STRING, la lunghezza deve essere uguale a 1.
La lunghezza del DB sorgente può essere eventualmente determinata con la SFC 24 "TEST_DB".

Avvertenza
La SFC 83 viene elaborata in modo asincrono e non è adatta pertanto alla lettura frequente (ciclica)
di variabili nella memoria di caricamento.

Avvertenza
Una volta avviato, un job viene sempre portato a termine. Se si raggiunge il numero massimo di
SFC 83 attive contemporaneamente e si richiama allo stesso tempo la SFC 83 in una classe di
priorità maggiore, viene emesso il codice di errore W#16#80C3. Non è perciò opportuno riavviare
immediatamente il job con la priorità maggiore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


120 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni di copiatura e di blocco
3.10 Lettura di un blocco dati nella memoria di caricamento con la SFC 83 "READ_DBL"

Procedimento
La SFC 83 "READ_DBL" è una SFC che lavora in modo asincrono, vale a dire che l'elaborazione si
estende per più richiami di SFC. Per avviare il job, richiamare la SFC 83 con REQ = 1.
Con i parametri di uscita RET_VAL e BUSY viene visualizzato lo stato del job.
Vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo
asincrono

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


REQ INPUT BOOL E, A, M, D, L REQ = 1: richiesta di lettura
SRCBLK INPUT ANY D Puntatore sul blocco dati nella memoria
di caricamento dalla quale vengono letti
i dati
RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore
BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: l'operazione di lettura non è
ancora terminata.
DSTBLK OUTPUT ANY D Puntatore sul blocco dati nella memoria
di lavoro nella quale scrivere i dati

Informazioni di errore

Codice errore Descrizione


(W#16#...)
0000 Nessun errore
0081 L'area di destinazione è maggiore dell'area sorgente.
L'area sorgente viene scritta completamente nell'area di destinazione, i restanti byte dell'area
di destinazione non vengono modificati.
7000 Primo richiamo con REQ=0: trasmissione dati non attiva; BUSY ha il valore 0.
7001 Primo richiamo con REQ=1: trasmissione dati avviata; BUSY ha il valore 1.
7002 Richiamo temporaneo (REQ non rilevante): trasmissione dati già attiva; BUSY ha il valore 1
8081 L'area sorgente è maggiore dell'area di destinazione.
L'area di destinazione viene scritta completamente, i restanti byte dell'area sorgente vengono
ignorati.
8093 Nel parametro DSTBLK non è indicato un blocco dati/è indicato un blocco dati che non esiste
nella memoria di lavoro
80B1 Nel parametro SRCBLK non è indicato un blocco dati o il blocco dati indicato non è un oggetto
della memoria di caricamento (ad es. un DB creato tramite SFC 22).
80B4 Non è consentito leggere un DB con attributo F.
80C0 Il DB di destinazione viene attualmente elaborato da un'altra SFC o da una funzione di
comunicazione.
80C3 Al momento è già stato raggiunto il numero max. di SFC 83 attive contemporaneamente.
8xyy Codici di errore generali, vedere Analisi degli errori con il parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 121
Funzioni di copiatura e di blocco
3.11 Scrittura di un blocco dati nella memoria di caricamento con la SFC 84 "WRIT_DBL"

3.11 Scrittura di un blocco dati nella memoria di caricamento con la


SFC 84 "WRIT_DBL"

Descrizione
Con la SFC 84 "WRIT_DBL" (write data block in load memory) è possibile trasferire il contenuto di un
DB o di un'area di un DB dalla memoria di lavoro in un DB o un'area di un DB nella memoria di
caricamento (Micro Memory Card). Il DB sorgente deve essere rilevante per l'esecuzione, vale a dire
che non deve essere stato creato con l'attributo UNLINKED. Esso può tuttavia essere stato creato
con la SFC 22 "CREAT_DB".
Per garantire la coerenza dei dati, non è consentito modificare l'area sorgente nel corso
dell'elaborazione della SFC 84 (vale a dire finché il parametro BUSY ha il valore TRUE)..
Per i parametri SRCBLK (soruce block) e DSTBLK (destination block) valgono le seguenti limitazioni:
• Con un puntatore ANY del tipo BOOL, la lunghezza deve essere divisibile per 8.
• Con un puntatore ANY del tipo STRING, la lunghezza deve essere uguale a 1.
La lunghezza del DB di destinazione può essere eventualmente determinata con la SFC 24
"TEST_DB".
La SFC 84 non modifica la somma di controllo del programma utente quando si scrive un DB creato
tramite SFC. Se si tratta di un DB caricato, invece, la prima scrittura nel DB modifica la somma di
controllo del programma utente.

Avvertenza
La SFC 84 non è adatta alla scrittura frequente (ciclica) di variabili nella memoria di caricamento
poiché la tecnologia della Micro Memory Card consente solamente un numero limitato di accessi in
scrittura. Vedere il manuale di riferimento "Sistemi di automazione SIMATIC S7-300, Configurazione
e dati della CPU: CPU 31xC e CPU 31x".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


122 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni di copiatura e di blocco
3.11 Scrittura di un blocco dati nella memoria di caricamento con la SFC 84 "WRIT_DBL"

Procedimento
La SFC 84 "WRIT_DBL" è una SFC che lavora in modo asincrono, vale a dire che l'elaborazione si
estende per più richiami di SFC. Per avviare il job, richiamare la SFC 84 con REQ = 1.
Con i parametri di uscita RET_VAL e BUSY viene visualizzato lo stato del job.
Vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo
asincrono

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


REQ INPUT BOOL E, A, M, D, L REQ = 1: richiesta di scrittura
SRCBLK INPUT ANY D Puntatore sul blocco dati nella memoria di
lavoro dalla quale si leggono i dati
RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore
BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: l'operazione di scrittura non è
ancora terminata.
DSTBLK OUTPUT ANY D Puntatore sul blocco dati nella memoria di
caricamento nella quale scrivere i dati

Informazioni di errore

Codice errore Descrizione


(W#16#...)
0000 Nessun errore
0081 L'area di destinazione è maggiore dell'area sorgente.
L'area sorgente viene scritta completamente nell'area di destinazione, i restanti byte
dell'area di destinazione non vengono modificati.
7000 Primo richiamo con REQ=0: trasmissione dati non attiva; BUSY ha il valore 0.
7001 Primo richiamo con REQ=1: trasmissione dati avviata; BUSY ha il valore 1.
7002 Richiamo temporaneo (REQ non rilevante): trasmissione dati già attiva; BUSY ha il
valore 1
8081 L'area sorgente è maggiore dell'area di destinazione.
L'area di destinazione viene scritta completamente, i restanti byte dell'area sorgente
vengono ignorati.
8092 Tipo di funzionamento scorretto: mentre la SFC 84 era attiva, la CPU è entrata in
STOP. Con il prossimo passaggio a RUN viene emesso questo codice di errore.
Richiamare nuovamente la SFC 84.
8093 Nel parametro SRCBLK non è indicato un blocco dati/è indicato un blocco dati che non
esiste nella memoria di lavoro
80B1 Nel parametro DSTBLK non è indicato un blocco dati o il blocco dati indicato non è un
oggetto della memoria di caricamento (ad es. un DB creato tramite SFC 22).
80B4 Un DB con attributo F non deve essere modificato.
80C0 La destinazione viene attualmente elaborata da un'altra SFC o da una funzione di
comunicazione. Esempio: caricamento di un DB dalla CPU nel PG. Si intende
modificare il contenuto di questo DB tramite SFC 84.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 123
Funzioni di copiatura e di blocco
3.11 Scrittura di un blocco dati nella memoria di caricamento con la SFC 84 "WRIT_DBL"

Codice errore Descrizione


(W#16#...)
80C3 Al momento è già stato raggiunto il numero max. di SFC 84 attive
contemporaneamente.
8xyy Codici di errore generali, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


124 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni di copiatura e di blocco
3.12 Creazione di un blocco dati con la SFC 85 "CREA_DB"

3.12 Creazione di un blocco dati con la SFC 85 "CREA_DB"

Descrizione
Con la SFC 85 "CREA_DB" (create data block) è possibile creare nel programma utente un blocco
dati che non contiene valori preimpostati bensì dati casuali. La SFC crea un blocco dati con un
numero ripreso da un'area indicata e con dimensioni predefinite. Dall'area indicata, la SFC assegna
al DB il numero più basso possibile. Per creare un DB con un determinato numero occorre
assegnare lo stesso numero al limite inferiore e al limite superiore dell'area da predefinire. I numeri
dei DB già contenuti nel programma utente non sono più assegnabili. La lunghezza del DB deve
essere indicata con un numero pari.
A seconda del parametro ATTRIB scelto, il DB creato ha la proprietà RETAIN oppure NON_RETAIN:
• RETAIN (= a ritenzione) significa che il DB viene creato nell'area a ritenzione della memoria di
lavoro. In questo caso perciò i valori attuali del DB vengono mantenuti anche in caso di RETE
OFF/ON e in seguito a qualunque nuovo avviamento (a caldo).
• NON_RETAIN (= non a ritenzione) significa che il DB viene creato nell'area non a ritenzione
della memoria di lavoro. In questo caso perciò i valori attuali del DB saranno indefiniti in caso di
RETE OFF/ON e in seguito a qualunque nuovo avviamento (a caldo).
Se nella memoria di lavoro non esiste una suddivisione tra area a ritenzione e non, il parametro
ATTRIB viene ignorato e quindi i valori del DB vengono mantenuti in seguito a qualunque passaggio
RETE OFF/ON e a qualunque nuovo avviamento (a caldo).

Interruzione della funzione


La SFC 85 "CREA_DB" può essere interrotta soltanto da OB con priorità maggiore. Se d'altra parte
in un OB con priorità maggiore viene richiamata una SFC 85 "CREA_DB", il richiamo viene respinto
con il codice di errore W#16#8091.

Parametri Dichiarazione Tipo di Area di memoria Descrizione


dati
LOW_LIMIT INPUT WORD E, A, M, D, L, cost. Il valore limite inferiore è il numero più
basso nel campo dei numeri che si
possono assegnare al blocco dati.
UP_LIMIT INPUT WORD E, A, M, D, L, Il valore limite superiore è il numero più
Konst. alto nel campo die numeri che si possono
assegnare al blocco dati.
COUNT INPUT WORD E, A, M, D, L, cost. Il valore di conteggio indica il numero dei
byte di dati che si desidera riservare per il
blocco dati. Qui è necessario indicare un
numero pari di byte (max. 65534).
ATTRIB INPUT BYTE E, A, M, D, L, cost. Attributi DB:
• B#16#00: RETAIN
• B#16#04: NON_RETAIN
RET_VAL OUTPUT INT E, A, M, D, L Se nel corso dell'elaborazione della
funzione si verifica un errore, il valore di
ritorno contiene un codice di errore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 125
Funzioni di copiatura e di blocco
3.12 Creazione di un blocco dati con la SFC 85 "CREA_DB"

Parametri Dichiarazione Tipo di Area di memoria Descrizione


dati
DB_NUMBER OUTPUT WORD E, A, M, D, L Il numero del blocco dati è quello del
blocco dati creato. In caso di errore (bit
15 di RET_VAL impostato) in
DB_NUMBER viene registrato il valore 0.

Informazioni di errore

Codice errore Desrcizione


(W#16#...)
0000 Nessun errore
8091 È stata richiamata la SFC 85 annidata.
8092 La funzione "Crea DB" non è momentaneamente eseguibile perché
• la funzione "Comprimi la memoria utente" è attiva
• la CPU software WinAC ha rilevato un errore nel sistema operativo del computer sul
quale è installato WinAC.
8094 Valore non consentito in ATTRIB
80A1 Errore nel numero del DB:
• Il numero è 0
• Il numero supera il numero di DB specifico della CPU
• Limite inferiore > limite superiore
80A2 Errore nella lunghezza del DB:
• La lunghezza è 0
• La lunghezza è un numero dispari
• La lunghezza è maggiore di quanto consentito dalla CPU
80B1 Non vi sono numeri di DB liberi
80B2 Spazio di memoria insufficiente
80B3 L'area di memoria contigua a disposizione non è sufficiente (comprimere la memoria!)
8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


126 Manuale di riferimento, 04/2017, A5E41911986-AA
4 SFC per il controllo del programma

4.1 Retrigger del controllo tempo del ciclo con la SFC 43 "RE_TRIGR"

Descrizione
Con la SFC 43 "RE_TRIGR" (retrigger watchdog) si avvia di nuovo il controllo tempo del ciclo della
CPU.

Parametri
La SFC 43 "RE_TRIGR" non possiede parametri.

Informazioni di errore
La SFC 43 "RE_TRIGR" non fornisce alcuna informazione di errore.

4.2 Commutazione della CPU in STOP con la SFC 46 "STP"

Descrizione
Con la SFC 46 "STP" (stop) si conduce la CPU nello stato di funzionamento STOP.

Parametri
La SFC 46 "STP" non possiede parametri.

Informazioni di errore
La SFC 46 "STP" non fornisce alcuna informazione di errore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 127
SFC per il controllo del programma
4.3 Ritardo dell'elaborazione del programma utente con la SFC 47 "WAIT"

4.3 Ritardo dell'elaborazione del programma utente con la SFC 47


"WAIT"

Descrizione
Con la SFC 47 "WAIT" si possono programmare nel programma utente ritardi temporali o tempi di
attesa. È possibile programmare tempi di attesa fino a 32767 µs. Il tempo di attesa più breve
possibile dipende dalla particolare CPU e corrisponde al tempo di esecuzione della SFC 47.

Interruzione della funzione


La SFC 47 "WAIT" può essere interrotta da OB a più elevata priorità.

Avvertenza
(solo per S7-300, ma non per la CPU 318)
Il tempo di ritardo programmato con la SFC 47 è un tempo minimo e si allunga del tempo di
esecuzione della classe di priorità annidata così come del carico del sistema!

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
WT INPUT INT E, A, M, D, L, cost. Il parametro WT contiene il tempo di ritardo in
µs.

Informazioni di errore
La SFC 47 "WAIT" non fornisce alcuna informazione di errore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


128 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per il controllo del programma
4.4 Attivazione interrupt di multicomputing con la SFC 35 "MP_ALM"

4.4 Attivazione interrupt di multicomputing con la SFC 35 "MP_ALM"

Descrizione
Nel funzionamento multicomputing il richiamo della SFC 35 "MP_ALARM" attiva l'allarme di
multicomputing. Di conseguenza su tutte le relative CPU avviene l'avvio sincronizzato dell'OB 60.
Nel funzionamento ad un processore e nel funzionamento nel telaio di montaggio segmentato
l'OB 60 viene avviato solo sulla CPU sulla quale è stata richiamata la SFC 35.

Con il parametro d'ingresso JOB è possibile contrassegnare la causa per l'allarme di multicomputing
desiderato. Questa identificazione di job viene trasmessa a tutte le CPU relative e può essere
analizzata nell'OB 60 (vedi /234/).

È possibile richiamare la SFC 35 "MP_ALM" in ogni punto del programma. Tuttavia, poiché il
richiamo ha senso solo nello stato di funzionamento RUN, l'allarme di multicomputing viene
soppresso nello stato di funzionamento AVVIAMENTO. Questo viene comunicato tramite un valore
di funzione.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
JOB INPUT BYTE E, A, M, D, L, cost. Identificazione di job
valori possibili: da 1 a 15
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'esecuzione della funzione si
verifica un errore, il valore di ritorno riceve un
codice di errore.

Informazioni di errore

Codice di errore Significato


(W#16#...)
0000 Nessun errore.
8091 Il parametro di ingresso JOB contiene un valore non ammesso.
80A0 Sulla propria o su un'altra CPU l'esecuzione dell'OB 60 del precedente allarme di
multicomputing non è ancora conclusa.
80A1 Errato stato di funzionamento (AVVIAMENTO invece di RUN).
8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 129
SFC per il controllo del programma
4.5 Comando dell’operazione CiR con la SFC 104 "CiR"

4.5 Comando dell’operazione CiR con la SFC 104 "CiR"


Con la SFC 104 "CiR" è possibile influenzare la riconfigurazione in RUN nel modo seguente:
• L’operazione CiR può essere completamente disabilitata, impedendo il caricamento nella CPU
di una configurazione modificata da PG. La disabilitazione rimane attiva fino alla sua
eliminazione con la SFC 104 "CiR".
• L’operazione CiR può essere disabilitata limitatamente a determinate condizioni impostando un
limite massimo per il tempo di sincronizzazione CiR. In questo caso il caricamento nella CPU di
una configurazione modificata da PG verrà ammesso solamente se l’analisi della configurazione
modificata per mezzo della CPU ha una durata inferiore a questo limite massimo.
• È possibile verificare se l’operazione CiR è abilitata o meno. Nel caso sia abilitata o lo sia solo
limitatamente, nel parametro A_FT è specificato anche il limite massimo corrente del tempo di
sincronizzazione CiR.

Avvertenza
Durante il tempo di sincronizzazione CiR le uscite sono congelate e gli ingressi non vengono
analizzati.

Parametri

Parametri Dichiaraz- Tipo di Area di Descrizione


ione dati memoria
MODE INPUT BYTE E, A, M, D, L, Identificazione di job
cost. Valori possibili:
• 0: funzione di informazione
• 1: abilitazione operazione CiR (il limite massimo
del tempo di sincronizzazione CiR viene
impostato al valore di default)
• 2: disabilitazione totale operazione CiR
• 3: disabilitazione condizionata operazione CiR. Il
limite massimo del tempo di sincronizzazione CiR
si predefinisce in FRZ_TIME.
FRZ_TIME INPUT TIME E, A, M, D, L, "freeze time"
cost. Limite superiore del tempo di sincronizzazione CiR in
ms
Campo di valori ammesso: 60 ... 2500 ms (valore di
default: 1000 ms)
Avvertenza: FRZ_TIME è rilevante solo per MODE=3.
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione avviene un
errore, il valore di ritorno contiene un codice di errore
Con MODE=, in RET_VAL è specificato se
l’operazione CiR è abilitata o meno.
A_FT OUTPUT TIME E, A, M, D, L Limite massimo corrente valido del tempo di
sincronizzazione CiR

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


130 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per il controllo del programma
4.5 Comando dell’operazione CiR con la SFC 104 "CiR"

Informazioni di errore

Codice di Spiegazione
errore
(W#16#...)
0000 Il job è stato eseguito senza errori (questo codice di errore è ammesso solamente con MODE
=1 o MODE=2 o MODE=3.
0001 L’operazione CiR è abilitata (questo codice di errore è possibile solamente con MODE=0.)
0002 L’operazione CiR è completamente disabilitata (questo codice di errore è possibile
solamente con MODE=0.)
0003 L’operazione CiR è disabilitata in alcune circostanze (questo codice di errore è possibile
solamente con MODE=0.)
8001 La CPU non è pronta per un’operazione CiR. Utilizzare una CPU H nel sistema H
(funzionamento singolo) oppure lavorare con una CPU standard in funzionamento
multicomputing.
8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Esempio applicativo della SFC 104


Con la SFC 104 "CIR" è possibile impedire che vengano avviate operazioni CiR negli intervalli di
tempo in cui è opportuna e necessaria la massima efficienza della CPU.
A tal fine occorre installare la seguente parte di programma nella CPU prima dell’inizio dell’intervallo
di tempo con intensa attività di processo:
• Richiamo della SFC 104 con MODE = 2 (disabilitare completamente l’operazione CiR)
Al termine dell’intervallo di tempo con intensa attività di processo installare nella CPU la seguente
parte di programma:
• Richiamo della SFC 104 con MODE = 1 (riabilitare l’operazione CiR) o MODE=3 (disabilitare
limitatamente l’operazione CiR)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 131
SFC per il controllo del programma
4.6 Attivazione e disattivazione della protezione di accesso CPU con l'SFC 109 "PROTECT"

4.6 Attivazione e disattivazione della protezione di accesso CPU con


l'SFC 109 "PROTECT"

Descrizione
L’SFC 109 consente di impostare i seguenti livelli di protezione sulla CPU:

• Richiamo dell’SFC 109 con MODE=0: impostazione del livello di protezione 1


Un blocco eventualmente presente dell’autorizzazione password viene annullato richiamando
l’SFC 109 con MODE=0.
• Richiamo dell’SFC 109 con MODE=1: impostazione del livello di sicurezza 2 con autorizzazione
password. Ciò significa che l’utente può annullare la protezione in scrittura impostata con
l’SFC 109 immettendo la password valida.
Un blocco eventualmente presente dell’autorizzazione password viene annullato richiamando
l’SFC 109 con MODE=1.
• Richiamo dell’SFC 109 con MODE=12: impostazione del livello di sicurezza 2 con
autorizzazione password. Ciò significa che l’utente non è in grado di annullare la protezione in
scrittura e lettura impostata con l’SFC 109 immettendo la password valida. Se al momento del
richiamo dell’SFC 109 è presente un collegamento autorizzato, il richiamo dell’SFC non ha alcun
effetto su questo collegamento.

Il significato dei livelli di protezione si trovano ad es. nel Manuale del prodotto SIMATIC S7-400
Sistema di automazione S7-400 Dati della CPU.

Avvertenza
L’SFC 109 "PROTECT" non consente di impostare un livello di protezione più basso di quello
progettato con STEP 7 "Configurazione Hardware".
Ad es.:
È stato progettato il livello di protezione 3 e successivamente richiamato l’SFC 109 con MODE=12.
Questo provoca un blocco dell’autorizzazione della password.
Richiamando nuovamente l’SFC 109 con MODE=0 o MODE=1 viene mantenuto il livello di
protezione 3 e la protezione in lettura e scrittura viene annullata immettendo la password valida.

Per ulteriori informazioni sull'efficacia del livello di protezione 2 e 3 dopo il richiamo dell'SFC 109,
consultare la lista parziale SZL con l'ID SZLW#16#0232 e l'indice W#16#0004.

Nota
Il livello di protezione della CPU viene indicato nella finestra di dialogo "Stato di funzionamento" di
SIMATIC Manager.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


132 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per il controllo del programma
4.6 Attivazione e disattivazione della protezione di accesso CPU con l'SFC 109 "PROTECT"

Effetti della commutazione del modo di funzionamento sul livello di protezione impostato
tramite l'SFC 109

Operazione Livello di protezione impostato con SFC-109


• Selettore dei modi operativi su STOP Viene impostato sul livello di protezione 1 (sono
• RETE ON non bufferizzata consentite tutte le funzioni PG)
• Cancellazione totale tramite il selettore dei modi
operativi
• Avviamento a freddo Viene impostato dal sistema operativo sul livello di
• Nuovo avviamento (avviamento a caldo) protezione 1 (sono consentite tutte le funzioni PG). È
possibile, se necessario, impostare nel programma il
livello di protezione 2 o 3 richiamando l'SFC 109.
RETE ON bufferizzata Rimane invariato
Modifica dello stato di funzionamento Rimane invariato
RUN/AVVIO/ALT -> STOP (tramite richiamo
dell'SFC 46, errore di programmazione senza relativo
OB di errore oppure con avviamento manuale tramite
PG)
S7-400: riavviamento (manuale tramite PG oppure Rimane invariato
automaticamente dopo RETE ON)

Parametri

Parametri Dichiaraz- Tipo di Area di memoria Descrizione


ione dati
MODE INPUT WORD E, A, M, D, L, ID del job
costante. Valori possibili:
• W#16#0000: impostazione del livello di
protezione 1 (sono consentite tutte le
funzioni PG)
• W#16#0001: impostazione del livello di
protezione 2 con autorizzazione della
password (impossibile modificare il
programma e la configurazione della
CPU. La lettura del programma nella
CPU può essere eseguita con il PG)
• W#16#000C: impostazione del livello
di protezione 3 (protezione in scrittura
e lettura) senza autorizzazione
password
RET_VAL OUTPUT INT E, A, M, D, L Valore di ritorno
Se durante l'elaborazione di una funzione si
verifica un errore, al valore di ritorno viene
inviata un'informazione di errore

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 133
SFC per il controllo del programma
4.6 Attivazione e disattivazione della protezione di accesso CPU con l'SFC 109 "PROTECT"

Informazione di errore

Codice di Spiegazione
errore
(W#16#...)
0000 Il job è stato eseguito senza errori
8090 Valore non valido sul parametro MODE.
80C3 I mezzi operativi richiesti sono momentaneamente occupati.

Esempi applicativi
• Si intende proteggere la CPU nello stato di funzionamento RUN da qualsiasi accesso di lettura.
La rimozione della protezione deve avvenire esclusivamente impostando su STOP il selettore
dei modi operativi.
A tal fine nell'OB 100, richiamare l'SFC 109 con MODE = W#16#0001. In questo modo rimane
impostato il livello di protezione 2 anche dopo un nuovo avviamento (avviamento a caldo).
• Si intende, in funzione dallo stato di un ingresso o di una variabile comandata da un sistema di
servizio e supervisione, caricare un programma nella CPU senza dover commutare su STOp il il
selettore dei modi operativi.
Per eseguire quest'operazione, interrogare ciclicamente l'ingresso o la variabile interessati. In
presenza di un valore definito dell'ingresso o della variabile, richiamare l'SFC 109 tramite
MODE = W#16#0000. Successivamente è possibile caricare il programma nella CPU. Al
termine del caricamento richiamare l'SFC 109 tramite MODE = W#16#0001 per ripristinare il
livello di protezione 2.
• Si intende, in funzione dallo stato di un ingresso o di una variabile comandata da un sistema di
servizio e supervisione, impostare la protezione in scrittura e lettura sulla CPU.
Per eseguire quest'operazione, interrogare ciclicamente l'ingresso o la variabile interessati. In
presenza di un valore definito dell'ingresso o della variabile, richiamare l'SFC 109 tramite
MODE = W#16#000C. Successivamente la CPU è protetta in scrittura e lettura. Se si intende
riabilitare la CPU, richiamare l’SFC 109 con MODE = W#16#0000 e W#16#0001 per ripristinare
il livello di protezione originario.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


134 Manuale di riferimento, 04/2017, A5E41911986-AA
5 SFC per la gestione dell'orologio

5.1 Impostazione dell'orologio con la SFC 0 "SET_CLK"

Descrizione
Con il richiamo della SFC 0 "SET_CLK" (set system clock) si impostano l'ora e la data dell'orologio
della CPU. Esso inizia a girare a partire dall'ora e dalla data stabilite.
Se l'orologio è un orologio master, la CPU avvia inoltre, con il richiamo della SFC 0, la
sincronizzazione degli orologi. L'intervallo di sincronizzazione viene stabilito con STEP 7.

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


PDT INPUT DT D, L All'ingresso PDT si introducono la data
e l'ora che si vogliono impostare.
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della
funzione avviene un errore, il valore di
ritorno contiene un codice di errore.

Data e ora
La data e l'ora vengono introdotte come tipi DT. Un esempio per il 15 Gennaio 1995, ore 10:30 e 30
secondi è : DT#1995-01-15-10:30:30.L'introduzione dell'ora è possibile solo in singoli secondi. Il
giorno della settimana viene calcolato della SFC "SET_CLK" in base alla data.
È possibile eseguire la formattazione del tipo di dati DT con la FC 3 "D_TOD_DT" (vedi Funzioni
temporali FC1, FC 3, FC 6, FC 7, FC 8, FC 33, FC 34, FC 35, FC 40.

Informazioni di errore

Codice di Spiegazione
errore
(W#16#...)
0000 Nessun errore
8080 Errore nella data
8081 Errore nell'ora
8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 135
SFC per la gestione dell'orologio
5.2 Lettura dell’orologio con la SFC 1 "READ_CLK"

5.2 Lettura dell’orologio con la SFC 1 "READ_CLK"

Descrizione
Con la SFC 1 "READ_CLK" (read system clock) si legge l'orologio della CPU. In questo modo si
ricavano la data e l'ora attuali.

Parametri Dichiaraz- Tipo di Area di Descrizione


ione dati memoria
RET_VAL OUTPUT INT E, A, M, D, L Se avviene un errore durante l'elaborazione della
funzione, il valore di ritorno contiene un codice di
errore.
CDT OUTPUT DT D, L All'uscita CDT vengono fornite la data e l'ora attuali.

Informazioni di errore
Vedere Analisi degli errori con il parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


136 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la gestione dell'orologio
5.3 Sincronizzazione di orologi slave con la SFC 48 "SNC_RTCB"

5.3 Sincronizzazione di orologi slave con la SFC 48 "SNC_RTCB"

Definizione: Sincronizzazione di orologi slave


Con "Sincronizzazione di orologi slave" si intende il trasferimento della data e dell'ora dall'orologio
master di un segmento di bus (ad es. bus S7-400-K, MPI, bus dell'apparecchio S7) a tutti gli orologi
slave di questo segmento di bus.

Descrizione
La SFC 48 "SNC_RTCB" (synchronize real time clocks) permette di sincronizzare tutti gli orologi
slave presenti su un segmento di bus indipendentemente dall’intervallo di sincronizzazione
parametrizzato. Presupposto per effettuare la sincronizzazione è che la SFC 48 venga richiamata su
una CPU, il cui orologio in tempo reale è stato parametrizzato come orologio master per almeno un
segmento di bus. La parametrizzazione è stata eseguita con STEP 7.

Parametri Dichiaraz- Tipo di Area di Descrizione


ione dati memoria
RET_VAL OUTPUT INT E, A, M, D, L Se avviene un errore durante l'elaborazione della
funzione, il valore di ritorno contiene un codice di
errore.

Informazioni di errore

Codice di errore Spiegazione


(W#16#...)
0000 Durante la sincronizzazione non si è presentato nessun errore.
0001 L'orologio presente non è stato parametrizzato come orologio master per nessun
segmento di bus.
8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 137
SFC per la gestione dell'orologio
5.4 Impostazione dell'orologio e del relativo stato con la SFC 100 "SET_CLKS"

5.4 Impostazione dell'orologio e del relativo stato con la SFC 100


"SET_CLKS"

Descrizione
La SFC 100 "SET_CLKS" permette di impostare l'orologio della CPU dell'utente e il relativo stato.

Attenzione
Impiegare la SFC 100 soltanto se nella CPU dell'utente l'orologio non viene sincronizzato. In caso
contrario, a ogni sincronizzazione, viene ripreso lo stato dell'orologio master. Un valore predefinito
tramite SFC viene così sovrascritto.

Con il parametro MODE è possibile prestabilire se si desidera modificare solo l'orologio, solo lo stato
dell'orologio oppure entrambi i valori. La tabella seguente fornisce le informazioni necessarie.

MODE Significato
(B#16#...)
01 Impostazione dell'orologio
Il richiamo della SFC corrisponde a quello della SFC 0 "SET_CLK".
I parametri di ingresso CORR, SUMMER e ANN_1 non vengono analizzati.
02 Impostazione dello stato dell'orologio
Il parametro di ingresso PDT non viene analizzato. Dai restanti parametri di ingresso vengono
formati i seguenti elementi dello stato dell'orologio:
• Valore di correzione, incluso il segno +/-
• Ora di preavviso
• Indicazione dell'ora solare/legale
• La risoluzione dell'orologio viene impostata compatibilmente con quella della CPU. Il bit di
mancanza di sincronismo dello stato dell'orologio viene indicato con FALSE.
• L'ora resta invariata.
03 Impostazione dell'orologio e del relativo stato

Avvertenza
Lo stato dell'orologio della propria CPU può essere determinato leggendo l'ID SZL W#16#0132
indice W#16#0008 con la SFC 51 "RDSYSST".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


138 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la gestione dell'orologio
5.4 Impostazione dell'orologio e del relativo stato con la SFC 100 "SET_CLKS"

Parametri Dichiarazione Tipo di Area di Descrizione


dati memoria
MODE INPUT BYTE E, A, M, D, L, Tipo di funzionamento
cost. Possibili valori:
B#16#01: Impostazione orologio
B#16#02: Impostazione stato orologio
B#16#03: Impostazione orologio e stato
PDT INPUT DT D, L Ora predefinita
CORR INPUT INT E, A, M, D, L, Valore di correzione (griglia di 0,5 h)
cost. Possibili valori: da -24 a +26
SUMMER INPUT BOOL E, A, M, D, L, Indicazione ora solare/legale:
cost. • 0 = ora solare
• 1 = ora legale
ANN_1 INPUT BOOL E, A, M, D, L, Ora di preavviso:
cost. 1: con il successivo cambio dell'ora, l'ora legale
viene commutata in ora solare e viceversa.
RET_VAL OUTPUT INT E, A, M, D, L Codice di errore

Informazioni di errore

Codice errore Spiegazione


(W#16#...)
0000 Nessun errore
8080 MODE non compreso nel campo di valori ammesso
8081 CORR non compreso nel campo di valori ammesso
(solo con MODE = B#16#02 o con MODE = B#16#03)
8082 PDT al di fuori del campo di valori ammesso: Data e/o ora non consentite
8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 139
SFC per la gestione dell'orologio
5.4 Impostazione dell'orologio e del relativo stato con la SFC 100 "SET_CLKS"

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


140 Manuale di riferimento, 04/2017, A5E41911986-AA
6 SFC per la gestione del contatore del tempo di
esercizio

6.1 Contatore del tempo di esercizio

Introduzione
Le CPU dispongono di un certo numero di contatori del tempo di esercizio (vedere "Dati tecnici delle
CPU").
• Se la CPU è provvista di contatori del tempo di esercizio a 16 bit, con le SFC 2, 3 e 4 è possibile
impostare, avviare, arrestare e leggere tali contatori.
• Se la CPU è provvista di contatori del tempo di esercizio a 32 bit, con l’SFC 101 "RTM" è
possibile impostare, avviare, arrestare e leggere tali contatori.

Avvertenza
Le SFC 2, 3 e 4 possono essere utilizzate anche per contatori del tempo di esercizio a 32 bit. In
questo caso tuttavia i contatori del tempo di esercizio si comportano come contatori a 16 bit (campo
di validità da 0 a 32767 ore).
Vedi anche Set di dati dell'estratto della lista parziale con ID SZL W#16#0132 Indice W#16#000B.

Uso
Un contatore può essere usato per le applicazioni più disparate:
• calcolo della durata di esercizio della CPU
• calcolo della durata di esercizio delle apparecchiature di controllo.

Caratteristiche del contatore


Con il comando di start il contatore comincia sempre a contare a partire dal valore raggiunto per
ultimo. Se si intende cominciare il conteggio da un altro valore, tale valore deve essere
esplicitamente assegnato (SFC 2 o SFC 101 con MODE=4). Se la CPU va in STOP o se l'utente
arresta il contatore, la CPU "registra" il valore attuale. In caso di nuovo avviamento (avviamento a
caldo) e avviamento a freddo della CPU il contatore deve essere di nuovo avviato (SFC 3 o SFC 101
con MODE=1). In seguito all'aggiornamento del sistema operativo o dopo il resettaggio della CPU
allo stato di fornitura, i contatori delle ore di esercizio vengono resettati sul valore 0.

Campo di validità
• CPU con contatori del tempo di esercizio a 16 bit: da 0 a 32 767 ore
• CPU con contatori del tempo di esercizio a 32 bit: da 0 a (2 elevato a 31esima potenza)
-1 ora= 2 147 483 647 ore

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 141
SFC per la gestione del contatore del tempo di esercizio
6.2 Gestione dei contatori del tempo di esercizio con la SFC 101 "RTM"

6.2 Gestione dei contatori del tempo di esercizio con la SFC 101
"RTM"

Descrizione
La SFC 101 "RTM" (run-time meter) permette di impostare, avviare, arrestare e leggere i contatori
del tempo di esercizio a 32 bit.
Per leggere tutti i contatori del tempo di esercizio a 32 bit della CPU, utilizzare la SFC 51 "RDSYSST"
con SZL_ID=W#16#0132 e INDICE=W#16#000B (per i contatori del tempo di esercizio da 0 a 7) o
INDICE=W#16#000C (per i contatori del tempo di esercizio da 8 a 15). (vedi anche Set di dati
dell'estratto della lista parziale con ID SZL W#16#0132 Indice W#16#000B..

Parametri Dichiarazione Tipo di Area di memoria Descrizione


dati
NR INPUT BYTE E, A, M, D, L, cost. Numero del contatore del tempo di
esercizio
La numerazione inizia da 0.
Il numero dei contatori ore d'esercizio della
CPU è indicato nei dati tecnici.
MODE INPUT BYTE E, A, M, D, L, cost. Identificazione job:
• 0: lettura (lo stato viene quindi
registrato nel valore CQ corrente in
CV). Se il contatore del tempo di
esercizio funziona per oltre 1 ora (2
elevato alla 31esima potenza) si ferma
nell’ultimo valore indicato ed emette la
segnalazione di errore "Overflow".
• 1: avvio (con l’ultimo valore di
conteggio)
• 2: arresto
• 4: impostazione (sul valore indicato in
PV)
• 5: impostazione (sul valore indicato in
PV) e avvio
• 6: impostazione (sul valore indicato in
PV) e arresto
PV INPUT DINT E, A, M, D, L, Konst. Nuovo valore del contatore del tempo di
esercizio
RET_VAL OUTPUT INT E, A, M, D, L Nel caso di un errore durante l'elaborazione
della funzione, il valore di ritorno contiene
un codice di errore.
CQ OUTPUT BOOL E, A, M, D, L Stato del contatore del tempo di esercizio
(1: funzionamento)
CV OUTPUT DINT E, A, M, D, L Valore corrente del contatore del tempo di
esercizio

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


142 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la gestione del contatore del tempo di esercizio
6.2 Gestione dei contatori del tempo di esercizio con la SFC 101 "RTM"

Compatibilità con programmi concepiti per una CPU con contatori del tempo di esercizio a
16 bit
I contatori del tempo di esercizio a 32 bit possono essere utilizzati anche con le SFC 2 "SET_RTM",
3 "CTRL_RTM" e 4 "READ_RTM". In questo caso tuttavia questi contatori si comportano come
contatori a 16 bit (campo di validità da 0 a 32767 ore).
Nell’estratto della lista parziale con ID SZL-W#16#0132 e indice W#16#0008 i contatori del tempo di
esercizio da 0 a 7 vengono visualizzati come contatori a 16 bit. Questo consente di continuare ad
utilizzare programmi concepiti per una CPU con contatori del tempo di esercizio a 16 bit, e l’estratto
della lista parziale con ID SZL W#16#0132 e indice W#16#0008.

Informazioni di errore

Codice Spiegazione
errore
(W#16#...)
0000 Nessun errore
8080 Numero del contatore del tempo di esercizio errato
8081 È stato trasferito un valore negativo al parametro PV.
8082 Overflow del contatore del tempo di esercizio
8091 Il parametro di ingresso MODE contiene un valore non ammesso.
8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 143
SFC per la gestione del contatore del tempo di esercizio
6.3 Impostazione del contatore con la SFC 2 "SET_RTM"

6.3 Impostazione del contatore con la SFC 2 "SET_RTM"

Descrizione
Con la SFC 2 "SET_RTM" (set run-time meter) si setta un contatore della CPU ad un valore
predefinito. Il numero dei contatori regolabili è specifico per la particolare CPU.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
NR INPUT BYTE E, A, M, D, L, cost. L'ingresso NR contiene il numero del
contatore che si vuole regolare.
La numerazione inizia con 0.
Il numero dei contatori ore d'esercizio della
CPU è indicato nei dati tecnici.
PV INPUT INT E, A, M, D, L, cost. L'ingresso PV contiene il valore di
regolazione del contatore.
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione
avviene un errore, il valore di ritorno contiene
un codice di errore.

Informazioni di errore

Codice di Spiegazione
errore
(W#16#...)
0000 Nessun errore
8080 Numero di contatore errato
8081 Al parametro PV è stato dato un valore negativo
8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


144 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la gestione del contatore del tempo di esercizio
6.4 Avvio e arresto del contatore con la SFC 3 "CTRL_RTM"

6.4 Avvio e arresto del contatore con la SFC 3 "CTRL_RTM"

Descrizione
Con la SFC 3 "CTRL_RTM" (control run-time meter) si avvia e si arresta un contatore del tempo di
esercizio.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
NR INPUT BYTE E, A, M, D, L, cost. L'ingresso NR contiene il numero del
contatore, che si vuole avviare o fermare.
La numerazione inizia con 0.
Il numero dei contatori ore d'esercizio della
CPU è indicato nei dati tecnici.
S INPUT BOOL E, A, M, D, L, cost. L'ingresso S avvia ovvero arresta il contatore.
Si ponga lo stato del segnale a "0" quando si
vuole fermare il contatore. Si ponga lo stato
del segnale a "1", quando si vuole avviare il
contatore.
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione
avviene un errore, il valore di ritorno contiene
un codice di errore.

Informazioni di errore

Codice di Spiegazione
errore
(W#16#...)
0000 Nessun errore
8080 Errato numero di contatore
8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 145
SFC per la gestione del contatore del tempo di esercizio
6.5 Lettura del contatore con la SFC 4 "READ_RTM"

6.5 Lettura del contatore con la SFC 4 "READ_RTM"

Descrizione
Con la SFC 4 "READ_RTM" (read run-time meter) si legge il valore di conteggio di un contatore. La
SFC 4 fornisce come parametri di uscita il numero di conteggio attuale e lo stato del contatore, cioè
"fermato" oppure "in conteggio".
Se il contatore supera la soglia di conteggio di 32767 ore, esso si blocca alla cifra di 32767 e fornisce
il messaggio di errore "Overflow".

Para- Dichiaraz- Tipo di dati Area di memoria Descrizione


metri ione
NR INPUT BYTE E, A, M, D, L, cost. L'ingresso NR contiene il numero del
contatore, che si vuole avviare o fermare.
La numerazione inizia con 0.
Il numero dei contatori ore d'esercizio della
CPU è indicato nei dati tecnici.
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione
avviene un errore, il valore di ritorno contiene
un codice di errore.
CQ OUTPUT BOOL E, A, M, D, L L'uscita CQ indica se il contatore funziona o se
è fermo. Lo stato di segnale "0" indica che il
contatore è fermo. Il segnale "1" indica che il
contatore sta contando.
CV OUTPUT INT E, A, M, D, L L'uscita CV indica il valore di conteggio attuale.

Informazioni di errore

Codice di Spiegazione
errore
(W#16#...)
0000 Nessun errore
8080 Numero errato del contatore delle ore di esercizio
8081 Overflow del contatore delle ore di esercizio
8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


146 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la gestione del contatore del tempo di esercizio
6.6 Lettura del tempo di sistema con la SFC 64 "TIME_TCK"

6.6 Lettura del tempo di sistema con la SFC 64 "TIME_TCK"

Descrizione
Con la SFC 64 "TIME_TCK" (time tick) si legge il tempo di sistema della CPU. Il tempo di sistema è
un "contatore di tempo", che conta ciclicamente tra 0 e un massimo di 2147483647 ms. Una volta
superato questo valore massimo il tempo di sistema torna al valore 0. Il clock e la precisione del
tempo di sistema sono di 1 ms. Il tempo di sistema viene influenzato unicamente dagli stati di
funzionamento della CPU.

Utilizzo
Il tempo di sistema può per esempio essere utilizzato per misurare la durata di operazioni mediante
la differenza dei risultati di due esecuzioni della SFC 64.

Tempo di sistema e stati di funzionamento

Stato di funzionamento Il tempo di sistema ...


Avviamento ... viene continuamente attualizzato
RUN
STOP ... viene fermato e mantiene il valore attuale
Riavviamento ... riparte con il valore che era stato salvato alla transizione in STOP.
(non per S7-300 e S7-400)
Nuovo avviamento (avviamento ... viene cancellato e riparte da "0".
a caldo)
Avviamento a freddo

Parametri Dichiaraz- Tipo di Area di Descrizione


ione dati memoria
RET_VAL OUTPUT TIME E, A, M, D, L Il parametro RET_VAL contiene il tempo di sistema
31
letto, area compresa tra 0 e 2 -1 ms.

Informazioni di errore
La SFC 64 "TIME_TCK" non fornisce alcuna informazione di errore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 147
SFC per la gestione del contatore del tempo di esercizio
6.6 Lettura del tempo di sistema con la SFC 64 "TIME_TCK"

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


148 Manuale di riferimento, 04/2017, A5E41911986-AA
7 SFC/SFB per il trasferimento di set di dati

7.1 Scrittura e lettura di set di dati

Principio
Esistono unità che dispongono di un campo dati di sistema, al quale è possibile accedere solo in
scrittura dal proprio programma. Questo campo contiene set di dati con i numeri da 0 fino a 240 al
massimo, e non ogni unità dispone di tutti i set di dati (vedere tabella seguente).
Inoltre le unità possono possedere anche un campo dati di sistema, al quale è possibile accedere
solo in lettura dal proprio programma. Questo campo contiene set di dati con i numeri da 0 a 240 al
massimo, e non ogni unità dispone di tutti i set di dati (vedere tabella seguente).

Avvertenza
Esistono unità che dispongono di entrambi i campi dati di sistema. Si tratta di campi a diversa
struttura fisica, che hanno in comune solo la suddivisione logica in set di dati.

Campo dati di sistema che può essere solo scritto


La tabella seguente mostra la struttura del campo dati di sistema che può essere solo scritto. Essa
indica la dimensione massima di un singolo set di dati e le SFC con le quali possono essere scritti i
set di dati.

Numero Contenuto Dimensione Restrizione Possibilità di


del set di scrittura con SFC
dati
0 Parametri con S7-300: possibilità scrittura 56 "WR_DPARM"
da 2 a 14 byte solo con S7-400 57 "PARM_MOD"
1 Parametri con S7-300: - 55 "WR_PARM"
da 2 a 14 byte 56 "WR_DPARM"
(DS0 e DS1 hanno insieme 57 "PARM_MOD"
esattamente 16 byte)
da 2 a 127 Dati utente ognuno v240 byte - 55 "WR_PARM"
56 "WR_DPARM"
57 "PARM_MOD"
58 "WR_REC"
da 128 a Parametri ognuno v240 byte - 55 "WR_PARM"
240 56 "WR_DPARM"
57 "PARM_MOD"
58 "WR_REC"

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 149
SFC/SFB per il trasferimento di set di dati
7.1 Scrittura e lettura di set di dati

Campo dati di sistema che può essere solo letto


La tabella seguente mostra la struttura del campo dati di sistema. Nella tabella seguente sono
indicate la dimensione massima di un singolo set di dati e le SFC con le quali possono essere letti i
set di dati.

Numero Contenuto Dimensione Possibilità di lettura con SFC


del set di
dati
0 Dati di diagnostica specifici 4 byte 51 "RDSYSST"
dell'unità (determinati allo stesso (SZL_ID 00B1H)
modo per tutti i sistemi)
59 "RD_REC"
1 Dati di diagnostica specifici del con S7-300: 16 byte 51 "RDSYSST"
canale (incl. set di dati 0) con S7-400: da 4 a 220 byte (SZL_ID 00B2H e 00B3H)
59 "RD_REC"
da 2 a 127 Dati utente ognuno v240 byte 59 "RD_REC"
da 128 a Dati di diagnostica ognuno v240 byte 59 "RD_REC"
240

Risorse del sistema


Se vengono avviate brevemente in successione diverse trasmissioni asincrone di set di dati, è
garantito che tutti i job vengano eseguiti e non abbia luogo un influenzamento reciproco.
Se viene raggiunto il limite delle risorse del sistema, viene data la relativa comunicazione nel
RET_VAL. Il caso di errore temporaneo può essere eliminato con una ripetizione del job.
Il numero massimo di job attivi "simultaneamente" di un tipo SFC dipende dalla CPU.
Quest'informazione può essere dedotta da /72/, /101/ e /102/

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


150 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC/SFB per il trasferimento di set di dati
7.2 Lettura di parametri predefiniti con la SFC 54 "RD_DPARM"

7.2 Lettura di parametri predefiniti con la SFC 54 "RD_DPARM"

Descrizione
Con la SFC 54 "RD_DPARM" (read defined parameter) il set di dati con il numero RECNUM
dell'unità indirizzata viene trasferito dai dati del sistema progettati con STEP7. Il set di dati letto viene
introdotto nel campo di destinazione indirizzato dal parametro RECORD.

Parametri Dichiaraz- Tipo di Area di memoria Descrizione


ione dati
IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento:
B#16#54 = Ingresso periferia (PE)
B#16#55 = Uscita periferia (PA)
Se si tratta di un'unità mista si deve indicare
l'identificazione di area dell'indirizzo minore. In
caso di indirizzi uguali si deve indicare B#16#54.
LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico di base dell'unità. In caso di unità
mista si deve indicare l'indirizzo minore tra i due
indirizzi.
RECNUM INPUT BYTE E, A, M, D, L, cost. Numero del set di dati (valori ammessi: da 0 a
240)
RET_VAL OUTPUT INT E, A, M, D, L Lunghezza del set di dati letto in byte se il set di
dati letto rientra nel campo di destinazione e non
è comparso alcun errore durante il trasferimento.
Se durante l'elaborazione della funzione
compare un errore, il valore di ritorno contiene un
codice di errore.
RECORD OUTPUT ANY E, A, M, D, L Area di destinazione per il set di dati letto. È
ammesso solo il tipo di dati BYTE.

Informazioni di errore
Vedere Parametrizzazione di unità con la SFC 57 "PARM_MOD".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 151
SFC/SFB per il trasferimento di set di dati
7.3 Lettura di parametri predefiniti con la SFC 102 "RD_DPARA"

7.3 Lettura di parametri predefiniti con la SFC 102 "RD_DPARA"

Descrizione
Con la SFC 102 "RD_DPARA" è possibile leggere il set di dati con il numero RECNUM di un'unità
scelta dai dati del sistema progettati con STEP7. Il set di dati letto viene registrato nell'area di
destinazione aperta con il parametro RECORD.

Procedimento
La SFC 102 "RD_DPARA" è una SFC che lavora in modo asincrono, ciò significa che l'elaborazione
comprende più richiami della SFC. Il job viene avviato richiamando la SFC 102 con REQ = 1.
Con i parametri di uscita RET_VAL e BUSY viene visualizzato lo stato del job.
Vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo
asincrono

Parametri Dichiaraz- Tipo di dati Area di Descrizione


ione memoria
REQ INPUT BOOL E, A, M, D, L REQ = 1: richiesta di lettura
LADDR INPUT WORD E, A, M, D, L, Qualunque indirizzo dell'unità. In caso di unità delle
cost. uscite occorre impostare il bit con il valore maggiore
RECNUM INPUT BYTE E, A, M, D, L, Numero del set di dati (valori ammessi: da 0 a 240)
cost.
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione compare un
errore, il valore di ritorno contiene un codice di errore.
Se durante la trasmissione non si è verificato alcun
errore, vanno distinti i seguenti casi:
• RET_VAL contiene la lunghezza in byte del set di
dati effettivamente letto, se l'area di destinazione
è più grande del set letto.
• RET_VAL contiene il valore 0, se il set di dati
letto è lungo come l'area di destinazione.
BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: il job non è ancora concluso.
RECORD OUTPUT ANY E, A, M, D, L Area di destinazione per il set di dati letto. È
consentito solo il tipo di dati BYTE.
Avvertenza: osservare che nelle CPU S7-300 il
parametro RECORD richiede sempre l'indicazione
completa dei parametri DB (ad es.: P#DB13.DBX0.0
byte 100). Tralasciare un n. di DB esplicito per le CPU
S7-300 non è consentito e genera un messaggio di
errore nel programma utente.

Informazioni di errore
Vedere Parametrizzazione di unità con la SFC 57 "PARM_MOD"

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


152 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC/SFB per il trasferimento di set di dati
7.4 Scrittura di parametri dinamici con la SFC 55 "WR_PARM"

7.4 Scrittura di parametri dinamici con la SFC 55 "WR_PARM"

Descrizione
Con la SFC 55 "WR_PARM" (write parameter) si trasferisce all'unità indirizzata il set di dati
RECORD. I parametri che vengono trasferiti all'unità non sovrascrivono i parametri generati con
STEP7.

Presupposti
Il set di dati da trasferire non può essere statico. (L'informazione relativa a quali set di dati di un'unità
sono statici può essere ricavata da /71/, /101/).

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: Richiesta di scrittura
IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento:
B#16#54 = Ingresso periferia (PE)
B#16#55 = Uscita periferia (PA)
Se si tratta di un'unità mista si deve indicare
l'identificazione di area dell'indirizzo minore.
In caso di indirizzi uguali si deve indicare
B#16#54.
LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico di base dell'unità. In caso di
unità mista si deve indicare l'indirizzo minore
tra i due indirizzi.
RECNUM INPUT BYTE E, A, M, D, L, cost. Numero del set di dati
RECORD INPUT ANY E, A, M, D, L Set di dati
Avvertenza: osservare che nelle CPU S7-300
il parametro RECORD richiede sempre
l'indicazione completa dei parametri DB (ad
es.: P#DB13.DBX0.0 byte 100). Tralasciare
un n. di DB esplicito per le CPU S7-300 non è
consentito e genera un messaggio di errore
nel programma utente.
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione
avviene un errore, il valore di ritorno contiene
un codice di errore.
BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: L'operazione di scrittura non è
ancora terminata.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 153
SFC/SFB per il trasferimento di set di dati
7.4 Scrittura di parametri dinamici con la SFC 55 "WR_PARM"

Parametro di ingresso RECORD


I dati da trasferire vengono letti dal parametro RECORD al primo richiamo della SFC. Se il
trasferimento del set di dati dura più a lungo di un richiamo, ai richiami successivi della SFC (per lo
stesso job) il contenuto del parametro RECORD non è più rilevante.

Informazioni di errore
Vedere Parametrizzazione di unità con la SFC 57 "PARM_MOD"

Avvertenza
(solo per S7-400)
Se si presenta l'errore generale W#16#8544, ciò indica solo che l'accesso ad almeno un byte
dell'area di memoria I/U contenente il set di dati era inibito. Il trasferimento dei dati è stato proseguito.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


154 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC/SFB per il trasferimento di set di dati
7.5 Scrittura di parametri predefiniti con la SFC 56 "WR_DPARM"

7.5 Scrittura di parametri predefiniti con la SFC 56 "WR_DPARM"

Descrizione
Con la SFC56 "WR_DPARM" (write default parameter) viene trasferito il set di dati con il numero
RECNUM dai dati di progettazione generati con STEP7 all'unità indirizzata. In tal caso non ha
importanza se i set di dati sono statici o dinamici.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: Richiesta di scrittura
IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento
B#16#54 = Ingresso periferia (PE)
B#16#55 = Uscita periferia (PA)
Se si tratta di un'unità mista, si deve indicare
l'identificazione di area dell'indirizzo minore.
In caso di indirizzi uguali si deve indicare
B#16#54.
LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico di base dell'unità. In caso di
unità mista si deve indicare l'indirizzo minore
tra i due indirizzi.
RECNUM INPUT BYTE E, A, M, D, L, cost. Numero del set di dati
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione
avviene un errore, il valore di ritorno contiene
un codice di errore.
BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: L'operazione di scrittura non è
ancora terminata.

Informazioni di errore
Vedere Parametrizzazione di unità con la SFC 57 "PARM_MOD".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 155
SFC/SFB per il trasferimento di set di dati
7.6 Parametrizzazione di unità con la SFC 57 "PARM_MOD"

7.6 Parametrizzazione di unità con la SFC 57 "PARM_MOD"

Descrizione
Con la SFC 57 "PARM_MOD" (parametrize module) vengono trasferiti tutti i set di dati di un'unità,
che sono stati progettati con STEP 7, all'unità. In tal caso non ha importanza se i set di dati sono
statici o dinamici.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
REQ INPUT BOOL E, A, M, D, L, cost. REQ= 1: Richiesta di scrittura
IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento:
B#16#54 = Ingresso periferia (PE)
B#16#55 = Uscita periferia (PA)
Se si tratta di un'unità mista si deve indicare
l'identificazione di area dell'indirizzo minore.
In caso di indirizzi uguali si deve indicare
B#16#54.
LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico di base dell'unità. In caso di
unità mista si deve indicare l'indirizzo minore
tra i due indirizzi.
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione
avviene un errore, il valore di ritorno contiene
un codice di errore.
BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: L'operazione di scrittura non è
ancora terminata.

Informazioni di errore
Tra le informazioni di errore "vere" (codici di errore W#16#8xyz) si devono distinguere due casi:
• Errori temporanei (codici di errore da W#16#80A2 fino a 80A4, 80Cx):
con questo tipo di errore è possibile che l'errore stesso si risolva anche senza l'intervento esterno
cioè richiamando nuovamente la SFC (se necessario più volte).
Esempio di errore temporaneo: le apparecchiature necessarie sono momentaneamente
occupate (W#16#80C3).
• Errori permanenti (codici di errore W#16#809x, 80A1, 80Bx, 80Dx):
con questo tipo di errore non è possibile rimuovere l'errore senza intervento esterno. Un nuovo
richiamo della SFC è possibile solo quando l'errore è stato eliminato.
Esempio di errore permanente: la lunghezza del set di dati da trasferire è errata (W#16#80B1).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


156 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC/SFB per il trasferimento di set di dati
7.6 Parametrizzazione di unità con la SFC 57 "PARM_MOD"

Avvertenza
Se si trasmettono set di dati con una delle SFC 55, 56 o 57 a uno slave DPV1 e quest'ultimo funziona
in modo DPV1, il master DP analizza l'informazione di errore ricevuta dallo slave nel modo seguente:
Se l'informazione di errore è compresa nei campi da W#16#8000 a W#16#80FF o da W#16#F000 a
W#16#FFFF, il master DP la inoltra alla SFC. Se invece non è compresa in questi campi, il master
DP fornisce il valore W#16#80A2 alla SFC e sospende lo slave.

Informazioni di errore per le SFC54 "RD_DPARM", SFC55 "WR_PARM", SFC56 "WR_DPARM" e


SFC57 "PARM_MOD"

Codice di Spiegazione Restrizione


errore
(W#16#...)
0000 Nessun errore -
7000 Primo richiamo con REQ=0: nessun trasferimento di dati attivo; -
BUSY ha il valore 0.
7001 Primo richiamo con REQ=1: trasferimento dati avviato; BUSY ha il Periferia decentrata
valore 1.
7002 Richiamo intermedio (REQ irrilevante): trasferimento dati già attivo; Periferia decentrata
BUSY ha il valore 1.
8090 Indirizzo di base logico indicato non valido: non è presente nessuna -
assegnazione in SDB1/SDB2x, oppure non è un indirizzo di base.
8092 Nel riferimento ANY è indicato un tipo diverso da BYTE. Solo con S7-400
per la SFC54
"RD_DPARM" e la
SFC 55 "WR_PARM"
8093 Per l'unità scelta attraverso LADDR e IOID questa SFC non è -
ammessa (sono ammesse unità S7-300 con S7-300, unità S7-400
con S7-400 e unità DP S7 con S7-300 e S7-400).
80A1 Conferma negativa alla trasmissione del set di dati all'unità (unità 1)
sfilata durante la trasmissione o unità difettosa)
80A2 • Errore di protocollo DP sul livello 2 (ad es. guasto dello slave o Periferia decentrata
del bus)
• In modalità DPV0, nell'ET200S la lettura del set di dati non è
possibile.
80A3 Errore di protocollo DP con user interface/user Periferia decentrata
80A4 Comunicazione nel bus K disturbata Errore tra CPU e
collegamento DP esterno
1)
80B0 SFC per tipo unità non possibile, oppure l'unità non conosce il set di 1)
dati.
80B1 La lunghezza del set di dati da trasferire è errata. -
Con SFC54 "RD_DPARM": la lunghezza del campo di destinazione
indirizzato da RECORD non è sufficiente.
80B2 Il posto connettore progettato non è occupato. 1)
80B3 Il tipo reale di unità non è uguale al tipo nominale di unità in SDB1 1)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 157
SFC/SFB per il trasferimento di set di dati
7.6 Parametrizzazione di unità con la SFC 57 "PARM_MOD"

Codice di Spiegazione Restrizione


errore
(W#16#...)
80C1 I dati del job di scrittura precedente sull'unità per lo stesso set di dati 1)
non sono stati ancora rielaborati dall'unità.
80C2 L'unità elabora momentaneamente il numero massimo possibile di 1)
job per una CPU.
80C3 Le apparecchiature necessarie (memoria ecc.) sono 1)
momentaneamente occupate.
80C4 Errore interno temporaneo. Impossibile eseguire il job. 1)
Ripetere il job. Se si verifica spesso questo errore verificare che
nella struttura non vi siano fonti di disturbo.
80C5 Periferia decentrata non disponibile o disattivata. Periferia decentrata 1)
80C6 Il trasferimento del set di dati è stato interrotto a causa di una Periferia decentrata 1)
interruzione della classe di priorità (riavviamento oppure sfondo)
80D0 Nel rispettivo SDP non è presente nessuna registrazione per l'unità. -

Codice di Spiegazione Restrizione


errore
(W#16#...)
80D1 Il numero del set di dati non è progettato nel rispettivo SDB per -
l'unità (i numeri del set di dati w 241 vengono respinti da STEP 7.).
80D2 L'unità non può essere parametrizzata in base all'identificazione -
dell'unità.
80D3 Allo SDB non si può accedere, poiché non é presente. -
80D4 Errore di struttura SDB: il puntatore interno a SDB indica all'esterno solo con S7-300
di SDB
80D5 Il set di dati è statico. solo con SFC 55
"WR_PARM"
8xyy Informazione generale di errore, vedere Analisi degli errori con il
parametro di uscita RET_VAL
1)
Non avviene con la SFC 54 "RD_DPARM"

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


158 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC/SFB per il trasferimento di set di dati
7.7 Scrittura di set di dati con la SFC 58 "WR_REC"

7.7 Scrittura di set di dati con la SFC 58 "WR_REC"

Descrizione
Con la SFC 58 "WR_REC" (write record) si trasferisce il set di dati RECORD all'unità indirizzata.
L'operazione di scrittura viene avviata occupando il parametro di ingresso REQ con 1 al richiamo
della SFC 58. Se l'operazione di scrittura poteva essere eseguita immediatamente, la SFC fornisce il
valore di ritorno 0 sul parametro di uscita BUSY. Se BUSY ha il VALORE 1, l'operazione di scrittura
non è ancora terminata.

Avvertenza
Se uno slave DPV1 è stato progettato tramite file GSD (GSD dalla rev. 3) e l'interfaccia DP del
master DP è impostata su "Compatibile con S7", nel programma utente non è consentito scrivere set
di dati nelle unità degli ingressi e delle uscite con la SFC 58. Il master DP in questo caso indirizza il
posto connettore sbagliato (posto connettore progettato + 3).
Rimedio: reimpostare l'interfaccia del master DP su "DPV1".

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: Richiesta di scrittura.
IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento:
B#16#54 = Ingresso periferia (PE)
B#16#55 = Uscita periferia (PA)
Se si tratta di un'unità mista, si deve indicare
l'identificazione di area dell'indirizzo minore.
In caso di indirizzi uguali si deve indicare
B#16#54.
LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico dell'unità. In caso di unità
mista si deve indicare l'indirizzo minore tra i
due indirizzi.
RECNUM INPUT BYTE E, A, M, D, L, cost. Numero del set di dati (valori ammessi: da 2 a
240)
RECORD INPUT ANY E, A, M, D, L Set di dati. È ammesso solo il tipo di dati
BYTE.
Avvertenza: osservare che nelle CPU S7-300
il parametro RECORD richiede sempre
l'indicazione completa dei parametri DB (ad
es.: P#DB13.DBX0.0 byte 100). Tralasciare
un n. di DB esplicito per le CPU S7-300 non è
consentito e genera un messaggio di errore
nel programma utente.
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione
avviene un errore, il valore di ritorno contiene
un codice di errore.
BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: L'operazione di scrittura non è
ancora terminata.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 159
SFC/SFB per il trasferimento di set di dati
7.7 Scrittura di set di dati con la SFC 58 "WR_REC"

Parametro di ingresso RECORD


I dati da trasferire vengono letti dal parametro RECORD al primo richiamo della SFC. Se il
trasferimento del set di dati dura più a lungo di un richiamo, il contenuto del parametro RECORD non
è più rilevante durante i successivi richiami della SFC (per lo stesso job).

Informazioni di errore
Vedere Lettura di set di dati con la SFC 59 "RD_REC"

Avvertenza
(solo per S7-400)
Se si presenta l'errore generale W#16#8544, ciò indica solo che l'accesso ad almeno un byte
dell'area di memoria I/U contenente il set di dati era inibito. Il trasferimento dei dati è stato proseguito.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


160 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC/SFB per il trasferimento di set di dati
7.8 Lettura di set di dati con la SFC 59 "RD_REC"

7.8 Lettura di set di dati con la SFC 59 "RD_REC"

Descrizione
Con la SFC 59 "RD_REC" (read record) si legge il set di dati con il numero RECNUM dall'unità
indirizzata. L'operazione di lettura viene avviata occupando il parametro di ingresso REQ con 1 al
richiamo della SFC 59. Se è stato possibile eseguire subito l'operazione di lettura, la SFC fornisce
sul parametro di uscita BUSY il valore 0. Quando BUSY ha valore 1 l'operazione di lettura non è
ancora terminata (vedi il capitolo 2.2). Il set di dati letto viene registrato nel campo di destinazione
aperto dal RECORD dopo un trasferimento dati senza errori.
Se il set di dati, il cui numero è maggiore di uno, viene letto da una FM o da un CP acquistati prima
del febbraio 1997 (di seguito indicati come "unità meno recenti"), la SFC 59 si comporterà in modo
differente rispetto a come si comporta in un'unità nuova. Questo caso particolare viene trattato nel
capitolo "Utilizzo di FM S7-300 e di CP S7-300 precedenti con numero DS > 1".

Avvertenza
Se si legge un set di dati, il cui numero è maggiore di uno, da una FM o da un altro CP che sono stati
acquistati prima del febbraio 1997, (di seguito definite "unità meno recenti"), la SFC 59 si comporta in
modo diverso rispetto ad una nuova unità. Questo caso particolare viene trattato nel capitolo "Utilizzo
di FM S7-300 e di CP S7-300 meno recenti con numero DS > 1".

Avvertenza
Se uno slave DPV1 è stato progettato tramite file GSD (GSD dalla rev. 3) e l'interfaccia DP del
master DP è impostata su "Compatibile con S7", nel programma utente non è consentito leggere set
di dati dalle unità degli ingressi e delle uscite con la SFC 59. Il master DP in questo caso indirizza il
posto connettore sbagliato (posto connettore progettato + 3).
Rimedio: reimpostare l'interfaccia del master DP su "DPV1".

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: Richiesta di lettura
IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento:
B#16#54 = Ingresso periferia (PE)
B#16#55 = Uscita periferia (PA)
Se si tratta di un'unità mista si deve indicare
l'identificazione di area dell'indirizzo minore.
In caso di indirizzi uguali si deve indicare
B#16#54.
LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico dell'unità. In caso di unità
mista si deve indicare l'indirizzo minore tra i
due indirizzi.
RECNUM INPUT BYTE E, A, M, D, L, cost. Numero del set di dati (valori ammessi: da 0 a
240)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 161
SFC/SFB per il trasferimento di set di dati
7.8 Lettura di set di dati con la SFC 59 "RD_REC"

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione
avviene un errore, il valore di ritorno contiene
un codice di errore. Inoltre: lunghezza del set
di dati realmente trasferiti in byte (valori
possibili: da +1 a +240), se il campo di
destinazione è maggiore del set di dati
trasferiti e non si è presentato nessun errore
durante il trasferimento.
BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: L'operazione di lettura non è
ancora terminata.
RECORD OUTPUT ANY E, A, M, D, L Area di destinazione per il set di dati letto.
Durante l'elaborazione asincrona della
SFC 59 si deve fare attenzione che i
parametri attuali di RECORD abbiano la
stessa informazione della lunghezza in ogni
richiamo. È ammesso solo il tipo di dati
BYTE.
Avvertenza: osservare che nelle CPU S7-300
il parametro RECORD richiede sempre
l'indicazione completa dei parametri DB (ad
es.: P#DB13.DBX0.0 byte 100). Tralasciare
un n. di DB esplicito per le CPU S7-300 non è
consentito e genera un messaggio di errore
nel programma utente.

Parametro di uscita RET_VAL


• Se durante l'elaborazione della funzione è avvenuto un errore, il valore di ritorno conterrà un
codice di errore.
• Se durante il trasferimento non è avvenuto alcun errore, RET_VAL conterrà:
0, se l'intero campo di destinazione è stato riempito con dati provenienti dal set di dati
selezionato (il set di dati può anche essere incompleto)
la lunghezza del set di dati realmente trasferiti in byte (valori possibili: da +1 a + 240), se il campo
di destinazione è maggiore del set di dati trasferito.

Avvertenza
(solo per S7-400)
Se si presenta l'errore generale W#16#8745, ciò indica solo che durante l'operazione di scrittura
sull'immagine di processo l'accesso ad almeno un byte del campo di destinazione era inibito. Il set di
dati è stato letto regolarmente dall'unità e scritto nell'area di memoria I/O.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


162 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC/SFB per il trasferimento di set di dati
7.8 Lettura di set di dati con la SFC 59 "RD_REC"

Scelta adatta di RECORD

Avvertenza
Se si vuole essere certi che venga sempre letto tutto il set di dati, scegliere un campo di destinazione
con lunghezza di 241 byte. Se il trasferimento dei dati avviene in modo corretto in RET_VAL sarà
presente la reale lunghezza del set di dati.

Utilizzo di FM S7-300 e di CP S7-300 meno recenti con numero DS > 1


Se si desidera leggere un set di dati con la SFC 59 "RD_REC" da una FM S7-300 o da un CP S7-300
non aggiornati, il cui numero è maggiore di uno, bisogna osservare quanto segue:
• Se il campo di destinazione è maggiore della lunghezza reale del set di dati desiderato, non
viene registrato alcun dato nel RECORD. RET_VAL viene indicato con W#16#80B1.
• Se il campo di destinazione è minore della lunghezza reale del set di dati desiderato, la CPU
legge tanti byte, a partire dall'inizio del set di dati, quanti sono indicati nell'indicazione della
lunghezza di RECORD e li registra in RECORD. RET_VAL viene indicato con 0.
• Se l'indicazione della lunghezza del RECORD è uguale alla lunghezza reale del set di dati
desiderato, la CPU legge il set di dati desiderato e lo registra in RECORD. RET_VAL viene
indicato con 0.

Informazioni di errore
Tra le informazioni di errore "vere" (codici di errore W#16#8xyz) della tabella seguente si devono
distinguere due casi:
• Errori temporanei (codici di errore da W#16#80A2 fino a 80A4, 80Cx):
con questo tipo di errore è possibile che l'errore stesso si risolva anche senza l'intervento esterno
richiamando nuovamente la SFC (se necessario più volte).
Esempio di errore temporaneo: le apparecchiature necessarie (memoria, ecc.) sono
momentaneamente occupate (W#16#80C3).
• Errori permanenti (codici di errore W#16#809x, 80A1, 80Bx, 80Bx):
con questo tipo di errore non è possibile rimuovere l'errore senza intervento esterno. Un nuovo
richiamo della SFC è possibile solo quando l'errore è stato risolto.
Esempio di errore permanente: l'indicazione della lunghezza in RECORD è errata
(W#16#80B1).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 163
SFC/SFB per il trasferimento di set di dati
7.8 Lettura di set di dati con la SFC 59 "RD_REC"

Avvertenza
Se si trasmettono set di dati con la SFC 58 "WR_REC" a uno slave DPV1 o si leggono set di dati con
la SFC 59 "RD_REC" da uno slave DPV1 e quest'ultimo funziona in modo DPV1, il master DP
analizza l'informazione di errore ricevuta dallo slave nel modo seguente:
Se l'informazione di errore è compresa nei campi da W#16#8000 a W#16#80FF o da W#16#F000 a
W#16#FFFF, il master DP la inoltra alla SFC. Se invece non è compresa in questi campi, il master
DP fornisce il valore W#16#80A2 alla SFC e sospende lo slave. Per informazioni sulle informazioni di
errore provenienti dagli slave DPV1 consultare Allarme ricevuto da uno slave DP con l'SFB 54
"RALRM" STATUS[3].

Informazioni di errore per le SFC 58 "WR_REC" e SFC 59 "RD_REC"

Codice di Spiegazione Restrizione


errore
(W#16#...)
0000 Nessun errore -
7000 Primo richiamo con REQ=0: nessun trasferimento di dati attivo; -
BUSY ha il valore 0.
7001 Primo richiamo con REQ=1: trasferimento dati avviato; BUSY ha il Periferia decentrata
valore 1.
7002 Richiamo intermedio (REQ irrilevante): trasferimento dati già Periferia decentrata
attivo; BUSY ha il valore 1.
8090 Indirizzo di base logico indicato non valido: non è presente -
nessuna assegnazione in SDB1/SDB2x, oppure non è un indirizzo
di base.
8092 Nel riferimento ANY è0 indicato un tipo diverso da BYTE. Solo con S7-400
8093 Per l'unità scelta attraverso LADDR e IOID questa SFC non è -
ammessa (sono ammesse unità S7-300 con S7-300, unità S7-400
con S7-400 e unità DP S7 con S7-300 e S7-400).
80A0 Conferma negativa alla lettura dell'unità (unità sfilata durante la solo con SFC59 "RD_REC"
lettura o unità difettosa)
80A1 Conferma negativa durante la scrittura all'unità (unità sfilata solo con SFC58 "WR_REC"
durante la scrittura o unità difettosa)
80A2 • Errore di protocollo DP sul livello 2 Periferia decentrata
• Nell'ET200S la lettura del set di dati in modalità PV0 non è
possibille
80A3 Errore di protocollo DP con user interface/user Periferia decentrata
80A4 Errore di protocollo bus K sul livello 2 Errore tra CPU e
collegamento DP esterno
80B0 • SFC per tipo unità non possibile -
• L'unità non conosce il set di dati.
• Numero set di dati 241 non è ammesso.
• Con SFC58 "WR_REC" i set di dati 0 e 1 non sono ammessi.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


164 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC/SFB per il trasferimento di set di dati
7.8 Lettura di set di dati con la SFC 59 "RD_REC"

Codice di Spiegazione Restrizione


errore
(W#16#...)
80B1 L'indicazione della lunghezza in parametri RECORD è • Con SFC 58
errata. "WR_REC": lunghezza
errata
• Con SFC 59
"RD_REC" (possibile
soltanto nell’utilizzo di
FM S7-300 e CP
S7-300 non
aggiornati): Indicazione
> lunghezza DS
• Con SFC 13
"DPNRM_DG":
Indicazione <
lunghezza DS
80B2 Il posto connettore progettato non è occupato. -
80B3 Tipo reale unità diverso da tipo nominale unità nel SDB1 -
80B7 Lo slave DP o l'unità segnalano un campo non ammesso in un Solo con SFC 59 "RD_REC
parametro o in un valore
80C0 Nell'SFC 58 "WR_REC": la scrittura dei dati è possibile soltanto Con SFC 58 "WR_REC" o
nello stato di funzionamento STOP della CPU. Nota: la scrittura SFC 59 "RD_REC" o
dei dati con il programma utente non è pertanto possibile. SFC 13 "DPN_RM_DG"
Quest'operazione può essere eseguita soltanto online tramite
PG/PC.
Nell'SFC 59 "RD_REC": la CPU gestisce il set di dati, tuttavia o
questi ultimi non sono ancora disponibili, o la relativa lettura è
possibile soltanto nello stato di funzionamento STOP della CPU.
Nota: se la lettura dei dati è possibile soltanto nello stato di
funzionamento STOP della CPU, la relativa analisi da parte del
programma utente non è possibile. In questo caso la lettura dei
dati può essere eseguita soltanto online tramite PG/PC.
Con SFC 13 "DPNRM_DG": non sono presenti dati di diagnostica
80C1 I dati del job di scrittura precedente sull'unità per lo stesso set di -
dati non sono stati ancora rielaborati dall'unità.
80C2 L'unità elabora momentaneamente il numero massimo possibile di -
job per una CPU.
80C3 Le apparecchiature necessarie (memoria ecc.) sono -
momentaneamente occupate.
80C4 Errore interno temporaneo. Impossibile eseguire il job. -
Ripetere il job. Se si verifica spesso questo errore verificare che
nella struttura non vi siano fonti di disturbo.
80C5 Periferia decentrata non disponibile Periferia decentrata
80C6 Il trasferimento del set di dati è stato interrotto a causa di Periferia decentrata
un'interruzione della classe di priorità (riavviamento oppure
sfondo)
8xyy Informazione generale di errore, vedere Analisi degli errori con il -
parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 165
SFC/SFB per il trasferimento di set di dati
7.9 Altre informazioni di errore delle SFC 55 fino a 59

7.9 Altre informazioni di errore delle SFC 55 fino a 59

Solo per S7-400


Nell'S7-400 le SFC 55 fino a 59 possono fornire anche l'informazione di errore W#16#80FX. Si è
presentato quindi un errore che non può essere localizzato. In questo caso è necessario rivolgersi al
servizio di manutenzione.

7.10 Lettura di parametri predefiniti con l'SFB 81 "RD_DPAR"

Descrizione
L'SFB 81 "RD_DPAR" ("read device parameter") consente di leggere, dai dati di sistema progettati
con STEP 7, il set di dati con il numero INDEX del componente indirizzato. Si può trattare di un'unità
inserita a livello centrale o di un componente impiegato a livello decentrato (PROFIBUS DP o
PROFINET IO).
Il valore TRUE del parametro di uscita VALID indica che il set di dati è stato trasferito senza errori
nell'area di destinazione RECORD. In questo caso al parametro di uscita LEN viene assegnata la
lunghezza in byte dei dati letti.
Un eventuale errore che si dovesse verificare nel corso del trasferimento del set di dati viene
visualizzato con il parametro di uscita ERROR. In questo caso il parametro di uscita STATUS
contiene l'informazione di errore.

Funzionamento
L'SFB 81 "RD_DPAR" è un SFB con funzionamento asincrono, vale a dire che l'elaborazione si
estende su diversi richiami di SFB. Il trasferimento del set di dati si avvia richiamando l'SFB 81 con
REQ = 1.
Con il parametro di uscita BUSY e i byte 2 e 3 del parametro di uscita STATUS viene visualizzato lo
stato dell'ordine. I byte 2 e 3 di STATUS corrispondono al parametro di uscita RET_VAL delle
SFC asincrone (vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che
lavorano in modo asincrono).
Il trasferimento del set di dati può considerarsi concluso dopo che il parametro di uscita BUSY ha
assunto il valore FALSE.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


166 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC/SFB per il trasferimento di set di dati
7.10 Lettura di parametri predefiniti con l'SFB 81 "RD_DPAR"

Parametri

Parametri Dichiarazione Tipo di Area di memoria Descrizione


dati
REQ INPUT BOOL E, A, M, D, L REQ = 1: richiesta di lettura
LADDR INPUT WORD E, A, M, D, L, cost. Un qualsiasi indirizzo logico dell'unità
Indicare nel bit 15 se l'indirizzo
disponibile è un indirizzo di ingresso
(bit 15 = 0) oppure un indirizzo di
uscita (Bit 15 = 1).
INDEX INPUT INT E, A, M, D, L, cost. Numero del set di dati
VALID OUTPUT BOOL E, A, M, D, L Il nuovo set di dati è stato ricevuto ed è
valido
BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: l'ordine non è ancora
concluso
ERROR OUTPUT BOOL E, A, M, D, L ERROR = 1: si è verificato un errore nel
corso della lettura
STATUS OUTPUT DWORD E, A, M, D, L • Identificazione del richiamo (byte 2
e 3) o codice di errore
• Byte 1: B#16#00, in assenza di
errori. In caso contrario
identificazione della funzione in
DPV1-PDU: in caso di errori nella
lettura del set di dati: B#16#DE,in
caso di errori nella scrittura del set
di dati B#16#DF. Nel caso in cui
non venga utilizzato alcun
elemento del protocollo DPV1:
B#16#C0.
• Byte 4: ampliamento dell'ID di
errore specifico del costruttore
LEN OUTPUT INT E, A, M, D, L Lunghezza dell'informazione del set di
dati letto
RECORD IN_OUT ANY E, A, M, D, L Area di destinazione per il set di dati
letto
Avvertenza: osservare che nelle CPU
S7-300 il parametro RECORD richiede
sempre l'indicazione completa dei
parametri DB (ad es.: P#DB13.DBX0.0
byte 100). Tralasciare un n. di DB
esplicito per le CPU S7-300 non è
consentito e comporta un messaggio di
errore nel programma utente.

Informazioni di errore
Vedere anche Parametrizzazione di unità con la SFC 57 "PARM_MOD".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 167
SFC/SFB per il trasferimento di set di dati
7.10 Lettura di parametri predefiniti con l'SFB 81 "RD_DPAR"

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


168 Manuale di riferimento, 04/2017, A5E41911986-AA
8 SFB DPV1 secondo PNO AK 1131

8.1 Lettura di un set di dati con l'SFB 52 "RDREC"

Avvertenza
L'interfaccia dell'SFB 52 "RDREC" è identica a quella dell'FB "RDREC" definito nella norma
"PROFIBUS Guideline PROFIBUS Communication and Proxy Function Blocks according to
IEC 61131-3".

Descrizione
L'SFB 52 "RDREC" (read record) consente la lettura del set di dati con il numero INDEX del
componente indirizzato tramite ID. Si può trattare di un'unità inserita a livello centrale oppure di un
componente della periferia decentrata (PROFIBUS DP oppure PROFINET IO).
Con MLEN è possibile predefinire il numero massimo di byte da leggere. Per questo motivo è
preferibile scegliere un'area di destinazione RECORD di almeno "MLEN" byte.
Il valore TRUE del parametro di uscita VALID indica che il set di dati è stato trasferito nell'area di
destinazione RECORD con successo. In questo caso, il parametro di uscita LEN avrà la lunghezza
dei dati letti in byte.
Se durante il trasferimento del set di dati si verifica un errore, questo viene visualizzato dal parametro
di uscita ERROR. Il parametro di uscita STATUS contiene in questo caso l'informazione di errore.

Avvertenza
Se uno slave DPV1 è stato progettato tramite file GSD (GSD dalla rev. 3) e l'interfaccia DP del
master DP è impostata su "Compatibile con S7", nel programma utente non è possibile leggere dalle
unità degli ingressi e delle uscite set di dati con l'SFB 52. Il master DP in questo caso indirizza il
posto connettore sbagliato (posto connettore progettato + 3).
Rimedio: reimpostare l'interfaccia del master DP su "DPV1".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 169
SFB DPV1 secondo PNO AK 1131
8.1 Lettura di un set di dati con l'SFB 52 "RDREC"

Procedimento
L'SFB 52 "RDREC" è un SFB che opera in modo asincrono, vale a dire che l'elaborazione si estende
per più richiami di SFB. Avviare il trasferimento del set di dati richiamando l'SFB 52 con REQ = 1.
Nel parametro di uscita BUSY e nei due byte intermedi del parametro di uscita STATUS viene
visualizzato lo stato dell'ordine. In questo caso, i due byte intermedi del parametro STATUS
corrispondono al parametro di uscita RET_VAL delle SFC asincrone (vedere anche Significato dei
parametri REQ, RET_VAL e BUSY nelle SFC asincrone).
Il trasferimento del set di dati è concluso quando il parametro di uscita BUSY assume il valore
FALSE.
Finché la trasmissione del set di dati è in corso, l’area di destinazione non deve essere modificata,
ciò vale sia per la sua lunghezza che per il suo contenuto.

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: esecuzione del trasferimento
del set di dati.
ID INPUT DWORD E, A, M, D, L, cost. Indirizzo logico del componente slave
DP/PROFINET IO (unità o modulo)
Se si tratta di un'unità delle uscite occorre
impostare il bit 15 (ad es. con l'indirizzo 5:
ID:=DW#16#8005).
Se l'unità è mista, indicare l'indirizzo
minore dei due.
INDEX INPUT INT E, A, M, D, L, cost. Numero del set di dati.
MLEN INPUT INT E, A, M, D, L, cost. Lunghezza max dell'informazione del set
di dati da leggere in byte
VALID OUTPUT BOOL E, A, M, D, L Un nuovo set di dati è stato ricevuto ed è
valido
BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: l'operazione di lettura non è
ancora conclusa.
ERROR OUTPUT BOOL E, A, M, D, L ERROR = 1: durante la lettura si è
verificato un errore.
STATUS OUTPUT DWORD E, A, M, D, L Identificazione di errore o stato del
blocco.
LEN OUTPUT INT E, A, M, D, L Lunghezza dell'informazione del set di
dati letta.
RECORD IN_OUT ANY E, A, M, D, L Area di destinazione per il set di dati letto
Avvertenza: osservare che nelle CPU
S7-300 il parametro RECORD richiede
sempre l'indicazione completa dei
parametri DB (ad es.: P#DB13.DBX0.0
byte 100). Tralasciare un n. di DB
esplicito nelle CPU S7-300 non è
consentito e genera un messaggio di
errore nel programma utente.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


170 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB DPV1 secondo PNO AK 1131
8.1 Lettura di un set di dati con l'SFB 52 "RDREC"

Avvertenza
Impiegando l'SFB 52 per la lettura di un set di dati in PROFINET IO, i valori negativi nei parametri
INDEX, MLEN e LEN vengono interpretati come numeri interi senza segno a 16 bit.

Informazioni di errore
Per l'interpretazione del parametro STATUS vedere Ricezione di un allarme con l'SFB 54 "RALRM"

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 171
SFB DPV1 secondo PNO AK 1131
8.2 Scrittura di un set di dati con l'SFB 53 "WRREC"

8.2 Scrittura di un set di dati con l'SFB 53 "WRREC"

Avvertenza
L'interfaccia dell'SFB 53 "WRREC" è identica a quella dell'FB "WRREC" definito nella norma
"PROFIBUS Guideline PROFIBUS Communication and Proxy Function Blocks according to
IEC 61131-3".

Descrizione
L'SFB 53 "WRREC" (write record) consente la trasmissione del set di dati RECORD al componente
indirizzato tramite ID. Si può trattare di un'unità inserita a livello centrale oppure di un componente
della periferia decentrata (PROFIBUS DP oppure PROFINET IO).
Con LEN è possibile predefinire la lunghezza del set di dati da trasferire in byte. Per questo motivo è
preferibile scegliere un'area sorgente RECORD di almeno "LEN" byte.
Il valore TRUE del parametro di uscita DONE indica che il set di dati è stato trasferito con successo.
Se durante il trasferimento del set di dati si verifica un errore, questo viene visualizzato dal parametro
di uscita ERROR. Il parametro di uscita STATUS contiene in questo caso l'informazione di errore.

Avvertenza
Se uno slave DPV1 è stato progettato tramite file GSD (GSD dalla rev. 3) e l'interfaccia DP del
master DP è impostata su "Compatibile con S7", nel programma utente non è possibile scrivere nelle
unità degli ingressi e delle uscite set di dati con l'SFB 53. Il master DP in questo caso indirizza il
posto connettore sbagliato (posto connettore progettato + 3).
Rimedio: reimpostare l'interfaccia del master DP su "DPV1".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


172 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB DPV1 secondo PNO AK 1131
8.2 Scrittura di un set di dati con l'SFB 53 "WRREC"

Procedimento
L'SFB 53 "WRREC" è un SFB che opera in modo asincrono, vale a dire che l'elaborazione si estende
per più richiami di SFB. Avviare il trasferimento del set di dati richiamando l'SFB 53 con REQ = 1.
Nel parametro di uscita BUSY e nei due byte intermedi del parametro di uscita STATUS viene
visualizzato lo stato dell'ordine. In questo caso, i due byte intermedi di STATUS corrispondono al
parametro di uscita RET_VAL delle SFC asincrone (vedere anche Significato dei parametri REQ,
RET_VAL e BUSY nelle SFC asincrone).
Assicurarsi di aver assegnato al parametro attuale RECORD lo stesso valore per tutti gli ordini
appartenenti allo stesso ordine dell'SFB 53. Lo stesso vale per i parametri attuali di LEN.
Il trasferimento del set di dati è concluso quando il parametro di uscita BUSY assume il valore
FALSE.

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: esecuzione del
trasferimento del set di dati.
ID INPUT DWORD E, A, M, D, L, cost. Indirizzo logico del componente slave
DP/PROFINET IO (unità o modulo)
Se si tratta di un'unità delle uscite
occorre impostare il bit 15 (ad es. con
l'indirizzo 5: ID:=DW#16#8005).
Se l'unità è mista, occorre indicare
l'indirizzo minore dei due.
INDEX INPUT INT E, A, M, D, L, cost. Numero del set di dati
LEN INPUT INT E, A, M, D, L, cost. Lunghezza max del set di dati da
trasferire in byte
DONE OUTPUT BOOL E, A, M, D, L Il set di dati è stato trasferito
BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: l'operazione di scrittura
non è ancora conclusa.
ERROR OUTPUT BOOL E, A, M, D, L ERROR = 1: durante la scrittura si è
verificato un errore.
STATUS OUTPUT DWORD E, A, M, D, L Identificazione di errore o stato del
blocco
Per l'interpretazione del parametro
STATUS vedere Ricezione di un
allarme con l'SFB 54 "RALRM"
RECORD IN_OUT ANY E, A, M, D, L Set di dati
Avvertenza: osservare che nelle CPU
S7-300 il parametro RECORD
richiede sempre l'indicazione
completa dei parametri DB (ad es.:
P#DB13.DBX0.0 byte 100).
Tralasciare un n. di DB esplicito nelle
CPU S7-300 non è consentito e
genera un messaggio di errore nel
programma utente.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 173
SFB DPV1 secondo PNO AK 1131
8.2 Scrittura di un set di dati con l'SFB 53 "WRREC"

Avvertenza
Impiegando l'SFB 53 per la scrittura di un set di dati in PROFINET IO, i valori negativi nei parametri
INDEX e LEN vengono interpretati come numeri interi senza segno a 16 bit.

Informazioni di errore
Per l'interpretazione del parametro STATUS vedere Ricezione di un allarme con l'SFB 54 "RALRM"

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


174 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB DPV1 secondo PNO AK 1131
8.3 Ricezione di un allarme con l'SFB 54 "RALRM"

8.3 Ricezione di un allarme con l'SFB 54 "RALRM"

Avvertenza
L'interfaccia dell'SFB 54 "RALRM" è identica a quella dell'FB "RALRM" definito nella norma
"PROFIBUS Guideline PROFIBUS Communication and Proxy Function Blocks according to
IEC 61131-3".

Descrizione
L'SFB "RALRM" riceve un allarme con la relativa informazione da un'unità di periferia
(configurazione centrale) o da un componente di uno slave DP o di un PROFINET IO Device e mette
questa informazione a disposizione dei suoi parametri di uscita.
L'informazione nei parametri di uscita contiene sia le informazioni di avvio dell'OB richiamato che
quelle della sorgente dell'allarme.
Richiamare l'SFB 54 soltanto all'interno dell'OB di allarme avviato dal sistema operativo della CPU in
base all'allarme della periferia da verificare.

Avvertenza
Richiamando l'SFB 54 "RALRM" in un OB il cui evento di avvio non è un allarme della periferia,
l'SFB fornisce, nelle uscite, proporzionalmente meno informazioni.
Assicurarsi che, con il richiamo dell'SFB 54 "RALRM", vengano utilizzati diversi DB di istanza in
diversi OB. Se si analizzano i dati risultanti da un richiamo dell'SFB 54 al di fuori dell'OB di allarme
corrispondente, è persino necessario utilizzare un DB di istanza per ciascun evento di avvio di un
OB.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 175
SFB DPV1 secondo PNO AK 1131
8.3 Ricezione di un allarme con l'SFB 54 "RALRM"

Richiamo dell'SFB 54
L'SFB 54 "RALRM" può essere richiamato in tre diversi tipi di funzionamento (MODE), che sono
elencati nella tabella seguente.

MODE L'SFB 54 ...


0 ... indica il componente che ha attivato l'allarme nel parametro di uscita ID e scrive nel parametro
di uscita NEW il valore TRUE.
1 ... scrive tutti i parametri di uscita a prescindere dal componente che ha attivato l'allarme.
2 ... controlla che il componente indicato nel parametro di ingresso F_ID non abbia attivato
l'allarme.
• In caso negativo, a NEW viene assegnato il valore FALSE
• In caso positivo, a NEW viene assegnato il valore TRUE, mentre vengono scritti tutti gli altri
parametri di uscita

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


MODE INPUT INT E, A, M, D, L, cost. Tipo di funzionamento
F_ID INPUT DWORD E, A, M, D, L, cost. Indirizzo logico iniziale del componente
(unità o modulo) che dovrebbe ricevere
gli allarmi
Nota: se l’indirizzo è un indirizzo di uscita
occorre impostare il bit 15.
MLEN INPUT INT E, A, M, D, L, cost. Lunghezza massima dell'informazione di
allarme da ricevere in byte
NEW OUTPUT BOOL E, A, M, D, L È stato ricevuto un nuovo allarme.
STATUS OUTPUT DWORD E, A, M, D, L Codice di errore dell'SFB o del master DP
ID OUTPUT DWORD E, A, M, D, L Indirizzo logico iniziale del componente
(unità o modulo) che ha ricevuto un
allarme
Il bit 15 contiene l'identificazione E/A: 0 in
caso di indirizzo di ingresso, 1 in caso di
indirizzo di uscita.
LEN OUTPUT INT E, A, M, D, L Lunghezza dell'informazione di allarme
ricevuta
TINFO IN_OUT ANY E, A, M, D, L (task information)
Area di destinazione per l'informazione di
avvio dell'OB e informazione
dell'amministrazione
Avvertenza: osservare che nelle CPU
S7-300 per il parametro TINFO richiede
sempre l'indicazione completa dei
parametri DB (ad es.: P#DB13.DBX0.0
byte 100). Tralasciare un n. di DB
esplicito nelle CPU S7-300 non è
consentito e genera un messaggio di
errore nel programma utente.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


176 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB DPV1 secondo PNO AK 1131
8.3 Ricezione di un allarme con l'SFB 54 "RALRM"

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


AINFO IN_OUT ANY E, A, M, D, L (alarm information)
Area di destinazione per informazione
dell'intestazione e informazione
supplementare di allarme
Per AINFO va prevista una lunghezza di
almeno 'MLEN' byte.
Avvertenza: osservare che nelle CPU
S7-300 per il parametro A INFO richiede
sempre l'indicazione completa dei
parametri DB (ad es.: P#DB13.DBX0.0
byte 100). Tralasciare un n. di DB
esplicito nelle CPU S7-300 non è
consentito e genera un messaggio di
errore nel programma utente.

Attenzione
Se l'area di destinazione TINFO o AINFO scelta è troppo piccola, l'SFB 54 non è in grado di
registrare l'intera informazione.

Struttura dei dati dell'area di destinazione TINFO

Byte Significato
0 … 19 Informazione di avvio dell'OB nel quale attualmente è stato richiamato l'SFB 54
20 e 21 Indirizzo, descrizione dettagliata v. oltre
22 … 31 Informazione dell'amministrazione, descrizione dettagliata v. oltre

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 177
SFB DPV1 secondo PNO AK 1131
8.3 Ricezione di un allarme con l'SFB 54 "RALRM"

Struttura dell'indirizzo (byte 20 e 21)


L'indirizzo comprende:
• Se la configurazione è centrale, il numero di telaio dell'unità (0-31).

• Se la configurazione è decentrata con PROFIBUS DP


- L'ID del sistema master DP (1-32)
- Il numero della stazione (0-127).

• Se la configurazione è decentrata con PROFINET IO


- Le ultime due cifre dell'ID del sistema PROFINET IO (0-15); per completare l'ID del sistema
PROFINET IO occorre aggiungere 100 (decimale)
- Il numero della stazione (0-2047).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


178 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB DPV1 secondo PNO AK 1131
8.3 Ricezione di un allarme con l'SFB 54 "RALRM"

Struttura dell'informazione dell'amministrazione – byte da 20 a 25

N. byte Tipo di Significato


TINFO dati
20 BYTE centrale: 0
decentrato: PROFIBUS DP: ID sistema master DP (valori possibili: 1 ... 32)
PROFINET IO: v. sopra

21 BYTE centrale: Numero di telaio di montaggio (valori possibili: 0 ... 31)


decentrato: Numero della stazione (valori possibili: 0 ... 127)
PROFINET IO: v. sopra

22 BYTE centrale: • 0: set di dati 0 oppure 1


decentrato: • Bit 0 ... 3: Tipo di slave 0000: DP (struttura del set di dati
0)
0001 DPS7 (struttura del set di
dati 0 o del set di dati 1)
0010 DPS7 V1 (struttura del set di
dati 0 o del set di dati 1)
0011: DPV1 (struttura secondo
PROFINET IO Standard
0100 - 0111: riservato
1000 PROFINET IO (struttura
secondo PROFINET IO
Standard)
ab 1001 Riservato
• Bit 4 ... 7: Tipo di profilo Riservato
23 BYTE centrale: • 0
decentrato: • Bit 0 ... 3: Tipo di 0000: Trasparente, per PROFINET
informazione IO è sempre così
di allarme (l'allarme proviene da
un'unità decentrata
progettata)
0001: Sostituto
(l'allarme proviene da uno
slave non DPV1/da un
dispositivo non IO Device o
da un posto connettore non
progettato)
0010: Creato
(allarme generato nella
CPU)
da 0011: Riservato
• Bit 4 ... 7: Versione 0000: Iniziale
della struttura da 0001: Riservato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 179
SFB DPV1 secondo PNO AK 1131
8.3 Ricezione di un allarme con l'SFB 54 "RALRM"

N. byte Tipo di Significato


TINFO dati
24 BYTE centrale: • 0
decentrato: Flag dell'interfaccia master PROFIBUS DP/PROFINET IO Controller
• Bit 0 = 0: Allarme proveniente da un'interfaccia integrata
(PROFINET IO o PROFIBUS DP)
• Bit 0 = 1: Allarme proveniente da un'interfaccia esterna
(PROFINET IO o PROFIBUS DP)
• Bit 1 ... 7: Riservato

25 BYTE centrale: • 0
decentrato: Flag dell'interfaccia slave PROFIBUS DP
• Bit 0: EXT_DIAG_FLAG dal telegramma di diagnostica o 0 se
questo bit non è disponibile nell'allarme.
Il bit è 1 se lo slave DP è guasto.
• Bit 1 ... 7: Riservato
Flag dell'interfaccia PROFINET IO Controller
• Bit 0: ARDiagnosisstate oppure 0 se nell'allarme non è
disponibile alcuna informazione.
Il bit è 1 se l'IO Device è guasto.
• Bit 1 ... 7: Riservato

Struttura dell'informazione dell'amministrazione - byte da 26 a 27 con PROFIBUS e nella


configurazione centrale

N. byte Tipo di dati Significato


TINFO
26 e 27 WORD centrale: 0
WORD decentrato: Numero ID PROFIBUS come identificazione univoca dello slave
PROFIBUS DP
28 e 29 WORD 0 (i byte 28 e 29 non sono necessari)
30 e 31 WORD 0 (i byte 30 e 31 non sono necessari)

Qui si conclude l'informazione dell'amministrazione dell'area di destinazione TINFO con PROFIBUS


e configurazione centrale.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


180 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB DPV1 secondo PNO AK 1131
8.3 Ricezione di un allarme con l'SFB 54 "RALRM"

Struttura dell'informazione dell'amministrazione - byte da 26 a 31 con PROFINET IO

N. byte Tipo di dati Significato


TINFO
26 e 27 WORD decentrato: Numero ID PROFINET IO Device come identificazione univoca
del PROFINET IO Device
28 e 29 WORD decentrato: Identificativo produttore
30 e 31 WORD decentrato: Numero ID dell'istanza

Struttura dei dati dell'area di destinazione AINFO con allarmi PROFIBUS DP o periferia centrale
I dati relativi a PROFINET IO sono indicati oltre.

Byte Significato
0 ... 3 Informazione dell'intestazione, per la descrizione dettagliata v. oltre
4 ... 199 Informazione supplementare dell'allarme: dati del rispettivo allarme:
centrale: ARRAY[0] ... ARRAY[195]
decentrato: ARRAY[0] ... ARRAY[59]

Struttura dell'informazione dell'intestazione con allarmi PROFIBUS DP o periferia centrale

Byte Tipo di dati Significato


0 BYTE Lunghezza in byte dell'informazione di allarme ricevuta
centrale: 4 ... 224
decentrato: 4 ... 63
1 BYTE centrale: Riservato
decentrato: ID del tipo di allarme
1: Allarme di diagnostica
2: Interrupt di processo
3: Allarme di estrazione
4: Allarme di inserimento
5: Allarme di stato
6: Allarme di aggiornamento
31 Guasto di un'apparecchiatura di ampliamento,
di un sistema master DP o di una stazione DP
32 ... 126: Allarme produttore
2 BYTE Posto connettore del componente causa dell'errore

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 181
SFB DPV1 secondo PNO AK 1131
8.3 Ricezione di un allarme con l'SFB 54 "RALRM"

Byte Tipo di dati Significato


3 centrale: Riservato

BYTE
decentrato: Specifier
Bit 0 e 1: 0: nessuna ulteriore informazione;
1: evento entrante, posto connettore guasto
2: evento uscente, posto connettore non più
guasto
3: evento uscente, posto connettore ancora
guasto
Bit 2: Add_Ack
Bit 3 ... 7: Numero sequenziale

Struttura dei dati dell'area di destinazione AINFO con allarmi PROFINET IO

Byte Significato
0 ... 25 Informazione dell'intestazione, per la descrizione dettagliata v. oltre
18 ... 1431 Informazione supplementare dell'allarme: dati di diagnostica standard del rispettivo allarme:
ARRAY[0] ... ARRAY[1405]
Avvertenza: l'informazione supplementare dell'allarme può essere tralasciata.

Struttura dell'informazione dell'intestazione di allarmi con PROFINET IO

Byte Tipo di dati Significato


0e1 WORD • Bit da 0 a 7: tipo di blocco
• Bit da 8 a 15: riservato
2e3 WORD • Lunghezza del blocco
4e5 WORD Versione:
• Dai bit 0 a 7: low byte
• Dai bit 8 a 15: high byte

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


182 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB DPV1 secondo PNO AK 1131
8.3 Ricezione di un allarme con l'SFB 54 "RALRM"

Byte Tipo di dati Significato


6e7 WORD ID del tipo di allarme:
• 1: allarme di diagnostica (entrante)
• 2: interrupt di processo
• 3: allarme di estrazione
• 4: allarme di inserimento
• 5: allarme di stato
• 6: allarme di aggiornamento
• 7: allarme di ridondanza
• 8: comandato dal supervisore (Controlled_by_Supervisor)
• 9: abilitato dal supervisore (Released_by_Supervisor)
• 10: l'unità inserita non è quella progettata
• 11: ripristino del sottomodulo
• 12: allarme di diagnostica (uscente)
• 13: messaggio di collegamento comunicazione diretta
• 14: messaggio di modifica dei componenti vicini
• 15: messaggio di sincronizzazione di clock (nel bus)
• 16: messaggio di sincronizzazione di clock (nel dispositivo)
• 17: messaggio dei componenti di rete
• 18: messaggio di sincronizzazione dell'ora (nel bus)
• 19 ... 31: riservato
• 32 ... 127: allarme specifico del costruttore
• 128 ... 65535: riservato
8 … 11 DWORD API (Application Process Identifier)
12 … 13 WORD N. del posto connettore dei componenti che hanno generato l'allarme (campo di
valori da 0 ... 65535)
14 … 15 WORD N. del posto connettore nel sottomodulo dei componenti che hanno generato
l'allarme (campo di valori da 0 ... 65535)
16 … 19 DWORD Identificazione del modulo; informazione univoca della sorgente dell'allarme
20 … 23 DWORD Identificazione del sottomodulo; informazione univoca della sorgente dell'allarme

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 183
SFB DPV1 secondo PNO AK 1131
8.3 Ricezione di un allarme con l'SFB 54 "RALRM"

Byte Tipo di dati Significato


24 … 25 WORD Alarm Specifier:
• Bit 0 ... 10: numero della sequenza (campo di valori da 0 ... 2047)
• Bit 11: diagnostica di canale:
0: diagnostica di canale non disponibile
1: diagnostica di canale disponibile
• Bit 12: stato della diagnostica specifica del costruttore:
0: informazione di stato specifica del costruttore non disponibile
1: informazione di stato specifica del costruttore disponibile
• Bit 13: stato della diagnostica nel sottomodulo:
0: informazione di stato non disponibile, tutti gli errori sono stati eliminati
1: sono disponibili almeno un messaggio di diagnostica canale e/o
un'informazione di stato.
• Bit 14: riservato
• Bit 15: Application Relationship Diagnosis State:
- 0: nessuna unità progettata in questa AR emette un messaggio di
diagnostica
- 1: almeno un'unità progettata in questa AR emette un messaggio di
diagnostica

Struttura dell'informazione supplementare dell'allarme con PROFINET IO


In PROFINET IO l'informazione supplementare dell'allarme è in funzione dell'ID del formato e può
essere costituita da più blocchi dati con un ID di formato identico o diverso.
Sono possibili i seguenti ID del formato:
• da W#16#0000 a W#16#7FFF: per informazioni di diagnostica specifiche del costruttore.

Byte Tipo di dati Significato


0 ... 1 WORD ID del formato per la struttura dei dati dell'informazione supplementare di allarme:
W#16#0000 ... W#16#7FFF: diagnostica del costruttore
2 ... n BYTE Consultare il manuale del costruttore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


184 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB DPV1 secondo PNO AK 1131
8.3 Ricezione di un allarme con l'SFB 54 "RALRM"

• W#16#8000 informazioni sulla diagnostica del canale


La diagnostica di canale viene emessa in blocchi di rispettivamente 6 byte. L'informazione
supplementare dell'allarme (senza ID del formato) viene emessa solo per canali che presentano
anomalie o guasti.

Byte Tipo di dati Significato


0 ... 1 WORD ID del formato per la struttura dei dati dell'informazione supplementare di allarme
W#16#8000: diagnostica di canale
2 ... 3 WORD Numero di canale del componente che ha attivato l'allarme (campo di valori 0 ...
65535):
• W#16#0000 ... W#16#7FFF: numero di canale del sottomodulo /modulo
• W#16#8000: rappresentativo per l'intero sottomodulo
• W#16#8001 ... W#16#FFFF: riservato
4 BYTE Bit 0 ... 2: Riservato
Bit 3 ... 4: Tipo di errore
• 0: riservato
• 1: errore entrante
• 2: errore uscente
• 3: errore uscente, sono presenti altri errori
Bit 5 ... 7: Tipo di canale
• 0: riservato
• 1: canale di ingresso
• 2: canale di uscita
• 3: canale di ingresso/uscita
5 BYTE Formato dei dati
• B#16#00: formato dei dati libero
• B#16#01: bit
• B#16#02: 2 bit
• B#16#03: 4 bit
• B#16#04: byte
• B#16#05: parola
• B#16#06: doppia parola
• B#16#07: 2 doppie parole
• B#16#08 ... B#16#FF: riservato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 185
SFB DPV1 secondo PNO AK 1131
8.3 Ricezione di un allarme con l'SFB 54 "RALRM"

Byte Tipo di dati Significato


6 ... 7 WORD Tipo di errore:
• W#16#0000: riservato
• W#16#0001: cortocircuito
• W#16#0002: sottotensione
• W#16#0003: sovratensione
• W#16#0004: sovraccarico
• W#16#0005: sovratemperatura
• W#16#0006: rottura cavo
• W#16#0007: superamento verso l'alto valore limite superiore
• W#16#0008: superamento verso il basso valore limite inferiore
• W#16#0009: errore
• W#16#000A ... W#16#000F: riservato
• W#16#0010 ... W#16#001F: specifico del costruttore
• W#16#0020 ... W#16#00FF: riservato
• W#16#0100 ... w#16#7FFF: specifico del costruttore
• W#16#8000: diagnostica dell'apparecchiatura presente
• W#16#8001 ... W#16#FFFF: riservato
Non tutti i canali supportano tutti i tipi di errore. Maggiori dettagli sono riportati nella
descrizione die dati di diagnostica del rispettivo dispositivo.

Avvertenza
La parte che si estende da "Numero di canale" a "Tipo di errore" può presentarsi da 0 a n volte.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


186 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB DPV1 secondo PNO AK 1131
8.3 Ricezione di un allarme con l'SFB 54 "RALRM"

• W#16#8001: MULTIPLE (vengono trasmessi tipi diversi di informazioni di diagnostica)


In questo caso l'informazione supplementare di allarme viene emessa in una struttura a blocchi di
lunghezza variabile.

Byte Tipo di dati Significato


0 …1 WORD ID del formato per la struttura dei dati dell'informazione supplementare di allarme
W#16#8001: diagnostica del costruttore e /o del canale
2…3 WORD Tipo di blocco
4…5 WORD Lunghezza del blocco
6 BYTE Versione: high byte
7 BYTE Versione: low byte
8 … 11 DWORD API (soltanto se il low byte appartiene alla versione = 1)
12 … 13 WORD ID del posto connettore
14 … 15 WORD ID del posto connettore subordinato
16 … 17 WORD Numero di canale
18 … 19 WORD Proprietà del canale
20 … 21 WORD ID del formato:
• W#16#0000 ... W#16#7FFF: diagnostica del costruttore
• W#16#8000: diagnostica di canale
• W#16#8002: diagnostica di canale avanzata
• W#16#8003: diagnostica di canale avanzata a livelli
• W#16#8004 … W#16#80FF: riservato
22 … n BYTE Dati in funzione dell'ID del formato

Avvertenza
La parte a partire da "Tipo di blocco" può presentarsi da 1 a n volte.

• W#16#8002: diagnostica di canale avanzata

Byte Significato
0…1 ID del formato W#16#8002
2…3 Numero di canale
4…5 Proprietà del canale
6…7 Tipo di errore
8…9 Valore supplementare dell'errore
10 … 13 Informazione supplementare di errore

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 187
SFB DPV1 secondo PNO AK 1131
8.3 Ricezione di un allarme con l'SFB 54 "RALRM"

• W#16#8003: diagnostica di canale avanzata strutturata per livelli

Byte Significato
0…1 ID del formato W#16#8003
2…3 Numero di canale
4…5 Proprietà del canale
6…7 Tipo di errore
8…9 Valore supplementare dell'errore
10 … 13 Informazione supplementare di errore
14 … 17 Qualified Channel Qualifier

• W#16#8100: informazione di manutenzione

Byte Significato
0…1 ID del formato W#16#8100
2…3 Tipo di blocco
4…5 Lunghezza del blocco
6…7 Versione blocco
8…9 Riservato
10 … 13 Stato di manutenzione

Avvertenza
Per informazioni più dettagliate sulla configurazione dell'informazione di stato dell'allarme,
consultare il manuale di programmazione SIMATIC PROFINET IO Migrazione da PROFIBUS DP a
PROFINET IO e la Norma IEC 61158-6-10-1 aggiornata .

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


188 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB DPV1 secondo PNO AK 1131
8.3 Ricezione di un allarme con l'SFB 54 "RALRM"

Area di destinazione TINFO e AINFO


A seconda del rispettivo OB nel quale si richiama l'SFB 54, le aree di destinazione TINFO e AINFO
vengono scritte solo in parte. La tabella seguente contiene le informazioni che vengono registrate di
volta in volta.

Tipo di allarme OB TINFO TINFO AINFO AINFO


OB informa Informazione Informa- informazione supplementare
-zione di amministra- zione allarme
stato zione intesta-
zione
Interrupt di 4x Sì Sì Sì Centrale: No
processo
Decentrato: Come fornito da
slave PROFIBUS
DP/PROFINET IO
Device
Allarme di stato 55 Sì Sì Sì Sì Sì
Allarme di 56 Sì Sì Sì Sì Sì
aggiornamento
Allarme produttore 57 Sì Sì Sì Sì Sì
Errore periferia 70 Sì Sì No No No
ridondata
Allarme di 82 Sì Sì Sì Centrale: Set di dati 1
diagnostica
Decentrato: Come fornito da
slave PROFIBUS
DP/PROFINET IO
Device
Allarme di 83 Sì Sì Sì Centrale: No
estrazione /
inserimento
Decentrato: Come fornito da
slave PROFIBUS
DP/PROFINET IO
Device
Forma speciale di 83 Sì Sì Sì Solo PROFINET IO
allarme di
estrazione:
Controllato dal
Supervisor
Forma speciale di 83 Sì Sì Sì Solo PROFINET IO
allarme di
inserimento:
Abilitato dal
Supervisor
Unità inserita non 83 Sì Sì Sì Solo PROFINET IO
progettata

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 189
SFB DPV1 secondo PNO AK 1131
8.3 Ricezione di un allarme con l'SFB 54 "RALRM"

Tipo di allarme OB TINFO TINFO AINFO AINFO


OB informa Informazione Informa- informazione supplementare
-zione di amministra- zione allarme
stato zione intesta-
zione
Guasto telaio di 86 Sì Sì No No
montaggio /
stazione
... tutti gli altri OB Sì No No No

Informazioni di errore
Il parametro di uscita STATUS contiene informazioni di errore. Se viene interpretato come
ARRAY[1...4] OF BYTE, l'informazione di errore avrà la seguente struttura:

Elemento del campo Nome Significato


STATUS[1] Function_Num • B#16#00, se non vi sono errori
• Identificazione della funzione da PDU DPV1: in caso di
lettura del set di dati B#16#DE, in caso di errori di
scrittura del seti di dati B#16#DF. Se non viene utilizzato
un elemento di protocollo: DPV1: B#16#C0.

STATUS[2] Error_Decode Punto di rilevamento dell'errore
STATUS[3] Error_Code_1 Identificazione dell'errore
STATUS[4] Error_Code_2 Ampliamento dell'identificazione dell'errore specifico del
produttore

STATUS[2] può assumere i seguenti valori:

Error_Decode Sorgente Significato


(B#16#...)
00 - 7F CPU Nessun errore o nessun avviso
80 DPV1 Errore secondo la IEC 61158-6
81 - 8F CPU B#16#8x indica un errore nell'"x-esimo" parametro di
richiamo dell'SFB.
FE, FF Profili DP Errore specifico del profilo

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


190 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB DPV1 secondo PNO AK 1131
8.3 Ricezione di un allarme con l'SFB 54 "RALRM"

STATUS[3] può assumere i seguenti valori:

Error_Decode Error_Code_1 Spiegazione Significato


(B#16#...) (B#16#...) secondo DVP1
00 00 Nessun errore, nessun avviso

70 00 reserved, reject Primo richiamo; nessun trasferimento del set di dati


attivo
01 reserved, reject Primo richiamo; trasferimento del set di dati avviato
02 reserved, reject Richiamo intermedio; trasferimento del set di dati già
attivo

80 90 reserved, pass Indirizzo logico iniziale non valido


92 reserved, pass Tipo di puntatore ANY non ammesso
93 reserved, pass Il componente DP indirizzato tramite ID o F_ID non è
stato configurato.
95 Errore di lettura dell'informazione di allarme
supplementare nel sistema H (in caso di lettura
dell'informazione di allarme supplementare nella
periferia centrale o decentrata tramite interfaccia DP
esterna, questo errore viene emesso come "errore
cumulativo").
Avvertenza: in caso di accoppiamento e aggiornamento
può succedere che l'informazione supplementare di
allarme non sia momentaneamente disponibile.
96 In un sistema H è stata effettuata una commutazione
riserva/master e la CPU che finora era master è entrata
in STOP. Nello stesso momento era in fase di
elaborazione un OB. L'SFB 54 non è in grado di fornire
né l'informazione di start dell'OB, né l'informazione di
amministrazione, né l'informazione dell'intestazione né
l'informazione supplementare sull'allarme.
L'informazione di start dell'OB si può leggere con l'SFC 6
"RD_SINFO". Inoltre, negli OB 4x, 55, 56, 57, 82 e 83 è
possibile leggere in modo asincrono il telegramma di
diagnostica attuale dello slave DP con l'aiuto dell'SFC 13
"DPNRM_DG" (informazione sull'indirizzo
nell'informazione di start dell'OB).
A0 read error Conferma negativa della lettura dall'unità
A1 write error Conferma negativa della scrittura nell'unità
A2 module failure Errore di protocollo DP sul livello 2 (ad es. guasto allo
slave o al bus)
A3 reserved, pass • PROFIBUS DP: errore di protocollo DP con
Direct-Data-Link-Mapper o User-Interface/User
• PROFINET IO: errore CM generaler
A4 reserved, pass Comunicazione disturbata nel bus K
A5 reserved, pass -
A7 reserved, pass Slave DP o unità occupati (errore temporaneo)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 191
SFB DPV1 secondo PNO AK 1131
8.3 Ricezione di un allarme con l'SFB 54 "RALRM"

Error_Decode Error_Code_1 Spiegazione Significato


(B#16#...) (B#16#...) secondo DVP1
A8 version conflict Slave DP o unità segnalano versioni diverse
A9 feature not Funzione non supportata dallo slave DP p dall'unità
supported
AA - AF user specific Slave DP o unità segnalano un errore del produttore
dell'applicazione. Consultare la documentazione del
produttore dello slave DP o dell'unità.
B0 invalid index Set di dati sconosciuto all'unità
numero del set di dati 256 non consentito
B1 write length error La lunghezza indicata nel parametro RECORD non è
corretta; SFB 54: errore di lunghezza in AINFO
nelle SFB 52 e 53: errore di lunghezza nel parametro
MLEN
B2 invalid slot Il posto connettore progettato non è occupato.
B3 type conflict Tipo di unità effettivo diverso da quello di riferimento
B4 invalid area Slave DP o unità segnalano un accesso ad un'area non
ammessa
B5 state conflict Slave DP o unità non pronti
B6 access denied Slave DP o unità rifiutano l'accesso
B7 invalid range Slave DP o unità segnalano un'area non ammessa di un
parametro o un valore
B8 invalid parameter Slave DP o unità segnalano un parametro non ammesso
B9 invalid type Slave DP o unità segnalano un tipo non ammesso
Nell'SFB 52: buffer troppo piccolo (la lettura di una parte
delle informazioni non è possibile )
Nell'SFB 53: buffer troppo piccolo (la scrittura di una
parte delle informazioni non è possibile)
BA - BF user specific Slave DP o unità segnalano un errore del produttore
dell'applicazione. Consultare la documentazione del
produttore dello slave DP o dell'unità.
Avvertenza sul valore B#16# BA: in caso di PROFINET
nel sistema H vale: se un ordine di set di dati viene
rifiutato con il valore di risposta W#16#80BA, è
necessario ripetere l'ordine.
C0 read constrain Nell'SFB 53 "WRREC": la scrittura dei dati è possibile
conflict esclusivamente nello stato di funzionamento STOP della
CPU. Avvertenza: la scrittura tramite il programma
utente non è pertanto possibile. I dati possono essere
inseriti soltanto online dal PG/PC.
Nell'SFB 52 "RDREC": l'unità gestisce il set di dati ma
non esistono dati disponibili oppure essi possono essere
letti soltanto nello stato di funzionamento STOP della
CPU. Avvertenza: se la lettura dei dati può essere
eseguita soltanto nello stato STOP della CPU, l'analisi
tramite il programma utente non è possibile. In questo
caso i dati possono essere letti soltanto online dal
PG/PC.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


192 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB DPV1 secondo PNO AK 1131
8.4 Allarme inviato al master DP con l'SFB 75 "SALRM"

Error_Decode Error_Code_1 Spiegazione Significato


(B#16#...) (B#16#...) secondo DVP1
C1 write constrain I dati dell'ordine di scrittura precedente dell'unità per lo
conflict stesso set di dati non sono ancora stati elaborati
dall'unità.
C2 resource busy L'unità elabora attualmente il numero massimo di ordine
consentito per una CPU.
C3 Resource Le risorse necessarie sono momentaneamente
unavailable occupate.
C4 Errore temporaneo interno. Impossibile eseguire il task.
Ripetere il task. Se l'errore si verifica spesso verificare
che non ci siano sorgenti di disturbo nella propria
struttura.
C5 Slave DP o unità non disponibili.
C6 Trasmissione del set di dati interrotta per interruzione
classi di priorità
C7 Interruzione del task per nuovo avviamento (avviamento
a caldo) o avviamento a freddo del master DP.
C8 - CF Slave DP o unità segnalano un errore del produttore
relativo alle risorse. Consultare la documentazione del
produttore dello slave DP o dell'unità.
Dx user specific Specifico dello slave DP. Vedere la descrizione dello
slave DP.
8x (x = 1, ... 9, 00 - FF Errore nel y-esimo parametro di richiamo (y = 1, ...15)
A, B, C, D, E, F) • Error_Code_1 = 00: modo di funzionamento non
ammesso
• Per tutti gli altri valori di Error_Code_1 vedere
"Codici di errore generali" nell’Analisi degli errori con
il parametro di uscita RET_VAL

FE, FF 00 … FF Errore specifico del profilo

STATUS[4] viene trasmesso in caso di errori DPV1 dal master DP alla CPU e all'SFB. Senza errori
DPV1, il valore viene impostato a 0 con le eccezioni seguenti negli SFB 52 e 53:
• STATUS[4] contiene la lunghezza dell'area di destinazione di RECORD, con lunghezza
LEN > lunghezza dell'area di destinazione di RECORD
• STATUS[4]=LEN con lunghezza effettiva del set di dati < LEN < lunghezza dell'area di
destinazione di RECORD.
• STATUS[4]=0, se fosse necessario impostare STATUS[4] > 255.
• Negli errori DPV1 o PNIO l’elemento protocollo viene trasferito (0xDE, xx, xx, xx) o (0xDF, xx, xx,
xx). Per gli errori generati internamente (0xC0, xx, xx, xx), nei quali cioè manca un elemento
protocollo, l’ultimo byte è uguale a zero.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 193
SFB DPV1 secondo PNO AK 1131
8.4 Allarme inviato al master DP con l'SFB 75 "SALRM"

8.4 Allarme inviato al master DP con l'SFB 75 "SALRM"

Avvertenza
L'interfaccia dell'SFB 75 "SALRM" è identica a quella dell'FB "SALRM" definito nella norma
"PROFIBUS Guideline PROFIBUS Communication and Proxy Function Blocks according to
IEC 61131-3".

Descrizione
Con l'SFB 75 "SALRM" il programma utente dello slave intelligente invia al master DP un allarme
proveniente da un posto connettore situato nell'area di trasferimento (posto connettore virtuale). Nel
master DP viene avviato l'OB corrispondente.
L'allarme può essere corredato di informazioni supplementari specifiche, leggibili nel master DP con
l'SFB 54 "RALRM".
L'SFB 75 è utilizzabile soltanto nel modo "compatibile con S7".

• DP: il master riconosce lo I-slave mediante file GSD.


• compatibile con S7: lo I-slave viene collegato ad un master mediante l'applicazione
Configurazione HW di STEP 7.

Metodo di lavoro
L'SFB 75 "SALRM" è un SFB operante in modo asincrono, ciò significa che l'elaborazione
comprende più richiami dell'SFB. La trasmissione dell'allarme viene avviata richiamando l'SFB 75
con REQ = 1.
La procedura di trasmissione rimane attiva fino a quando l'elaborazione dell'allarme viene
confermata o interrotta dal master DP.
Il parametro di uscita BUSY e i byte 2 e 3 del parametro di uscita STATUS permettono di visualizzare
lo stato dell'ordine. I byte 2 e 3 di STATUS corrispondono al parametro di uscita RET_VAL delle
SFC asincrone (vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle
SFC asincrone).
La trasmissione dell'allarme è conclusa quando il parametro di uscita BUSY assume il valore FALSE.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


194 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB DPV1 secondo PNO AK 1131
8.4 Allarme inviato al master DP con l'SFB 75 "SALRM"

Identificazione dell'ordine
Se con l'SFB 75 viene attivato l'invio di un allarme al master DP e l'utente richiama nuovamente
l'SFB prima della conclusione dell'ordine in corso, la reazione dell'SFB dipende dalla possibilità che il
nuovo richiamo riguardi lo stesso ordine o meno.
Se i parametri ID e ATYPE coincidono con un ordine non ancora concluso, il richiamo dell'SFB vale
come richiamo successivo.

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: esecuzione della trasmissione
dell'allarme
ID INPUT DWORD E, A, M, D, L, cost. Qualunque indirizzo logico dell'area di
passaggio al master DP (posti connettore
virtuali) (dal lato dello slave DP) eccetto
l'indirizzo di diagnostica della stazione e
l'indirizzo logico del posto connettore 2.
L'informazione rilevante si trova nel low
word. L'high word va occupato con 0. Il bit
15 contiene l'identificazione E/A: 0 in
caso di indirizzo di ingresso, 1 in caso di
indirizzo di uscita.
ATYPE INPUT INT E, A, M, D, L, cost. alarm type
Identificazione del tipo di allarme. Valori
possibili:
• 1: allarme di diagnostica
• 2: interrupt di processo
ASPEC INPUT INT E, A, M, D, L, cost. alarm specifier
• 0: nessuna ulteriore informazione
• 1: evento entrante, posto connettore
guasto
• 2: evento uscente, guasto eliminato
• 3: evento uscente, posto connettore
ancora guasto
LEN INPUT INT E, A, M, D, L, cost. Lunghezza in byte dell'informazione di
allarme supplementare da inviare.
Valore massimo: 16.
DONE OUTPUT BOOL E, A, M, D, L DONE=1: allarme trasmesso
BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: trasmissione dell'allarme in
corso
ERROR OUTPUT BOOL E, A, M, D, L ERROR = 1: si è verificato un errore
STATUS OUTPUT DWORD E, A, M, D, L Informazione di errore

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 195
SFB DPV1 secondo PNO AK 1131
8.4 Allarme inviato al master DP con l'SFB 75 "SALRM"

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


AINFO IN_OUT ANY E, A, M, D, L alarm information
Area sorgente per le informazioni di
allarme supplementari.
Avvertenza: osservare che nelle CPU
S7-300 il parametro AINFO richiede
sempre l'indicazione completa dei
parametri DB (ad es.: P#DB13.DBX0.0
byte 100). Tralasciare un n. di DB
esplicito nelle CPU S7-300 non è
consentito e genera un messaggio di
errore nel programma utente.

Parametro ATYPE
La seguente tabella indica, per ogni valore di ATYPE consentito, l'OB richiamato nel relativo master
DP ed il modo DP che permette il tipo di allarme.

ATYPE Significato nella OB attivato nel master DP S7 Modo DP


norma DPV1
DP Compatibile con S7
1 diagnosis alarm OB di allarme di diagnostica (OB 82) - Sì
2 process alarm OB di interrupt di processo (da OB 40 a - Sì
OB 47)

Avvertenza
Oltre a quanto riportato nella tabella, la possibilità di utilizzare i diversi tipi di allarme dipende anche
dal master DP.

Interdipendenza tra tipo di allarme e stato di funzionamento del master S7


Se lo slave si trova nel modo "compatibile con S7" (funzionamento con un master S7), gli allarmi di
diagnostica e gli interrupt di processo possono essere inviati soltanto se il master DP si trova nello
stato di funzionamento (DP: Operate). Se il master DP è in STOP (DP: Clear), l'allarme viene
trattenuto e l'SFB 75 fornisce l'informazione di errore W#16#80C8. È compito dell'utente fare in
modo che l'invio dell'allarme venga recuperato in un secondo momento.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


196 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB DPV1 secondo PNO AK 1131
8.4 Allarme inviato al master DP con l'SFB 75 "SALRM"

Parametro ASPEC
Questo parametro visualizza conformemente alla norma lo stato della diagnostica del posto
connettore virtuale. Per questo motivo è consentito assegnare ad ASPEC un valore diverso da 0
soltanto se si invia un allarme di diagnostica.
Poiché nelle informazioni di allarme supplementari S7 dell'allarme di diagnostica (set di dati 0) è
presente un'informazione di evento entrante / uscente (vedere Dati di diagnostica byte 0 bit 0), nel
byte 0 delle informazioni di allarme supplementari vanno assegnati al bit 0 (guasto all'unità) i
seguenti valori:

ASPEC Bit "Guasto all'unità" in AINFO


0 0
1 1
2 0
3 1

Parametro LEN
In LEN viene indicata la lunghezza in byte delle informazioni di allarme supplementari da inviare.
L'area di valori consentita va da 0 a 16.
La tabella seguente indica i valori di LEN consentiti per i diversi tipi di allarme nei modi operativi
assunti dallo slave intelligente.

Tipo di allarme DP Compatibile con S7


Allarme di diagnostica - Da 4 a 16
Interrupt di processo - 4

La tabella seguente descrive la reazione dell'SFB 75 quando si assegna a LEN un valore diverso
dalla lunghezza di AINFO in BYTE.

Valori di LEN Reazione dell'SFB 75


<= lunghezza di AINFO SFB 75 invia l'allarme al master DP. Il numero di byte delle
informazioni di allarme supplementari trasferiti corrisponde a quello
indicato in LEN.
al di fuori dell'area di valori consentita, SFB 75 non invia alcun allarme.
ad es. < 0 o > 16 Informazione di errore: W#16#80B1, STATUS[4]=B#16#FF
> lunghezza di AINFO SFB 75 invia l'allarme al master DP. Il numero di byte delle
informazioni di allarme supplementari trasferiti corrisponde a quello
indicato in AINFO.
Informazione di errore: W#16#00B1, STATUS[4]=lunghezza indicata
in AINFO

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 197
SFB DPV1 secondo PNO AK 1131
8.4 Allarme inviato al master DP con l'SFB 75 "SALRM"

Parametro AINFO
AINFO è l'area sorgente per le informazioni di allarme supplementari. Per quanto riguarda lo slave
intelligente, a quest'area può essere assegnato qualsiasi valore; tuttavia, se si utilizza un master S7
le informazioni supplementari inviate devono corrispondere agli standard S7.
Se si invia un allarme di diagnostica (ATYPE=1), occorre provvedere ad un'occupazione corretta
del set di dati 0 ed eventualmente del set di dati 1.
La tabella seguente riporta un esempio di occupazione conforme ad S7. Il bit "Guasto all'unità" (v.
sopra) è già impostato; fatta eccezione per tale bit, l'esempio corrisponde all'occupazione di default
(che si verifica dopo RETE ON, a seguito di un passaggio dello slave intelligente da STOP a RUN
oppure dopo un ritorno di stazione):

N. set di dati Occupazione


0 B#16#01, 0B, 00, 00
1 in modo "compatibile con S7": seti di dati 0 + 12 byte con 0

(vedere anche Panoramica della struttura dei dati di diagnostica).

Effetti del richiamo dell'SFB 75 sulle informazioni di stato delle unità e sul LED di errore
cumulativo (SF)
Come accade per ogni CPU, anche lo slave intelligente memorizza le proprietà dei propri posti
connettore nell'informazione sullo stato delle unità (vedere SZL-ID W#16#xy91 - Informazione sullo
stato delle unità ).
Se si invia un allarme di diagnostica mediante SFB 75, il sistema operativo dello slave intelligente
modifica le informazioni locali dello slave sullo stato delle unità e influisce sul LED SF in dipendenza
del bit 0 nel byte 0 di AINFO (questo bit viene acquisito come "Unità guasta" nell'informazione di
stato). Nello slave intelligente non viene tuttavia effettuata alcuna registrazione nel buffer di
diagnostica e non viene avviato nessun OB di allarme di diagnostica.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


198 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB DPV1 secondo PNO AK 1131
8.4 Allarme inviato al master DP con l'SFB 75 "SALRM"

Coerenza dell'informazione sullo stato delle unità tra master DP e slave intelligente
Nel seguito vengono illustrate diverse situazioni possibili e le loro conseguenze per l'informazione
sullo stato delle unità.
• Ritorno di stazione (conseguenza: attivazione dell'OB 86 nel master DP e nello slave
intelligente).
Sia nello I-slave che nel master S7 l'informazione sullo stato delle unità viene modificata (il bit
"Unità guasta" viene resettato). Se dopo il ritorno della stazione l'utente riscontra delle anomalie
nello I-slave, queste devono essere comunicate al master DP richiamando l'SFB 75.
• Passaggio da STOP a RUN del master DP (conseguenza: attivazione dell'OB 82 nello slave
intelligente).
L'informazione sullo stato delle unità nello I-slave non viene modificata. Il master DP resetta il bit
"Unità guasta" nella relativa informazione sullo stato delle unità.

Per garantire la coerenza dell'informazione sullo stato delle unità tra master DP e slave
intelligente nel modo "compatibile con S7" occorre intervenire sullo I-slave nel seguente modo:
- per ogni posto connettore virtuale senza guasti, inviare al master DP un allarme di
diagnostica uscente mediante SFB 75
- per ogni posto connettore virtuale guasto, inviare al master DP un allarme di diagnostica
entrante mediante SFB 75.
• Passaggio delle slave intelligente da STOP a RUN (conseguenza: attivazione dell'OB 82 nel
master DP).
L'informazione sullo stato delle unità nel master DP non viene modificata, quella dello slave
intelligente viene resettata (reset del bit "Unità guasta").
Per garantire la coerenza dell'informazione sullo stato delle unità tra master DP e slave
intelligente occorre intervenire sullo I-slave nel seguente modo:
- per ogni posto connettore virtuale senza guasti, inviare al master DP un allarme di
diagnostica uscente mediante SFB 75
- per ogni posto connettore virtuale guasto, inviare al master DP un allarme di diagnostica
entrante mediante SFB 75.

Avvertenza
Poiché l'SFB 75 funziona in modo asincrono, i richiami dell'SFB 75 negli OB di avviamento non
possono essere interrotti; essi devono essere portati a termine all'interno del programma ciclico.

Avvertenza
Le differenze tra l'informazione sullo stato delle unità nel master DP e quella nello slave intelligente
descritte sopra possono verificarsi soltanto nei posti connettore per i quali sono stati inviati al master
DP allarmi di diagnostica mediante SFB 75. Di conseguenza, i rimedi consigliati sono necessari
soltanto per tali posti connettore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 199
SFB DPV1 secondo PNO AK 1131
8.4 Allarme inviato al master DP con l'SFB 75 "SALRM"

Informazioni di errore
Il parametro di uscita STATUS contiene informazioni di errore. Se viene interpretato come
ARRAY[1 ... 4] OF BYTE, le informazioni di errore hanno la seguente struttura:

Elemento dell'array Significato


STATUS[1] • B#16#00: nessun errore
• B#16#C0: errore riconosciuto dallo slave intelligente
STATUS[2], corrisponde al parametro di uscita RET_VAL delle SFC
STATUS[3]
STATUS[4] B#16#00 ad eccezione di alcuni conflitti di lunghezza tra LEN e AINFO. Le eccezioni
sono riportate nella tabella successiva.

La seguente tabella indica le informazioni di errore specifiche dell'SFB 75.

ERROR STATUS[2,3] Spiegazione


(W#16# ...)
0 0000 L'ordine è stato eseguito senza errori. Se LEN < lunghezza di AINFO, vengono
trasferiti soltanto LEN byte delle informazioni di allarme supplementari.
0 00B1 LEN > lunghezza di AINFO. L'ordine è stato eseguito. Le informazioni di allarme
supplementari in AINFO sono state trasferite. STATUS[4] contiene la lunghezza di
AINFO.
0 7000 Primo richiamo con REQ=0 (richiamo a vuoto). Non è stato inviato alcun allarme.
BUSY ha il valore 0.
0 7001 Primo richiamo con REQ=1. L'ordine è stato avviato. BUSY ha il valore 1.
0 7002 Richiamo intermedio (REQ irrilevante). L'allarme inviato non è stato ancora
confermato dal DP. BUSY ha il valore 1.
1 8090 L'indirizzo indicato in ID si trova al di fuori dell'area di indirizzi consentita o non è stato
progettato.
1 8091 • L'allarme è stato inibito mediante la progettazione.
• L'allarme non è supportato dal tipo di slave.
1 8092 Tipo di dati non ammesso in AINFO (sono consentiti i tipi BYTE e BLOCK_DB).
1 8093 ID appartiene ad un posto connettore virtuale che non può attivare allarmi.
1 80B0 ASPEC
• non è adatto al bit 0 del byte 0 di AINFO
• nel tipo di allarme utilizzato deve avere il valore 0
• si trova al di fuori dell'area di valori consentita.
1 80B1 LEN si trova al di fuori dell'area di valori consentita. STATUS[4] contiene B#16#FF.
1 80B5 Richiamo dell'SFB 75 nel master DP non ammesso.
1 80C3 Alcune risorse necessarie (memoria ecc.) sono attualmente occupate.
1 80C5 La periferia decentrata non è momentaneamente disponibile (ad es. guasto alla
stazione).
1 80C8 Nell'attuale stato di funzionamento del master DP questa funzione non è consentita
(il master DP è un master S7 e si trova in stato di funzionamento STOP).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


200 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB DPV1 secondo PNO AK 1131
8.5 Ricezione di un set di dati con l'SFB 73 "RCVREC"

8.5 Ricezione di un set di dati con l'SFB 73 "RCVREC"

Descrizione
Un I Device può ricevere un set di dati dal Controller di livello superiore. La ricezione si svolge nel
programma utente con l'SFB 73 "RCVREC" (receive record).
L'SFB 73 ha i seguenti modi di funzionamento:
• controlla se nell'I Device è presente una richiesta di ricezione di un set di dati
• mette il set di dati a disposizione nei parametri di uscita
• invia una risposta al Controller di livello superiore.
Il modo di funzionamento dell'SFB 73 si definisce con il parametro di ingresso MODE (vedere oltre).
L'I Device deve trovarsi in stato di funzionamento RUN o AVVIAMENTO.
Con MLEN è possibile definire il numero max. di byte da ricevere. L'area di destinazione RECORD
perciò deve essere scelta con una lunghezza che sia almeno pari ai byte di MLEN.
Dopo la ricezione di un set di dati (MODE=1 o MODE=2), il parametro di uscita NEW indica che il set
di dati è stato salvato in RECORD. Assicurarsi perciò che la lunghezza di RECORD sia sufficiente. Il
parametro di uscita LEN contiene la lunghezza effettiva del set di dati ricevuto in byte.
Per la risposta positiva da inviare al Controller di livello superiore scrivere zero in CODE1 e CODE 2.
Qualora il set di dati ricevuto dovesse essere respinto, indicare in CODE1 il codice di errore 1 e in
CODE2 il codice di errore 2 per indicare la risposta negativa al Controller superiore.

Avvertenza
Se l'I Device ha ricevuto una richiesta di ricezione di un set di dati, l'inoltro di questa richiesta deve
essere riconosciuto entro un determinato intervallo di tempo. Dopo il riconoscimento è necessario
che al Controller superiore venga inviata una risposta entro lo stesso intervallo di tempo. In caso
contrario nell'I Device si verifica un errore di timeout in seguito al quale il sistema operativo dell'I
Device invia una risposta negativa al Controller di livello superiore. Il valore per l'intervallo di tempo è
indicato nei dati tecnici della CPU.

Dopo che si è verificato un errore il parametro di uscita STATUS contiene l'informazione di errore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 201
SFB DPV1 secondo PNO AK 1131
8.5 Ricezione di un set di dati con l'SFB 73 "RCVREC"

Modo di funzionamento dell'SFB 73


Il modo di funzionamento dell'SFB 73 "RCVREC" si definisce con il parametro di ingresso MODE,
descritto nella tabella seguente.

MODE Significato
0 Viene verificata l'eventuale presenza di una richiesta di ricezione di un set di dati
Se nell'I Device è presente un set di dati del Controller di livello superiore, l'SFB 73 scrive solo i
parametri di uscita NEW, SLOT, INDEX e LEN. Se si richiama l'SFB 73 più volte consecutivamente
con MODE=0, i parametri di uscita si riferiscono sempre solo alla stessa richiesta.
1 Ricezione di un set di dati per un qualunque subslot dell'I Device
Se nell'I Device è presente un set di dati del Controller di livello superiore per un qualsiasi subslot
dell'I Device, l'SFB 73 scrive i parametri di uscita e trasferisce il set di dati nel parametro RECORD.
2 Ricezione di un set di dati per un determinato subslot dell'I Device
Se nell'I Device è presente un set di dati del Controller di livello superiore per un determinato subslot
dell'I Device, l'SFB 73 scrive i parametri di uscita e trasferisce il set di dati nel parametro RECORD.
3 Invio di una risposta positiva al Controller di livello superiore
L'SFB 73 controlla la richiesta di ricezione di un set di dati del Controller superiore, accetta il set di dati
e invia una conferma positiva al Controller superiore.
4 Invio di una risposta negativa al Controller di livello superiore
L'SFB 73 controlla la richiesta di ricezione di un set di dati del Controller superiore, respinge il set di
dati e invia una conferma negativa al Controller superiore. La ragione del rifiuto va indicata nei
parametri di ingresso CODE1 e CODE2.

Avvertenza
Dopo l'arrivo di un set di dati (NEW=1) è necessario richiamare ancora due volte l'SFB 73 per
garantire un'elaborazione completa. Attenersi al seguente ordine:
• primo richiamo con MODE=1 o MODE=2
• secondo richiamo con MODE=3 o MODE=4

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


MODE INPUT INT E, A, M, D, L, cost. Modo di funzionamento
F_ID INPUT DWORD E, A, M, D, L, cost. Subslot nell'area di trasferimento dell'I
Device per il set di dati da ricevere (di rilievo
solo per MODE=2) (high word va sempre
impostato a zero)
MLEN INPUT INT E, A, M, D, L, cost. Lunghezza max. del set di dati da ricevere
in byte
CODE1 INPUT BYTE E, A, M, D, L, cost. Zero (con MODE=3) oppure codice di
errore 1 (con MODE=4)
CODE2 INPUT BYTE E, A, M, D, L, cost. Zero (con MODE=3) oppure codice di
errore 2 (con MODE=4)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


202 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB DPV1 secondo PNO AK 1131
8.5 Ricezione di un set di dati con l'SFB 73 "RCVREC"

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


NEW OUTPUT BOOL E, A, M, D, L MODE=0: è stato ricevuto il nuovo set di
dati
MODE=1 o 2: il set di dati è stato trasferito
in RECORD
STATUS OUTPUT DWORD E, A, M, D, L Informazione di errore
SLOT OUTPUT INT E, A, M, D, L, cost. Identico a F_ID
SUBSLOT OUTPUT INT E, A, M, D, L, cost. Identico a F_ID
INDEX OUTPUT INT E, A, M, D, L, cost. Numero del set di dati ricevuto
LEN OUTPUT INT E, A, M, D, L Lunghezza del set di dati ricevuto
RECORD IN_OUT ANY E, A, M, D, L Area di destinazione per il set di dati
ricevuto
Avvertenza: osservare che nelle CPU
S7-300 il parametro RECORD richiede
sempre l'indicazione completa dei
parametri DB (ad es.: P#DB13.DBX0.0 byte
100). Tralasciare un n. di DB esplicito nelle
CPU S7-300 non è consentito e genera un
messaggio di errore nel programma utente.

Informazioni di errore
Per l'interpretazione del parametro STATUS vedere Ricezione di un allarme con l'SFB 54 "RALRM"

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 203
SFB DPV1 secondo PNO AK 1131
8.6 Messa a disposizione di un set di dati con l'SFB 74 "PRVREC"

8.6 Messa a disposizione di un set di dati con l'SFB 74 "PRVREC"

Descrizione
Un I Device può ricevere da parte del Controller di livello superiore una richiesta di messa a
disposizione di un set di dati. La messa a disposizione si svolge nel programma utente con
l'SFB 74 "PRVREC" (provide record).
L'SFB 74 ha i seguenti modi di funzionamento:
• controlla se nell'I Device è presente una richiesta di messa a disposizione di un set di dati
• trasferisce il set di dati richiesto al Controller superiore
• invia una risposta al Controller di livello superiore.
Il modo di funzionamento dell'SFB 74 si definisce con il parametro di ingresso MODE (vedere oltre).
L'I Device deve trovarsi in stato di funzionamento RUN o AVVIAMENTO.
Con LEN è possibile definire il numero max. di byte che può avere il set di dati da inviare. L'area di
destinazione RECORD perciò deve essere scelta con una lunghezza che sia almeno pari ai byte di
LEN.
Se è presente una richiesta di messa a disposizione di un set di dati (MODE=0), il parametro di uscita
NEW viene impostato a TRUE.
Se la richiesta di messa a disposizione del set di dati viene accettata, scrivere il set di dati richiesto in
RECORD e zero sia in CODE1 che in CODE 2 per indicare la risposta positiva da inviare al Controller
di livello superiore. Qualora la richiesta venisse respinta indicare in CODE1 il codice di errore 1 e in
CODE2 il codice di errore 2 per indicare la risposta negativa al Controller superiore.

Avvertenza
Se l'I Device ha ricevuto una richiesta di messa a disposizione di un set di dati, l'inoltro di questa
richiesta deve essere riconosciuto entro un determinato intervallo di tempo. Dopo il riconoscimento è
necessario che al Controller superiore venga inviata una risposta entro lo stesso intervallo di tempo.
In caso contrario nell'I Device si verifica un errore di timeout in seguito al quale il sistema operativo
dell'I Device invia una risposta negativa al Controller di livello superiore. Il valore per l'intervallo di
tempo è indicato nei dati tecnici della CPU.

Dopo che si è verificato un errore il parametro di uscita STATUS contiene l'informazione di errore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


204 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB DPV1 secondo PNO AK 1131
8.6 Messa a disposizione di un set di dati con l'SFB 74 "PRVREC"

Modo di funzionamento dell'SFB 74


Il modo di funzionamento dell'SFB 74 "PRVREC" si definisce con il parametro di ingresso MODE,
descritto nella tabella seguente.

MODE Significato
0 Viene verificata l'eventuale presenza di una richiesta di messa a disposizione di un set di dati
Se nell'I Device è presente una richiesta di messa a disposizione di un set di dati del Controller di
livello superiore, l'SFB 74 scrive solo i parametri di uscita NEW, SLOT, INDEX e RLEN. Se si
richiama l'SFB 74 più volte consecutivamente con MODE=0, i parametri di uscita si riferiscono
sempre solo alla stessa richiesta.
1 Ricezione di una richiesta di messa a disposizione di un set di dati per un qualunque subslot dell'I
Device
Se nell'I Device è presente una richiesta di questo tipo da parte del Controller di livello superiore per
un qualsiasi subslot dell'I Device, l'SFB 74 scrive i parametri di uscita.
2 Ricezione di una richiesta di messa a disposizione di un set di dati per un determinato subslot dell'I
Device
Se nell'I Device è presente una richiesta di questo tipo da parte del Controller di livello superiore per
un determinato subslot dell'I Device, l'SFB 74 scrive i parametri di uscita.
3 Messa a disposizione del set di dati e invio di una risposta positiva al Controller di livello superiore
L'SFB 74 controlla la richiesta di messa a disposizione di un set di dati del Controller superiore, rende
disponibile il set di dati richiesto in RECORD e invia una conferma positiva al Controller superiore.
4 Invio di una risposta negativa al Controller di livello superiore
L'SFB 74 controlla la richiesta di messa a disposizione di un set di dati del Controller superiore, la
respinge e invia una conferma negativa al Controller superiore. La ragione del rifiuto va indicata nei
parametri di ingresso CODE1 e CODE2.

Avvertenza
Dopo l'arrivo di una richiesta (NEW=1) è necessario richiamare ancora due volte l'SFB 74 per
garantire un'elaborazione completa. Attenersi al seguente ordine:
• primo richiamo con MODE=1 o MODE=2
• secondo richiamo con MODE=3 o MODE=4

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


MODE INPUT INT E, A, M, D, L, cost. Modo di funzionamento
F_ID INPUT DWORD E, A, M, D, L, cost. Subslot nell'area di trasferimento dell'I
Device per il set di dati da inviare (di rilievo
solo per MODE=2) (high word va sempre
impostato a zero)
CODE1 INPUT BYTE E, A, M, D, L, cost. Zero (con MODE=3) oppure codice di
errore 1 (con MODE=4)
CODE2 INPUT BYTE E, A, M, D, L, cost. Zero (con MODE=3) oppure codice di
errore 1 (con MODE=4)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 205
SFB DPV1 secondo PNO AK 1131
8.6 Messa a disposizione di un set di dati con l'SFB 74 "PRVREC"

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


LEN INPUT INT E, A, M, D, L, cost. Lunghezza max. del set di dati da inviare in
byte
NEW OUTPUT BOOL E, A, M, D, L Un nuovo set di dati è stato richiesto dal
Controller superiore
STATUS OUTPUT DWORD E, A, M, D, L Informazione di errore
SLOT OUTPUT INT E, A, M, D, L, cost. Identico a F_ID
SUBSLOT OUTPUT INT E, A, M, D, L, cost. Identico a F_ID
INDEX OUTPUT INT E, A, M, D, L, cost. Numero del set di dati da inviare
RLEN OUTPUT INT E, A, M, D, L Lunghezza del set di dati da inviare
RECORD IN_OUT ANY E, A, M, D, L Set di dati messo a disposizione
Avvertenza: osservare che nelle CPU
S7-300 il parametro RECORD richiede
sempre l'indicazione completa dei
parametri DB (ad es.: P#DB13.DBX0.0 byte
100). Tralasciare un n. di DB esplicito nelle
CPU S7-300 non è consentito e genera un
messaggio di errore nel programma utente.

Informazioni di errore
Per l'interpretazione del parametro STATUS vedere Ricezione di un allarme con l'SFB 54 "RALRM"

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


206 Manuale di riferimento, 04/2017, A5E41911986-AA
9 SFC per la gestione di allarmi dall'orologio

9.1 Gestione di allarmi dall'orologio

Definizione
Un allarme dall'orologio è la causa per il richiamo comandato a tempo di un OB di allarme
dall'orologio (OB 10 … OB 17).

Presupposti per il richiamo


Affinché un OB di allarme dall'orologio possa essere richiamato dal sistema operativo, devono
essere soddisfatte le seguenti condizioni:
• L'OB di allarme dall'orologio deve essere parametrizzato (data e ora di avvio, periodicità di
esecuzione)
- con STEP 7
oppure
- con la SFC 28 "SET_TINT" all'interno del programma utente.
• L'OB di allarme dall'orologio deve essere attivato
- con STEP 7
oppure
- con la SFC 30 "ACT_TINT" all'interno del programma utente.
• L'OB di allarme dall'orologio non deve essere stato deselezionato in STEP 7.
• L'OB di allarme dall'orologio deve essere presente nella CPU.
• Se l'impostazione avviene tramite la SFC 30 "ACT_TINT", la data e ora d'inizio non possono
essere scadute, in caso di unica esecuzione; in caso di esecuzione periodica l'OB di allarme
dall'orologio viene invece richiamato alla scadenza del successivo periodo (istante iniziale +
multipli interi del periodo).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 207
SFC per la gestione di allarmi dall'orologio
9.1 Gestione di allarmi dall'orologio

Suggerimento
È possibile parametrizzare l'allarme dall'orologio con STEP 7 e poi attivarlo dal programma utente
(SFC 30 "ACT_TINT").

Scopo delle SFC 28 ... 31


Le funzioni di sistema SFC 28 ... 31, descritte nei paragrafi seguenti, vengono impiegate per
• impostare (SFC 28 "SET_TINT")
• cancellare (SFC 29 "CAN_TINT")
• attivare (SFC 30 "ACT_TINT")
• interrogare (SFC 31 "QRY_TINT")
allarmi dall'orologio.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


208 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la gestione di allarmi dall'orologio
9.2 Caratteristiche delle SFC 28 ... 31

9.2 Caratteristiche delle SFC 28 ... 31

Che cosa succede se ...


La tabella seguente schematizza gli effetti che determinate operazioni hanno sugli allarmi
dall'orologio.

Se ... Allora ....


Un nuovo allarme dall'orologio viene impostato l'allarme dall'orologio attivo viene automaticamente
(richiamo della SFC 28 "SET_TINT") cancellato
L'allarme dall'orologio viene cancellato (richiamo della la data e l'ora di inizio vengono cancellate. L'allarme
SFC 29 "CAN_TINT") dall'orologio deve allora venire nuovamente impostato
prima di poter diventare attivo
L'OB di allarme dall'orologio non è presente all'istante viene generato automaticamente un errore di classe di
del richiamo priorità; cioè il sistema operativo richiama l'OB 85.
Se l'OB 85 non è presente, la CPU si porta nello stato
di funzionamento STOP
L'orologio viene sincronizzato oppure corretto in Se la data e l'ora di inizio vengono superate dallo
avanti spostamento in avanti dell'orologio:
1
• Il sistema operativo richiama l'OB 80 .
• Subito dopo l'esecuzione dell'OB 80 vengono
richiamati tutti gli OB di allarme dall'orologio
saltati (una sola volta, indipendentemente dal
numero dei periodi saltati), se non sono stati
2
manipolati nell'OB 80 .
Se l'OB 80 non è presente, la CPU si porta nello stato
di funzionamento STOP
L'orologio viene sincronizzato oppure corretto CPU S7-400 e CPU 318:
all'indietro gli OB di allarme dall'orologio eventualmente già
richiamati nell'intervallo di tempo corretto all'indietro
non vengono richiamati una seconda volta se questo
intervallo di tempo trascorre nuovamente.
CPU S7-300: vengono eseguiti tutti gli OB di allarme
dall'orologio interessati.
1
Nell'informazione dell'evento di avvio di OB 80 è codificato quali OB di allarme dall'orologio non possono essere
richiamati dallo spostamento in avanti dell'orologio. Il tempo nell'informazione dell'evento di avvio corrisponde al tempo
spostato in avanti.
2
Il tempo nell'informazione dell'evento di avvio degli OB da recuperare corrisponde al tempo di inizio del primo allarme
dall'orologio saltato.

Comportamento in caso di nuovo avviamento (avviamento a caldo) e avviamento a freddo


Dopo un nuovo avviamento (avviamento a caldo) e un avviamento a freddo, tutte le configurazioni di
allarmi dall'orologio assegnate dal programma tramite SFC vengono cancellate.
Allora diventano attivi i parametri assegnati da STEP 7.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 209
SFC per la gestione di allarmi dall'orologio
9.2 Caratteristiche delle SFC 28 ... 31

Esecuzione dell'OB di allarme dall'orologio


La tabella seguente riporta i diversi effetti del parametro "esecuzione". Questo parametro è da
assegnare con STEP 7 oppure con la SFC 28 "SET_TINT" (parametro di ingresso PERIOD).

Esecuzione dell'OB di allarme dall'orologio Reazione


Nessuna L'OB di allarme dall'orologio non viene eseguito anche
se esso è presente nella CPU.
(configurabile solo con STEP 7) Variare la parametrizzazione, cioè impostare l'allarme
dall'orologio (SFC 28; SET_TINT), è possibile da
programma.
una volta L'allarme dall'orologio è revocato dopo il richiamo di
OB di allarme e può essere nuovamente impostato ed
attivato.
Periodica Se la data e l'ora di inizio sono già scadute all'istante
(ogni minuto, ogni ora, ogni giorno, ogni settimana, di attivazione, allora l'OB di allarme dall'orologio
ogni mese, ogni anno) interrompe l'esecuzione ciclica del programma al
prossimo istante possibile "data e ora iniziali + multiplo
intero del periodo assegnato"
In casi molto rari l'OB di allarme può essere ancora in
esecuzione all'istante di una chiamata successiva.
Conseguenza:
• Errore di tempo (il sistema operativo richiama
OB 80; se OB 80 non è presente, la CPU si porta
in STOP)
• L'esecuzione di OB di allarme viene ripresa e
terminata.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


210 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la gestione di allarmi dall'orologio
9.3 Impostazione di un allarme dall'orologio con la SFC 28 "SET_TINT"

9.3 Impostazione di un allarme dall'orologio con la SFC 28


"SET_TINT"

Descrizione
Con la funzione di sistema SFC 28 "SET_TINT" (set time-of-day interrupt) è possibile assegnare
data e ora di inizio dei blocchi organizzativi di servizio ad allarmi dall'orologio. Nell'ora di inizio
vengono ignorati i secondi ed i millesimi di secondo indicati e vengono azzerati.

Parametri Dichiaraz- Tipo di dati Area di Descrizione


ione memoria
OB_NR INPUT INT E, A, M, D, L, Numero dell'OB che viene richiamato
cost. all'istante SDT + multiplo di PERIOD (OB 10 ...
OB 17)
SDT INPUT DT D, L Data e ora di inizio. Nell'ora di inizio vengono
ignorati i secondi e i millesimi di secondo
indicati e vengono azzerati.
Se si desidera predefinire l'avvio mensile di un
OB di allarme dall'orologio, per la data di inizio
sono ammessi soltanto i giorni 1, 2, ... 28.
PERIOD INPUT WORD E, A, M, D, L, Periodo a partire dall'istante SDT:
cost. W#16#0000 = una sola 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 = a fine mese
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si
verifica un errore, il parametro attuale di
RET_VAL contiene un codice di errore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 211
SFC per la gestione di allarmi dall'orologio
9.3 Impostazione di un allarme dall'orologio con la SFC 28 "SET_TINT"

Informazioni di errore

Codice di Descrizione
errore
(W#16#...)
0000 Non è avvenuto alcun errore.
8090 Il parametro OB_NR è errato
8091 Il parametro SDT è errato
8092 Il parametro PERIOD è errato
80A1 Il momento di avvio impostato si colloca nel passato (questo codice di errore si presenta
soltanto quando PERIOD = W#16#0000 .)
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


212 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la gestione di allarmi dall'orologio
9.4 Cancellazione di un allarme dall'orologio con la SFC 29 "CAN_TINT"

9.4 Cancellazione di un allarme dall'orologio con la SFC 29


"CAN_TINT"

Descrizione
Con la funzione di sistema SFC 29 "CAN_TINT" (cancel time-of-day interrupt) è possibile revocare
data e ora di inizio di un blocco organizzativo di servizio ad allarmi dall'orologio assegnato.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
OB_NR INPUT INT E, A, M, D, L, cost. Numero dell'OB la cui data e ora di inizio
devono essere cancellate (OB 10 ... OB 17).
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si
verifica un errore, il parametro attuale
RET_VAL contiene un codice di errore.

Informazioni di errore

Codice di Descrizione
errore
(W#16#...)
0000 Non è avvenuto alcun errore.
8090 Il parametro OB_NR è errato
80A0 Per l'OB di allarme in questione non è stata impostata alcuna data/ora di inizio.
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 213
SFC per la gestione di allarmi dall'orologio
9.5 Attivazione di un allarme dall'orologio con la SFC 30 "ACT_TINT"

9.5 Attivazione di un allarme dall'orologio con la SFC 30 "ACT_TINT"

Descrizione
Con la funzione di sistema SFC 30 "ACT_TINT" (activate time-of-day interrupt) è possibile attivare
un blocco organizzativo di servizio ad allarmi dall'orologio.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
OB_NR INPUT INT E, A, M, D, L, cost. Numero dell'OB che deve essere attivato
(OB 10 ... OB 17).
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si
verifica un errore, il parametro attuale
RET_VAL contiene un codice di errore.

Informazioni di errore

Codice di Descrizione
errore
(W#16#...)
0000 Non è avvenuto alcun errore.
8090 Il parametro OB_NR è errato.
80A0 Per l'OB di allarme in questione non è stata impostata alcuna data/ora di inizio.
80A1 Il tempo attivato appartiene al passato; l'errore ha luogo solo in caso di esecuzione = una
sola volta.
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


214 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la gestione di allarmi dall'orologio
9.6 Interrogazione di un allarme dall'orologio con la SFC 31 "QRY_TINT"

9.6 Interrogazione di un allarme dall'orologio con la SFC 31


"QRY_TINT"

Descrizione
Con la funzione di sistema SFC 31 "QRY_TINT" (query time-of-day interrupt) è possibile verificare
per mezzo del parametro di uscita STATUS lo stato di un blocco organizzativo di servizio ad allarmi
dall'orologio.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
OB_NR INPUT INT E, A, M, D, L, cost. Numero dell'OB il cui stato deve essere
interrogato (OB 10 ... OB 17).
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione
avviene un errore, il parametro di uscita
RET_VAL contiene un codice di errore.
STATUS OUTPUT WORD E, A, M, D, L Stato di blocco organizzativo di servizio ad
allarmi dall'orologio; vedi tabella seguente

Parametro di uscita STATUS

Avvertenza
Se RET_VAL contiene un valore diverso da zero, non è consentito analizzare STATUS.

Bit Significato
0 • =0: la CPU è in RUN.
• =1: la CPU è in avviamento.
1 • =0: l'interrupt è abilitato.
• =1: l'interrupt è stato bloccato dal richiamo dell'SFC 39 "DIS_IRT".
2 • =0: l'interrupt non è attivo o si è concluso.
• =1: l'interrupt è attivo.
3 Sempre 0
4 • =0: non esiste un OB con il numero di OB_NR.
• =1: è stato caricato un OB con il numero di OB_NR.
Altri Sempre 0

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 215
SFC per la gestione di allarmi dall'orologio
9.6 Interrogazione di un allarme dall'orologio con la SFC 31 "QRY_TINT"

Informazioni di errore

Codice di Descrizione
errore
(W#16#...)
0000 Non è avvenuto alcun errore.
8090 Il parametro OB_NR è errato
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


216 Manuale di riferimento, 04/2017, A5E41911986-AA
10 SFC per la gestione di allarmi di ritardo

10.1 Gestione di allarmi di ritardo

Definizione
Dopo aver richiamato la SFC 32 "SRT_DINT", il sistema operativo genera un allarme al termine del
tempo di ritardo parametrizzato, cioè viene richiamato l'OB di allarme di ritardo parametrizzato.
Questo allarme viene chiamato allarme di ritardo.

Presupposti per il richiamo


Affinché un allarme di ritardo possa essere richiamato dal sistema operativo, devono essere
soddisfatte le seguenti condizioni:
• l'OB di allarme di ritardo deve essere attivato mediante la SFC 32 "SRT_DINT".
• l'OB di allarme di ritardo non deve essere deselezionato con STEP 7.
• l'OB di allarme di ritardo deve essere presente nella CPU.

Scopo delle SFC 32 ... 34


Le funzioni di sistema SFC 32 ... SFC 34 descritte nei paragrafi seguenti, vengono utilizzate per
• attivare (SFC 32 "SRT_DINT")
• cancellare (SFC 33 "CAN_DINT")
• interrogare (SFC 34 "QRY_DINT")
allarmi di ritardo.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 217
SFC per la gestione di allarmi di ritardo
10.2 Attivazione di un allarme di ritardo con la SFC 32 "SRT_DINT"

Che cosa accade se ...


La tabella seguente mostra gli effetti che determinate situazioni possono comportare.

Se ... e ... allora ...


Viene avviato un allarme di ritardo l'allarme di ritardo è già stato il tempo di ritardo viene
(richiamo della SFC 32 avviato riaggiornato; l'allarme di ritardo
"SRT_DINT") viene nuovamente avviato
l'OB di allarme di ritardo non è il sistema operativo genera un
presente all'istante del richiamo errore di classe di priorità (richiamo
di OB 85; se OB 85 non è presente,
la CPU si porta nello stato di
funzionamento STOP).
l'attivazione ha avuto luogo in un il richiamo dell'OB di allarme di
OB di avviamento e il tempo di ritardo viene ritardato fino a quando
ritardo è trascorso prima che la la CPU si trova in RUN.
CPU si trovi in RUN,
il tempo di ritardo è trascorso e un OB di allarme di ritardo, il sistema operativo genera un
attivato precedentemente, è ancora errore di tempo (richiamo di OB 80;
in esecuzione se OB 80 non è presente, la CPU si
porta in STOP).

Comportamento in caso di nuovo avviamento (avviamento a caldo) e avviamento a freddo


Dopo un nuovo avviamento (avviamento a caldo) e avviamento a freddo, vengono cancellate tutte le
impostazioni di allarmi di ritardo assegnate da programma tramite le SFC.

Start nell'OB di avviamento


Un allarme di ritardo può essere attivato nell'OB di avviamento. Per il richiamo dell'OB di allarme di
ritardo devono essere soddisfatte due condizioni:
• il tempo di ritardo è trascorso.
• la CPU si trova nello stato di funzionamento RUN.
Se il tempo di ritardo è scaduto e la CPU non è ancora nello stato RUN, il richiamo dell'OB di servizio
all'allarme viene ritardato fino a che la CPU non sia in RUN. L'OB di allarme di ritardo viene
comunque richiamato prima della prima istruzione di OB 1.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


218 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la gestione di allarmi di ritardo
10.2 Attivazione di un allarme di ritardo con la SFC 32 "SRT_DINT"

10.2 Attivazione di un allarme di ritardo con la SFC 32 "SRT_DINT"

Descrizione
Con la funzione di sistema SFC 32 "SRT_DINT" (start time-delay interrupt) è possibile avviare un
allarme di ritardo, il quale richiama, alla scadenza del tempo di ritardo parametrizzato (parametro
DTIME), un OB di allarme di ritardo.
Al parametro SIGN è possibile assegnare un'identificazione utente, in modo da identificare
univocamente l'avvio dell'allarme di ritardo. I valori di DTIME e SIGN compaiono di nuovo
nell'informazione di evento di avvio dell'OB indicato, se esso viene eseguito.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
OB_NR INPUT INT E, A, M, D, L, cost. Numero di OB che viene richiamato dopo un
certo tempo di ritardo (OB 20 ... OB 23).
DTIME INPUT TIME E, A, M, D, L, cost. Valore temporale del ritardo (da 1 a
60000 ms).
Per impostare un tempo maggiore si può, ad
esempio, inserire un contatore in un OB di
allarme di ritardo.
SIGN INPUT WORD E, A, M, D, L, cost. Identificazione che appare al richiamo
dell'OB di allarme di ritardo nell'informazione
di evento di avvio dell'OB.
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione di
sistema si verifica un errore, il parametro
attuale RET_VAL contiene un codice di
errore

Precisione
Il tempo tra il richiamo della SFC 32 "SRT_DINT" e l'avvio dell'OB di allarme di ritardo è di un
millisecondo al massimo più piccolo del tempo parametrizzato, se nessun evento di interruzione
ritarda il richiamo.

Informazioni di errore

Codice di Descrizione
errore
(W#16#...)
0000 Non è avvenuto alcun errore.
8090 Il parametro OB_NR è errato
8091 Il parametro DTIME è errato
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 219
SFC per la gestione di allarmi di ritardo
10.3 Interrogazione dello stato di un allarme di ritardo con la SFC 34 "QRY_DINT"

10.3 Interrogazione dello stato di un allarme di ritardo con la SFC 34


"QRY_DINT"

Descrizione
Con la funzione di sistema SFC 34 "QRY_DINT" (query time-delay interrupt) è possibile verificare lo
stato di un allarme di ritardo. Allarmi di ritardo vengono gestiti dai blocchi organizzativi di servizio ad
allarmi di ritardo OB 20 ... 23.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
OB_NR INPUT INT E, A, M, D, L, cost. Numero di OB il cui stato viene interrogato
(OB 20 ... OB 23).
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione di
sistema si verifica un errore, il parametro
attuale RET_VAL contiene un codice di
errore
STATUS OUTPUT WORD E, A, M, D, L Stato dell'allarme di ritardo; vedi tabella
seguente

Parametro di uscita STATUS

Avvertenza
Se RET_VAL contiene un valore diverso da zero, non è consentito analizzare STATUS.

Bit Significato
0 • =0: la CPU è in RUN.
• =1: la CPU è in avviamento.
1 • =0: l'interrupt è abilitato.
• =1: l'interrupt è stato bloccato dal richiamo dell'SFC 39 "DIS_IRT".
2 • =0: l'interrupt non è attivo o si è concluso.
• =1: l'interrupt è attivo.
3 Sempre 0
4 • =0: non esiste un OB con il numero di OB_NR.
• =1: è stato caricato un OB con il numero di OB_NR.
Altri Sempre 0

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


220 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la gestione di allarmi di ritardo
10.3 Interrogazione dello stato di un allarme di ritardo con la SFC 34 "QRY_DINT"

Informazioni di errore

Codice di Descrizione
errore
(W#16#...)
0000 Non è avvenuto alcun errore.
8090 Il parametro OB_NR è errato.
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 221
SFC per la gestione di allarmi di ritardo
10.4 Cancellazione di un allarme di ritardo con la SFC 33 "CAN_DINT"

10.4 Cancellazione di un allarme di ritardo con la SFC 33 "CAN_DINT"

Descrizione
Con la funzione di sistema SFC 33 "CAN_DINT" (cancel time delay interrupt) è possibile cancellare
un allarme di ritardo già attivato (vedere capitolo Attivazione di un allarme di ritardo con la SFC 32
"SRT_DINT"). L'OB di allarme di ritardo non viene allora richiamato.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
OB_NR INPUT INT E, A, M, D, L, cost. Numero di OB che deve essere cancellato
(OB 20 ... OB 23).
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione di
sistema si verifica un errore, il parametro
attuale RET_VAL contiene un codice di
errore

Informazioni di errore

Codice di Descrizione
errore
(W#16#...)
0000 Non è avvenuto alcun errore.
8090 Il parametro OB_NR è errato.
80A0 L'allarme di ritardo non è attivato.
8xyy Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET
VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


222 Manuale di riferimento, 04/2017, A5E41911986-AA
11 SFC per la gestione di eventi di errori di
sincronismo

11.1 Mascheramento di eventi di errori di sincronismo

Introduzione
Eventi di errori di sincronismo sono eventi dovuti ad errori di programma e di accesso. Tali eventi di
errore hanno luogo a causa della programmazione con campi o numeri di operandi errati o con
indirizzi errati. Mascherare questi eventi di errore significa che:
• eventi di errore mascherati non fanno scattare OB di errore e non comportano una programmata
reazione di servizio.
• la CPU memorizza in un registro di stato eventi gli errori mascherati verificatisi.
Demascherare eventi di errore significa ripristinare un mascheramento precedentemente effettuato
e cancellare il relativo bit nel registro di stato eventi della classe di priorità attuale. Il mascheramento
viene cancellato
• con un richiamo della SFC 37 "DMSK_FLT"
• quando la classe di priorità attuale dell'OB è terminata (soltanto con l‘S7-400).
• si può disabilitare il richiamo dell'OB di errore per ogni singola classe di priorità. In questo caso la
CPU non si porta in STOP quando nella classe di priorità ha luogo il relativo errore. Essa però
registra l'errore avvenuto in un registro di stato eventi. Non è comunque possibile riconoscere in
questa registrazione quando e quante volte l'errore in questione abbia avuto luogo.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 223
SFC per la gestione di eventi di errori di sincronismo
11.1 Mascheramento di eventi di errori di sincronismo

Evento di errore di sincronismo

Errore mascherato?
NO SÌ

Richiamo di un OB di er Il richiamo di un OB di er
rore. (la CPU si porta in rore viene disabilitato.
STOP se l'OB di errore (la CPU non si porta in
non è programmato). STOP nel caso che un er
rore abbia luogo).

In OB è programmata la L'evento di errore viene


reazione desiderata ad registrato nel registro di
un certo errore. stato eventi.

Maschera per gli errori


Gli eventi di errori di sincronismo sono associati ad una particolare stringa di bit, detta maschera.
Questa maschera si ritrova nei parametri di ingresso e di uscita delle SFC 36, 37 e 38.
In caso di eventi di errori di sincronismo si distingue tra errori di programma e di accesso, che sono
mascherabili mediante due differenti tipi di maschere. Esse sono rappresentate nelle figure riportate
di seguito.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


224 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la gestione di eventi di errori di sincronismo
11.1 Mascheramento di eventi di errori di sincronismo

Maschera per gli errori di programma


Nella figura seguente è rappresentata la stringa di bit della maschera per errori di programma. La
maschera per errori di programma è contenuta nei parametri PRGFLT_...
Vedere: Possibili cause di errori di programma, low word oppure Possibili cause di errori di
programma, high word.

Bit non rilevanti


Nella figura sopra il segno x significa per i ....

• ... parametri di ingresso Per SFC 36, 37, 38 = "0"


• ... parametri di uscita Per SFC 36, 37 = "1" per S7-300
= "0" per S7-400
Per SFC 38 = "0"

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 225
SFC per la gestione di eventi di errori di sincronismo
11.1 Mascheramento di eventi di errori di sincronismo

Maschera degli errori di accesso per tutte le CPU


Nella figura seguente è rappresentata la stringa di bit della maschera degli errori di accesso per tutte
le CPU. La maschera degli errori di accesso è contenuta nei parametri ACCFLT_... La spiegazione
degli errori di accesso è riportata nelle tabelle "Possibili cause di errore per tutte le CPU 31x eccetto
la CPU 318" e "Possibili cause di errore per tutte le CPU 41x e CPU 318".

Esempio
La figura seguente mostra l'aspetto della parola meno significativa della maschera per errori di
accesso con tutti gli errori possibili mascherati per tutte le CPU.
• come parametri di ingresso per la SFC 36
• come parametri di uscita per la SFC 36.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


226 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la gestione di eventi di errori di sincronismo
11.1 Mascheramento di eventi di errori di sincronismo

Parola meno significativa degli errori di programma


La tabella seguente contiene gli errori associati alla parola meno significativa della maschera per
errori di programma. Ad ogni errore è associata la possibile causa.

Errore ID di L'errore ha luogo...


evento
(W#16#...)
Errore di conversione 2521 ... se il valore da convertire non è un numero BCD (ad es. 5E8).
BCD
Errore di lunghezza 2522 ... se un operando indirizzato non giace completamente all'interno o
campo in lettura addirittura giace all'esterno del campo permesso.
Esempio: deve essere letto MW 320, sebbene l'area merker sia solo
di 256 byte.
Errore di lunghezza 2523 ... se un operando indirizzato non giace completamente all'interno o
campo in scrittura addirittura giace all'esterno del campo permesso.
Esempio: deve essere letto MW 320, sebbene l'area merker sia solo
di 256 byte..
Errore di campo in lettura 2524 ... se in un indirizzamento indiretto e concernente campi diversi
viene assegnato un errato identificatore di campo per l'operando
Esempio: giusto: LAR1 P#E 12.0
L W[AR1, P#0.0]
sbagliato: LAR1 P#12.0
L W[AR1, P#0.0]
In questa operazione
viene segnalato l'errore di campo.
Errore di campo in 2525 ... se in un indirizzamento indiretto e concernente campi diversi
scrittura viene assegnato un errato identificatore di campo per l'operando
Esempio: giusto: LAR1 P#E 12.0
T W[AR1, P#0.0]
sbagliato: LAR1 P#12.0
T W[AR1, P#0.0]
In questa operazione
viene segnalato l'errore di campo.
Errore di numero di 2526 .... se si vuole accedere ad un temporizzatore non esistente.
temporizzatore Esempio: SI T [MW 0] con MW 0 = 129; il temporizzatore 129 deve
essere avviato, ma sono presenti solo 128 temporizzatori.
Errore di numero di 2527 .... se si vuole accedere ad un contatore non esistente.
contatore Esempio: ZV Z [MW 0] con MW 0 = 600; si vuole accedere al
contatore 600, ma sono presenti solo 512 contatori (CPU 416-1).
Errore di indirizzamento in 2528 ... se si indirizza un byte, una parola o una doppia parola con un
lettura indirizzo di bit ≠ 0.
Esempio: giusto: LAR1 P#M12.0
L B[AR1, P#0.0]
sbagliato: LAR1 P#M12.4
L B[AR1, P#0.0]

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 227
SFC per la gestione di eventi di errori di sincronismo
11.1 Mascheramento di eventi di errori di sincronismo

Errore ID di L'errore ha luogo...


evento
(W#16#...)
Errore di indirizzamento in 2529 ... se si indirizza un byte, una parola o una doppia parola con un
scrittura indirizzo di bit ≠ 0.
Esempio: giusto: LAR1 P#M12.0
T B[AR1, P#0.0]
sbagliato: LAR1 P#M12.4
T B[AR1, P#0.0]

Parola più significativa degli errori di programma


La tabella seguente contiene gli errori associati alla parola più significativa della maschera per errori
di programma. Ad ogni errore è associata la possibile causa.

Errore ID di errore L'errore ha luogo...


(W#16#...)
Errore di scrittura blocco 2530 ... se il blocco dati nel quale si vuole scrivere è protetto in scrittura.
dati
Errore di scrittura blocco 2531 ... se il blocco dati di istanza nel quale si vuole scrivere è protetto in
dati di istanza scrittura.
Errore di numero di blocco 2532 ... se si vuole aprire un blocco dati, il cui numero è maggiore del
DB numero massimo permesso.
Errore di numero di blocco 2533 ... se si vuole aprire un blocco dati di istanza, il cui numero è
DI maggiore del numero massimo permesso.
Errore di numero di blocco 2534 ... se si vuole richiamare una funzione il cui numero è maggiore del
FC numero massimo permesso.
Errore di numero di blocco 2535 ... se si vuole richiamare un blocco funzionale il cui numero è
FB maggiore del numero massimo permesso.
DB non è caricato 253A ... se il blocco dati da aprire non è caricato.
FC non è caricata 253C ... se la funzione da richiamare non è caricata.
SFC non presente 253D ... se la funzione da richiamare non è caricata.
FB non caricato 253E ... se il blocco funzionale da richiamare non è caricato.
SFB non presente 253F ... se il blocco funzionale da richiamare non è caricato.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


228 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la gestione di eventi di errori di sincronismo
11.1 Mascheramento di eventi di errori di sincronismo

Errori di accesso
La tabella seguente contiene per tutte le CPU gli errori assegnati alla maschera per gli errori di
accesso. Ad ogni errore è associata la possibile causa

Errore ID di evento L'errore ha luogo ...


(W#16#...)
Errore di accesso alla periferia in 2942 ... se all'indirizzo nell'area di periferia non è associata
lettura alcuna unità E/A
oppure
... se l'accesso a questa area di periferia non viene
confermato entro il tempo configurato di sorveglianza
unità (ritardo conferma indirizzo).
Errore di accesso alla periferia in 2943 ... se all'indirizzo nell'area di periferia non è associata
scrittura alcuna unità E/A
oppure
... se l'accesso a questa area di periferia non viene
confermato entro il tempo configurato di sorveglianza
unità (ritardo conferma indirizzo).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 229
SFC per la gestione di eventi di errori di sincronismo
11.2 Mascheramento di eventi di errori di sincronismo con la SFC 36 "MSK_FLT"

11.2 Mascheramento di eventi di errori di sincronismo con la SFC 36


"MSK_FLT"

Descrizione
La SFC 36 "MSK_FLT" (mask synchronous faults) si usa per comandare la reazione della CPU ad
eventi di errori di sincronismo. A questo scopo occorre mascherare il corrispondente evento di errore
(mascheramento, vedere capitolo Mascheramento di eventi di errori di sincronismo). Con il richiamo
della SFC 36 si mascherano gli eventi di errori di sincronismo nell'attuale classe di priorità.
Se nei parametri di ingresso singoli bit delle maschere per errori di sincronismo vengono impostati su
"1", gli altri bit, già impostati in precedenza, conservano il loro valore "1" (operazione logica di OR). Si
ottengono quindi nuove maschere, leggibili mediante i parametri di uscita. Gli eventi di errori di
sincronismo mascherati non richiamano alcun OB, ma vengono soltanto registrati in un registro di
stato eventi. Tale registro è leggibile tramite la SFC 38 "READ_ERR".

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
PRGFLT_SET INPUT DWORD E, A, M, D, L, cost. Errori di programma da
_MASK mascherare
ACCFLT_SET INPUT DWORD E, A, M, D, L, cost. Errori di accesso da mascherare
_MASK
RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore
PRGFLT_MASKED OUTPUT DWORD E, A, M, D, L Errori di programma ancora
mascherati
ACCFLT_MASKED OUTPUT DWORD E, A, M, D, L Errori di accesso ancora
mascherati

Informazioni di errore

Codice di Descrizione
errore
(W#16#...)
0000 Nessuno degli errori era già mascherato.
0001 Almeno uno degli errori era già mascherato; gli altri errori vengono tuttavia mascherati.
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


230 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la gestione di eventi di errori di sincronismo
11.3 Demascheramento di eventi di errori di sincronismo con la SFC 37 "DMSK_FLT"

11.3 Demascheramento di eventi di errori di sincronismo con la SFC 37


"DMSK_FLT"

Descrizione
La SFC 37 "DMSK_FLT" (unmask synchronous faults) si usa per demascherare gli eventi di errore
mascherati con la SFC 36 "MSK_FLT". Per eseguire questa operazione occorre impostare su "1" nei
parametri di ingresso i corrispondenti bit delle maschere. Con il richiamo della SFC 37 si
demascherano gli eventi di errori di sincronismo corrispondenti. Contemporaneamente vengono
cancellate le registrazioni relative nel registro di stato eventi. Le nuove maschere sono poi leggibili
tramite i parametri di uscita.

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


PRGFLT_RESET_MASK INPUT DWORD E, A, M, D, L, cost. Errori di programma da
demascherare
ACCFLT_RESET_MASK INPUT DWORD E, A, M, D, L, cost. Errori di accesso da
demascherare
RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore
PRGFLT_MASKED OUTPUT DWORD E, A, M, D, L Errori di programma ancora
mascherati
ACCFLT_MASKED OUTPUT DWORD E, A, M, D, L Errori di accesso ancora
mascherati

Informazioni di errore

Codice di Descrizione
errore
(W#16#...)
0000 Tutti gli errori indicati sono stati demascherati.
0001 Almeno uno degli errori non era mascherato, gli altri errori vengono comunque demascherati.
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 231
SFC per la gestione di eventi di errori di sincronismo
11.4 Lettura del registro di stato eventi con la SFC 38 "READ_ERR"

11.4 Lettura del registro di stato eventi con la SFC 38 "READ_ERR"

Descrizione
Con la SFC 38 "READ_ERR" (read error registers) si legge il registro di stato eventi. Tale registro
corrisponde, nella sua struttura, alle maschere per gli errori di programma e di accesso,
programmabili con le SFC 36 e 37 come parametri di ingresso.
Nei parametri di ingresso si indica quali eventi di errori di sincronismo del registro si vogliano
consultare. Con il richiamo della SFC 38 si leggono le registrazioni desiderate del registro di stato
eventi e le si cancellano contemporaneamente.
Dal registro di stato eventi si ottiene l'informazione su quale degli eventi di errore mascherati si sono
presentate almeno una volta nella lista attuale di priorità. Un bit impostato sta ad indicare che il
rispettivo evento di errori di sincronismo si è presentato almeno una volta.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
PRGFLT_QUERY INPUT DWORD E, A, M, D, L, cost. Consultazione degli errori di
programma
ACCFLT_QUERY INPUT DWORD E, A, M, D, L, cost. Consultazione degli errori di
accesso
RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore
PRGFLT_CLR OUTPUT DWORD E, A, M, D, L Avvenuti errori di programma
ACCFLT_CLR OUTPUT DWORD E, A, M, D, L Avvenuti errori di accesso

Informazioni di errore

Codice di Descrizione
errore
(W#16#...)
0000 Tutti gli errori consultati vengono mascherati.
0001 Almeno uno degli errori consultati non è mascherato.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


232 Manuale di riferimento, 04/2017, A5E41911986-AA
12 SFC per la gestione di allarmi e di eventi di errori di
asincronismo

12.1 Ritardo e disabilitazione di allarmi ed eventi di errore di


asincronismo

Scopo delle SFC 39 ... 42


Queste SFC vengono impiegate per
• disabilitare richieste di allarmi o di eventi di errore di asincronismo nell'arco di tutti i successivi
cicli di CPU con la SFC 39 "DIS_IRT" oppure per
• ritardare classi di più elevata priorità fino al termine del ciclo con la SFC 41 "DIS_AIRT", oppure
per
• riabilitare richieste di allarmi o di eventi di errore di asincronismo con la SFC 40 "EN_IRT" e
SFC 42 "EN_AIRT".
L'elaborazione di allarmi e di eventi di errore di asincronismo è programmabile all'interno del
programma utente. Per far questo occorre programmare i corrispondenti OB.

Vantaggio della SFC 41 e SFC 42


La possibilità di disabilitare richieste di allarmi ed eventi di errore di asincronismo di più elevata
priorità con la SFC 41 "DIS_AIRT" e di riabilitarle con la SFC 42 "EN_AIRT" comporta il vantaggio
seguente:
La CPU tiene il conto delle disabilitazioni di allarmi. Una disabilitazione di richieste di allarmi o di
eventi di errore di asincronismo programmata non può essere revocata dal richiamo di eventuali
funzioni standard, se queste a loro volta disabilitano e poi abilitano richieste di allarmi ed eventi di
errore di asincronismo.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 233
SFC per la gestione di allarmi e di eventi di errori di asincronismo
12.2 Disabilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo con la SFC 39 "DIS_IRT"

Classi di allarme
Gli allarmi sono suddivisi in diverse classi. La tabella seguente contiene tutte le classi di allarme e i
corrispondenti OB.

Classi di allarme OB
Allarmi dall'orologio OB 10 ... OB 17
Allarmi di ritardo OB 20 ... OB 23
Schedulazioni orologio OB 30 ... OB 38
Interrupt di processo OB 40 ... OB 47
Allarmi per DVP1 OB 55 … OB 57
Allarme di multicomputing OB 60
Allarmi d'errore di ridondanza OB 70, OB 72
Allarmi per errori di asincronismo OB 80 ... OB 87
Allarmi per errori di sincronismo OB 121, OB 122
(L'elaborazione di allarmi per errori di sincronismo viene
mascherata o demascherata con le SFC 36, 37 e 38.)

Eventi di errori di asincronismo


La tabella seguente contiene tutti gli eventi di errore di asincronismo, ai quali è possibile reagire da
programma con un corrispondente OB.

Eventi di errore di asincronismo OB


Errore di tempo (ad es. superamento del max. tempo OB 80
ciclo)
Guasto all'alimentazione (p.e. batteria difettosa) OB 81
Allarme di diagnostica (p.e. fusibile difettoso in una OB 82
scheda di I/O)
Allarme di estrazione / inserimento OB 83
Evento di errore hardware della CPU (ad es. errore di OB 84
interfaccia)
Errore di esecuzione del programma OB 85
Avaria dell'intero telaio di montaggio OB 86
Errore di comunicazione OB 87

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


234 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la gestione di allarmi e di eventi di errori di asincronismo
12.2 Disabilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo con la SFC 39 "DIS_IRT"

12.2 Disabilitazione della risposta a nuovi allarmi ed eventi di errori di


asincronismo con la SFC 39 "DIS_IRT"

Descrizione
Con la SFC 39 "DIS_IRT" (disable interrupt) si disabilitano nuove richieste di allarmi ed eventi di
errori di asincronismo. Disabilitare significa che, al verificarsi di un evento di interruzione, la CPU
• né richiama un OB di allarme oppure un OB di errori di asincronismo,
• né provoca la reazione stabilita in caso di OB di allarme oppure di OB di eventi di errori di
asincronismo non programmati.
La disabilitazione delle richieste di allarmi e di eventi di errori di asincronismo rimane valida su tutte le
classi di priorità e durante più di un ciclo di programma. Tale disabilitazione può essere revocata solo
con la SFC 40 "EN_IRT" o con un nuovo avviamento (avviamento a caldo) e con avviamento a
freddo.
Se il sistema operativo registra l'avvenuta richiesta di allarme o l'avvenuto evento di errori di
asincronismo nel buffer di diagnostica dipende dalla scelta del parametro di ingresso MODE.

Avvertenza
Si osservi che con la programmazione della SFC 39 "DIS_IRT", vanno perduti tutti gli allarmi che
potrebbero eventualmente verificarsi.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
MODE INPUT BYTEGlossB E, A, M, D, L, cost. Indica quali richieste di eventi di allarme e di
YTE errore di asincronismo vengono disabilitate.
OB_NR INPUT INT E, A, M, D, L, cost. Numero di OB
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'esecuzione della funzione si
verifica un errore, il valore di ritorno contiene
un codice di errore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 235
SFC per la gestione di allarmi e di eventi di errori di asincronismo
12.2 Disabilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo con la SFC 39 "DIS_IRT"

MODE

MODE Significato
(B#16#...)
00 Tutte le nuove richieste di allarmi ed eventi di errori di asincronismo che si verificano vengono
disabilitate (non vengono disabilitati gli eventi di errori di sincronismo). Attribuire al parametro
OB_NR il valore 0. Continuano ad essere eseguite registrazioni nel buffer di diagnostica.
01 Tutti i nuovi eventi di una data classe di priorità che si verificano vengono disabilitati. Le classi
di allarme sono contrassegnate come segue:
• allarmi orologio: 10
• allarmi di ritardo: 20
• allarmi di schedulazione orologio: 30
• interrupt di processo: 40
• allarmi per DPV1: 50
• allarmi di multicomputing: 60
• allarmi per errori di ridondanza: 70
• allarmi per errori di sincronismo: 80
02 Tutte le nuove richieste di un determinato allarme che si verificano vengono disabilitate. Si
può contrassegnare un allarme mediante il numero di OB. Continuano ad essere eseguite
registrazioni nel buffer di diagnostica.
80 Tutte le nuove richieste di allarmi ed eventi di errori di asincronismo che si verificano vengono
disabilitate e non vengono più registrate nel buffer di diagnostica. Assegnare il valore 0 al
parametro OB_NR. Il sistema operativo registra l'evento W#16#5380 nel buffer di
diagnostica.
81 Tutti i nuovi eventi di una classe di allarme indicata vengono disabilitati e non vengono più
registrati nel buffer di diagnostica. Il sistema operativo registra l'evento W#16#5380 nel buffer
di diagnostica.
82 Tutti i nuovi eventi di un allarme indicato vengono disabilitati non vengono più registrati nel
buffer di diagnostica. Il sistema operativo registra l'evento W#16#5380 nel buffer di
diagnostica

Informazioni di errore

Codice di Descrizione
errore
(W#16#...)
0000 Non è avvenuto alcun errore.
8090 Il parametro di ingresso OB_NR contiene un valore non permesso.
8091 Il parametro di ingresso MODE contiene un valore non permesso.
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


236 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la gestione di allarmi e di eventi di errori di asincronismo
12.3 Abilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo con l’SFC 40 "EN_IRT"

12.3 Abilitazione della risposta a nuovi allarmi ed eventi di errori di


asincronismo con l’SFC 40 "EN_IRT"

Descrizione
Con la SFC 40 "EN_IRT" (enable interrupt) si riabilitano richieste di allarmi e di eventi di errori di
asincronismo disabilitate. Abilitare significa che il sistema operativo della CPU, al verificarsi di un
evento di interruzione
• richiama un OB di allarme oppure un OB di errori di asincronismo
oppure
• provoca la reazione stabilita in caso di OB di allarme oppure di OB di errori di asincronismo non
programmati.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
MODE INPUT BYTE E, A, M, D, L, cost. Indica quali richieste di allarme ed eventi di
errore di asincronismo vengono abilitate
(vedere uanto segue).
OB_NR INPUT INT E, A, M, D, L, cost. Numero di OB
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'esecuzione della funzione si
verifica un errore, il valore di ritorno contiene
un codice di errore.

MODE

MODE Significato
0 Tutte le nuove richieste di allarmi ed eventi di errori di asincronismo che si verificano vengono
abilitate.
1 Tutte le nuove richieste di allarmi di una data classe di priorità che si verificano, vengono
disabilitate. Le classi di allarme sono contrassegnate come segue:
• allarmi orologio: 10
• allarmi di ritardo: 20
• allarmi di schedulazione orologio: 30
• interrupt di processo: 40
• allarmi per DPV1: 50
• allarmi di multicomputing: 60
• allarmi per errori di ridondanza: 70
• allarmi per errori di sincronismo: 80
2 Tutte le nuove richieste di un determinato allarme che si verificano vengono abilitate. Si può
contrassegnare l'allarme mediante il numero di OB.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 237
SFC per la gestione di allarmi e di eventi di errori di asincronismo
12.3 Abilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo con l’SFC 40 "EN_IRT"

Informazioni di errore

Codice di Descrizione
errore
(W#16#...)
0000 Non è avvenuto alcun errore.
8090 Il parametro di ingresso OB_NR contiene un valore non permesso.
8091 Il parametro di ingresso MODE contiene un valore non permesso.
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


238 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la gestione di allarmi e di eventi di errori di asincronismo
12.4 Ritardo della risposta ad allarmi ed eventi di errori di asincronismo di più alta priorità con la SFC 41 "DIS_AIRT"

12.4 Ritardo della risposta ad allarmi ed eventi di errori di


asincronismo di più alta priorità con la SFC 41 "DIS_AIRT"

Descrizione
Con la SFC 41 "DIS_AIRT" (disable alarm interrupts) si ritarda l'esecuzione di OB di allarme e di
OB di errori di asincronismo con una priorità più elevata di quella dell'OB in esecuzione. È possibile
richiamare più volte la SFC 41 all'interno di un OB. Tali richiami della SFC 41 vengono contati dal
sistema operativo. La disabilitazione dura finché tutte le esecuzioni di OB di allarme o di OB di errori
di asincronismo, ritardate mediante la SFC 41, non vengono esplicitamente riabilitate con la SFC 42
"EN_AIRT" oppure finché l'elaborazione dell'OB attuale non è giunta al termine.
Le richieste di allarmi o di eventi di errori di asincronismo pendenti vengono elaborate non appena
viene revocata la disabilitazione tramite la SFC 42 "EN_AIRT" oppure quando l'elaborazione
dell'OB attuale è giunta al termine.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
RET_VAL OUTPUT INT E, A, M, D, L Numero dei ritardi ( = numero die richiami
della SFC 41)

Valore di ritorno
La tabella seguente contiene il valore di ritorno della SFC 41, fornito dal parametro RET_VAL.

Valore di Descrizione
ritorno
n "n" indica, dopo l'esecuzione della SFC, il numero delle disabilitazioni, ossia dei richiami
della SFC 41 (l'elaborazione degli allarmi viene riabilitata solo quando n = 0; vedi capitolo
Abilitazione della risposta ad allarmi ed eventi di errori di asincronismo di più alta priorità con
la SFC 42 "EN_AIRT")

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 239
SFC per la gestione di allarmi e di eventi di errori di asincronismo
12.5 Abilitazione della risposta ad allarmi ed eventi di errori di asincronismo di più alta priorità con la SFC 42
"EN_AIRT"

12.5 Abilitazione della risposta ad allarmi ed eventi di errori di


asincronismo di più alta priorità con la SFC 42 "EN_AIRT"

Descrizione
Con la SFC 42 "EN_AIRT" (enable alarm interupts) si abilita nuovamente l'esecuzione di allarmi e di
eventi di errori di asincronismo con più elevata priorità, precedentemente ritardata con la SFC 41
"DIS_AIRT". Affinché l'esecuzione possa essere riabilitata, è necessario revocare ogni singola
disabilitazione con SFC 42.

Esempio
Se sono stati disabilitati per 5 volte allarmi mediante 5 richiami della SFC 41, per revocare queste
disabilitazioni occorrono 5 richiami di SFC 42.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
RET_VAL OUTPUT INT E, A, M, D, L Numero dei ritardi ancora programmati dopo
l'esecuzione della SFC 42 oppure messaggio
di errore.

Valore di ritorno e informazione di errore


Il capitolo Analisi degli errori con il parametro di uscita RET_VAL illustra come interpretare le
informazioni di errore del parametro RET_VAL. In esso si trovano anche le informazioni di errore
generali delle SFC. La tabella seguente contiene tutte le informazioni di errore specifiche per la
SFC 42 che possono essere fornite tramite il parametro RET_VAL.

Valore di Descrizione
ritorno e
codice di
errore
n "n" indica, dopo l'esecuzione della SFC, il numero delle disabilitazioni, ossia dei richiami
della SFC 41 (l'elaborazione degli allarmi viene riabilitata solo quando n = 0).
W#16#8080 Sebbene l'elaborazione dell'allarme fosse già stata abilitata, la funzione è stata comunque
richiamata.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


240 Manuale di riferimento, 04/2017, A5E41911986-AA
13 SFC per la diagnostica

13.1 Diagnostica di sistema


Le CPU possiedono internamente dati sullo stato del controllore programmabile. Con "diagnostica di
sistema" si intende la possibilità di leggere i dati principali. Alcuni dati possono essere fatti
visualizzare sul PG con STEP 7.
Per poter accedere ai dati per la diagnostica del sistema anche nel proprio programma, utilizzare le
SFC "RD_SINFO" e "RDSYSST"

13.2 Lettura dell'informazione di avvio dell'OB attuale con la SFC 6


"RD_SINFO"

Descrizione
Con la SFC 6 "RD_SINFO" (read start information) si legge l'informazione di avvio
• dell'OB richiamato per ultimo e che non è stato elaborato completamente e
• dell'OB di avviamento avviato per ultimo
Entrambe le informazioni di avvio non contengono la registrazione del tempo. Se il richiamo si
verifica nell'OB 100 o 101 o 102, vengono fornite due informazioni di avvio identiche.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori
TOP_SI OUTPUT STRUCT D, L Informazioni di avvio dell'OB attuale
START_UP OUTPUT STRUCT D, L Informazione di avvio dell'ultimo OB di
_SI avviamento

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 241
SFC per la diagnostica
13.2 Lettura dell'informazione di avvio dell'OB attuale con la SFC 6 "RD_SINFO"

TOP_SI e START_UP_SI
I parametri di uscita TOP_SI e START_UP_SI sono due strutture dalla forma identica. La loro forma
è riprodotta nella tabella seguente.

Elemento di struttura Tipo di dati Descrizione


EV_CLASS BYTE Bit da 0 a 3: identificazione dell'evento
Bit da 4 a 7: classe dell'evento
EV_NUM BYTE Numero dell'evento
PRIORITY BYTE Numero del livello di esecuzione (significato di
B#16#FE: OB non progettato o disabilitato oppure
non avviabile nello stato di funzionamento attuale).
NUM BYTE Numero OB
TYP2_3 BYTE Identificazione dei dati 2_3: contrassegna
l'informazione registrata in ZI2_3
TYP1 BYTE Identificazione dei dati 1: contrassegna l'informazione
registrata in ZI1
ZI1 WORD Informazione supplementare 1
ZI2_3 DWORD Informazione supplementare 2_3

Avvertenza
Dal punto di vista del contenuto degli elementi di struttura riportati nella tabella sopra corrispondono
esattamente alle variabili temporanee di un OB.
Tenere tuttavia presente che le variabili temporanee nei singoli OB possono avere altri nomi e altri
tipi di dati. Tenere inoltre presente che l'interfaccia di richiamo degli OB contiene inoltre la data e l'ora
in cui è stato richiamato l'OB.

I bit da 4 a 7 dell'elemento di struttura EV_CLASS contengono la classe dell'evento. Qui sono


possibili i seguenti valori:
• 1: eventi di avvio degli OB standard
• 2: eventi di avvio degli OB di errore di sincronismo
• 3: eventi di avvio degli OB di errore di asincronismo
L'elemento di struttura PRIORITY fornisce la classe di priorità appartenente all'OB attuale.
Oltre a questi due elementi, anche NUM è importante. NUM contiene infatti il numero dell'OB attuale
e dell'OB di avviamento avviato per ultimo.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


242 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la diagnostica
13.2 Lettura dell'informazione di avvio dell'OB attuale con la SFC 6 "RD_SINFO"

Esempio
Supponiamo che l'OB richiamato per ultimo, che non è stato ancora elaborato completamente, sia
l'OB80 e che l'OB di avviamento avviato per ultimo sia l'OB100.
La tabella seguente mostra l'assegnazione degli elementi di struttura del parametro TOP_SI della
SFC 6 "RD_SINFO" alle relative variabili locali dell'OB 80.

TOP_SI OB 80
Elemento di struttura Tipo di Variabile locale corrispondente Tipo di
dati dati
EV_CLASS BYTE OB80_EV_CLASS BYTE
EV_NUM BYTE OB80_FLT_ID BYTE
PRIORITY BYTE OB80_PRIORITY BYTE
NUM BYTE OB80_OB_NUMBR BYTE
TYP2_3 BYTE OB80_RESERVED_1 BYTE
TYP1 BYTE OB80_RESERVED_2 BYTE
ZI1 WORD OB80_ERROR_INFO WORD
ZI2_3 DWORD OB80_ERR_EV_CLASS BYTE
OB80_ERR_EV_NUM BYTE
OB80_OB_PRIORITY BYTE
OB80_OB_NUM BYTE

La tabella seguente mostra l'assegnazione degli elementi di struttura del parametro START_UP_SI
della SFC 6 "RD_SINFO" alle relative variabili locali dell'OB 100.

START_UP_SI OB 100
Elemento di struttura Tipo di Variabile locale Tipo di
dati dati
EV_CLASS BYTE OB100_EV_CLASS BYTE
EV_NUM BYTE OB100_STRTUP BYTE
PRIORITY BYTE OB100_PRIORITY BYTE
NUM BYTE OB100_OB_NUMBR BYTE
TYP2_3 BYTE OB100_RESERVED_1 BYTE
TYP1 BYTE OB100_RESERVED_2 BYTE
ZI1 WORD OB100_STOP WORD
ZI2_3 DWORD OB100_STRT_INFO DWORD

Informazioni di errore
La SFC 6 (RD_SINFO) non fornisce informazioni sugli errori specifiche, ma solo generali. I codici
generali di errore e la loro analisi sono descritti in modo dettagliato nel capitolo Analisi degli errori con
il parametro di uscita RET_VAL.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 243
SFC per la diagnostica
13.3 Lettura di una lista parziale SZL o di un estratto della lista parziale SZL con la SFC 51 "RDSYSST"

13.3 Lettura di una lista parziale SZL o di un estratto della lista parziale
SZL con la SFC 51 "RDSYSST"

Descrizione
Con la SFC 51 "RDSYSST" (read system status) si può leggere una lista parziale SZL o un estratto
della lista parziale SZL.
La procedura di lettura viene avviata occupando con 1 il parametro di ingresso REQ al momento di
richiamo della SFC 51. Se è stato possibile eseguire subito la procedura di lettura, la SFC fornisce il
valore 0 al parametro di uscita BUSY. Nel caso in cui BUSY abbia il valore 1, la procedura di lettura
non è stata ancora portata a termine.

Avvertenza
Se viene richiamata la SFC 51 "RDSYSST" nell'OB di allarme di diagnostica mediante l'ID SZL
W#16#00B1 o W#16#00B2 oppure W#16#00B3 e si accede all'unità che ha posto l'allarme di
diagnostica, la procedura di lettura viene eseguita immediatamente.
Con la SFC51 "RDSYSST" vengono trasmessi solo record di dati completi.

Risorse del sistema


Se vengono avviate varie procedure di lettura asincrone (i job con SZL_ID W#16#00B4 e
W#16#4C91, W#16#4092 e W#16#4292 e W#16#4692 ed eventualmente W#16#00B1 e
W#16#00B3) a breve distanza l'una dall'altra, il sistema operativo garantisce che queste vengano
eseguite tutte senza influenzarsi l'una con l'altra.
L'arrivo al limite delle risorse del sistema viene comunicato in RET_VAL. La temporanea situazione
di errore può essere rimossa ripetendo il job.
Il numero massimo di job attivi "simultaneamente" della SFC 51 dipende dal tipo di CPU.
Informazioni a riguardo sono riportate in /70/ e /101/.

Avvertenza
Nelle CPU S7-400 possono essere trasferiti con l'SFC 51 max. 432 byte nell'area di destinazione.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


244 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la diagnostica
13.3 Lettura di una lista parziale SZL o di un estratto della lista parziale SZL con la SFC 51 "RDSYSST"

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
REQ INPUT BOOL E, A, M, D, L, cost. REQ=1: avvio dell'elaborazione
SZL_ID INPUT WORD E, A, M, D, L, cost. Identificatore della lista parziale SZL o
dell'estratto della lista parziale).
INDEX INPUT WORD E, A, M, D, L, cost. Tipo o numero di un oggetto in una lista
parziale
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'esecuzione della funzione si
verifica un errore, il parametro RET_VAL
contiene un codice di errore.
BUSY OUTPUT BOOL E, A, M, D, L TRUE: l'operazione di lettura non è
ancora terminata.
SZL_HEADER OUTPUT STRUCT D, L Vedere sotto
DR OUTPUT ANY E, A, M, L, D Campo di destinazione della lista parziale
SZL trasferita oppure dell'estratto della
lista parziale SZL trasferito:
• Nel caso sia stata letta solo
l'informazione di intestazione di una
lista parziale SZL non deve essere
analizzato DR bensì solo
SZL_HEADER.
• Altrimenti il prodotto di LENTHDR e
N_DR indica quanti byte sono stati
registrati in DR.

SZL_HEADER
Il parametro SZL_HEADER è una struttura, definita nel modo seguente:
SZL_HEADER: STRUCT
LENTHDR: WORD
N_DR: WORD
END_STRUCT
LENTHDR è la lunghezza in byte di un set di dati della lista parziale SZL oppure dell'estratto della
lista parziale SZL.
• Nel caso sia stata letta solo l'informazione di intestazione di una lista parziale SZL, N_DR
contiene il numero dei rispettivi set di dati presenti.
• Altrimenti N_DR contiene il numero dei set di dati trasmessi nel campo di destinazione.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 245
SFC per la diagnostica
13.3 Lettura di una lista parziale SZL o di un estratto della lista parziale SZL con la SFC 51 "RDSYSST"

Informazioni di errore

Codice di Spiegazione
errore
(W#16#...)
0000 nessun errore
0081 Lunghezza del campo DR troppo piccola. (Nonostante ciò, vengono forniti tanti set di dati
quanto possibile. L'intestazione SZL ne indica il numero.)
7000 Primo richiamo con REQ=0: trasferimento dati non attivo; BUSY ha il valore 0.
7001 Primo richiamo con REQ=1: trasferimento dati avviato; BUSY ha il valore 1.
7002 Richiamo intermedio (REQ irrilevante): trasferimento dati già attivo; BUSY ha il valore 1.
8081 Lunghezza del campo DR troppo piccola (non c'è abbastanza spazio per un set di dati)
8082 L'ID SZL è sbagliata nella CPU oppure la SFC è sconosciuta.
8083 INDEX errato o non ammesso
8085 Informazione momentaneamente non disponibile per cause interne di sistema (ad es.
mancanza di risorse)
8086 Set di dati non leggibile a causa di un errore di sistema (bus, unità, sistema operativo).
8087 Set di dati non leggibile perché l'unità non è disponibile o non conferma.
8088 Set di dati non leggibile perché l'identificazione unità attuale non corrisponde
all'identificazione unità di riferimento.
8089 Set di dati non leggibile perché l'unità non è in grado di fornire una diagnostica o il set di dati
stesso.
80A2 Errore di protocollo DP (errore livello 2) (errore temporaneo)
80A3 Errore di protocollo DP in user interface/user (errore temporaneo)
80A4 Comunicazione nel bus K disturbata (errore emerso tra CPU e collegamento DP esterno)
(errore temporaneo)
80C5 Periferia decentrata non disponibile (errore temporaneo)
80C6 Il trasferimento del set di dati è stato interrotto a causa di una interruzione della classe di
priorità (riavviamento oppure sfondo)
80D2 Set di dati non leggibile perché l'unità non è in grado di fornire una diagnostica.
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


246 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la diagnostica
13.3 Lettura di una lista parziale SZL o di un estratto della lista parziale SZL con la SFC 51 "RDSYSST"

SZL_IDs

Avvertenza
Le liste parziali leggibili con la SFC 51 "RDSYSST"
• per S7-300 sono riportate in /72/
• per S7-400 sono indicate nella seguente tabella.

SZL_ID Lista parziale INDICE


(W#16#...) (W#16#...)
Identificazione unità
0111 Un set di dati di identificazione
Identificazione dell'unità 0001
Identificazione della scheda System Expansion Card 0004
Identificazione dell'hardware di base 0006
Identificazione del firmware di base 0007
Caratteristiche CPU
0012 Tutte le caratteristiche Irrilevante
0112 Caratteristiche di un gruppo
Unità di elaborazione in MC7 0000
Sistema di tempo 0100
Comportamento sistema 0200
Descrizione linguaggio MC7 0300
Disponibilità di SFC 87 e SFC 0400
0F12 Solo informazione intestazione della lista parziale SZL Irrilevante
Aree di memoria utente
0113 Un set di dati per l'area di memoria indicata
Memoria di lavoro 0001
Aree di sistema
0014 Set di dati di tutti i campi di sistema Irrilevante
0F14 Solo informazione intestazione della lista parziale SZL Irrilevante
Tipi di blocchi
0015 Set di dati di tutti i tipi di blocchi Irrilevante

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 247
SFC per la diagnostica
13.3 Lettura di una lista parziale SZL o di un estratto della lista parziale SZL con la SFC 51 "RDSYSST"

SZL_ID Lista parziale INDICE


(W#16#...) (W#16#...)
Identificazione di un componente
001C Identificazione di tutti i componenti Irrilevante
011C Identificazione di un componente
Nome del sistema di automazione 0001
Nome dell'unità 0002
Sigla dell'impianto dell'unità 0003
Registrazione del copyright 0004
Numero di serie dell'unità 0005
Nome del tipo di unità 0007
Numero di serie della Memory Card 0008
Produttore e profilo di un'unità CPU 0009
Identificazione OEM di un'unità 000A
Sigla topologica di un'unità 000B
Numero di serie del modulo Sync 1 000C
Numero di serie del modulo Sync 2 000D
Numero di serie della System Expansion Card 000E
021C Identificazione di tutti i componenti di una CPU di un N. rack
sistema H
031C Identificazione di un componente di tutte le CPU ridondate Indice
di un sistema H
0F1C Solo informazione di intestazione della lista parziale SZL Irrilevante
Stato degli allarmi
0222 Set di dati dell'allarme indicato Numero di OB
Assegnazione di immagini di processo parziali a CPU
0025 Assegnazione di tutte le immagini di processo parziali agli Irrilevante
OB
0125 Assegnazone di un’immagine di processo parziale al N. immagine di processo parziale
rispettivo OB
0225 Assegnazione di un OB alla rispettiva immagine di N. OB.
processo parziale
0F25 Solo informazione di intestazione della lista parziale SZL Irrilevante
Dati sullo stato della comunicazione
0132 Dati di stato di una parte della comunicazione
Diagnostica 0005
Caratteristiche orologio 0008
0232 Dati di stato per una parte di comunicazione
Livello di protezione della CPU e posizioni del selettore 0004
Informazioni cumulative sulla CPU H
0071 Informazioni sullo stato attuale del sistema H Irrilevante
0F71 Solo informazione intestazione della lista parziale SZL Irrilevante

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


248 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la diagnostica
13.3 Lettura di una lista parziale SZL o di un estratto della lista parziale SZL con la SFC 51 "RDSYSST"

SZL_ID Lista parziale INDICE


(W#16#...) (W#16#...)
Stato dei LED dell'unità (leggibile non in tutte le CPU, vedere /102/).
0174 Stato di un LED Identificazione LED
Slave DP attivati nel sistema H
0C75 Stato di comunicazione tra il sistema H ed uno slave DP Indirizzo di diagnostica
attivato dell’interfaccia slave DP
Informazioni sistema master DP
0090 Informazioni su tutti i sistemi master DP noti alla CPU 0000
0190 Informazioni su un sistema master DP ID sistema master DP
0F90 Solo informazioni nell'intestazione della lista SZL 0000
Informazioni sullo stato delle unità (vengono forniti al max. 27 set di dati)
0191 Informazione di stato di tutte le unità/sottomoduli inseriti Irrilevante
0191 Informazione di stato di tutte le unità non disattivate/telai Irrilevante
con identificazione scorretta dell'unità
0291 Informazione di stato di tutte le unità guaste e non Irrilevante
disattivate
0591 Informazione di stato unità di tutte di tutti i sottomoduli Irrilevante
dell'unità host
0991 Informazione di stato unità di un sistema master DP ID sistema master DP
0C91 Informazione di stato di un'unità nella configurazione Indirizzo di base logico
centrale, in una interfaccia DP integrata oppure in
un'interfaccia PROFINET (integrata o esterna)
4C91 Informazione di stato unità di un'unità in una interfaccia DP Indirizzo di base logico
esterna
0D91 Informazione di stato di tutte le unità nel telaio Telaio o ID sistema master DP e
indicato/nella stazione indicata (DP o PROFINET) numero stazione oppure numero
stazione e ultimi due posti dell'ID
del sistema subordinato PNIO
0E91 Informazione di stato di tutte le unità assegnate Irrilevante
0F91 Soltanto le informazioni dell'intestazione della lista parziale Irrilevante

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 249
SFC per la diagnostica
13.3 Lettura di una lista parziale SZL o di un estratto della lista parziale SZL con la SFC 51 "RDSYSST"

SZL_ID Lista parziale INDICE


(W#16#...) (W#16#...)
Informazione di stato di telai e stazioni
0092 Stato di riferimento dei telai nella struttura centrale / delle 0 / ID sistema master DP
stazioni di un sistema master DP
4092 Stato di riferimento delle stazioni di un sistema master DP ID sistema master DP
collegato tramite una interfaccia DP esterna
0192 Stato di attivazione delle stazioni di un sistema master DP ID sistema master DP
collegato per mezzo di un’interfaccia DP-A integrata
0292 Stato attuale dei telai nella struttura centrale / delle stazioni 0 / ID sistema master DP
di un sistema master DP
4292 Stato attuale delle stazioni di un sistema master DP ID sistema master DP
collegato tramite interfaccia DP esterna
0392 Stato della batteria tampone di un rack/telaio di montaggio 0
di una CPU, in caso di guasto di almeno una batteria
0492 Stato dell’intera batteria tampone di tutti i rack/telai di 0
montaggio di una CPU
0592 Stato dell’alimentazione da 24 V-di tutti i rack/telai di 0
montaggio di una CPU
0692 Stato di diagnostica delle apparecchiature di ampliamento 0 / ID sistema master DP
in una configurazione centrale / delle stazioni di un sistema
master DP collegato tramite un'interfaccia DP integrata.
4692 Stato di diagnostica delle stazioni di un sistema master DP ID sistema master DP
collegato tramite un'interfaccia DP esterna
Informazione di stato di telai e stazioni
0094 Stato di riferimento dei telai nella struttura centrale / delle 0 / ID del sistema subordinato
stazioni di un sistema IO-Controller PNIO
0194 Stato di attivazione delle stazioni di un sistema ID del sistema subordinato PNIO
IO-Controller progettato e disattivato
0294 Stato attuale dei telai nella struttura centrale / delle stazioni 0 / ID del sistema subordinato
di un sistema IO-Controller PNIO
0694 Stato della diagnostica delle apparecchiature di 0 / ID del sistema subordinato
ampliamento nella struttura centrale / delle stazioni di un PNIO
sistema IO-Controller
0794 Stato di manutenzione del rack centrale / delle stazioni di 0 / ID del sistema subordinato
un sistema IO-Controller PNIO
0F94 Soltanto informazione di intestazione -
Informazioni supplementari sul sistema master DP/PROFINET IO
0195 Maggiori informazioni su un sistema master DP ID sistema master DP
0F95 Solo informazioni nell'intestazione della lista SZL 0000
Baugruppenzustandsinformation PROFINET IO und PROFIBUS DP
0696 Informazione di stato di tutti i sottomoduli di un'unità Indirizzo ID con ID di ingressi e
indicata (soltanto con PROFINET IO su un'interfaccia uscite
integrata)
0C96 Informazione di stato di un'unità /di un sottomodulo Indirizzo iniziale con con ID di
centrale o su un'interfaccia PROFIBUS DP integrata ingressi e uscite
oppure su un'interfaccia PROFINET (integrata o esterna)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


250 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la diagnostica
13.3 Lettura di una lista parziale SZL o di un estratto della lista parziale SZL con la SFC 51 "RDSYSST"

SZL_ID Lista parziale INDICE


(W#16#...) (W#16#...)
Informazioni sui commutatori (PROFINET IO)
009C Informazioni su tutti i commutatori e sui relativi utensili in un ID del sistema PROFINET IO
sistema PROFINET IO
019C Informazioni su tutti i commutatori in un sistema ID del sistema PROFINET IO
PROFINET IO
029C Informazioni su un commutatore e sui relativi utensili Indirizzo logico del commutatore
039C Informazioni su un utensile e sui relativi IO Device Indirizzo logico di un qualsiasi IO
Device dell'utensile
0F9C Solo informazione intestazione della lista parziale SZL Non rilevante

Buffer di diagnostica
(vengono forniti 21 set di dati al massimo)
00A0 Tutte le registrazioni fornibili nello stato di funzionamento Irrilevante
attuale
01A0 Le registrazioni più recenti, il numero viene indicato tramite Numero
l'indice
0FA0 Solo informazione intestazione della lista parziale SZL Irrilevante
Dati di diagnostica su unità
00B1 I primi quattro byte di diagnostica di un'unità (DS0) Indirizzo di base logico
00B2 Tutti i dati di diagnostica di un'unità (220 byte, DS1) (non Telaio, posto connettore
unità DP)
00B3 Tutti i dati di diagnostica di un'unità (220 byte, DS1) Indirizzo di base logico
00B4 Dati di diagnostica di uno slave DP Indirizzo di diagnostica progettato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 251
SFC per la diagnostica
13.4 Scrittura di un evento di diagnostica definito dall'utente nel buffer di diagnostica con la SFC 52
"WR_USMSG"

13.4 Scrittura di un evento di diagnostica definito dall'utente nel buffer


di diagnostica con la SFC 52 "WR_USMSG"

Descrizione
Con la SFC 52 "WR_USMSG" (write user element in diagnosis buffer) si può scrivere un evento di
diagnostica definito dall'utente nel buffer di diagnostica. In più è possibile trasmettere i relativi
messaggi di diagnostica a tutti i nodi allacciati a questo scopo (tramite assegnazione del parametro
di ingresso SEND = TRUE). In caso di errore, il parametro di uscita RET_VAL fornisce l'informazione
di errore.

Trasmissione messaggio utente


Con la SFC 52 viene registrato un evento di diagnostica definito dall'utente nel buffer di diagnostica.
In più è possibile trasmettere il relativo messaggio di diagnostica definito dall'utente anche a tutti i
partecipanti allacciati a questo scopo (tramite assegnazione del parametro di ingresso
SEND = TRUE). Il messaggio di diagnostica definito dall'utente viene dapprima scritta nel buffer di
trasmissione e da lì automaticamente trasmesso al nodo allacciato.
Si può controllare se la trasmissione del messaggio di diagnostica definito dall'utente è
momentaneamente possibile. A tale scopo richiamare la SFC 51 "RDSYSST" con i parametri
ID SZL = W#16#0132 e INDEX = W#16#0005. La quarta parola del set di dati fornito indica se la
trasmissione è attualmente possibile (1) o meno (0).

CPU Nodo

p. es. PG, OP
Buffer di trasmis
sione
SEND=
TRUE
1 2

SFC 52 ... Trasmissione


asincrona al pro
gramma utente
Buffer diagnostica

...

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


252 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la diagnostica
13.4 Scrittura di un evento di diagnostica definito dall'utente nel buffer di diagnostica con la SFC 52 "WR_USMSG"

Buffer di trasmissione pieno


La registrazione del messaggio di diagnostica nel buffer di trasmissione può avere luogo solo se il
buffer di trasmissione non è pieno. Quante registrazioni siano possibili nel buffer di trasmissione,
dipende dal tipo della CPU.
Se il buffer di trasmissione è pieno,
• la registrazione dell'evento di diagnostica nel buffer di diagnostica avviene comunque
• nel parametro RET_VAL viene indicato che il buffer di trasmissione è pieno
(RET_VAL = W#16#8092).

Il nodo non è allacciato


Se deve essere trasmesso un messaggio di diagnostica definito dall'utente(SEND = TRUE), ma non
è allacciato nessun nodo
• la registrazione dell'evento di diagnostica definito dall'utente nel buffer di diagnostica avviene
comunque
• nel parametro RET_VAL viene indicato che attualmente non è allacciato nessun nodo
(W#16#8091) o W#16/8091). Il valore W#16/8091 compare nelle versioni meno recenti della
CPU.

Struttura generale
Un messaggio del buffer di diagnostica è strutturato internamente nel modo seguente:

Byte Contenuto
1e2 ID di evento
3 Classe di priorità
4 Numero di OB
5e6 Riservato
7e8 Informazione supplementare 1
9, 10, 11 e 12 Informazione supplementare 2
dal 13 al 20 Registrazione del tempo

ID di evento
Ad ogni evento è associato un ID di evento.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 253
SFC per la diagnostica
13.4 Scrittura di un evento di diagnostica definito dall'utente nel buffer di diagnostica con la SFC 52
"WR_USMSG"

Informazione supplementare
L'informazione supplementare contiene ulteriori informazioni relative all'evento. Tali informazioni
possono avere contenuti differenti a seconda dell'evento. Se viene generato un evento di
diagnostica, è l'utente stesso a poterne stabilire il contenuto.
Quando si invia un messaggio di diagnostica definito dall'utente, le informazioni supplementari
possono essere integrate come variabili nel testo di segnalazione (specifico dell'ID di evento).

Registrazione del tempo


Questa registrazione del tempo è del tipo Date_and_Time.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
SEND INPUT BOOL E, A, M, D, L, cost. Abilitazione a trasmettere un messaggio di
diagnostica definito dall'utente a tutti i nodi
allacciati
EVENTN INPUT WORD E, A, M, D, L, cost. ID di evento. Assegnano gli ID di evento.
L'assegnazione non avviene attraverso il
server di segnalazione
INFO1 INPUT ANY E, A, M, D, L Informazione supplementare lunga 1 parola
INFO2 INPUT ANY E, A, M, D, L Informazione supplementare lunga 2 parole
RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore

SEND
Con SEND = TRUE il messaggio di diagnostica definito dall'utente viene trasmessa a tutti i nodi
allacciati. La trasmissione avviene solo se è allacciato un nodo e se il buffer di trasmissione non è
pieno. La trasmissione avviene in maniera asincrona rispetto all'esecuzione del programma utente.

EVENTN
Il parametro EVENTN contiene l'ID dell'evento dell'utente. È possibile scrivere ID di evento della
forma W#16#8xyz, W#16#9xyz, W#16#Axyz, W#16#Bxyz.
Gli ID della forma W#16#8xyz e W#16#9xyz fanno parte degli eventi predefiniti, gli ID della forma
W#16#Axyz e W#16#Bxyz fanno parte degli eventi liberamente definibili.
Un evento entrante viene identificato da x = 1, un evento uscente da x = 0. Per eventi della classe A
e B vale: yz è il numero di messaggio in rappresentazione decimale assegnato durante la
progettazione del messaggio corrispondente.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


254 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la diagnostica
13.4 Scrittura di un evento di diagnostica definito dall'utente nel buffer di diagnostica con la SFC 52 "WR_USMSG"

INFO1
Il parametro INFO1 contiene una informazione lunga una parola. Per INFO1 sono permessi i
seguenti tipi di dato:
• WORD
• INT
• ARRAY [0...1] OF CHAR
È possibile integrare il parametro INFO1 come variabile nel testo di segnalazione, aggiungendo così
informazioni attuali al messaggio.

INFO2
Il parametro INFO2 contiene una informazione lunga due parole. Per INFO2 sono permessi i
seguenti tipi di dato:
• DWORD
• DINT
• REAL
• TIME
• ARRAY [0...3] OF CHAR
È possibile integrare il parametro INFO2 come variabile nel testo di segnalazione, aggiungendo così
informazioni attuali al messaggio.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 255
SFC per la diagnostica
13.4 Scrittura di un evento di diagnostica definito dall'utente nel buffer di diagnostica con la SFC 52
"WR_USMSG"

Informazioni di errore

Codice di Spiegazione
errore
(W#16#...)
0000 Nessun errore
0091 Nessun nodo è allacciato (registrazione dell'evento di diagnostica nel buffer di diagnostica
avvenuta)
8083 Tipo INFO1 non ammesso
8084 Tipo INFO2 non ammesso
8085 EVENTN non ammesso
8086 Lunghezza di INFO1 non ammessa
• CPU S7-300: come lunghezza dell’informazione aggiuntiva 1 viene preso il valore
massimo e viene eseguita la registrazione del buffer di diagnostica.
• CPU S7-400: non vi è alcuna registrazione nel buffer di diagnostica.
8087 Lunghezza di INFO2 non ammessa
• CPU S7-300: come lunghezza dell’informazione aggiuntiva 2 viene preso il valore
massimo e viene eseguita la registrazione del buffer di diagnostica.
• CPU S7-400: non vi è alcuna registrazione nel buffer di diagnostica.
8091 (Questo codice di errore compare solo nelle versioni meno recenti della CPU)
Nessun nodo è allacciato (registrazione dell'evento di diagnostica nel buffer di diagnostica
avvenuta)
8092 Trasmissione attualmente impossibile, il buffer di trasmissione è pieno (evento di diagnostica
registrato nel buffer di diagnostica)
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


256 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la diagnostica
13.5 Rilevamento del tempo di esecuzione del programma OB con l'SFC 78 "OB_RT"

13.5 Rilevamento del tempo di esecuzione del programma OB con


l'SFC 78 "OB_RT"

Descrizione
Con l'SFC 78 "OB_RT" è possibile rilevare il tempo di esecuzione dei singoli OB in momenti diversi.

Avvertenza
La SFC 78 fornisce i valori temporali registrati per ultimi degli OB desiderati indipendentemente dal
fatto che siano caricati o meno. I dati della SFC 78 non vengono resettati in caso di cancellazione o di
sovraccarico ma solamente con un nuovo avviamento (avviamento a caldo).

Parametri

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


OB NR INPUT INT E, A, M, D, L OB di cui si devono richiedere i tempi
elaborati rilevati per ultimi. I numeri
OB validi sono quelli degli OB di
allarme e di errori di sincronismo
generati dalla rispettiva CPU, ad
eccezione di OB 121 o OB 122.
L'elaborazione degli errori di
sincronismo rientra nel tempo di
elaborazione del rispettivo OB che ha
causato l’errore. L’indicazione degli
OB 121 e 122 o degli OB non generati
nella CPU produce un messaggio di
errore.
Se l‘OB=0 vengono trasmessi i dati
dell‘OB contestualmente al quale è
stata richiamata l‘SFC. Al richiamo
dell‘SFC 78 negli OB 121 o 122
mediante OB_NR=0, vengono indicati
i tempi dell’OB che ha causato
l’allarme inclusi i tempi dell’OB 12x.
RET VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della
funzione si verifica un errore, il valore
di risposta contiene un codice di
errore.
In caso contrario RET_VAL contiene il
numero dell‘OB, per il quale tali dati
sono stati richiamati.
PRIO OUTPUT INT E, A, M, D, L Il parametro PRIO fornisce la classe di
priorità dell'OB interrogato.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 257
SFC per la diagnostica
13.5 Rilevamento del tempo di esecuzione del programma OB con l'SFC 78 "OB_RT"

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


LAST RT OUTPUT DINT E, A, M, D, L Tempo di esecuzione dell'ultima
elaborazione relativa all'OB indicato
espresso in microsecondi.
Se l’OB del quale si intende rilevare i
tempi di esecuzione è in corso di
elaborazione, tenere presente che :
Al primo richiamo della SFC 78
durante l’elaborazione in corso
dell’OB desiderato, il tempo di
esecuzione dell’ultima richiesta di
OB completata è specificato in
LAST_RT.
Ad ogni successivo richiamo della
SFC 78 durante l’elaborazione in
corso dell’OB desiderato, in LAST_RT
viene specificato:
• DW#16#FFFF FFFF se
nell’OB desiderato ha già avuto
luogo un richiamo della SFC 78
con OB NR=0.
• Il tempo di esecuzione dell’ultima
richiesta di OB completata se
nell’OB desiderato non ha avuto
luogo alcun richiamo della SFC 78
con OB NR=0.
Avvertenza: i tempi di interruzione
dovuti a OB di livello di priorità
superiore non sono indicati in
LAST_RT. La performance del
sistema operativo relativa agli
OB,(p.es. la creazione e
l'approntamento dell'informazione di
start dell'OB, l'aggiornamento
dell'immagine di processo e di quella
di porcesso parziale) è indicata nel
parametro LAST_RT

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


258 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la diagnostica
13.5 Rilevamento del tempo di esecuzione del programma OB con l'SFC 78 "OB_RT"

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


LAST_ET OUTPUT DINTGlossDIN E, A, M, D, L Tempo trascorso dall’ultima richiesta
T di OB e la fine dell’elaborazione
dell’OB indicato in microsecondi, e
precisamente l’ultima elaborazione
completata dell’OB indicato.
Se OB di cui si vuole rilevare il tempo
di esecuzione è in fase di
elaborazione, vale quanto segue:
Al primo richiamo della SFC 78
durante l’elaborazione in corso
dell’OB desiderato, il tempo trascorso
tra l’ultima richiesta di
OB completamente elaborata e la fine
dell’elaborazione dell’OB indicato è
specificato in LAST_ET.
Ad ogni successivo richiamo della
SFC 78 durante l’elaborazione in
corso dell’OB desiderato, in LAST_ET
viene specificato:
• DW#16#FFFF FFFF se
nell’OB desiderato ha già avuto
luogo un richiamo della SFC 78
con OB NR=0.
• Il tempo trascorso tra l’ultima
richiesta di OB completamente
elaborata e la fine
dell’elaborazione
dell’OB desiderato, se in
quest’ultimo non ha avuto luogo
alcun richiamo della SFC 78 con
OB NR=0.
Avvertenza: i tempi di interruzione
dovuti a OB di livello di priorità
superiore sono indicati in LAST_ET.
CUR_T OUTPUT DINT E, A, M, D, L Tempo della richiesta OB per
l’OB indicato e attualmente elaborato,
come tempo relativo espresso in
microsecondi. Se l'OB indicato non
viene attualmente elaborato, il
parametro CUR_T assume il valore 0.
Avvertenza: il tempo di sistema è un
contatore che conta da 0 a 2 147 483
647 microsecondi. In caso di overflow
il contatore riparte nuovamente con 0.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 259
SFC per la diagnostica
13.5 Rilevamento del tempo di esecuzione del programma OB con l'SFC 78 "OB_RT"

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


CUR_RT OUTPUT DINT E, A, M, D, L Tempo di esecuzione finora trascorso,
espresso in microsecondi e relativo
all’elaborazione attuale
dell’OB indicato. CUR_RT è uguale a
0 se l‘OB non viene elaborato o non è
ancora stato elaborato. Ad
elaborazione conclusa, il tempo di
esecuzione viene acquisito da
LAST_RT e CUR_RT viene impostato
su 0.
Avvertenza: i tempi di interruzione
dovuti a OB di livello di priorità
superiore non sono indicati in
CUR_RT. La performance del sistema
operativo relativa agli OB, realizzata
fino al momento del richiamo dell'
SFC 78, è indicata nel parametro
CUR_RT.
CUR_ET OUTPUT DINT E, A, M, D, L Tempo trascorso in microsecondi dal
momento della richiesta
dell'OB indicato e attualmente
elaborato. CUR_ET è uguale a 0, se
l'OB indicato non viene attualmente
elaborato. Ad elaborazione conclusa, il
tempo di esecuzione viene acquisito
da LAST_ET e CUR_ET viene
impostato su 0.
Avvertenza: i tempi di interruzione
dovuti a OB di livello di priorità
superiore sono indicati in CUR_ET.
NEXT_ET OUTPUT DINT E, A, M, D, L Se sono previste ulteriori elaborazioni
dell’OB indicato prima che sia stata
completata la richiesta corrente, in
NEXT-ET viene indicato in
microsecondi il tempo compreso tra il
momento corrente ed il momento della
successiva richiesta. NEXT_ET è
uguale a 0, se non esiste, per
l'OB interessato nessun altro evento di
avvio oltre a quello in attesa di
elaborazione o attualmente elaborato.
WinLC RTX e le CPU S7-400 non
utilizzano questo parametro. In questi
componenti, NEXT_ET ha valore
DW#16#FFFFFFFF.
Avvertenza: i tempi di interruzione
dovuti a OB di livello di priorità
superiore sono indicati in NEXT_ET.

I tempi comprendono anche i tempi di esecuzione delle elaborazioni degli allarmi per gli errori di
sincronismo (OB 121, OB 122) eventualmente annidate.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


260 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la diagnostica
13.5 Rilevamento del tempo di esecuzione del programma OB con l'SFC 78 "OB_RT"

Avvertenza
Se in OB_NR si specifica un numero di OB presente nella configurazione della CPU, ma il cui
OB corrispondente non è ancora stato richiamato dal sistema operativo o non ancora caricato nella
CPU, il numero di OB indicato è specificato in RET_VAL, la priorità progettata (se necessario di
default) dell’OB indicato è specificata in PRIO
I parametri runtime (CUR_RT, CUR_ET, LAST_RT, LAST_ET, NEXT_ET) restituiscono il valore
iniziale DW#16#FFFF FFFF.
Nei seguenti modi di avvio o nella commutazione del modo di funzionamento, i parametri runtime
vengono impostati sul rispettivo valore iniziale:
• CPU standard: nuovo avviamento, avviamento a freddo, riavviamento
• H-CPU: nuovo avviamento, avviamento a freddo, commutazione dal funzionamento RUN
singolo a quello RUN ridondato, commutazione dal funzionamento RUN ridondato a quello RUN
singolo.

Informazioni sugli errori

Classe di Spiegazione
evento
Codice di
errore
Da 1 a 102 Numero dell'OB a cui vengono trasmesse delle informazioni.
W#16#8080 Il parametro OB NR contiene un valore non ammesso.
W#16#8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 261
SFC per la diagnostica
13.6 Determinazione dello stato attuale del collegamento con la SFC 87 "C_DIAG"

13.6 Determinazione dello stato attuale del collegamento con la SFC 87


"C_DIAG"

Descrizione
Con la SFC 87 "C_DIAG" è possibile determinare lo stato attuale di tutti i collegamenti S7 e di tutti i
collegamenti S7 ad elevata disponibilità (o dei loro collegamenti parziali).
Con una corretta analisi di questi dati di collegamento, è possibile riconoscere il guasto di
collegamenti S7 e di collegamenti S7 ad elevata disponibilità, segnalandoli eventualmente a un
sistema di servizio e supervisione. I collegamenti non controllati possono essere quelli che
connettono un sistema di automazione con un altro oppure un sistema di automazione e un sistema
di servizio e supervisione.

Avvertenza
La commutazione dello stato di funzionamento RUN -> STOP -> RUN di una CPU non si ripercuote sullo stato
dei collegamenti progettati. Eccezione: quando una stazione H commuta dallo stato di sistema ridondato allo
stato di sistema Stop, nei collegamenti ad alta disponibilità vengono interrotti i collegamenti parziali che
terminano sulla CPU di riserva. In caso di caduta della tensione di rete, invece, tutti i collegamenti progettati
vengono nuovamente creati con conseguente modifica dello stato del collegamento. Al primo richiamo
dell'SFC 87 le informazioni sui collegamenti variano, durante o dopo l'avviamento, a seconda che l'ultimo stato
della CPU fosse STOP oppure RETE OFF.

Procedimento
La SFC 87 "C_DIAG" è una SFC che lavora in maniera asincrona, vale a dire che l'elaborazione si
può estendere a più richiami di SFC.
L'utente avvia il job richiamando la SFC 87 con REQ=1.
Quando è possibile avviare il job immediatamente, la SFC del parametro di uscita BUSY rimanda il
valore 0. Se BUSY ha valore 1, il job è ancora in corso.

Quando si richiama la SFC 87?


Per evitare il disturbo di collegamenti S7 e di collegamenti S7 ad elevata disponibilità, richiamare la
SFC 87 in un OB di allarme di clock, che venga avviato dal sistema operativo, ad es., ogni 10
secondi.
Poiché normalmente è raro che lo stato di un collegamento cambi, con questo richiamo ciclico è
preferibile copiare i dati del collegamento nel programma utente soltanto quando sono cambiati
rispetto all'ultimo richiamo (richiamo con MODE=B#16#02, vedere oltre).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


262 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la diagnostica
13.6 Determinazione dello stato attuale del collegamento con la SFC 87 "C_DIAG"

Come si richiama la SFC 87?


La SFC 87 "C_DIAG" ha 4 tipi di funzionamento, che vengono illustrati nella tabella seguente.

MODE La SFC copia i dati del collegamento nel La SFC trasmette l'informazione di
(B#16#...) programma utente conferma al sistema operativo

00 No Sì
01 Sì Sì
02 • Sì, se i dati del collegamento sono SÌ
cambiati
• No, se i dati del non collegamento sono
cambiati
03 Sì No

Con la trasmissione dell'informazione di conferma al sistema operativo, vengono confermate le


modifiche dello stato dei dati del collegamento dall'ultimo richiamo della SFC 87 (con
MODE=B#16#00, 01 o 02).

Avvertenza
Utilizzando la SFC 87 in un OB di allarme di clock nel tipo di funzionamento "Copia forzata"
(MODE=B#16#02), occorre fare in modo che dopo l'avviamento a freddo della CPU nell'area di
destinazione non vi siano valori iniziali. Ciò è possibile richiamando una volta nell'OB 102 la SFC 87
con il tipo di funzionamento "Copia non forzata con conferma " (MODE=B#16#01).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 263
SFC per la diagnostica
13.6 Determinazione dello stato attuale del collegamento con la SFC 87 "C_DIAG"

Parametro Dichiarazione Tipo Area di memoria Descrizione


di dati
REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando request to activate
REQ=1: avvio del job, se non ancora
avvenuto
MODE INPUT BYTE E, A, M, D, L, cost. Identificazione job
Valori possibili:
• B#16#00: la SFC non copia i dati di
collegamento ma trasmette al sistema
operativo una semplice informazione di
conferma
• B#16#01: la SFC copia i dati di
collegamento a prescindere dal loro
stato di modifica nel programma utente
e trasmette al sistema operativo
un'informazione di conferma
• B#16#02: se i dati di collegamento
sono cambiati, la SFC li copia nel
programma utente. Se non sono
cambiati, non vengono copiati. La
SFC trasmette in entrambi i casi
un'informazione di conferma al sistema
operativo
• B#16#03: la SFC copia i dati di
collegamento a prescindere dal loro
stato di modifica nel programma utente
ma non trasmette al sistema operativo
un'informazione di conferma
RET_VAL OUTPUT INT E, A, M, D, L Valore di ritorno (codice di errore o stato del
job)
BUSY OUTPUT BOOL E, A, M, D, L BUSY =1: il job non è concluso
N_CON OUTPUT INT E, A, M, D, L Indice dell'ultima struttura in CON_ARR,
per cui .DIS_PCON o .DIS_CON hanno il
valore TRUE. Nel programma utente si
devono controllare solo i primi elementi
N_CON di CON_ARR
Avvertenza: la prima struttura nel campo
CON_ARR ha l'indice 1

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


264 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la diagnostica
13.6 Determinazione dello stato attuale del collegamento con la SFC 87 "C_DIAG"

Parametro Dichiarazione Tipo Area di memoria Descrizione


di dati
CON_ARR OUTPUT ANY E, A, M, D, L Area di destinazione per i dati di
collegamento letti
È ammesso un solo tipo di dati BYTE.
A ogni collegamento è assegnata una
struttura.
Selezionare un'area di destinazione
sufficientemente ampia: essa deve
contenere tutte le strutture, anche qualora
venisse raggiunto il massimo numero di
collegamenti supportato dalla CPU.
Osservare questa’aspetto soprattutto in
caso di sostituzione di una CPU dove la
nuova contiene un maggior numero di
risorse di collegamento rispetto a quella
sostituita.

Struttura dell'area di destinazione CON_ARR


L'area di destinazione per i dati di collegamento letti è un array di strutture. A ogni collegamento è
assegnata una struttura.
L'array non deve essere occupato dall'inizio con registrazioni valide, e tra due registrazioni valide
possono trovarsi anche registrazioni non valide.
I collegamenti sono disposti in base ai riferimenti.

Avvertenza
Quando i dati del collegamento vengono copiati dal sistema operativo all'area di destinazione
indicata dall'utente, la coerenza dei dati del collegamento è garantita.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 265
SFC per la diagnostica
13.6 Determinazione dello stato attuale del collegamento con la SFC 87 "C_DIAG"

Configurazione di una struttura

Parametro Tipo di Descrizione


dati
CON_ID WORD Riferimento assegnato dall'utente in NETPRO per questo
collegamento
W#16#FFFF: identificazione non valida, vale a dire che il
collegamento non è progettato. Se sono impostati anche
CON_ARR[i].DIS_PCON o CON_ARR[i].DIS_CON (vedere oltre),
il collegamento è stato riprogettato o cancellato dall'ultimo
richiamo della SFC 87.
STAT_CON BYTE Stato attuale del collegamento S7 o del collegamento S7 ad
elevata disponibilità
Valori possibili:
• B#16#00: collegamento S7 non creato
• B#16#10: collegamento S7 ad elevata disponibilità non creato
• B#16#01: collegamento S7 in fase di creazione
• B#16#11: collegamento S7 ad elevata disponibilità in fase di
creazione
• B#16#02: collegamento S7 creato
• B#16#12: collegamento S7 ad elevata disponibilità creato ma
non ad elevata disponibilità
• B#16#13: collegamento S7 ad elevata disponibilità creato e
ad elevata disponibilità
PROD_CON BYTE N. di collegamento parziale del collegamento produttivo
Valori possibili: 0, 1, 2, 3
STBY_CON BYTE N. di collegamento parziale del collegamento standby (B#16#FF:
nessun collegamento standby)
Valori possibili: 0, 1, 2, 3
Avvertenza: solo un collegamento S7 ad elevata disponibilità può
avere un collegamento standby
DIS_PCON BOOL Le transizioni W#16#12 -> W#16#13 e W#16#13 -> W#16#12 di
CON_ARR[i].STAT_CON dall’ultimo richiamo di SFC impostano
CON_ARR[i].DIS_PCON a 1. Tutte le altre modifiche di stato del
collegamento i lasciano CON_ARR[i].DIS_PCON invariato.
Avvertenza:
• Con MODE=B#16#01 e 02, il bit corrispondente a DIS_PCON
nel sistema operativo viene resettato in seguito alla copiatura
dei dati di collegamento nella zona del traguardo.
• Con MODE=B#16#03, il bit corrispondente a DIS_PCON nel
sistema operativo rimane invariato.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


266 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la diagnostica
13.6 Determinazione dello stato attuale del collegamento con la SFC 87 "C_DIAG"

Parametro Tipo di Descrizione


dati
DIS_CON BOOL Qualsiasi modifica di CON_ARR[i].STAT_CON dall’ultimo
richiamo di SFC ad eccezione delle transizioni W#16#12 ->
W#16#13 e W#16#13 -> W#16#12 imposta
CON_ARR[i].DIS_CON su 1.
Avvertenza:
• Con MODE=B#16#01 e 02, il bit corrispondente a DIS_CON
nel sistema operativo viene resettato in seguito alla copiatura
dei dati di collegamento nella zona del traguardo.
• Con MODE=B#16#03, il bit corrispondente a DIS_CON nel
sistema operativo rimane invariato..
RES0 BYTE Riservato (B#16#00)
RES1 BYTE Riservato (B#16#00)

Informazioni sugli errori

Codice di Spiegazione
errore
(W#16#...)
0000 • MODE=B#16#00, 01 o 02: nessuna modifica dello stato del collegamento (elemento
della struttura STAT_CON) dall'ultimo richiamo. L'ordine è stato eseguito senza errori
• MODE=B#16#03: copia riuscita senza errori
0001 • MODE=B#16#00, 01 o 02: modifica dello stato del collegamento (elemento della
struttura STAT_CON) con almeno un collegamento dall'ultimo richiamo. Il job è stato
eseguito senza errori
• MODE=B#16#03: RET_VAL W#16#0001 impossibile:
7000 Primo richiamo con REQ=0. Il job definito con MODE non viene elaborato. BUSY ha il valore
0
7001 Primo richiamo con REQ=1. Il job definito con MODE è stato avviato. BUSY ha il valore 1.
7002 Richiamo intermedio (non rilevante per REQ). Il job attivato è ancora in corso. BUSY ha il
valore 1.
8080 Il parametro MODE ha un valore non valido
8081 Il parametro CON_ARR ha un tipo di dati non valido
8082 Il parametro CON_ARR ha una lunghezza insufficiente. La SFC non copia i dati nell'area di
destinazione
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 267
SFC per la diagnostica
13.7 Definizione della topologia di bus in un sistema master DP con la SFC 103 "DP_TOPOL"

13.7 Definizione della topologia di bus in un sistema master DP con la


SFC 103 "DP_TOPOL"

Descrizione
La SFC 103 "DP_TOPOL" permette di determinare la topologia di un sistema master DP
selezionato. Richiamando la SFC 103 vengono indirizzati tutti i repeater di diagnostica del sistema
master DP.

Avvertenza
La topologia può essere definita soltanto per un sistema master DP per volta.

La definizione della topologia è indispensabile per visualizzare i dettagli della localizzazione in caso
di guasti delle linee. Ripetere la definizione della topologia con la SFC 103 dopo la configurazione e
in seguito a ogni modifica della configurazione fisica di un sistema master DP.
Per modifica della configurazione fisica si intende:
• Modifica della lunghezza dei conduttori
• Inserimento o estrazione di nodi o componenti con funzioni di repeater
• Modifica di indirizzi dei nodi
Se un repeater di diagnostica segnala un errore, la SFC scrive le uscite DPR e DPRI per la durata di
un ciclo SFC. Se viene segnalato un errore da più repeater di diagnostica del sistema master DP
selezionato, la SFC scrive in DPR e DPRI le informazioni sul primo repeater di diagnostica che ha
segnalato l’errore. L’informazione di diagnostica completa può essere letta con la SFC 13
"DPNRM_DG" o con STEP7. Se nessun repeater di diagnostica segnala un errore, le uscite DPR e
DPRI hanno il valore ZERO.
Se in seguito al verificarsi di un errore si intende avviare nuovamente la definizione della topologia, è
necessario innanzitutto eseguire il resettaggio dell'SFC 103. Il resettaggio avviene richiamanfo
l'SFC 103 mediante REQ=0 e R=1.

Procedimento
La SFC 103 "DP_TOPOL" è una SFC a funzionamento asincrono, vale a dire che l’elaborazione
comprende più richiami di SFC. Per avviare la definizione della topologia di bus, richiamare SFC 103
con REQ=1. Per interrompere il processo richiamre la SFC 103 con R=1.
Per mezzo dei parametri di uscita RET_VAL e BUSY viene visualizzato lo stato del job, vedi anche
Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono.

Avvertenza
La definizione della topologia può richiedere diversi minuti.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


268 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la diagnostica
13.7 Definizione della topologia di bus in un sistema master DP con la SFC 103 "DP_TOPOL"

Identificazione di un job
Il parametro di ingresso DP_ID definisce un job in modo univoco.
Se l’utente ha richiamato la SFC 103 "DP_TOPOL" e la richiama nuovamente prima di terminare la
definizione della topologia, la SFC si comporta in un determinato modo se è stato richiamato lo
stesso job: se il parametro DP_ID corrisponde a un job non ancora concluso, il richiamo della
SFC viene interpretato come richiamo successivo, e in RET_VAL viene registrato il valore
W#16#7002. Se invece si tratta di un altro job, la CPU lo respinge.

Parametri Dichiara Tipo di Area di memoria Descrizione


zione dati
REQ INPUT BOOL E, A, M, D, L, Cost.. REQ=1: avvio della definizione della topologia
R INPUT BOOL E, A, M, D, L, Cost. R=1: interruzione della definizione della
topologia
DP_ID INPUT INT E, A, M, D, L, Cost. ID del sistema master DP la cui topologia deve
essere definita
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si
verifica un errore, il valore di risposta contiene un
codice di errore.
BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: la definizione della topologia non è
ancora terminata
DPR OUTPUT BYTE E, A, M, D, L Indirizzo PROFIBUS del repeater di diagnostica
che segnala un errore
DPRI OUTPUT BYTE E, A, M, D, L Segmento di misura del repeater di diagnostica
che segnala un errore:
• Bit 0 = 1: guasto temporaneo del segmento
DP2
• Bit 1 = 1: guasto temporaneo del segmento
DP2
• Bit 4 = 1: guasto temporaneo del segmento
DP3
• Bit 5 = 1: guasto permanente del segmento
DP3

Guasti permanenti: nella rete sono stati rilevati guasti permanenti che impediscono di definire correttamente
la topologia. I dati esatti sulle cause dei guasti si possono leggere come informazioni di diagnostica con la
SFC 13 "DPNRM_DG" o con STEP 7.
Guasti temporanei: nella rete sono stati rilevati guasti temporanei che impediscono di definire correttamente
la topologia. Probabilmente si tratta di un contatto difettoso o di diversi errori indefiniti. Non è possibile rilevare
la causa precisa del guasto.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 269
SFC per la diagnostica
13.7 Definizione della topologia di bus in un sistema master DP con la SFC 103 "DP_TOPOL"

Informazioni di errore
Per quanto riguarda le informazioni di errore "vere e proprie" (codici di errore W#16#8xyz) della
tabella che segue occorre fare una distinzione:
• Errori temporanei (codici di errore da W#16#80A2 a 80A4, 80C3, 80C5):
Questo tipo di errore può essere eliminato senza l'intervento dell'utente, vale a dire che è
sufficiente richiamare nuovamente la SFC (eventualmente più volte).
Esempio di errore temporaneo: le risorse richieste sono momentaneamente occupate
(W#16#80C3).
• Errori permanenti (codici di errore W#16#8082, 80B0, 80B2):
Questo tipo di errore non può essere eliminato senza l'intervento dell'utente. È opportuno
richiamare nuovamente la SFC soltanto dopo aver eliminato l'errore. Esempio di errore
permanente: il master DP / la CPU non supportano questo servizio (W#16#80B0).

Codice di Spiegazione
errore
(W#16#...)
0000 Il job è stato eseguito senza errori.
7000 Primo richiamo con REQ=0. Non viene avviata alcuna definizione della topologia di bus.
BUSY ha il valore 0.
7001 Primo richiamo con REQ=1. Il job è stato impostato per definire la topologia. BUSY ha il
valore 1.
7002 Richiamo intermedio (REQ irrilevante): La definizione della topologia non è ancora terminata.
BUSY ha il valore 1.
7010 L'utente ha cercato di interrompere la definizione della topologia ma non è in corso nessun
job con il DP_ID indicato. BUSY ha il valore 0.
7011 Primo richiamo con R=1. L'interruzione della definizione della topologia è stata avviata.
BUSY ha il valore 1.
7012 Richiamo intermedio: l'interruzione della definizione della topologia non è ancora conclusa.
BUSY ha il valore 1.
7013 Ultimo richiamo: la definizione della topologia è stata interrotta. BUSY ha il valore 0.
8082 Non è stato progettato un sistema master DP con il DP_ID indicato.
80A2 Errore di definizione della topologia; informazioni più precise sono riportate nei parametri di
uscita DPR e DPRI
80A3 Errore di definizione della topologia; il tempo di controllo è scaduto (timeout)
80A4 Comunicazione disturbata nel bus di comunicazione
80B0 Il master DP / la CPU non supportano questo servizio.
80B2 Errore di definizione della topologia: nel sistema master DP selezionato non è stato
riconosciuto un repeater di diagnostica.
80C3 Le risorse richieste sono momentaneamente occupate. Cause possibili: l'utente ha avviato
una seconda definizione della topologia (è consentita una sola definizione della topologia per
volta) o nella CPU H è attualmente in corso un accoppiamento e aggiornamento.
80C5 Il sistema master DP non è attualmente disponibile.
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


270 Manuale di riferimento, 04/2017, A5E41911986-AA
14 SFC per l'aggiornamento dell'immagine di
processo e l'elaborazione del campo di bit

14.1 Aggiornamento dell'immagine di processo degli ingressi con la


SFC 26 "UPDAT_PI"

Descrizione
Con la SFC 26 "UPDAT_PI" (update process image) è possibile aggiornare l'immagine di processo
dell'OB1 (= immagine di processo parziale 0) degli ingressi o un‘immagine di processo parziale degli
ingressi definita con STEP 7.
Nel caso che come procedura di segnalazione per l'aggiornamento dell'immagine di processo da
parte del sistema sia stata progettata la segnalazione ripetuta di tutti gli errori di accesso alla
periferia, con la SFC 26 viene sempre eseguito l'aggiornamento dell'immagine di processo parziale
selezionata.
Altrimenti questo aggiornamento con la SFC 26 viene eseguito solo se l'immagine di processo
parziale selezionata non viene aggiornata da parte del sistema, vale a dire
• se questa immagine di processo parziale non è stata assegnata ad alcun OB di allarme,
oppure
• se è stata selezionata l'immagine di processo parziale 0 e (per mezzo della progettazione) è
stato disinserito l'aggiornamento dell'immagine di processo dell'OB1.

Avvertenza
Ogni indirizzo logico che è stato assegnato ad un'immagine di processo parziale degli ingressi non fa
più parte dell'immagine di processo dell'OB1 degli ingressi.
Un’immagine di processo parziale aggiornata con la SFC 26 non può essere aggiornata
contemporaneamente con la SFC 126 "SYNC_PI".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 271
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
14.1 Aggiornamento dell'immagine di processo degli ingressi con la SFC 26 "UPDAT_PI"

L'aggiornamento da parte del sistema dell'immagine di processo dell'OB1 degli ingressi e delle
immagini di processo parziali degli ingressi che sono stati assegnate ad un OB di allarme ha luogo
indipendentemente dai richiami della SFC 26.

Parametri Dichiaraz- Tipo di dati Area di Descrizione


ione memoria
PART INPUT BYTE E, A, M, D, L, Numero dell'immagine di processo parziale da
cost. aggiornare degli ingressi. Max. campo di valori
(dipendente dalla CPU): da 0 a 15 ( 0 significa
immagine di processo dell'OB1, n con 1 n 
15 significa immagine di processo parziale n)
RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori
FLADDR OUTPUT WORD E, A, M, D, L Indirizzo del primo byte causante errori, se si è
verificato un errore di accesso.

Informazioni di errore

Codice di errore Spiegazione


(W#16#...)
0000 Nessun errore.
8090 Valore non ammesso per il parametro PART.
8091 L'immagine di processo parziale indicata non è stata ancora definita oppure non si trova
nell'area dell'immagine di processo ammessa della CPU.
8092 L'immagine di processo parziale viene aggiornata dal sistema con un OB e non è stata allo
scopo progettata la segnalazione ripetuta di tutti gli errori di accesso alla periferia. Non è
stato ancora eseguito un aggiornamento con la SFC 26 "UPDAT PI".
80A0 Durante l'accesso alla periferia è stato riconosciuto un errore di accesso.
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Avvertenza
Se si utilizza l'SFC 26 "UPDAT_PI" per immagini di processo parziale degli slave normalizzati DP per
cui sono state definite aree coerenti superiori a 32 byte, anche i codici di errore dell'SFC 14
"DPRD_DAT".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


272 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
14.2 Aggiornamento delle uscite delle unità di periferia con la SFC 27 "UPDAT_PO"

14.2 Aggiornamento delle uscite delle unità di periferia con la


SFC 27 "UPDAT_PO"

Descrizione
Con la SFC 27 "UPDAT_PO" (update process outputs) vengono trasmessi alle unità di uscita gli stati
di segnale dell'immagine di processo dell'OB1 (=immagine di processo parziale 0) delle uscite
oppure un immagine di processo parziale delle uscite definita con STEP 7.
Se per l'immagine di processo parziale scelta è stata definita un'area di coerenza, i dati
corrispondenti verranno trasmessi in modo coerente all'unità periferica opportuna.

Avvertenza
Ogni indirizzo logico che è stato assegnato con STEP 7 ad un'immagine di processo parziale delle
uscite non fa più parte dell'intera immagine di processo dell'OB1 delle uscite.
Le uscite aggiornate con la SFC 27 non possono essere aggiornate contemporaneamente con la
SFC 127 "SYNC_PO".

La trasmissione alle unità di uscita, da parte del sistema, dell'immagine di processo dell'OB1 delle
uscite e delle immagini di processo parziali delle uscite che sono state assegnate ad un OB di
allarme ha luogo indipendentemente dai richiami della SFC 27.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
PART INPUT BYTE E, A, M, D, L, cost. Numero dell'immagine di processo parziale
da trasmettere delle uscite. Max. campo di
valori (dipendente dalla CPU): da 0 a 15 ( 0
significa immagine di processo dell'OB1, n
con 1 n 15 significa immagine di
processo parziale n)
RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori
FLADDR OUTPUT WORD E, A, M, D, L Indirizzo del primo byte causante errori, se si
è verificato un errore di accesso.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 273
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
14.2 Aggiornamento delle uscite delle unità di periferia con la SFC 27 "UPDAT_PO"

Informazioni di errore

Codice di Spiegazione
errore
(W#16#...)
0000 Nessun errore.
8090 Valore non ammesso per il parametro PART
8091 L'immagine di processo parziale indicata non è stata ancora definita oppure non si trova
nell'area dell'immagine di processo ammessa della CPU
80A0 Durante l'accesso alla periferia è stato riconosciuto un errore di accesso.
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Avvertenza
Se si utilizza SFC 27 "UPDAT_PO" per immagini di processo parziale degli slave normalizzati DP
per cui sono state definite aree coerenti superiori a 32 byte, anche i codici di errore dell'SFC 15
"DPWR_DAT".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


274 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
14.3 Aggiornamento con sincronizzazione di clock dell'immagine di processo parziale degli ingressi con l'SFC 126 "SYNC_

14.3 Aggiornamento con sincronizzazione di clock dell'immagine di


processo parziale degli ingressi con l'SFC 126 "SYNC_PI"

Descrizione
Con l'SFC 126 "SYNC_PI" è possibile aggiornare l'immagine di processo parziale degli ingressi con
sincronizzazione di clock. L'SFC consente quindi a un programma utente collegato a un clock DP o a
un intervallo di trasmissione PN di aggiornare, in modo coerente e in sincronismo di clock, i dati
acquisiti in ingresso all'interno di un'immagine di processo parziale degli ingressi.
L'SFC 126 può essere interrotta ed è richiamabile unicamente negli OB 61, 62, 63 e 64.

Avvertenza
È consentito richiamare l'SFC 126 "SYNC_PI" negli OB 61 - 64 soltanto se la corrispondente
immagine di processo parziale è stata assegnata al rispettivo OB in Configurazione HW.
Un'immagine di processo parziale aggiornata con l'SFC 126 non può essere aggiornata
contemporaneamente con l'SFC 26 "UPDAT_PI".

Parametri

Parametri Dichiaraz- Tipo di dati Campo di valori Preconfiguraz- Descrizione


ione ione
PART INPUT BYTE da 1 a 30 Numero dell'immagine
di processo parziale
degli ingressi che
dev'essere aggiornata
con sincronizzazione di
clock.
RET_VAL OUTPUT INT Informazioni sugli errori
FLADDR OUTPUT WORD Indirizzo del primo byte
che causa l'errore, nel
caso si sia verificato un
errore di accesso.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 275
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
14.4 Aggiornamento con sincronizzazione di clock dell'immagine di processo parziale delle uscite con l'SFC 127
"SYNC_PO"

Informazioni sugli errori

Classe di Spiegazione
evento
Codice di
errore
W#16#0001 Messaggio di avviso sulla coerenza. L'aggiornamento dell'immagine di processo parziale è
stato suddiviso in due cicli DP o PN. Tuttavia i dati interni a uno slave o a un IO Device sono
stati trasmessi coerentemente.
W#16#8090 Valore non ammesso per il parametro PART o l'aggiornamento dell'immagine di processo
parziale degli ingressi non è consentito in questo OB. L'immagine di processo parziale degli
ingressi non è stata aggiornata.
W#16#8091 L'immagine di processo parziale indicata non è stata ancora definita oppure non si trova
nell'area dell'immagine di processo ammessa della CPU. L'immagine di processo parziale
degli ingressi non è stata aggiornata.
W#16#80A0 Durante l'aggiornamento è stato rilevato un errore di accesso. Gli ingressi interessati sono
stati impostati a "0".
W#16#80A1 Il momento dell'aggiornamento è posteriore all'intervallo di accesso consentito. L'immagine di
processo parziale degli ingressi non è stata aggiornata.
Il ciclo DP o PN è troppo breve per garantire un tempo sufficiente per l'elaborazione dell'SFC.
Pertanto è necessario incrementare i tempi TDP (noto anche come T_DC), Ti e To in STEP 7.
W#16#80A2 Errore di accesso con avviso sulla coerenza
Durante l'aggiornamento dell'immagine di processo parziale degli ingressi è stato rilevato un
errore di accesso con simultaneo avviso di constatata incoerenza.
• I dati degli ingressi errati non sono stati letti dalla periferia. Nell'immagine di processo
parziale questi ingressi vengono impostati a zero.
L'aggiornamento dei dati degli ingressi non coinvolti dall'errore di accesso è stato suddiviso in
due cicli DP o PN.
W#16#80C1 Il momento dell'aggiornamento è anteriore all'intervallo di accesso. L'immagine di processo
parziale degli ingressi non è stata aggiornata.
W#16#8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL

Avvertenza
Se si impiega la SFC 126 "SYNC_PI" per parti dell'immagine di processo di slave DP normalizzati
per i quali sono state definite aree di coerenza maggiori di 32 byte, sono possibili anche i codici di
errore della SFC 14 "DPRD_DAT".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


276 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
14.4 Aggiornamento con sincronizzazione di clock dell'immagine di processo parziale delle uscite con l'SFC 127 "SYNC_P

14.4 Aggiornamento con sincronizzazione di clock dell'immagine di


processo parziale delle uscite con l'SFC 127 "SYNC_PO"

Descrizione
Con l'SFC 127 "SYNC_PO" è possibile aggiornare l'immagine di processo parziale delle uscite con
sincronizzazione di clock. L'SFC consente quindi a un programma utente collegato a un clock DP o a
un intervallo di trasmissione PN di trasmettere all'unità di periferia, in modo coerente e in sincronismo
di clock, i dati di uscita calcolati di un'immagine di processo parziale delle uscite.
L'SFC 127 può essere interrotta ed è richiamabile solo negli OB 61, 62, 63 e 64.

Avvertenza
È consentito richiamare l'SFC 127 "SYNC_PO" negli OB 61 - 64 soltanto se la corrispondente
immagine di processo parziale è stata assegnata al rispettivo OB in Configurazione HW.
Un'immagine di processo parziale aggiornata con l'SFC 127 non può essere aggiornata
contemporaneamente con l'SFC 27 "UPDAT_PO".

Parametri

Parametri Dichiaraz- Tipo di dati Campo di valori Preconfigurazion Descrizione


ione e
PART INPUT BYTE da 1 a 30 Numero dell'immagine
di processo parziale
delle uscite che
dev'essere aggiornata
con sincronizzazione di
clock.
RET_VAL OUTPUT INT Se durante
l'elaborazione della
funzione si verifica un
errore, il valore di
risposta contiene un
codice di errore.
FLADDR OUTPUT WORD Indirizzo del primo byte
che causa l'errore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 277
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
14.4 Aggiornamento con sincronizzazione di clock dell'immagine di processo parziale delle uscite con l'SFC 127
"SYNC_PO"

Informazioni sugli errori

Classe di Spiegazione
evento
Codice di
errore
W#16#0001 Messaggio di avviso sulla coerenza. L'aggiornamento dell'immagine di processo parziale è
stato suddiviso in due cicli DP o PN. Tuttavia i dati interni a uno slave o a un IO Device sono
stati trasmessi coerentemente.
W#16#8090 Valore non ammesso per il parametro PART o l'aggiornamento dell'immagine di processo
parziale delle uscite non è consentito in questo OB. Le uscite non sono state trasmesse
all'unità periferica. L'immagine di processo parziale delle uscite rimane inalterata.
W#16#8091 L'immagine di processo parziale indicata non è stata ancora definita oppure non si trova
nell'area dell'immagine di processo ammessa della CPU. Le uscite non sono state trasmesse
all'unità periferica. L'immagine di processo parziale delle uscite rimane inalterata.
W#16#80A0 Durante l'aggiornamento dell'immagine di processo parziale delle uscite è stato rilevato un
errore di accesso. Le uscite errate non sono state inoltrate alla periferia. Nell'immagine di
processo parziale queste uscite rimangono invariate.
W#16#80A1 Errore di accesso con avviso sulla coerenza
Durante l'aggiornamento dell'immagine di processo parziale delle uscite è stato rilevato un
errore di accesso con simultaneo avviso di constatata incoerenza.
• I dati delle uscite errate non sono stati inoltrati alla periferia. Nell'immagine di processo
parziale queste uscite rimangono invariate.
• L'aggiornamento dei dati delle uscite non coinvolte dall'errore di accesso è stato
suddiviso in due cicli DP o PN.
W#16#80A2 Il momento dell'aggiornamento è posteriore all'intervallo di accesso. Le uscite non sono state
trasmesse all'unità periferica. L'immagine di processo parziale delle uscite rimane inalterata.
W#16#80C1 Il momento dell'aggiornamento è anteriore all'intervallo di accesso. Le uscite non sono state
trasmesse all'unità periferica. L'immagine di processo parziale delle uscite rimane inalterata.
W#16#8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL

Avvertenza
Se si impiega la SFC 127 "SYNC_PO" per parti dell'immagine di processo di slave DP normalizzati
per i quali sono state definite aree di coerenza maggiori di 32 byte, sono possibili anche i codici di
errore della SFC 15 "DPWR_DAT".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


278 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
14.5 Impostazione del campo di bit nell'area periferia con la SFC 79 "SET"

14.5 Impostazione del campo di bit nell'area periferia con la SFC 79


"SET"

Descrizione
Un richiamo della SFC 79 "SET" (set range of outputs) ha l'effetto seguente:
• il campo di bit selezionato nell'area di periferia tramite i parametri N e SA viene impostato
• anche i bit corrispondenti nell'immagine di processo delle uscite vengono impostati
indipendentemente se si trovano in un'immagine di processo parziale delle uscite.
Il campo di bit deve essere situato nella parte dell'area di periferia a cui è attribuita un'immagine di
processo.
In caso per una parte del campo di bit selezionato non esista una periferia, la SFC 79 tenta altrimenti
di impostare l'intero campo e fornisce in RET_VAL la corrispondente informazione di errore.

Avvertenza
Durante l'esecuzione della SFC 79, byte interi vengono sempre scritti nell'area di periferia.

Se il campo di bit selezionato tramite i parametri N e SA non inizia o termina su un limite byte, un
richiamo della SFC 79 ha l'effetto seguente:
• I bit sul primo e sull'ultimo dei byte da trasferire all'area della periferia che non appartengono al
campo di bit selezionato, ricevono il valore dei bit corrispondenti nell'immagine di processo delle
uscite. Ciò può dare luogo ad es. all'avviamento involontario di motori o alla disattivazione di
sistemi di raffreddamento
• Per i bit che appartengono al campo di bit selezionato vale quanto già detto sopra.
Se si parametrizza N con "0", un richiamo della SFC 79 non ha alcun effetto.
Se non è impostato il relè master control, il richiamo della SFC 79 non ha alcun effetto.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
N INPUT INT E, A, M, D, L, cost. Numero dei bit da impostare
RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori
SA OUTPUT POINTER P Puntatore sul primo bit da impostare

Informazioni di errore
Come analizzare le informazioni di errore del parametro RET_VAL è spiegato nel capitolo Analisi
degli errori con il parametro di uscita RET_VAL. In questo capitolo vengono riportate anche le
informazioni di errore generali delle SFC. La SFC 79 non fornisce informazioni sugli errori specifiche
per il parametro RET_VAL.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 279
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
14.6 Resettaggio del campo di bit nell'area periferia con la SFC 80 "RSET"

14.6 Resettaggio del campo di bit nell'area periferia con la SFC 80


"RSET"

Descrizione
Un richiamo della SFC 80 "RSET" (reset range of outputs) ha l'effetto seguente:
• il campo di bit selezionato nell'area della periferia tramite i parametri N e SA viene resettato
• anche i bit corrispondenti nell'immagine di processo delle uscite vengono resettati
indipendentemente se si trovano in un'immagine di processo parziale delle uscite.
Il campo di bit deve essere situato nella parte dell'area di periferia a cui è attribuita un'immagine di
processo.
In caso per una parte del campo di bit selezionato non esista una periferia, la SFC 80 tenta altrimenti
di impostare l'intero campo e fornisce in RET_VAL la corrispondente informazione di errore.

Avvertenza
Con l'esecuzione della SFC 80, vengono sempre scritti interi byte nell'area della periferia.

Se il campo di bit selezionato tramite i parametri N e SA inizia o termina su un limite byte, un richiamo
della SFC 80 ha l'effetto seguente:
• I bit sul primo e sull'ultimo dei byte da trasferire all'area della periferia che non appartengono al
campo di bit selezionato, ricevono il valore dei bit corrispondenti nell'immagine di processo delle
uscite. Ciò può dare luogo ad es. all'avviamento involontario di motori o la disattivazione di
sistemi di raffreddamento.
• Per i bit che appartengono al campo di bit selezionato vale quanto già detto sopra.
Se si parametrizza N con "0", un richiamo della SFC 80 non ha alcun effetto.
Se il relè master control non è impostato, un richiamo della SFC 80 non ha alcun effetto.

Parametri Dichiaraz- Tipo Area di memoria Descrizione


ione
N INPUT INT E, A, M, D, L, cost. Numero dei bit da reimpostare
RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori
SA OUTPUT POINTER P Puntatore sul primo bit da reimpostare

Informazioni di errore
Come analizzare le informazioni di errore del parametro RET_VAL è spiegato nel capitolo Analisi
degli errori con il parametro di uscita RET_VAL. In questo capitolo vengono riportate anche le
informazioni di errore generali delle SFC. La SFC 80 non fornisce informazioni sugli errori specifiche
per il parametro RET_VAL.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


280 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
14.7 Realizzazione di un dispositivo di avanzamento a passi con l'SFB 32 "DRUM"

14.7 Realizzazione di un dispositivo di avanzamento a passi con


l'SFB 32 "DRUM"

Descrizione
L'SFB 32 "DRUM" realizza un dispositivo di avanzamento a passi con al massimo 16 passi. Il
numero del primo passo viene assegnato con il parametro DSP e il numero dell'ultimo passo con il
parametro LST_STEP.
In ogni passo vengono descritti tutti i 16 bit di uscita, da OUT0 a OUT15 e il parametro di uscita
OUT_WORD (in cui sono riuniti i bit di uscita). A un bit di uscita viene assegnato il bit relativo del
campo OUT_VAL oppure lo stesso bit d'uscita del passo precedente. Il valore assegnato dipende da
come vengono occupati i bit di maschera nel parametro S_MASK (vedere tabella seguente).

Avvertenza
La preimpostazione dei bit della maschera è 0. Per modificare l'impostazione attuale di uno o più bit
della maschera, procedere alla modifica nel DB di istanza.

L'SFB 32 "DRUM" si inserisce nel passo successivo se all'ingresso JOG di fronte al richiamo
dell'SFB precedente è emerso un fronte di salita. Se l'SFB si trova già nell'ultimo passo, le variabili Q
e EOD vengono poste in JOG con fronte di salita, DDC riceve valore 0 e l'SFB rimane nell'ultimo
passo fino a che l'ingresso RESET non viene occupato da 1.
Inoltre è possibile anche un avanzamento in funzione del tempo nel successivo passo. Per fare ciò è
necessario che il parametro DRUM_EN sia occupato da 1. Il passaggio nel passo successivo
avviene
• se è impostato il bit di evento EVENTi relativo al passo attuale e
• se è trascorso il tempo assegnato per il passo attuale.
Questo tempo risulta dal prodotto della base tempo DTBP e del fattore tempo valido per il passo
attuale (dal campo S_PRESET)

Avvertenza
Il tempo di esecuzione DCC rimasto ancora nel passo attuale viene ridotto solo se il relativo bit
d'evento EVENTi è impostato.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 281
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
14.7 Realizzazione di un dispositivo di avanzamento a passi con l'SFB 32 "DRUM"

Se richiamando l'SFB all'ingresso RESET è presente 1, il dispositivo di avanzamento a passi va nel


passo il cui numero è stato attribuito all'ingresso DSP.

Avvertenza
Se è stato selezionato DRUM_EN a 1 si ha il particolare caso di
• avanzamento dei passi su interrupt periodico selezionando EVENTi = 1 per DSP i LST_STEP.
• avanzamento dei passi su interrupt di evento tramite i bit di evento EVENTi selezionando
DTBP = 0.
È inoltre possibile fare avanzare in qualsiasi momento il dispositivo di avanzamento a passi (anche
con DRUM EN=1) tramite l'ingresso JOG.

Al primo richiamo del blocco è necessario occupare l'ingresso RESET con 1.


Se il dispositivo di avanzamento a passi si trova nell'ultimo passo (DSC ha il valore di LST_STEP) e
se il tempo di elaborazione assegnato per questo passo è trascorso, le uscite Q e EOD vengono
impostate e l'SFB rimane nell'ultimo passo finché non si occupa l'ingresso RESET con 1.
Un temporizzatore DRUM funziona solo negli stati di esercizio AVVIAMENTO e RUN.
Il sistema operativo resetta l'SFB 32 "DRUM" all'avviamento a freddo, ma non al nuovo avviamento
(avviamento a caldo). Se l'SFB 32 "DRUM" deve essere inizializzato dopo il nuovo avviamento
(avviamento a caldo), lo si deve richiamare nell'OB 100 con RESET = 1.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
RESET INPUT BOOL E, A, M, D, L, cost. Il livello 1 causa il resettaggio del
dispositivo di avanzamento a passi. Al
primo richiamo del blocco è
necessario occupare RESET con 1.
JOG INPUT BOOL E, A, M, D, L, cost. Un fronte di salita (davanti all'ultimo
richiamo di SFB) causa l'avanzamento
nel passo successivo, se per caso il
dispositivo di avanzamento a passi
non si trova ancora nell'ultimo passo.
L'avanzamento avviene
indipendentemente dal valore
attribuito a DRUM_EN.
DRUM_EN INPUT BOOL E, A, M, D, L, cost. Parametro di comando che stabilisce
se è possibile un avanzamento in
funzione del tempo nel passo
successivo (1: avanzamento in
funzione del tempo possibile).
LST_STEP INPUT BYTE E, A, M, D, L, cost. Numero dell'ultimo passo
valori possibili: da 1 a 16
EVENTi 1i 16 INPUT BOOL E, A, M, D, L, cost. Bit d'evento n. i (appartiene al passo i)
OUTj 0j15 OUTPUT BOOL E, A, M, D, L Bit d'uscita n. j (identico al bit n. j di
OUT_WORD)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


282 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
14.7 Realizzazione di un dispositivo di avanzamento a passi con l'SFB 32 "DRUM"

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
Q OUTPUT BOOL E, A, M, D, L Parametro di stato che indica se il
tempo assegnato per l'elaborazione
dell'ultimo passo è trascorso.
OUT_WORD OUTPUT WORD E, A, M, D, L, P Bit di uscita riuniti in una variabile
ERR_CODE OUTPUT WORD E, A, M, D, L, P Se durante l'elaborazione dell'SFB si
presenta un errore, ERR_CODE
contiene l'informazione di errore.
JOG_HIS VAR BOOL E, A, M, D, L, cost. (non rilevante per l'utente: parametro
d'ingresso JOG del richiamo
SFB precedente).
EOD VAR BOOL E, A, M, D, L, cost. Identico al parametro di uscita Q
DSP VAR BYTE E, A, M, D, L, P, Numero del primo passo
cost. valori possibili: da 1 a 16
DSC VAR BYTE E, A, M, D, L, P, Numero del passo attuale
cost.
DCC VAR DWORD E, A, M, D, L, P, Tempo di elaborazione rimasto ancora
cost. nel passo attuale in ms (rilevante solo
se DRUM_EN = 1 e relativo bit
d'evento = 1).
DTBP VAR WORD E, A, M, D, L, P, Base tempo in ms valida per tutti i
cost. passi
PREV_TIME VAR DWORD E, A, M, D, L, cost. (Non rilevante per l'utente: tempo
sistema del richiamo SFB precedente)
S_PRESET VAR ARRAY of E, A, M, D, L, cost. Campo unidimensionale con fattori
WORD tempo per ogni passo.
Scelta sensata degli indizi: [da 1 a 16].
In questo caso S_PRESET [x]
contiene il fattore tempo del passo x.
OUT_VAL VAR ARRAY of E, A, M, D, L, cost. Campo bidimensionale con i valori da
BOOL emettere in ogni passo, se non li si ha
cancellati tramite S_MASK.
Scelta sensata degli indizi: [da 1 a 16,
da 0 a 15]. In questo caso OUT_VAL
[x,y] contiene il valore che viene
assegnato al bit d'uscita OUTy nel
passo x.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 283
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
14.7 Realizzazione di un dispositivo di avanzamento a passi con l'SFB 32 "DRUM"

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
S_MASK VAR ARRAY of E, A, M, D, L, cost. Campo bidimensionale con i bit di
BOOL maschera per ogni passo.
Scelta sensata degli indizi: [da 1 a 16,
da 0 a 15]. In questo caso S_MASK
[x,y] contiene il bit di maschera per il
valore y-esimo da emettere nel passo
x.
Significato dei bit di maschera:
• 0: il valore relativo del passo
precedente viene attribuito al bit
d'uscita relativo
• 1: il valore relativo da OUT_VAL
viene attribuito al relativo bit
d'uscita.

Informazioni di errore
Se dovesse verificare una delle condizioni indicate nella seguente tabella, l'SFC 32 "DRUM" rimane
nello stato attuale e l'uscita ERR_CODE viene impostata in base a ciò.

Codice di Spiegazione
errore
(W#16#...)
0000 Nessun errore.
8081 Valore non ammesso per LST_STEP
8082 Valore non ammesso per DSC
8083 Valore non ammesso per DSP
8084 Solo S7-400: il prodotto DCC = DTBP * S_PRESET [DSC] supera il valore 2**31-1 (circa
24,86 giorni)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


284 Manuale di riferimento, 04/2017, A5E41911986-AA
15 Funzioni di sistema per l'indirizzamento di unità

15.1 Rilevamento dell'indirizzo di base logico di un'unità con la SFC 5


"GADR_LGC"

Descrizione
Conoscendo il posto connettore di un canale di un'unità di ingresso/uscita e l'offset dell'area di
indirizzamento dati utili, è possibile con la SFC 5 "GADR_LGC" (convert geographical address to
logical address) rilevare l'indirizzo di base logico corrispondente di un'unità, ovvero l'indirizzo E o A
più piccolo.
Impiegando l'SFC 5 su moduli power o su moduli con indirizzi compressi (ET 200S), viene fornito
l'indirizzo di diagnostica.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
SUBNETID INPUT BYTE E, A, M, D, L, cost. • Identificazione dell'area:
• 0, se il posto connettore si trova in uno
dei telai di montaggio 0 (apparecchiatura
centrale) o da 1 a 21 (apparecchiatura di
ampliamento)
• ID sistema master DP del sistema
periferico decentrale, se il posto
connettore si trova in un dispositivo di
periferia decentrata.
RACK INPUT WORD E, A, M, D, L, cost. • Numero del telaio di montaggio se
l'identificazione dell'area è 0
• Numero di stazione del dispositivo di
periferia decentrata se l'identificazione
dell'area > 0
SLOT INPUT WORD E, A, M, D, L, cost. N. del posto connettore
SUBSLOT INPUT BYTE E, A, M, D, L, cost. Posto connettore del sotto-modulo (se non è
possibile collocare alcun sotto-modulo,
indicare 0)
SUBADDR INPUT WORD E, A, M, D, L, cost. Offset nell'area di indirizzamento dati utili
dell'unità
RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 285
Funzioni di sistema per l'indirizzamento di unità
15.1 Rilevamento dell'indirizzo di base logico di un'unità con la SFC 5 "GADR_LGC"

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
IOID OUTPUT BYTE E, A, M, D, L Identificazione dell'area:
B#16#54: Ingresso periferia (PE)
B#16#55: Uscita periferia (PA)
In caso di unità miste la SFC fornisce
l'identificazione dell'area dell'indirizzo più
basso. In caso di indirizzi uguali la
SFC fornisce l‘identificazione B#16#54.
LADDR OUTPUT WORD E, A, M, D, L Indirizzo di base logico dell‘unità

Informazioni di errore

Codice di Spiegazione
errore
(W#16#...)
0000 Nessun errore.
8093 Valore non consentito nel parametro SUBNETID (non è ammesso l'uso dell'SFC 5 per
PROFINET IO).
8094 Nessuna sotto-rete è stata configurata con la SUBNETID indicata.
8095 Valore non ammesso nel parametro RACK
8096 Valore non ammesso nel parametro SLOT
8097 Valore non ammesso nel parametro SUBSLOT
8098 Valore non ammesso nel parametro SUBADDR
8099 Il posto connettore non è stato progettato
809A Il sotto-indirizzo per il posto connettore selezionato non è progettato (possibile soltanto nella
periferia a livello centrale per la CPU e l'IM).
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


286 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni di sistema per l'indirizzamento di unità
15.2 Rilevamento del posto connettore appartenente ad un indirizzo logico con la SFC 49 "LGC_GADR"

15.2 Rilevamento del posto connettore appartenente ad un indirizzo


logico con la SFC 49 "LGC_GADR"

Descrizione
Con la SFC 49 "LGC_GADR" (convert logical address to geographical address) è possibile rilevare il
posto connettore dell'unità appartenente ad un indirizzo logico e l'offset nell'area di indirizzamento
dati utili dell'unità.

Avvertenza
L'applicazione della SFC 49 "LGC_GADR" a un modulo con indirizzi compressi (ET 200S) non è
ammessa.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento:
• B#16#00: il bit 15 di LADDR indica se
l'indirizzo è un ingresso (bit15=0) o
un'uscita (bit15=1).
• B#16#54 = ingresso di periferia (PE)
• B#16#55 = uscita di periferia (PA)
Se si tratta di un'unità mista si deve indicare
l'identificazione dell'area dell'indirizzo
minore. Se gli indirizzi sono uguali si deve
indicare B#16#54.
LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico
Con un'unità mista si deve indicare il minore
dei due indirizzi.
RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori
AREA OUTPUT BYTE E, A, M, D, L Identificazione dell'area: indica come
interpretare i parametri di uscita rimanenti.
RACK OUTPUT WORD E, A, M, D, L N. del telaio di montaggio
SLOT OUTPUT WORD E, A, M, D, L N. del posto connettore
SUBADDR OUTPUT WORD E, A, M, D, L Offset nell'area di indirizzamento dati utili
dell'unità corrispondente.

Avvertenza
Se si impiega un sistema di automazione S7-400H in funzionamento ridondato e, richiamando la
SFC 49, si indica nel parametro LADDR l'indirizzo logico di un'unità di uno slave DP collegato,
nell'high byte del parametro RACK viene emessa l'ID del sistema master DP del canale attivo. Se
non esiste un canale attivo, viene emessa l'ID del sistema master DP corrispondente della CPU
master.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 287
Funzioni di sistema per l'indirizzamento di unità
15.2 Rilevamento del posto connettore appartenente ad un indirizzo logico con la SFC 49 "LGC_GADR"

Parametri di uscita AREA


Il parametro di uscita AREA indica come interpretare i parametri di uscita RACK, SLOT e SUBADDR.
La tabella seguente spiega questo rapporto di dipendenza.

Valore di AREA Sistema Significato di RACK, SLOT e SUBADDR


0 S7-400 RACK : N. del telaio di montaggio
SLOT : N. del posto connettore
SUBADDR : differenza tra l'indirizzo logico e l'indirizzo logico di base
1 S7-300 RACK : N. del telaio di montaggio
SLOT : N. del posto connettore
SUBADDR : differenza tra l'indirizzo logico e l'indirizzo logico di base
2 DP RACK (low byte): numero di stazione
RACK (high byte): ID del sistema master DP
SLOT: numero di slot nella stazione
SUBADDR: offset nell'area indirizzamento dati utili indirizzo logico
dell'unità corrispondente
3 Area S5-P RACK : N. del telaio di montaggio
SLOT : N. del posto connettore della capsula di adattamento
SUBADDR : indirizzo nell'area S5 x
4 Area S5-Q RACK : N. del telaio di montaggio
SLOT : N. del posto connettore della capsula di adattamento
SUBADDR : indirizzo nell'area S5 x
5 Area S5-IM3 RACK : N. del telaio di montaggio
SLOT : N. del posto connettore della capsula di adattamento
SUBADDR : indirizzo nell'area S5 x
6 Area S5-IM4 RACK : N. del telaio di montaggio
SLOT : N. del posto connettore della capsula di adattamento
SUBADDR : indirizzo nell'area S5 x

Informazioni di errore

Codice di errore Spiegazione


(W#16#...)
0000 Nessun errore.
8090 L'indirizzo logico indicato non è valido o valore non ammissibile con parametro IOID
8093 Per le unità selezionate tramite IOID e LADDR questa SFC non è consentita.
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


288 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni di sistema per l'indirizzamento di unità
15.3 Rilevamento di tutti gli indirizzi logici di un'unità con la SFC 50 "RD_LGADR"

15.3 Rilevamento di tutti gli indirizzi logici di un'unità con la SFC 50


"RD_LGADR"

Descrizione
Partendo da un indirizzo logico di un'unità, di un sotomodulo centrale o di un sottomodulo PNIO è
possibile, con l'SFC 50 "RD_LGADR" (read module logical addresses), determinare tutti gli indirizzi
logici convenzionati di questa unità o di questo sottomodulo. Gli indirizzi devono essere stati
assegnati alle unità o ai sottomoduli in precedenza con STEP 7. L'SFC 50 registra gli indirizzi logici
rilevati nel campo PEADDR o nel campo PAADDR in ordine crescente.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento:
• B#16#00: il bit 15 di LADDR indica se
l'indirizzo è un ingresso (bit15=0) o
un'uscita (bit15=1).
• B#16#54 = ingresso di periferia (PE)
B#16#55 = uscita di periferia (PA)
LADDR INPUT WORD E, A, M, D, L, cost. Un indirizzo logico
RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori
PEADDR OUTPUT ANY E, A, M, D, L Campo per gli indirizzi PE, gli elementi di
campo devono essere del tipo WORD.
PECOUNT OUTPUT INT E, A, M, D, L Numero degli indirizzi PE forniti
PAADDR OUTPUT ANY E, A, M, D, L Campo per gli indirizzi PA, gli elementi di
campo devono essere del tipo WORD.
PACOUNT OUTPUT INT E, A, M, D, L Numero degli indirizzi PA forniti

Informazioni di errore

Codice di Spiegazione
errore
(W#16#...)
0000 Nessun errore.
8090 L'indirizzo logico indicato non è valido
80A0 Errore nel parametro di uscita PEADDR: il tipo dei dati degli elementi di campo non è WORD.
(Questo codice di errore esiste solo in S7-400 e nella CPU 318.)
80A1 Errore nel parametro di uscita PAADDR: il tipo dei dati degli elementi di campo non è WORD.
(Questo codice di errore esiste solo in S7-400 e nella CPU 318.)
80A2 Errore nel parametro di uscita PEADDR: il campo indicato non ha potuto accogliere tutti gli
indirizzi logici.
80A3 Errore nel parametro di uscita PAADDR: il campo indicato non ha potuto accogliere tutti gli
indirizzi logici.
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 289
Funzioni di sistema per l'indirizzamento di unità
15.4 Determinazione dell'indirizzo iniziale di un'unità con la SFC 70 "GEO_LOG"

15.4 Determinazione dell'indirizzo iniziale di un'unità con la SFC 70


"GEO_LOG"

Descrizione
Dal canale di un'unità degli ingressi e delle uscite si ricava il rispettivo posto connettore dell'unità. La
SFC 70 "GEO_LOG" ("convert geographical address to logical address") consente di determinare da
tali dati il corrispondente indirizzo iniziale dell'unità, vale a dire l'indirizzo E o A più basso.
Impiegando l'SFC 70 su moduli power oppure su moduli con indirizzi compressi (ET 200S), viene
restituito l'indirizzo di diagnostica.

Parametri

Parametri Dichiarazione Tipo di Area di memoria Descrizione


dati
MASTER INPUT INT E, A, M, D, L, cost. Identificatore area:
• 0 se il posto connettore si trova
nella configurazione centrale: telai
di montaggio 0-3 (S7-300) oppure
0-21 (S7-400)
• 1 ... 32: ID del sistema master DP
della rispettiva apparecchiatura da
campo se il posto connettore si
trova in un'apparecchiatura da
campo di PROFIBUS
• 100 … 115: ID del sistema
PROFINET IO della rispettiva
apparecchiatura da campo se il
posto connettore si trova in
un'apparecchiatura da campo di
PROFINET
STATION INPUT INT E, A, M, D, L, cost. Numero del telaio di montaggio se
l'identificatore area è = 0
Numero della stazione
dell'apparecchiatura da campo se
l'identificatore area è > 0
SLOT INPUT INT E, A, M, D, L, cost. Numero del posto connettore
SUBSLOT INPUT INT E, A, M, D, L, cost. Posto connettore del sotto-modulo (se
non è possibile inserire sotto-moduli,
qui va indicato 0)
RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore
LADDR OUTPUT WORD E, A, M, D, L Indirizzo iniziale dell'unità
il bit 15 di LADDR indica se l'indirizzo
disponibile è un indirizzo di ingresso
(bit 15 = 0) oppure un indirizzo di
uscita (Bit 15 = 1).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


290 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni di sistema per l'indirizzamento di unità
15.4 Determinazione dell'indirizzo iniziale di un'unità con la SFC 70 "GEO_LOG"

Informazioni di errore

Codice di Spiegazione
errore
(W#16#...)
0000 Non si sono verificati errori
8094 Non è stata configurata una sottorete con la SUBNETID indicata
8095 Valore non consentito per il parametro STATION
8096 Valore non consentito per il parametro SLOT
8097 Valore non consentito per il parametro SUBSLOT
8099 Il posto connettore non è stato progettato
809A L'indirizzo del sotto-modulo per il posto connettore selezionato non è stato progettato
8xyy Informazione di errore generale, vedere anche Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 291
Funzioni di sistema per l'indirizzamento di unità
15.5 Determinazione del posto connettore corrispondente a un indirizzo logico con la SFC 71 "LOG_GEO"

15.5 Determinazione del posto connettore corrispondente a un


indirizzo logico con la SFC 71 "LOG_GEO"

Descrizione
La SFC 71 "LOG_GEO" ("convert logical address to geographical address") consente di determinare
il posto connettore dell'unità corrispondente a un indirizzo logico e l'offset nell'area di indirizzi dei dati
utili dell'unità.

Parametri

Parametri Dichiarazione Tipo di Area di memoria Descrizione


dati
LADDR INPUT WORD E, A, M, D, L, cost. Un qualsiasi indirizzo logico dell'unità
Indicare nel bit 15 se l'indirizzo
disponibile è un indirizzo di ingresso
(bit 15 = 0) oppure un indirizzo di
uscita (Bit 15 = 1).
RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore
AREA OUTPUT INT E, A, M, D, L Identificatore area: indica in che modo
vanno interpretati i restanti parametri di
uscita.
MASTER OUTPUT INT E, A, M, D, L, cost. Identificatore area:
• 0 se il posto connettore si trova
nella configurazione centrale: telai
di montaggio 0-3 (S7-300) oppure
0-21 (S7-400)
• 1 ... 32: ID del sistema master DP
della rispettiva apparecchiatura da
campo se il posto connettore si
trova in un'apparecchiatura da
campo di PROFIBUS
• 100 … 115: ID del sistema
PROFINET IO della rispettiva
apparecchiatura da campo se il
posto connettore si trova in
un'apparecchiatura da campo di
PROFINET
STATION OUTPUT INT E, A, M, D, L Numero del telaio di montaggio se
l'identificatore area è = 0
Numero della stazione
dell'apparecchiatura da campo se
l'identificatore area è > 0
SLOT OUTPUT INT E, A, M, D, L Numero del posto connettore
SUBSLOT OUTPUT INT E, A, M, D, L Numero del sotto-modulo
OFFSET OUTPUT INT E, A, M, D, L Offset nell'area di indirizzi dei dati utili
dell'unità corrispondente

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


292 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni di sistema per l'indirizzamento di unità
15.5 Determinazione del posto connettore corrispondente a un indirizzo logico con la SFC 71 "LOG_GEO"

Parametro di uscita AREA

Valore di Sistema Significato di RACK, SLOT e SUBADDR


AREA
0 S7-400 MASTER: 0
STATION: numero del telaio di montaggio
SLOT: numero del posto connettore
SUBSLOT: 0
OFFSET: differenza tra indirizzo logico e indirizzo logico di base
1 S7-300 MASTER: 0
STATION: numero del telaio di montaggio
SLOT: Numero del posto connettore
SUBSLOT: 0
OFFSET: Differenza tra indirizzo logico e indirizzo logico di base
2 PROFIBUS DP MASTER: ID sistema master DP
STATION: numero della stazione
SLOT: numero del posto connettore nella stazione
SUBSLOT: 0
OFFSET: offset nell'area di indirizzi dei dati utili dell'unità
corrispondente
PROFINET IO MASTER: ID sistema PROFINET IO
STATION: numero della stazione
SLOT: numero del posto connettore nella stazione
SUBSLOT: numero del sotto-modulo
OFFSET: offset nell'area di indirizzi dei dati utili dell'unità
corrispondente
3 Area S5 P MASTER: 0
STATION: numero del telaio di montaggio
SLOT: numero del posto connettore della capsula di adattamento
SUBSLOT: 0
OFFSET: indirizzo nell'area S5 "x"
4 Area S5 Q MASTER: 0
STATION: numero del telaio di montaggio
SLOT: numero del posto connettore della capsula di adattamento
SUBSLOT: 0
OFFSET: indirizzo nell'area S5 "x"
5 Area S5 IM3 MASTER: 0
STATION: numero del telaio di montaggio
SLOT: numero del posto connettore della capsula di adattamento
OFFSET: indirizzo nell'area S5 "x"
6 Area S5 IM4 MASTER: 0
STATION: numero del telaio di montaggio
SLOT: numero del posto connettore della capsula di adattamento
SUBSLOT: 0
OFFSET: indirizzo nell'area S5 "x"

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 293
Funzioni di sistema per l'indirizzamento di unità
15.5 Determinazione del posto connettore corrispondente a un indirizzo logico con la SFC 71 "LOG_GEO"

Informazioni di errore

Codice di Spiegazione
errore
(W#16#...)
0000 Non si sono verificati errori
8090 L'indirizzo logico indicato non è valido
8xyy Informazione di errore generale, vedere anche Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


294 Manuale di riferimento, 04/2017, A5E41911986-AA
16 SFC per periferia decentrata o per PROFINET IO

16.1 Attivazione di un interrupt di processo nel master DP con l'SFC 7


"DP_PRAL"

Campo di validità
L'SFC descritta in questo capitolo può essere utilizzata solo se si usa una CPU 315-2DP come slave
intelligente.

Descrizione
Con l'SFC 7 "DP_PRAL" viene attivato, dal programma utente di uno slave intelligente, un interrupt
di processo nel relativo master DP. Questo fa in modo che venga avviato l'OB 40 nel master DP.
Con il parametro di ingresso AL_INFO è possibile contrassegnare la causa dell'interrupt di processo
desiderato. Questa identificazione di interrupt viene trasferita al master DP e può essere analizzata
nell'OB 40 (variabile OB40_POINT_ADDR).
L'interrupt di processo richiesto viene definito in modo univoco tramite i parametri di ingresso IOID e
LADDR. Per ogni area di indirizzamento progettata nella memoria di trasferimento è possibile
attivare un interrupt di processo esattamente nel momento desiderato.

Metodo di lavoro
L'SFC 7 "DP_PRAL" è un'SFC asincrona, vale a dire che l'elaborazione comprende più richiami
dell'SFC. La richiesta di interrupt di processo viene avviata richiamando l'SFC 7 con REQ=1.
Lo stato dell'ordine viene visualizzato tramite i parametri di uscita RET_VAL e BUSY, vedere anche il
capitolo Significato dei parametri REQ, RET_VAL e BUSY nelle SFC asincrone. L'ordine è terminato
quando si è conclusa l'elaborazione dell'OB 40 nel master DP.

Avvertenza
Se lo slave DP viene utilizzato come uno slave standard, l'ordine è concluso non appena il
telegramma di diagnostica è stato ritirato dal master DP.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 295
SFC per periferia decentrata o per PROFINET IO
16.1 Attivazione di un interrupt di processo nel master DP con l'SFC 7 "DP_PRAL"

Identificazione di un ordine
I parametri di ingresso IOID e LADDR definiscono un ordine in modo univoco.
Se l'SFC 7 "DP_PRAL" è stata richiamata su uno slave DP e la si richiama nuovamente prima che il
master DP abbia confermato l'interrupt di processo richiesto, il successivo comportamento
dell'SFC dipende in maniera decisiva dal fatto che il nuovo richiamo riguardi lo stesso ordine: se i
parametri IOID e LADDR concordano con un ordine non ancora concluso, il richiamo SFC viene
interpretato come richiamo conseguente, indipendentemente dal valore del parametro AL_INFO, e
in RET_VAL viene registrato il valore W#16#7002.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
REQ INPUT BOOL E, A, M, D, L, cost. REQ=1: attivazione interrupt di processo sul
relativo master DP
IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento
nella memoria di trasferimento (dal punto di
vista dello slave DP):
• B#16#00: il bit 15 di LADDR indica la
presenza di un indirizzo di ingresso (bit
15=0) o di uscita (bit 15=1).
• B#16#54 = ingresso di periferia (PE)
• B#16#55 = uscita di periferia (PA)
Se si tratta di un'unità mista occorre
specificare l'identificatore di area
dell'indirizzo più basso. Se gli indirizzi sono
uguali occorre indicare B#16#54.
LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo di partenza dell'area di
indirizzamento nella memoria di
trasferimento (dal punto di vista dello slave
DP).
Se si tratta di un'area appartenente ad
un'unità mista si deve indicare il minore dei
due indirizzi.
AL_INFO INPUT DWORD E, A, M, D, L, cost. Identificazione di interrupt
Questa identificazione viene fornita all'OB 40
che deve essere avviato sul relativo master
DP (variabile OB40_POINT_ADDR).
Se lo slave intelligente viene operato su un
master non S7 il telegramma di diagnostica
deve essere analizzato nel master (vedere
/70/).
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione si verifica un
errore, il valore di ritorno contiene un codice
di errore.
BUSY OUTPUT BOOL E, A, M, D, L BUSY=1:
L'interrupt di processo attivato non è stato
ancora confermato dal master DP.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


296 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per periferia decentrata o per PROFINET IO
16.1 Attivazione di un interrupt di processo nel master DP con l'SFC 7 "DP_PRAL"

Informazioni di errore

Codice di Spiegazione
errore
(W#16#...)
0000 Il L'ordine è stato eseguito senza errori
7000 Primo richiamo con REQ=0. Nessuna richiesta di interrupt di processo attiva; BUSY ha
valore 0.
7001 Primo richiamo con REQ=1. È stato richiesto un interrupt di processo al master DP; BUSY ha
valore 1.
7002 Richiamo intermedio (REQ è irrilevante): l'interrupt di processo attivato non è stato ancora
confermato dal master DP; BUSY ha valore 1.
8090 Indirizzo di partenza dell'area di indirizzamento nella memoria di trasferimento errato.
8091 Interrupt inibito tramite la progettazione.
8093 Tramite la coppia di parametri IOID e LADDR viene indirizzata un'unità dalla quale non è
possibile una richiesta di interrupt di processo.
80B5 Richiamo nel master DP non ammesso
80C3 Alcune risorse necessarie (memoria ecc.) sono attualmente occupate.
80C5 La periferia decentrata non è attualmente disponibile (ad es. guasto della stazione).
80C8 Lo stato di funzionamento attuale del master DP non consente di eseguire questa funzione.
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 297
SFC per periferia decentrata o per PROFINET IO
16.2 Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR"

16.2 Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR"

Descrizione
Con l'SFC 11 "DPSYC_FR" è possibile sincronizzare uno o più gruppi di slave DP.
A tale scopo occorre inviare una delle seguenti istruzioni di comando, o una combinazione di esse, ai
gruppi interessati:
• SYNC (emissione e congelamento simultanei degli stati delle uscite con gli slave DP)
• UNSYNC (annulla nuovamente l'istruzione di comando SYNC)
• FREEZE (congelamento degli stati degli ingressi con gli slave DP)
• UNFREEZE (annulla nuovamente l'istruzione di comando FREEZE)

Avvertenza
Osservare che i comandi di controllo SYNC e FREEZE restano attivi anche in seguito a un nuovo
avviamento o a un avviamento a freddo.
Osservare inoltre che è consentito attivare un solo ordine SYNC/UNSYNC o un solo ordine
FREEZE/UNFREEZE alla volta.

Presupposti
Prima di inviare le istruzioni di comando sopra indicate, gli slave DP devono essere stati suddivisi in
gruppi con STEP 7 (vedere /231/). Occorre sapere a quale gruppo e con quale numero è stato
assegnato un determinato slave DP e quali caratteristiche hanno i singoli gruppi in merito al
comportamento SYNC/FREEZE.

Metodo di lavoro
L'SFC 11 "DPSYC_FR" è un'SFC asincrona, vale a dire che l'elaborazione comprende più richiami
dell'SFC. L'ordine viene avviato richiamando l'SFC 11 con REQ=1.
Lo stato dell'ordine viene visualizzato tramite i parametri di uscita RET_VAL e BUSY, vedere anche il
paragrafo Significato dei parametri REQ, RET_VAL e BUSY nelle SFC asincrone.

Identificazione di un ordine
Se è stato attivato un ordine SYNC/FREEZE e viene nuovamente richiamata l'SFC 11 prima che
questo ordine sia stato concluso, il successivo comportamento dell'SFC dipende in maniera decisiva
dal fatto che il nuovo richiamo riguardi lo stesso ordine. Se i parametri di ingresso LADDR, GROUP e
MODE concordano, il richiamo SFC viene interpretato come richiamo conseguente.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


298 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per periferia decentrata o per PROFINET IO
16.2 Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR"

Descrizione delle uscite delle unità DP


La descrizione delle uscite di unità DP viene attivata da
• Comandi di trasferimento
• Scrittura dell'immagine di processo delle uscite nelle unità (da parte del sistema operativo alla
fine dell'OB1 oppure richiamando l'SFC 27 "UPDAT_PO"),
• Richiamo dell'SFC 15 "DPWR_DAT".
Normalmente il master DP trasferisce i dati di uscita alle uscite dello slave DP in modo ciclico (nel
ciclo del bus PROFIBUS DP).
Quando si desidera inviare simultaneamente alle uscite del processo determinati dati di uscita che
possono essere ripartiti tra diversi slave, è possibile inviare l'istruzione di comando SYNC al
rispettivo master DP con l'ausilio di SFC 11 "DPSYC_FR":

Funzione di SYNC
Con l'istruzione di comando SYNC gli slave DP dei gruppi indicati vengono commutati nel modo
Sync, ciò significa che il master DP ordina agli slave DP interessati di congelare le uscite sugli ultimi
valori ricevuti. Nei telegrammi di uscita successivi gli slave DP memorizzano i dati di uscita in un
buffer interno; lo stato delle uscite rimane invariato.
Dopo ogni istruzione di comando SYNC gli slave DP dei gruppi selezionati inviano i dati di uscita del
loro buffer interno alle uscite del processo.
Le uscite vengono di nuovo aggiornate ciclicamente solo quando viene data l'istruzione di comando
UNSYNC con l'ausilio dell'SFC 11 "DPSYC_FR".

Avvertenza
Se slave DP del gruppo/i selezionato/i non sono nella rete o sono guasti nell'istante in cui viene data
l'istruzione di comando, questi non vengono commutati nel modo Sync e non ne viene data
comunicazione tramite il valore di ritorno dell'SFC.

Lettura degli ingressi di unità DP


I dati di ingresso delle unità DP vengono letti
• con comandi di caricamento
• durante l'aggiornamento dell'immagine di processo degli ingressi (da parte del sistema operativo
all'inizio dell'OB1 oppure richiamando l'SFC 26 "UPDAT_PI"),
richiamando l'SFC 14 "DPRD_DAT".
Normalmente il master DP riceve questi dati di ingresso ciclicamente (nel ciclo del bus PROFIBUS
DP) e dai suoi slave DP e li mette a disposizione della CPU.
Se si desidera importare dal processo in modo perfettamente simultaneo determinati dati di ingresso
che possono essere ripartiti tra diversi slave, inviare l'istruzione di comando FREEZE al rispettivo
master DP con la funzione SFC 11 "DPSYC_FR".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 299
SFC per periferia decentrata o per PROFINET IO
16.2 Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR"

Funzione di FREEZE
Con l'istruzione di comando FREEZE gli slave DP interessati vengono commutati nel modo Freeze,
ciò significa che il master DP ordina agli slave DP interessati di congelare lo stato attuale degli
ingressi. Gli slave DP trasferiscono poi questo stato momentaneo al master DP nell'ambito del
trasferimento ciclico.
Dopo ogni istruzione di comando FREEZE gli slave DP congelano di nuovo lo stato degli ingressi.
Il master DP riceve allora lo stato attuale degli ingressi nuovamente in modo ciclico solo quando
viene data l'istruzione di comando UNFREEZE con l'ausilio dell'SFC 11 "DPSYC_FR".

Avvertenza
Se slave DP del gruppo/i selezionato/i non sono nella rete o sono guasti nell'istante in cui viene data
l'istruzione di comando, questi non vengono commutati nel modo Sync e non ne viene data
comunicazione tramite il valore di ritorno dell'SFC.

Coerenza dei dati


A causa del metodo di lavoro asincrono e la probabilità di interruzione della funzione dovuta a classi
di priorità superiore, nell'utilizzare l'SFC 11 "DPSYC_FR" si dovrebbe fare attenzione che le
immagini di processo siano coerenti con gli ingressi e le uscite effettive della periferia.
Ciò avviene quando viene osservata una delle regole di coerenza seguenti:
• Definire le immagini di processo parziali adatte per le "uscite SYNC" e gli "ingressi FREEZE"
(solo possibile con S7-400). Richiamare l'SFC 27 "UPDAT_PO" immediatamente prima del
rispettivo primo richiamo di un ordine SYNC. Richiamare l'SFC 26 "UPDAT_PI" subito dopo il
rispettivo ultimo richiamo di un ordine FREEZE.
• Oppure: per le uscite che sono interessate da un ordine SYNC e gli ingressi interessati da un
ordine FREEZE utilizzare solo accessi diretti alla periferia. Quando un ordine SYNC è in corso di
svolgimento, non devono essere scritte le uscite interessate e quando un ordine FREEZE è in
corso di svolgimento non devono essere importati gli ingressi interessati.

Utilizzo dell'SFC 15 e SFC 14


Nel caso venga utilizzata l'SFC 15 "DPWR_DAT", questa SFC deve essere stata terminata prima di
inviare un ordine SYNC per le rispettive uscite.
Nel caso venga utilizzata l'SFC 14 "DPRD_DAT", questa SFC deve essere stata terminata prima di
inviare un ordine FREEZE per i rispettivi ingressi.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


300 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per periferia decentrata o per PROFINET IO
16.2 Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR"

Avviamento e SFC 11 "DPSYC_FR"


È esclusivo compito dell'utente dare le istruzioni di comando SYNC e FREEZE negli OB di
avviamento.
Se le uscite di uno o più gruppi devono funzionare in modo Sync già all'avviamento del programma
utente, durante l'avviamento queste uscite devono essere inizializzate e l'SFC 11 "DPSYC_FR"
deve essere elaborata completamente con l'istruzione di comando SYNC.
Se gli ingressi di uno o più gruppi devono funzionare in modo FREEZE già all'avviamento del
programma utente, durante l'avviamento l'SFC 11 "DPSYC_FR" deve essere elaborata
completamente per questi ingressi con l'istruzione di comando FREEZE.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando attivato al
raggiungimento del limite REQ1 attivazione
dell'ordine SYNC/FREEZE
LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico del master DP
GROUP INPUT BYTE E, A, M, D, L, cost. Selezione gruppi
Bit 0 = 1: selezionato gruppo 1
Bit 1 = 1: selezionato gruppo 2
:
Bit 7 = 1: selezionato gruppo 8
Possono essere selezionati più gruppi per
ordine
Il valore B#16#0 non è ammesso.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 301
SFC per periferia decentrata o per PROFINET IO
16.2 Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR"

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
MODE INPUT BYTE E, A, M, D, L, cost. Identificativo dell'ordine (codifica secondo EN
50170, volume 2, PROFIBUS)
Bit 0: riservato (valore 0)
Bit 1: riservato (valore 0)
Bit 2:
- 1: UNFREEZE viene eseguito
- 0: senza significato
Bit 3:
- 1: FREEZE viene eseguito
- 0: senza significato
Bit 4:
- 1: UNSYNC viene eseguito
- senza significato
Bit 5:
- 1: SYNC viene eseguito
- 0 : senza significato
Bit 6: riservato (valore 0)
Bit 7: riservato (valore 0)

Possibili valori:
Con esattamente un identificativo per ordine:
B#16#04 (UNFREEZE),
B#16#08 (FREEZE),
B#16#10 (UNSYNC),
B#16#20 (SYNC)
Con più identificativo per ordine:
B#16#14 (UNSYNC, UNFREEZE),
B#16#18 (UNSYNC, FREEZE),
B#16#24 (SYNC, UNFREEZE),
B#16#28 (SYNC, FREEZE)
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si
verifica un errore, il valore di ritorno contiene
un codice di errore.
RET_VAL è valido solo per un ciclo, ovvero
dal primo comando che segue il richiamo
dell'SFC fino al richiamo SFC successivo. Ne
consegue che RET_VAL deve essere
analizzato dopo ogni elaborazione del
blocco.
BUSY OUTPUT BOOL E, A, M, D, L BUSY=1:
L'ordine SYNC/FREEZE non è stato ancora
terminato.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


302 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per periferia decentrata o per PROFINET IO
16.2 Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR"

Informazioni di errore

Avvertenza
Se si accede agli slave DPV1, è possibile inoltrare informazioni sugli errori di tali slave dal master DP
all'SFC. Per maggiori informazioni a riguardo vedere Ricezione di un allarme con l'SFB 54 "RALRM"
STATUS[3].

Codice di Spiegazione
errore
(W#16#...)
0000 L'ordine è stato eseguito senza errori
7000 Primo richiamo con REQ=0. L'ordine definito da LADDR, GROUP e MODE non è attivo;
BUSY ha valore 0.
7001 Primo richiamo con REQ=1. L'ordine definito da LADDR, GROUP e MODE è stato attivato;
BUSY ha valore 1.
7002 Richiamo intermedio (REQ è irrilevante): l'ordine SYNC/FREEZE attivato non è ancora in
corso; BUSY ha valore 1.
8090 L'unità selezionata tramite LADDR non è un master DP.
8093 Questa SFC non è ammessa per l'unità selezionata tramite LADDR (progettazione o
versione del master DP).
8094 Parametro GROUP errato
8095 Parametro MODE errato.
80B0 Il gruppo selezionato tramite GROUP non è stato progettato.
80B1 Il gruppo selezionato tramite GROUP non è stato assegnato a questa CPU.
80B2 L'ordine SYNC specificato tramite MODE non è ammesso sul gruppo selezionato tramite
GROUP.
80B3 L'ordine FREEZE specificato tramite MODE non è ammesso sul gruppo selezionato tramite
GROUP.
80C2 Mancanza temporanea di risorse del master DP: il master DP elabora momentaneamente il
massimo possibile di ordini per una CPU.
80C3 Questo ordine SYNC/UNSYNC non può essere momentaneamente attivato, in quanto in uno
stesso momento può essere attivato solo un ordine SYNC-/UNSYNC. Controllare il
programma utente.
80C4 Questo ordine FREEZE/UNFREEZE non può essere momentaneamente attivato, in quanto
in uno stesso momento può essere attivato solo un ordine FREEZE/UNFREEZE. Controllare
il programma utente.
80C5 Cortocircuito direttamente nell'interfaccia DP
80C6 Interruzione dell'ordine perché la CPU ha bloccato l'accesso alla periferia
80C7 Interruzione dell'ordine a causa del nuovo avviamento (avviamento a caldo) o avviamento a
freddo del master DP.
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 303
SFC per periferia decentrata o per PROFINET IO
16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP"

16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con


l'SFC 12 "D_ACT_DP"

Descrizione
L'SFC 12 "D_ACT_DP" consente la disattivazione e la riattivazione mirate di slave DP/PROFINET
IO Device progettati. È inoltre possibile determinare, per ciascun slave DP o PROFINET IO Device
utilizzati, se questi componenti sono attualmente attivati o disattivati.
Disattivando un router di tipo IE/PB Link PN IO con l'ausilio dell'SFC 12, si avrà la disattivazione di
tutti gli slave PROFIBUS DP ad esso collegati. Il mancato funzionamento viene segnalato.
L'SFC 12 non è applicabile su apparecchiature da campo PROFIBUS PA che sono collegate ad un
sistema master DP tramite DP/PA Link.

Avvertenza
Finché sono attivi uno o più ordini SFC 12 non è possibile caricare dal PG alla CPU configurazioni
modificate (in ambito CiR).
Durante il caricamento dal PG alla CPU di una configurazione modificata in ambito CiR, la CPU
rifiuta l'attivazione di un ordine SFC 12.
L'elaborazione di un ordine di attivazione o di disattivazione richiede l'esecuzione di diversi cicli nel
punto di controllo del ciclo. In un loop programmato non è pertanto possibile attendere la fine di un
ordine di questo tipo.

Scopo
Se in una CPU vengono configurati slave DP/ PROFINET IO Device che non esistono realmente
oppure che al momento non sono necessari, la CPU accede regolarmente a questi slave DP/
PROFINET IO Device. Dopo la loro disattivazione non vi sono più altri accessi della CPU. In
PROFIBUS DP si ottiene così il ciclo di bus DP più veloce possibile e non compaiono più i relativi
eventi di errore.

Esempi applicativi
Nella costruzione di macchine in serie il costruttore prevede una varietà di opzioni. Ogni macchina
fornita comprende tuttavia solo una combinazione particolare di determinate opzioni.
Tutte le opzioni possibili della macchina sono progettate dal costruttore come slave DP/ PROFINET
IO Device al fine di creare e tenere aggiornato un programma utente comprendente tutte le opzioni
possibili. Con l'SFC 12 è possibile disattivare all'avviamento della macchina tutti gli slave DP /
PROFINET IO Device non disponibili.
Una situazione analoga esiste per le macchine utensili che comprendono molti utensili ma che ne
utilizzano solo pochi in un determinato momento. Qui gli utensili vengono realizzati come slave DP/
PROFINET IO Device. Il programma utente attiva con l'ausilio dell'SFC 12 gli utensili attualmente
necessari e disattiva gli utensili che vengono riutilizzati solo in un secondo momento.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


304 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per periferia decentrata o per PROFINET IO
16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP"

Funzionamento
L'SFC 12 "D_ACT_DP" è una SFC asincrona, vale a dire che l'elaborazione comprende più richiami
dell'SFC. L'ordine viene avviato richiamando l'SFC 12 con REQ=1.
Lo stato dell'ordine viene visualizzato tramite i parametri di uscita RET_VAL e BUSY, vedere anche
Significato di REQ, RET_VAL e BUSY nelle SFC asincrone.

Identificazione di un ordine
Nel caso è stato avviato un ordine di disattivazione e attivazione e viene di nuovo richiamata
l'SFC 12 prima che questo sia stato concluso, il successivo comportamento dell'SFC dipende in
maniera decisiva dal fatto che il nuovo richiamo riguardi lo stesso ordine. Se il parametro LADDR
concorda con lo stesso parametro dell'ordine, il richiamo SFC viene interpretato come richiamo
conseguente.

Disattivazione di slave DP/ PROFINET IO Device


Se uno slave DP o un PROFINET IO Device vengono disattivati con l'SFC 12, le relative uscite di
processo vengono impostate sui valori sostitutivi progettati oppure su 0 (stato sicuro). Il relativo
master DP /PROFINET IO Controller d'ora in poi non accede più a questi componenti. Gli slave DP
/PROFINET IO Device disattivati non vengono identificati come disturbati o mancanti nei LED di
errore del master DP/ PROFINET IO Controller o della CPU
L'immagine di processo degli ingressi degli slave DP/ PROFINET IO Device disattivati viene
aggiornata con 0, ciò sta ad indicare che essa viene trattata come slave DP/ PROFINET IO Device
guasti.
Nel caso nel proprio programma vi sia accesso diretto ai dati utili di uno slave DP /PROFINET IO
Device precedentemente disattivati, viene richiamato l'OB di errore di accesso alla periferia
(OB 122) ed il relativo evento di avvio viene immesso nel buffer di diagnostica. Nel caso si acceda
tramite SFC (ad es. SFC 59 "RD_REC") ad uno slave DP /PROFINET IO Device disattivati, in
RET_VAL si ottiene la stessa informazione di errore emessa per slave DP/PROFINET IO Device non
disponibili.
La disattivazione di uno slave DP/ PROFINET IO Device non causa un avvio dell'OB di errore di
esecuzione del programma (OB 85), anche se i suoi ingressi o uscite appartengono all'immagine di
processo da aggiornare da parte del sistema. Non vengono nemmeno eseguite registrazioni nel
buffer di diagnostica.
In funzione del parametro MODE, la disattivazione di uno slave DP/ PROFINET IO Device può
comportare un avvio dell'OB di guasto del telaio (OB 86) nonché una registrazioni nel buffer di
diagnostica.

MODE Start OB 86 Registrazione nel buffer


di diagnostica
2 no no
4 sì sì

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 305
SFC per periferia decentrata o per PROFINET IO
16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP"

Se una stazione DP/ PNO si guasta dopo essere stata disattivata con l'SFC 12, il guasto non viene
riconosciuto dal sistema operativo. Pertanto non avviene né un avvio dell'OB86 né un'introduzione
nel buffer di diagnostica.
Con PROFIBUS DP vale: se si intende disattivare slave DP che partecipano come mittenti alla
comunicazione diretta, si raccomanda di disattivare prima i riceventi (auditori) che ascoltano quali
dati di ricezione il mittente invia al proprio master DP. Solo al termine di questa procedura disattivare
il mittente.

Attivazione di slave DP/ PROFINET IO Device


Riattivando uno slave DP o un PROFINET IO Device con l'SFC 12, questi componenti vengono
configurati e parametrizzati dal relativo master DP/ PROFINET IO Controller (come nel caso del
ripristino di stazioni DP/PROFINET IO guaste). L'attivazione è da considerarsi conclusa quando
questi componenti sono in grado di trasferire i dati utili.
L'attivazione di slave DP/ PROFINET IO Device non provoca un avvio dell'OB di errore di
esecuzione del programma (OB 85), anche se i suoi ingressi o le sue uscite appartengono
all'immagine di processo da aggiornare da parte del sistema. Non vengono nemmeno eseguite
registrazioni nel buffer di diagnostica.
In funzione del parametro MODE, la disattivazione di uno slave DP/ PROFINET IO Device può
comportare un avvio dell'OB di guasto del telaio (OB 86) nonché una registrazioni nel buffer di
diagnostica.

MODE Start OB 86 Registrazione nel buffer


di diagnostica
2 no no
4 sì sì

Se si cerca di attivare con l'SFC 12 uno slave disattivato separato fisicamente dal bus DP l'SFC invia
il codice di errore W#16#80A2 e lo slave rimane disattivato. Nel caso sia di nuovo collegato al bus DP
in un secondo momento, occorre riattivare lo slave per mezzo dell'SFC 12 .
Se viene effettuato il tentativo di attivare un PROFINET IO Device fisicamente separato dal bus
PROFINET, l'SFC 12 rimane attiva. A differenza di quanto avviene negli slave DP, l'interruzione
automatica dopo un determinato intervallo in questo caso non ha luogo. L'interruzione dell'ordine in
corso deve essere eseguita dall'utente

Avvertenza
L'attivazione di uno slave DP/ PROFINET IO Device può durare un certo lasso di tempo. Se si
desidera interrompere un ordine di attivazione in corso, avviare l'SFC 12 con lo stesso valore per
LADDR e MODE = 2. Ripetere il richiamo dell'SFC 12 con MODE = 2 finché non viene visualizzata
l'avvenuta interruzione dell'ordine di attivazione con RET_VAL = 0.

Se si vogliono attivare slave DP che partecipano alla comunicazione diretta si raccomanda di attivare
prima i mittenti e poi i destinatari (auditori).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


306 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per periferia decentrata o per PROFINET IO
16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP"

Avviamento della CPU


Il sistema operativo della CPU mostra nei diversi tipi di avviamento il comportamento seguente
rispetto agli slave DP/ PROFINET IO Device:
• Nei modi di avviamento a freddo e Nuovo avviamento (avviamento a caldo) vengono riattivati gli
slave/ i dispositivi disattivati.
- Nell'S7 400: l'attivazione di Slave DP/PROFINET IO Device può richiedere tempi piuttosto
lunghi. In questo caso la CPU si avvia ugualmente, tuttavia, fino alla conclusione
dell'attivazione, si verificano errori di accesso alla periferia. La reazione della CPU varia in
funzione della parametrizzazione (richiamo dell'OB 85 in caso di errori di accesso alla
periferia) e del programma nell'OB 85. La soppressione di questi errori di accesso alla
periferia non è possibile.
- Nell'S7 300: l'attivazione di Slave DP/PROFINET IO Device può richiedere tempi piuttosto
lunghi. In questo caso la CPU attende la conclusione dell'attivazione degli Slave
DP/PROFINET IO Device. Il tempo di attesa max. per l'attivazione comprende ca. 1 minuto.
In questo intervallo non si verificano errori di accesso alla periferia.

• Nel modo di avviamento Riavviamento rimane immutato lo stato di attivazione degli slave/ dei
dispositivi: gli slave / i dispositivi attivati rimangono attivati, gli slave/ i dispositivi disattivati
rimangono disattivati.
Dopo l'avviamento la CPU cerca di stabilire un contatto in modo ciclico con tutti gli slave/ i dispositivi
progettati e non disattivati che non sono presenti o non sono indirizzabili.

Avvertenza
La CPU S7-300-CPU non supporta un richiamo dell'SFC 12 negli OB di avviamento.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 307
SFC per periferia decentrata o per PROFINET IO
16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP"

Parametri
Parametri dell'SFC 12 "D_ACT_DP"

Parametri Dichiarazione Tipo Area di memoria Descrizione


di dati
REQ INPUT BOOL E, A, M, D, L, Parametro di comando attivato al
cost. raggiungimento del limite
REQ=1:
Eseguire attivazione o disattivazione
MODE INPUT BYTE E, A, M, D, L, Identificativo di ordine
cost. Possibili valori:
• 0: fornisce informazioni
sull'attivazione/la disattivazione
del componente interpellato
• 1: attiva slave DP/ PROFINET IO
Device
• 2: disattiva slave DP/ PROFINET IO
Device
• 3: attiva slave DP/PROFINET IO Device
e dopo la commutazione dello stato di
attivazione, richiama l'OB 86
• 4: disattiva slave DP/PROFINET IO
Device e dopo la commutazione dello
stato di attivazione, richiama l'OB 86
LADDR INPUT WORD E, A, M, D, L, Indirizzo logico qualunque di slave DP/
cost. PROFINET IO Device
Nota: se l’indirizzo è un indirizzo di uscita
occorre impostare il bit 15.
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione
si verifica un errore, il valore di ritorno
contiene un codice di errore.
BUSY OUTPUT BOOL E, A, M, D, L Identificativo attivo:
• BUSY=1: l'ordine è ancora attivo
• BUSY=0: l'ordine è stato terminato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


308 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per periferia decentrata o per PROFINET IO
16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP"

Informazioni di errore

Codice di Spiegazione
errore
(W#16#...)
0000 L'ordine è stato eseguito senza errori
0001 Lo slave DP/ il PROFINET IO Device è attivato (questo codice di errore è solo possibile con
MODE = 0.)
0002 Lo slave DP/ il PROFINET IO Device è disattivato (questo codice di errore è solo possibile
con MODE = 0.)
7000 Primo richiamo con REQ=0. L'ordine definito con LADDR non è attivo; BUSY ha valore 0.
7001 Primo richiamo con REQ=1. L'ordine definito con LADDR è stato attivato; BUSY ha valore 1..
7002 Richiamo intermedio (REQ è irrilevante): L'ordine attivato è ancora in fase di esecuzione;
BUSY ha valore 1.
8090 • L'utente non ha progettato un'unità con l'indirizzo indicato in LADDR.
• L'utente utilizza la propria CPU come slave I e ha indicato in LADDR un indirizzo di
questo slave I.
8092 L'operazione di disattivazione in corso di uno slave DP /PROFINET IO Device (MODE=2) non
può essere interrotta dalla sua attivazione (MODE=1)
Attivare i componenti in un secondo momento.
8093 All'indirizzo indicato in LADDR non appartiene alcuno slave DP /PROFINET IO Device
(assenza di una progettazione ), oppure il parametro MODE non è noto.
8094 È stato effettuato il tentativo di attivare un dispositivo probabilmente partner della porta
alterna di uno strumento sulla quale attualmente è già attivato un altro dispositivo. Questo
dispositivo rimane attivato.
80A1 Non è stato possibile parametrizzare il componente indirizzato. (Questo codice di errore è
possibile soltanto con MODE = 1).
Avvertenza:
Quest'informazione di errore viene fornita dall'SFC soltanto in caso di guasto dello slave/del
dispositivo attivati durante la parametrizzazione. Se soltanto la parametrizzazione di una
singola unità non è riuscita, l'SFC fornisce l'informazione di errore W#16#0000.
80A2 Lo slave DP interrogato non risponde (quest'informazione di errore non esiste nei PROFINET
IO Device. L'operazione non è soggetta al controllo del tempo in PROFINET).
80A3 Il master DP /PROFINET IO Controller in oggetto non supporta questa funzione.
80A4 La CPU non supporta questa funzione per master DP/PROFINET IO Controller esterni.
80A6 Errore di posto connettore nello slave DP /PROFINET IO Device; non è possibile accedere a
tutti i dati utili (questo codice di errore è possibile solo con MODE=1).
Avvertenza:
Quest'informazione di errore viene fornita dall'SFC soltanto se dopo la relativa
parametrizzazione e prima della fine dell'SFC, il componente attivato subisce nuovamente un
guasto. Se il gusto concerne una singola unità, l'SFC fornisce l'informazione di errore
W#16#0000.
80C1 L'SFC 12 è stata avviata e viene continuata con un altro indirizzo logico (questo codice di
errore è possibile solo con MODE=1 e con MODE=2).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 309
SFC per periferia decentrata o per PROFINET IO
16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP"

Codice di Spiegazione
errore
(W#16#...)
80C3 • Errore di risorse temporaneo: la CPU elabora momentaneamente il maggior numero
possibile di ordini di attivazione o disattivazione. (Questo codice di errore è possibile
soltanto con MODE = 1 e MODE = 2.)
• È in corso una modifica della configurazione della CPU. La disattivazione e l'attivazione
di slave DP /PROFINET IO Device non è per il momento possibile.
80C5 DP: gli ordini non ancora accettati dall'utente vengono ignorati dopo il riavviamento.
80C6 PROFINET: gli ordini non ancora accettati dall'utente vengono ignorati dopo il riavviamento.
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


310 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per periferia decentrata o per PROFINET IO
16.4 Lettura di dati di diagnostica (diagnostica slave) di uno slave DP con l'SFC 13 "DPNRM_DG"

16.4 Lettura di dati di diagnostica (diagnostica slave) di uno slave DP


con l'SFC 13 "DPNRM_DG"

Diagnostica slave
Con l'SFC 13 "DPNRM_DG" (read diagnosis data of a DP-slave) è possibile leggere i dati di
diagnostica di uno slave DP nella forma stabilita da EN 50 170 Volume 2, PROFIBUS.
La struttura generale della diagnostica slave è riportata nella seguente tabella, ulteriori informazioni
nei manuali relativi agli slave DP.

Byte Significato
0 Stato di stazione 1
1 Stato di stazione 2
2 Stato di stazione 3
3 Numero stazione master
4 Identificazione del costruttore (byte superiore)
5 Identificazione del costruttore (byte inferiore)
6 ... Altre diagnostiche specifiche dello slave

Descrizione
Con l'SFC 13 "DPNRM_DG" (read diagnosis data of a DP-slave) è possibile leggere i dati di
diagnostica di uno slave DP nella forma stabilita da EN 50 170 Volume 2, PROFIBUS. Al termine del
corretto trasferimento dati, i dati letti vengono registrati nell'area di destinazione rappresentata da
RECORD.
L'operazione di lettura viene avviata occupando con 1 il parametro di ingresso REQ al momento di
richiamo dell'SFC 13.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 311
SFC per periferia decentrata o per PROFINET IO
16.4 Lettura di dati di diagnostica (diagnostica slave) di uno slave DP con l'SFC 13 "DPNRM_DG"

Metodo di lavoro
L'operazione di lettura viene eseguita in modo asincrono, cioè l'operazione si estende su un arco di
più chiamate dell'SFC 13. Tramite i parametri di uscita RET_VAL e BUSY viene visualizzato lo stato
dell'ordine, vedere il capitolo Significato dei parametri REQ, RET_VAL e BUSY nelle SFC asincrone.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
REQ INPUT BOOL E, A, M, D, L, cost. REQ=1: richiesta di lettura
LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo di diagnostica progettato dello slave
DP
Avvertenza:
l'indirizzo deve essere indicato in formato
esadecimale. Ad es. l'indirizzo 1022 significa:
LADDR:=W#16#3FE.
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione si verifica un
errore, il valore di ritorno contiene un codice
di errore. Se invece non ci sono stati errori, in
RET_VAL c'è la lunghezza dei dati trasferiti.
RECORD OUTPUT ANY E, A, M, D, L Area di destinazione per i dati di diagnostica
letti. Solo il tipo dei dati BYTE è ammesso. La
lunghezza minima del set di dati da leggere o
dell'area di destinazione è 6, la lunghezza
massima del set di dati da leggere è 240;
negli slave standard in cui il numero di dati di
diagnostica standard è superiore a 240 byte
e arriva fino a max. 244, i primi 240 byte
vengono trasferiti nell'area di destinazione e
nei dati viene impostato il bit di overflow
corrispondente.
Avvertenza: osservare che nelle CPU S7-300
il parametro RECORD richiede sempre
l'indicazione completa dei parametri DB (ad
es.: P#DB13.DBX0.0 byte 100). Tralasciare
un n. di DB esplicito nelle CPU S7-300 non è
consentito e genera un messaggio di errore
nel programma utente.
BUSY OUTPUT BOOL E, A, M, D, L BUSY=1:
L'operazione di lettura non è ancora
terminata.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


312 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per periferia decentrata o per PROFINET IO
16.4 Lettura di dati di diagnostica (diagnostica slave) di uno slave DP con l'SFC 13 "DPNRM_DG"

Parametro di ingresso RECORD


La CPU valuta la lunghezza effettiva dei dati di diagnostica:
Se l'indicazione della lunghezza di RECORD
• è minore del numero dei dati forniti, i dati vengono annullati e in RET_VAL viene registrato il
codice di errore corrispondente.
• è maggiore o uguale al numero dei dati forniti, i dati passano all'area di destinazione e in
RET_VAL viene registrata la lunghezza effettiva come valore positivo.

Avvertenza
I parametri attuali di RECORD devono concordare in tutti i richiami che appartengono ad un ordine.
Un ordine è definito in modo univoco con il parametro di ingresso LADDR.

Slave standard con più di 240 byte di dati di diagnostica


Per slave standard, in cui il numero dei dati di diagnostica standard è posto tra i 241 e i 244 byte, si
deve fare attenzione a quanto segue:
Se l'indicazione della lunghezza di RECORD
• è minore di 240 byte, i dati vengono annullati e in RET_VAL viene registrata la relativa
informazione di errore.
• è maggiore di od uguale a 240 byte, i primi 240 byte dei dati di diagnostica standard vengono
trasferiti nell'area di destinazione e il relativo bit di overflow viene impostato nei dati.

Parametro di uscita RET_VAL


• Se durante l'esecuzione della funzione si è verificato un errore, il valore di ritorno conterrà un
codice di errore.
• Se durante il trasferimento non si è verificato alcun errore, RET_VAL conterrà la lunghezza dei
dati letti in byte come numero positivo.

Avvertenza
Il numero di dati letti dipende, in uno slave DP, dal suo stato di diagnostica.

Informazioni di errore
Per analizzare le informazioni di errore del parametro RET_VAL, vedere anche Analisi degli errori
con il parametro di uscita RET_VAL. In questo capitolo sono riportate anche le informazioni di errore
generali delle SFC. Le informazioni di errore specifiche per l'SFC 13 sono una parte delle
informazioni sugli errori per l'SFC 59 "RD_REC", vedere Lettura di set di dati con la SFC 59
"RD_REC".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 313
SFC per periferia decentrata o per PROFINET IO
16.4 Lettura di dati di diagnostica (diagnostica slave) di uno slave DP con l'SFC 13 "DPNRM_DG"

Risorse del sistema dell'S7-400


Nell'S7-400, con il richiamo dell'SFC 13 "DPNRM_DG" relativo ad un ordine attualmente non
elaborato, vengono occupate risorse (dell'area di memoria) della CPU. L'SFC 13 può essere
richiamata in modo ripetuto per vari slave DP se non viene superato il numero massimo di ordini
SFC 13 attivi contemporaneamente. L'informazione relativa alla cifra massima suddetta può essere
consultata in /101/.
In caso di ordini attivi "contemporaneamente", è garantito il fatto che questi vengano eseguiti tutti
senza influenzarsi l'uno con l'altro.
RET_VAL comunica quando si arriva al limite delle risorse di sistema. In questo caso, L'ordine va
ripetuto.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


314 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per periferia decentrata o per PROFINET IO
16.5 Lettura di dati coerenti di uno slave standard DP/PROFINET IO Device con l'SFC 14 "DPRD_DAT"

16.5 Lettura di dati coerenti di uno slave standard DP/PROFINET IO


Device con l'SFC 14 "DPRD_DAT"

Coerenza dei dati


Vedere il capitolo: Informazioni generali sui blocchi di comunicazione S7 e di comunicazione di base
S7 - Coerenza dei dati.

Scopo dell'SFC 14
L'SFC 14 "DPRD_DAT" è necessaria in quanto con i comandi di caricamento che hanno accesso
alla periferia e all'immagine di processo degli ingressi è possibile leggere in modo coerente un
massimo di quattro byte.

Avvertenza
I dati coerenti si possono eventualmente leggere anche attraverso l'immagine di processo degli
ingressi.
Per verificare se la CPU S7-300 utilizzata supporta questa funzionalità, leggere il manuale Sistemi di
automazione S7-300: Configurazione e dati della CPU.
Tutte le CPU S7-400 supportano questa funzionalità.

! Cautela
In caso di utilizzo dell'SFC 14 "DPRD_DAT" evitare gli accessi ad aree della periferia le cui immagini
di processo parziali sono assegnate con collegamento OB6x (allarmi in sincronismo di clock).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 315
SFC per periferia decentrata o per PROFINET IO
16.5 Lettura di dati coerenti di uno slave standard DP/PROFINET IO Device con l'SFC 14 "DPRD_DAT"

Descrizione
Con l'SFC 14 "DPRD_DAT" (read consistent data of a DP-normslave) è possibile leggere dati
coerenti da uno slave standard DP/PROFINET IO Device. Le informazioni relative alla lunghezza
massima per le CPU S7-300 sono indicate nei manuali Sistemi di automazione S7-300:
Configurazione e dati della CPU, ET 200S, Modulo di interfaccia IM151-7 CPU oppure Modulo di
base BM147 CPU. Per quanto riguarda le CPU S7-400, la lunghezza massima è indicata nel
manuale Sistema di automazione S7-400 Dati della CPU. Se il trasferimento dati è avvenuto
correttamente, i dati letti vengono registrati nell'area di destinazione rappresentata da RECORD.
L'area di destinazione deve avere la stessa lunghezza di quella programmata con STEP 7 per l'unità
selezionata.
Con uno slave standard DP con struttura modulare e varie identificazioni DP, è possibile con un
richiamo dell'SFC 14, accedere solo ai dati di un'unità/identificazione DP sotto l'indirizzo iniziale
progettato.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo iniziale progettato dall'area E
dall'unità da cui si deve leggere.
Avvertenza:
l'indirizzo deve essere indicato in formato
esadecimale. Ad es. l'indirizzo 100 significa:
LADDR:=W#16#64.
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione si verifica un
errore, il valore di ritorno contiene un codice
di errore.
RECORD OUTPUT ANY E, A, M, D, L Area di destinazione per i dati utili letti. Deve
essere della stessa lunghezza progettata con
STEP 7 per l'unità selezionata. Solo il tipo di
dati BYTE è ammesso.
Avvertenza: osservare che nelle CPU S7-300
il parametro RECORD richiede sempre
l'indicazione completa dei parametri DB (ad
es.: P#DB13.DBX0.0 byte 100). Tralasciare
un n. di DB esplicito nelle CPU S7-300 non è
consentito e genera un messaggio di errore
nel programma utente.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


316 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per periferia decentrata o per PROFINET IO
16.5 Lettura di dati coerenti di uno slave standard DP/PROFINET IO Device con l'SFC 14 "DPRD_DAT"

Informazioni di errore

Avvertenza
Se si accede agli slave DPV1, è possibile inoltrare informazioni sugli errori di tali slave dal master DP
all'SFC. Per maggiori informazioni a riguardo vedere Ricezione di un allarme con l'SFB 54 "RALRM"
STATUS[3].

Codice di errore Spiegazione


(W#16#...)
0000 Nessun errore.
8090 • Nessuna unità progettata per l'indirizzo logico base indicato oppure
• non è osservata la limitazione relativa alla lunghezza dei dati oppure
• l'indirizzo iniziale del parametro LADDR non è stato indicato in formato esadecimale.
8092 Nel riferimento ANY è indicato un tipo non uguale a BYTE.
8093 Nessuna unità DP/ nessun PROFINET IO Device per l'indirizzo logico indicato da LADDR
dalla quale potete leggere dati coerenti.
80A0 Durante l'accesso alla periferia è stato riconosciuto un errore di accesso.
80B0 Guasto dello slave con interfaccia DP esterna
80B1 La lunghezza dell'area di destinazione indicata non è uguale alla lunghezza dei dati utili
progettata con STEP 7.
80B2 Errore di sistema con interfaccia DP esterna
80B3 Errore di sistema con interfaccia DP esterna
80C0 I dati non sono stati ancora letti dall'unità
80C2 Errore di sistema con interfaccia DP esterna
80Fx Errore di sistema con interfaccia DP esterna
87xy Errore di sistema con interfaccia DP esterna
808x Errore di sistema con interfaccia DP esterna
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 317
SFC per periferia decentrata o per PROFINET IO
16.6 Scrittura coerente di dati utili ad uno slave standard DP/PROFINET IO Device con l'SFC 15 "DPWR_DAT"

16.6 Scrittura coerente di dati utili ad uno slave standard DP/PROFINET


IO Device con l'SFC 15 "DPWR_DAT"

Coerenza dei dati


Vedere il capitolo: Informazioni generali sui blocchi di comunicazione S7 e di comunicazione di base
S7 - Coerenza dei dati.

Avvertenza
I dati coerenti si possono eventualmente scrivere anche attraverso l'immagine di processo delle
uscite.
Per verificare se la CPU S7-300 utilizzata supporta questa funzionalità, leggere il manuale Sistemi di
automazione S7-300: Configurazione e dati della CPU.
Tutte le CPU S7-400 supportano questa funzionalità.Non utilizzare, durante la scrittura di dati
coerenti, entrambe le funzioni contemporaneamente: optare o per l'SFC 15 o per la scrittura tramite
immagine di processo parziale delle uscite.

! Cautela
In caso di utilizzo dell'SFC 15 "DPWR_DAT" evitare gli accessi ad aree della periferia le cui immagini
di processo parziali sono assegnate con collegamento OB6x (allarmi in sincronismo di clock).

Scopo dell'SFC 15
L'SFC 15 "DPWR_DAT" è necessaria in quanto con i comandi di trasferimento che hanno accesso
alla periferia e all'immagine di processo degli ingressi è possibile scrivere in modo coerente un
massimo di quattro byte.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


318 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per periferia decentrata o per PROFINET IO
16.6 Scrittura coerente di dati utili ad uno slave standard DP/PROFINET IO Device con l'SFC 15 "DPWR_DAT"

Descrizione
Con l'SFC 15 "DPWR_DAT" (write consistent data to a DP-normslave) vengono trasferiti i dati in
RECORD in modo coerente allo slave standard DP/PROFINET IO Device indirizzato ed
eventualmente all'immagine di processo (vale a dire se l'utente ha progettato l'area di indirizzamento
dello slave DP standard come area di coerenza in un'immagine di processo). Le informazioni relative
alla lunghezza massima dei dati da trasferire per le CPU S7-300 sono indicate nei manuali Sistemi di
automazione S7-300: Configurazione e dati della CPU, ET 200S, Modulo di interfaccia IM151-7
CPU oppure Modulo di base BM147 CPU. Per quanto riguarda le CPU S7-400, la lunghezza
massima è indicata nel manuale Sistema di automazione S7-400 Dati della CPU . Il trasferimento
avviene in modo sincrono, cioè al termine dell'SFC, anche l'operazione di scrittura è terminata.
L'area sorgente deve avere la stessa lunghezza di quella programmata con STEP 7 per l'unità
selezionata.
Con uno slave standard DP con struttura modulare e varie identificazioni DP, è possibile accedere
solo ad una unità dello slave DP.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo iniziale progettato dall'area IPU
dall'unità a cui si deve scrivere.
Avvertenza:
l'indirizzo deve essere indicato in formato
esadecimale. Ad es. l'indirizzo 100 significa:
LADDR:=W#16#64.
RECORD INPUT ANY E, A, M, D, L Area sorgente per i dati utili letti. Deve essere
della stessa lunghezza progettata con STEP
7 per l'unità selezionata. Solo il tipo di dati
BYTE è ammesso.
Avvertenza: osservare che nelle CPU S7-300
il parametro RECORD richiede sempre
l'indicazione completa dei parametri DB (ad
es.: P#DB13.DBX0.0 byte 100). Tralasciare
un n. di DB esplicito nelle CPU S7-300 non è
consentito e genera un messaggio di errore
nel programma utente.
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione si verifica un
errore, il valore di ritorno contiene un codice
di errore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 319
SFC per periferia decentrata o per PROFINET IO
16.6 Scrittura coerente di dati utili ad uno slave standard DP/PROFINET IO Device con l'SFC 15 "DPWR_DAT"

Informazioni di errore

Avvertenza
Se si accede agli slave DPV1, è possibile inoltrare informazioni sugli errori di tali slave dal master DP
all'SFC. Per maggiori informazioni a riguardo vedere Ricezione di un allarme con l'SFB 54 "RALRM"
STATUS[3].

Codice di Spiegazione
errore
(W#16#...)
0000 Nessun errore.
808x Errore di sistema sull'interfaccia DP esterna
8090 • Nessuna unità progettata per l'indirizzo logico base indicato oppure
• non è osservata la limitazione relativa alla lunghezza dei dati oppure
• l'indirizzo iniziale del parametro LADDR non è stato indicato in formato esadecimale.
8092 Nel riferimento ANY è indicato un tipo non uguale a BYTE.
8093 Nessuna unità DP/nessun PROFINET IO Device per l'indirizzo logico indicato da LADDR su
cui si possono scrivere dati coerenti.
80A1 Durante l'accesso alla periferia è stato riconosciuto un errore di accesso.
80B0 Guasto dello slave con interfaccia DP esterna.
80B1 La lunghezza dell'area sorgente indicata non è uguale alla lunghezza dei dati utili progettata
con STEP 7.
80B2 Errore di sistema con interfaccia DP esterna
80B3 Errore di sistema con interfaccia DP esterna
80C1 I dati del ordine di scrittura precedente sull'unità non sono stati ancora elaborati dall'unità.
80C2 Errore di sistema con interfaccia DP esterna
80Fx Errore di sistema con interfaccia DP esterna
80xy Errore di sistema con interfaccia DP esterna
80x Errore di sistema con interfaccia DP esterna
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


320 Manuale di riferimento, 04/2017, A5E41911986-AA
17 PROFINET

17.1 Informazioni sulle SFC 112, 113 e 114

Avvertenza
Il sistema operativo aggiorna per default sia il componente PROFINET CBA che le interconnessioni
DP nel punto di controllo del ciclo. Questi aggiornamenti sono indispensabili e vanno eseguiti
comunque, anche se l'utente ha disattivato gli aggiornamenti automatici al momento della
progettazione (ad es. per incidere meglio sul comportamento temporale della CPU). In questo caso
occorre richiamare le SFC da 112 a 114 al momento opportuno.
Gli aggiornamenti indicati si possono disattivare al momento della progettazione solamente tutti
insieme.

Memoria nascosta
Il DB di interfaccia costituisce l'interfaccia del programma utente del componente PROFINET CBA.
Per garantire che i suoi ingressi e le sue uscite siano coerenti al momento dell'esecuzione delle
corrispondenti parti del programma, per ogni DB di interfaccia è disponibile un'area di memoria,
identica per configurazione, che viene gestita dal sistema operativo ed è definita memoria nascosta.
Nel programma utente è possibile accedere soltanto al DB di interfaccia, mentre altri componenti
(esterni) PROFINET CBA possono accedere soltanto alla memoria nascosta. In questo modo si evita
qualunque conflitto di accesso agli ingressi e alle uscite del DB di interfaccia.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 321
PROFINET
17.1 Informazioni sulle SFC 112, 113 e 114

Aggiornamento del componente PROFINET CBA


Poiché la coerenza dei dati viene garantita per mezzo della memoria nascosta, secondo la
descrizione precedente l'aggiornamento del componente PROFINET CBA è costituito dalle due
azioni seguenti:
• Copia degli ingressi della memoria nascosta negli ingressi del DB di interfaccia prima di
elaborare il programma utente appartenente del componente PROFINET CBA
• Copia delle uscite del DB di interfaccia nelle uscite della memoria nascosta dopo aver elaborato
il programma utente appartenente al componente PROFINET CBA.
L'aggiornamento del componente PROFINET CBA viene eseguito, in CPU con interfaccia
PROFINET integrata, automaticamente dal sistema operativo oppure dall'utente, richiamando le
SFC 112 e 113 (secondo la progettazione definita al momento della creazione del compo_nente
PROFINET CBA nel SIMATIC Manager). La figura seguente mostra uno schema dell'aggiornamento
per mezzo delle SFC 112 e 113.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


322 Manuale di riferimento, 04/2017, A5E41911986-AA
PROFINET
17.1 Informazioni sulle SFC 112, 113 e 114

L'aggiornamento da parte del sistema avviene sempre nel punto di controllo del ciclo.
Per eseguire l'aggiornamento tramite le SFC 112 e 113, richiamare la SFC 112 all'inizio dell'OB nel
quale si trova il programma appartenente al componente PROFINET CBA e l'SFC 113 alla fine dello
stesso OB. La figura seguente mostra un esempio utilizzando l'OB 30.

Avvertenza sui componenti multifunzione (più DB di interfaccia PROFINET su un


dispositivo):
I componenti multifunzione consentono l’aggiornamento di tutti i DB di interfaccia con un _unico
ordine SFC (DBNO=0) (analogamente all’aggiornamento nel punto di controllo del ciclo triggerato
tramite SFC). Se durante l’aggiornamento di un DB di interfaccia si verifica un errore, l‘operazione di
aggiornamento dell’altro DB non viene interrotta. Un eventuale valore negativo di RET_VAL si
riferisce ad uno dei DB di interfaccia aggiornati.

Aggiornamento delle interconnessioni DP


L'aggiornamento delle interconnessioni DP viene eseguito da parte del sistema operativo oppure per
mezzo della SFC 114, secondo la progettazione definita al momento della creazione del
componente PROFINET CBA nel SIMATIC Manager.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 323
PROFINET
17.2 Aggiornamento degli ingressi dell'interfaccia del programma utente dei componenti PROFINET CBA con
l'SFC 112 "PN_IN"

17.2 Aggiornamento degli ingressi dell'interfaccia del programma


utente dei componenti PROFINET CBA con l'SFC 112 "PN_IN"

Descrizione
La SFC 112 "PN_IN" consente di copiare i dati di ingresso contenuti in PROFINET CBA dalla
memoria nascosta del componente PROFINET CBA al DB rispettivo di interfaccia. Al termine della
SFC i dati di ingresso attuali sono a disposizione dell'applicazione utente.

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


DBNO INPUT WORD E, A, M, D, L, Numero del DB di interfaccia
cost. (DBNO=0: aggiornamento di tutti i DB
di interfaccia PROFINET CBA )
RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore

Informazioni di errore

Codice di Spiegazione
errore
(W#16#...)
0000 Non si sono verificati errori.
8001 Progettazione PROFINET CBA mancante o non valida.
8002 Il numero del DB non corrisponde alla progettazione del componente.
8004 Il numero del DB corrisponde alla progettazione del componente ma il DB non è stato
caricato.
8005 Il DB di interfaccia è stato compilato con la parola chiave UNLINKED, questo indica che esso
si trova soltanto nella memoria di caricamento ma non nella memoria di lavoro.
8006 Il DB di interfaccia è protetto in scrittura nella CPU.
80B1 Errore di lunghezza in lettura o scrittura. La progettazione del componente non è compatibile
con il DB caricato.
8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


324 Manuale di riferimento, 04/2017, A5E41911986-AA
PROFINET
17.3 Aggiornamento delle uscite dell'interfaccia PROFINET del componente PROFINET CBA con l’SFC 113 "PN_OUT"

17.3 Aggiornamento delle uscite dell'interfaccia PROFINET del


componente PROFINET CBA con l’SFC 113 "PN_OUT"

Descrizione
La SFC 113 "PN_OUT" consente di copiare i dati di uscita creati nell'applicazione dell'utente dal DB
di interfaccia del componente PROFINET CBA nella corrispondente memoria nascosta. Al termine
della SFC i dati di uscita attuali sono a disposizione di altri componenti PROFINET CBA

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


DBNO INPUT WORD E, A, M, D, L, Numero del DB di interfaccia (DBNO=0:
cost. aggiornamento di tutti i DB di interfaccia
PROFINET)
RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore

Informazioni di errore

Codice di Spiegazione
errore
(W#16#...)
0000 Non si sono verificati errori.
8001 La progettazione PROFINET CBA manca o non è valida.
8002 Il numero del DB non corrisponde alla progettazione del componente.
8004 Il numero del DB corrisponde alla progettazione del componente ma il DB non è stato
caricato.
8005 Il DB di interfaccia è stato compilato con la parola chiave UNLINKED, questo indica che esso
si trova soltanto nella memoria di caricamento ma non nella memoria di lavoro.
8006 Il DB di interfaccia è protetto in scrittura nella CPU.
80B1 Errore di lunghezza in lettura o scrittura. La progettazione del componente non è compatibile
con il DB caricato.
8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 325
PROFINET
17.4 Aggiornamento delle interconnessioni DP con l’SFC 114 "PN_DP"

17.4 Aggiornamento delle interconnessioni DP con l’SFC 114 "PN_DP"

Descrizione
La SFC 114 "PN_DP" consente di aggiornare
• Tutte le interconnessioni tra componenti PROFINET CBA nel PROFIBUS locale e
• Tutte le interconnessioni con trasferimento ciclico tra componenti PROFINET CBA nel
PROFIBUS locale e componenti PROFINET CBA esterni. Queste interconnessioni sono valide
oltre i limiti di rete (tra Industrial Ethernet e PROFIBUS DP).

Procedimento
La SFC 114 "PN_DP" è una SFC asincrona, la cui elaborazione si può estendere per più richiami di
SFC. L'aggiornamento delle interconnessioni DP si avvia richiamando la SFC 114 con REQ=1.
Lo stato dell'ordine viene visualizzato attraverso i parametri di uscita RET_VAL e BUSY (vedere
anche: Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo
asincrono).

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


REQ INPUT BOOL E, A, M, D, L, cost. REQ=1: avvio dell'aggiornamento delle
interconnessioni DP
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione
si verifica un errore, il valore di ritorno
contiene un codice di errore.
BUSY OUTPUT BOOL E, A, M, D, L BUSY=1:
L'aggiornamento delle interconnessioni
DP non è ancora terminato.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


326 Manuale di riferimento, 04/2017, A5E41911986-AA
PROFINET
17.4 Aggiornamento delle interconnessioni DP con l’SFC 114 "PN_DP"

Informazioni di errore

Codice di Spiegazione
errore
(W#16#...)
0000 Ordine eseguito senza errori.
7000 Primo richiamo con REQ=0. L'aggiornamento delle interconnessioni DP non viene avviato.
BUSY ha il valore 0.
7001 (di rilievo soltanto nell'S7-400:) Primo richiamo con REQ=1. BUSY ha il valore 1.
7002 (di rilievo soltanto nell'S7-400:) Richiamo intermedio (REQ è irrilevante). L'aggiornamento
delle interconnessioni DP non è ancora concluso. BUSY ha il valore 1.
8001 La progettazione PROFINET CBA manca o non è valida.
8095 È stato avviato un ulteriore aggiornamento delle interconnessioni DP in una classe di priorità
maggiore. Tuttavia l'aggiornamento nella classe con priorità inferiore (tramite sistema
operativo o elaborazione di una SFC 114) è ancora in corso.
8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 327
PROFINET
17.4 Aggiornamento delle interconnessioni DP con l’SFC 114 "PN_DP"

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


328 Manuale di riferimento, 04/2017, A5E41911986-AA
18 SFC e SFB per le CPU PROFINET

18.1 Attivazione/sincronizzazione di pagine Web personalizzate con


l'SFC 99 "WWW"

Introduzione
Il tool di configurazione S7-Web2PLC consente di integrare pagine Web personalizzate nei
programmi STEP 7 e nelle CPU S7-PROFINET.
Ogni applicazione Web nella CPU comprende i seguenti DB, che vengono creati da S7-Web2PLC:
• Un Web Control DB
• Diversi Fragment DB
Il Web Control DB contiene tutte le informazioni sulla struttura dell'applicazione Web. I Fragment DB
contengono le pagine Web personalizzate codificate. L'SFC 99 consente di attivare o sincronizzare
la propria applicazione Web nella CPU.
I contenuti delle pagine accedono ai dati della CPU automaticamente o perché coordinati dal
programma utente. Una descrizione più dettagliata è contenuta nella Guida in linea al tool di
configurazione S7-Web2PLC (vedere oltre).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 330
SFC e SFB per le CPU PROFINET
18.1 Attivazione/sincronizzazione di pagine Web personalizzate con l'SFC 99 "WWW"

Descrizione
Dopo l'avviamento della CPU il server Web non conosce nessuna pagina Web personalizzata,
perciò è necessario richiamare l'SFC 99 "WWW" per rendere nota la propria pagina Web al server. Il
richiamo si esegue ad es. nell'OB 100.
Gli ulteriori richiami dell'SFC 99 dipendono dalla modalità di aggiornamento delle pagine Web:
• Aggiornamento automatico delle pagine Web
Richiamare l'SFC 99 "WWW" finché nel Web Control DB non viene impostata nella struttura
"commandstate" la variabile "init" oppure, in caso di erore, la variabile "error". In caso di errore la
causa viene visualizzata nella variabile "last_error".
• Aggiornamento delle pagine Web comandato dal programma utente
L'SFC 99 "WWW" coordina il programma utente con le pagine Web. Il procedimento generale è
il seguente per ogni pagina Web:
• Richiamare l'SFC 99.
• Analizzare la struttura "requesttab" nel Web Control DB.
• Elaborare la richiesta manuale nel programma utente.
• Rispondere alla richiesta richiamando nuovamente l'SFC 99.

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


CTRL_DB INPUT BLOCK_DB D Web Control DB
RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore

Informazioni di errore

Codice di errore Spiegazione


(W#16#...)
0000 Non si sono verificati errori.
00xy x=1: l'inizializzazione del Web Control DB è fallita. L'errore che si è verificato è descritto
più dettagliatamente in "last_error" (nel Web Control DB). Un errore potrebbe essere ad
es. l'incompatibilità tra Fragment DB e Web Control DB.
y indica in quale dei 4 canali il programma utente dovrebbe ricevere un ordine.
803A Nella CPU non esiste il Web Control DB indicato.
8081 Versione o formato del Web Control DB errati.
80C1 Non sono disponibili risorse per inizializzare l'applicazione Web. Per risorse si intende
qui il numero massimo di applicazioni del programma utente consentite
simultaneamente (diversi Web Control DB).

Ulteriori informazioni
La descrizione dettagliata del Web Control DB è contenuta nella Guida in linea al tool di
configurazione S7-Web2PLC. La Guida è disponibile sul DVD di STEP 7, directory
DVD_Root\Optional Components\S7 Web2PLC nel file "Web2PLCAppx.chm" (x=e per la lingua
italiana, x=b per la lingua inglese).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 331
SFC e SFB per le CPU PROFINET
18.2 Impostazione della configurazione IP con l'SFB 104 "IP_CONF"

18.2 Impostazione della configurazione IP con l'SFB 104 "IP_CONF"

Descrizione
L'SFB 104 "IP_CONF" consente una configurazione comandata da programma dell'interfaccia
PROFINET integrata della CPU. I dati di configurazione validi fino a questo momento vengono
sovrascritti.
Le possibili impostazioni per la configurazione dell'interfaccia sono le seguenti:
• Impostazioni IP: indirizzo IP, maschera sotto-rete, indirizzo router
• Nome del dispositivo PROFINET IO (se la CPU viene utilizzata come PROFINET IO Device)
I dati di configurazione vanno salvati in un DB di configurazione.
L'impostazione della configurazione IP comandata da programma con l'SFB 104 è un'alternativa alla
progettazione con STEP 7. Tuttavia essa è attiva solo dopo aver predefinito esplicitamente in
Configurazione HW l'assegnazione dei parametri IP "in altro modo" (rispetto a quanto indicato in
Configurazione HW).

Procedimento
L'SFB 104 "IP_CONF" è un SFB asincrono, la cui elaborazione si può estendere per più richiami di
SFB. Richiamando l'SFB 104 con REQ = 1 si avvia l'operazione di trasmissione.
Può essere attivo solo un ordine per volta.
Lo stato dell'ordine viene visualizzato attraverso i parametri di uscita BUSY e STATUS. STATUS
corrisponde al parametro di uscita RET_VAL delle SFC asincrone (vedere anche Significato dei
parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono).
La tabella seguente mostra la correlazione tra BUSY, DONE ed ERROR. Essa consente di stabilire
in quale stato si trova attualmente l'SFB 104 o quando è conclusa la trasmissione dei dati di
configurazione.

BUSY DONE ERROR Descrizione


TRUE Irrilevante Irrilevante L'ordine è in corso.
FALSE TRUE FALSE L'ordine si è concluso senza errori.
FALSE FALSE TRUE L'ordine si è concluso con un errore. La causa
dell'errore è indicata nel parametro STATUS.
FALSE FALSE FALSE All'SFB non è stato assegnato nessun (nuovo)
ordine.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


332 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC e SFB per le CPU PROFINET
18.2 Impostazione della configurazione IP con l'SFB 104 "IP_CONF"

Parametri

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


REQ INPUT BOOL E, A, M, D, L Parametro di comando
REQUEST; avvia la
trasmissione con un fronte di
salita.
LADDR INPUT WORD M, D, cost. Indirizzo di diagnostica
dell'interfaccia PROFINET
CONF_DB INPUT ANY D Puntatore ai dati di
configurazione (tipi di dati
ammessi: BYTE, WORD,
Block_DB)
Avvertenza: osservare che
nelle CPU S7-300 il parametro
CONF_DB richiede sempre
l'indicazione completa dei
parametri DB (ad es.:
P#DB13.DBX0.0 byte 100).
Tralasciare un n. di DB esplicito
non è consentito per le CPU
S7-300 e genera un messaggio
di errore nel programma utente.
DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE:
0: l'ordine non è ancora stato
avviato o è ancora in corso
1: l'ordine è stato eseguito
senza errori.
BUSY OUTPUT BOOL E, A, M, D, L Parametro di stato BUSY:
0: l'ordine è concluso
1: l'ordine è ancora in corso.
ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR:
ERROR=1: durante
l'elaborazione si è verificato un
errore. STATUS fornisce
informazioni dettagliate sul tipo
di errore.
STATUS OUTPUT DWORD E, A, M, D, L Parametro di stato STATUS:
informazione di errore
ERR_LOC OUTPUT DWORD E, A, M, D, L Sorgente dell'errore (field_id e
subfield_type_id) del blocco di
parametri che ha causato
l'errore

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 333
SFC e SFB per le CPU PROFINET
18.2 Impostazione della configurazione IP con l'SFB 104 "IP_CONF"

DB di configurazione
La figura seguente mostra come i dati di configurazione da trasferire vengono salvati nel DB di
configurazione.

I dati di configurazione quindi sono formati esattamente da un campo e diversi sottocampi:


• Il campo è costituito da un'intestazione e dai sottocampi. L'intestazione a sua volta è costituita
dai seguenti elementi:
- field_type_id (tipo di dati INT): zero
- field_id (tipo di dati INT): zero
- subfield_cnt (tipo di dati INT): numero dei sottocampi
• Ogni sottocampo è formato a sua volta da un'intestazione (subfield_type_id, subfield_length,
subfield_mode) e dai parametri specifici del sottocampo. Ogni sottocampo deve contenere un
numero pari di byte.
Per subfield_mode sono ammessi i seguenti valori:
- 1: validità permanente dei dati di configurazione
- 2: validità temporanea dei dati di configurazione, inclusa la cancellazione dei dati di
configurazione permanenti esistenti

Avvertenza
Attualmente è ammesso esattamente un campo, i cui parametri "field_type_id" e "field_id" devono
avere il valore zero. Ulteriori campi con altri valori per field_type_id e field_id sono riservati ad
ampliamenti futuri.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


334 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC e SFB per le CPU PROFINET
18.2 Impostazione della configurazione IP con l'SFB 104 "IP_CONF"

Sottocampi consentiti

subfield_type_id Nome del sottocampo Spiegazione


30 SUB_IP_SUITE_IPV4 Impostazioni IP: indirizzo IP, maschera sotto-rete,
indirizzo router
40 SUB_NOS Nome del dispositivo PROFINET IO (Name of
Station)

Definizione dei tipi per i sottocampi consentiti

• Sottocampo "SUB_IP_SUITE_IPV4"

TYPE "SUB_IP_SUITE_V4"
STRUCT

id: int := 30; // subfield_type_id


len: int := 18; // subfield_length
mode: int := 1; // subfield_mode (1: permanente,
//2: temporaneo)

ipaddr_3: BYTE := b#16#c8; // indirizzo IP high byte: 200


ipaddr_2: BYTE := b#16#0c; // indirizzo IP high byte: 12
ipaddr_1: BYTE := b#16#01; // indirizzo IP low byte: 1
ipaddr_0: BYTE := b#16#90; // indirizzo IP low byte: 144

snmask_3 : BYTE := b#16#FF; // maschera sotto-rete high byte: 255


snmask_2 : BYTE := b#16#FF; // maschera sotto-rete high byte: 255
snmask_1 : BYTE := b#16#FF; // maschera sotto-rete low byte: 255
snmask_0 : BYTE := b#16#00; // maschera sotto-rete low byte: 0

router_3 : BYTE := b#16#c8; // router high byte: 200


router_2 : BYTE := b#16#0c; // router high byte: 12
router_1 : BYTE := b#16#01; // router low byte: 1
router_0 : BYTE := b#16#01; // router low byte: 1

END_STRUCT
END_TYPE

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 335
SFC e SFB per le CPU PROFINET
18.2 Impostazione della configurazione IP con l'SFB 104 "IP_CONF"

• Sottocampo "SUB_NOS"

TYPE "SUB_NOS"
STRUCT
id: int := 40; // subfield_type_id
len: int := 246; // subfield_length
mode: int := 1; // subfield_mode (1: permanente,
// 2: temporaneo)
nos: ARRAY[1..240] of BYTE := 0; Nome del dispositivo: occorre assegnare i valori
all'ARRAY dal primo byte. Se l’ARRAY è più lungo del
nome di dispositivo da assegnare è necessario indicare un
byte zero dopo il nome effettivo del dispositivo (in
conformità con la norma IEC 61158-6-10). In caso
contrario "nos" viene respinto e l’SFB 104 registra il codice
di errore DW#16#C0809400 in STATUS.
Se si occupa il primo byte con zero, il nome del dispositivo
viene cancellato.
END_STRUCT
END_TYPE

Il nome del dispositivo è soggetto alle seguenti limitazioni:


- Limitazione a un totale di 240 caratteri (minuscole, cifre, trattino o punto)
- Un componente all'interno del nome del dispositivo (ovvero una stringa di caratteri tra due
punti) può avere una lunghezza max. di 63 caratteri. Un componente del nome non deve né
iniziare né finire con il carattere "-".
- Non sono ammessi caratteri speciali come umlaut, parentesi, caratteri di sottolineatura,
barre, spazi vuoti ecc. Il trattino è l'unico carattere speciale consentito.
- Il nome del dispositivo non deve iniziare né finire con i caratteri " - " e ".".
- Il nome del dispositivo non deve iniziare con cifre.
- Il nome del dispositivo non deve avere il formato n.n.n.n (n = 0, ... 999).
- Il nome del dispositivo non deve iniziare con la stringa di caratteri "port-xyz" o
"port-xyz-abcde" (a, b, c, d, e, x, y, z = 0, ... 9).
- All'interno del nome del dispositivo non è ammessa la stringa di caratteri "..".

Avvertenza
È possibile creare l'ARRAY "nos" anche con meno di 240 byte, tuttavia la lunghezza minima è di 2
byte. In questo caso è necessario adeguare opportunamente la variabile "len" (lunghezza del
sottocampo).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


336 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC e SFB per le CPU PROFINET
18.2 Impostazione della configurazione IP con l'SFB 104 "IP_CONF"

Informazioni di errore

ERROR STATUS ERR_LOC Spiegazione


(W#16#...)
0 0x00000000 0 Elaborazione dell'ordine conclusa senza errori
0 0x00700000 0 Nessuna elaborazione dell'ordine attiva
0 0x00700100 0 Avvio dell'elaborazione dell'ordine
0 0x00700200 0 Richiamo intermedio (non di rilievo per REQ)
1 0xC08xyy00 0 Informazione generale di errore; vedere l'Analisi degli
errori con il parametro di uscita RET_VAL
1 0xC0808000 0 LADDR non è valido
1 0xC0808100 0 LADDR non è stato assegnato all'interfaccia
PROFINET supportata
1 0xC0808200 0 Errore nel parametro CONF_DB: il tipo di dati non
viene supportato
1 0xC0808300 0 Errore nel parametro CONF_DB: il puntatore indica su
un campo non supportato
1 0xC0808400 0 Errore nel parametro CONF_DB: lunghezza del
puntatore ANY errata
1 0xC0808700 0 Errore nel parametro CONF_DB: incoerenza
dell'indicazione della lunghezza nei dati di
configurazione
1 0xC0808800 f, 0 field_type_id ha un valore non consentito
1 0xC0808900 f, 0 field_id ha un valore non consentito
1 0xC0808A00 f, 0 Numero scorretto in subfield_cnt
1 0xC0808B00 f, t subfield_id ha un valore non consentito
1 0xC0808C00 f, t Sottocampo utilizzato più volte
1 0xC0808D00 f, t subfield_len ha un valore errato o non consentito
1 0xC0808E00 f, t subfield_mode ha un valore non consentito
1 0xC0808F00 f, t Nel sottocampo è presente un conflitto con un
sottocampo precedente.
1 0xC0809000 f, t I parametri del sottocampo sono protetti in scrittura. I
parametri potrebbero ad es. essere stati predefiniti
tramite progettazione oppure è attivo il funzionamento
PNIO.
1 0xC0809400 f, t Valore del parametro nel sottocampo non definito o non
consentito.
1 0xC080C200 0 Impossibile eseguire il trasferimento (ad es. perché
l'interfaccia non è accessibile)
1 0xC080C300 0 Risorse insufficienti (ad es. richiamo multiplo
dell'SFB 104 con parametri diversi)
1 0xC080C400 0 Errore di comunicazione temporaneo

Nella tabella, "f" indica field_id mentre "t" indica subfield_type_id del blocco di parametri causa degli
errori.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 337
SFC e SFB per le CPU PROFINET
18.2 Impostazione della configurazione IP con l'SFB 104 "IP_CONF"

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


338 Manuale di riferimento, 04/2017, A5E41911986-AA
s FB per l'accesso ciclico ai dati
19
utili secondo PNO

SFC per la comunicazione di


dati globali 20
SIMATIC Panoramica della
comunicazione S7 e della
comunicazione di base S7
21
Software di sistema per S7-300/400 22
Comunicazione S7
- Funzioni standard e di sistema -
Volume 1 e Volume 2 23
Comunicazione di base S7

Manuale di riferimento
Comunicazione aperta tramite
Industrial Ethernet 24
Creazione di segnalazioni
riferite ai blocchi 25
Temporizzatore IEC e
contatore IEC 26

Funzioni IEC 27

Funzioni orologio 28
SFB per la regolazione
integrata 29

SFB per CPU compatte 30

SFC per le CPU H 31


Funzioni integrate (per CPU
con ingressi/uscite integrati) 32
Tecnica delle materie
plastiche 33

Lista delle SFC e degli SFB 34

Dati di diagnostica 35

Lista di stato di sistema SZL 36


04/2017
A5E41911986-AA
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 A5E41911986-AA Copyright © 2017.


Division Digital Factory Ⓟ 05/2017 Con riserva di modifiche Tutti i diritti riservati
Postfach 48 48
90026 NÜRNBERG
GERMANIA
Indice del contenuto
19 FB per l'accesso ciclico ai dati utili secondo PNO 347
19.1 Introduzione agli FB per l'accesso ciclico ai dati utili secondo PNO ......................................... 347
19.2 Lettura di tutti gli ingressi di uno slave DP standard /PROFINET IO Device tramite l'FB 20
"GETIO" ..................................................................................................................................... 348
19.3 Scrittura di tutte le uscite di uno slave DP standard /PROFINET IO Device
con l'FB 21 "SETIO" ................................................................................................................... 349
19.4 Lettura di una parte degli ingressi di uno slave DP standard /PROFINET IO Device
con l'FB 22 "GETIO_PART" ....................................................................................................... 350
19.5 Scrittura di una parte delle uscite di uno slave DP standard /PROFINET IO Device
con l'FB 23 "SETIO_PART" ....................................................................................................... 352
20 SFC per la comunicazione di dati globali 355
20.1 Trasmissione programmata di un blocco GD con la SFC 60 "GD_SND" .................................. 355
20.2 Rilevamento programmato di un blocco GD ricevuto con la SFC 61 "GD_RCV" ..................... 358
21 Panoramica della comunicazione S7 e della comunicazione di base S7 361
21.1 Differenze fra i blocchi di comunicazione S7 e i blocchi di comunicazione di base S7 ............. 361
21.2 Coerenza dei dati ....................................................................................................................... 364
21.3 Informazioni generali sui blocchi di comunicazione S7 ............................................................. 366
21.4 Panoramica dei blocchi di comunicazione di base S7 ............................................................... 369
22 Comunicazione S7 373
22.1 Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 ........................................ 373
22.2 Comportamento all'avviamento degli SFB di comunicazione S7 .............................................. 378
22.3 Comportamento in caso di disturbi degli SFB di comunicazione S7 ......................................... 380
22.4 Trasmissione non coordinata di dati con l'SFB/FB 8 "USEND" ................................................. 382
22.5 Ricezione non coordinata di dati con l'SFB/FB 9 "URCV" ......................................................... 386
22.6 Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND" ......................................................... 390
22.7 Ricezione di dati a blocchi con l'SFB 13/FB "BRCV" ................................................................. 394
22.8 Trasmissione non coordinata di dati con l'FB 28 "USEND_E" .................................................. 398
22.9 Ricezione non coordinata di dati con l'FB 29 "URCV_E" .......................................................... 401
22.10 Lettura dei dati da una CPU remota con l'FB 34 "GET_E" ........................................................ 404
22.11 Scrittura di dati in una CPU remota con l'FB 35 "PUT_E" ......................................................... 407
22.12 Scrittura di dati in una CPU remota con l'SFB/FB 15 "PUT" ..................................................... 410
22.13 Lettura dei dati di una CPU remota con l'SFB/FB 14 "GET" ..................................................... 414
22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT" ............................................................... 417
22.15 Esecuzione di un nuovo avviamento (avviamento a caldo) o un avviamento a freddo nel
dispositivo remoto con l'SFB 19 "START" ................................................................................ 424
22.16 Commutazione di un dispositivo remoto nello stato di funzionamento STOP
con l'SFB 20 "STOP" ................................................................................................................. 427
22.17 Esecuzione di un riavviamento in un dispositivo remoto con l'SFB 21 "RESUME" ................... 430
22.18 Interrogazione dello stato di un dispositivo partner remoto con l'SFB 22 "STATUS" ................ 433
22.19 Ricezione del cambiamento di stato di un dispositivo remoto con l'SFB 23 "USTATUS" ......... 436
22.20 Interrogazione dello stato del collegamento appartenente ad un'istanza
SFB di comunicazione con la SFC 62 "CONTROL" .................................................................. 439
22.21 Interrogazione dello stato di un collegamento con la FC 62 "C_CNTRL" ................................. 442
22.22 Fabbisogno di memoria di lavoro dei blocchi di comunicazione S7 .......................................... 444

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 341
Indice del contenuto

23 Comunicazione di base S7 445


23.1 Parametri comuni delle SFC di comunicazione di base S7 ....................................................... 445
23.2 Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati ........... 447
23.3 Invio di dati ad un partner di comunicazione esterno alla propria stazione S7
con la SFC 65 "X_SEND" .......................................................................................................... 451
23.4 Ricezione di dati da un partner di comunicazione esterno alla propria stazione S7
con la SFC 66 "X_RCV" ............................................................................................................. 453
23.5 Scrittura di dati in un partner di comunicazione esterno alla propria stazione S7
con la SFC 68 "X_PUT" ............................................................................................................. 458
23.6 Lettura di dati da un partner di comunicazione esterno alla propria stazione S7
con la SFC 67 "X_GET" ............................................................................................................. 460
23.7 Annullamento di un collegamento ad un partner di comunicazione esterno
alla propria stazione S7 con la SFC 69 "X_ABORT" ................................................................ 462
23.8 Scrittura di dati in un partner di comunicazione interno alla propria stazione S7
con la SFC 73 "I_PUT" .............................................................................................................. 464
23.9 Lettura di dati da un partner di comunicazione interno alla propria stazione S7
con la SFC 72 "I_GET" .............................................................................................................. 466
23.10 Annullamento di un collegamento con un partner di comunicazione interno
alla propria stazione S7 con la SFC 74 "I_ABORT" .................................................................. 468
24 Comunicazione aperta tramite Industrial Ethernet 471
24.1 Panoramica ................................................................................................................................ 471
24.2 Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet ................... 472
24.3 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP e ISO
on TCP ....................................................................................................................................... 477
24.4 Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP ...... 484
24.5 Struttura dell'informazione di indirizzo del partner remoto con il protocollo UDP ...................... 487
24.6 Incidenza delle varianti di protocollo (connection_type) richieste dalla CPU sulla lunghezza
dei dati trasferibili ....................................................................................................................... 488
24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti..................................... 489
24.8 Inizializzazione del collegamento con l'FB 65 "TCON" .............................................................. 500
24.9 Sconnessione con l'FB 66 "TDISCON" ...................................................................................... 504
24.10 Invio di dati tramite i protocolli TCP e ISO on TCP con l'FB 63 "TSEND .................................. 506
24.11 Ricezione di dati tramite i protocolli TCP e ISO on TCP con l'FB 64 "TRCV" ........................... 509
24.12 Invio di dati tramite il protocollo UDP con l'FB 67 "TUSEND" ................................................... 514
24.13 Ricezione di dati tramite il protocollo UDP con l'FB 68 "TURCV".............................................. 518
24.14 Accoppiamento mediante TCP a un sistema di terzi utilizzando i servizi FETCH
e WRITE forniti dall'FB 210 "FW_TCP" ..................................................................................... 522
24.15 Accoppiamento mediante ISO on TCP a un sistema di terzi utilizzando i servizi FETCH
e WRITE forniti dall'FB 220 "FW_IOT" ...................................................................................... 523
25 Creazione di segnalazioni riferite ai blocchi 525
25.1 Introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB ................................ 525
25.2 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma
con l'SFB 36 "NOTIFY" .............................................................................................................. 529
25.3 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma
con l'SFB 31 "NOTIFY_8P"........................................................................................................ 532
25.4 Creazione di segnalazioni riferite ai blocchi con visualizzazione della conferma
con l'SFB 33 "ALARM" ............................................................................................................... 535
25.5 Creazione di segnalazioni riferite ai blocchi con variabili per otto segnali con l'SFB 35
"ALARM_8P" .............................................................................................................................. 538
25.6 Creazione di segnalazioni riferite ai blocchi senza variabili per otto segnali con l'SFB 34
"ALARM_8" ................................................................................................................................ 541

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


342 Manuale di riferimento, 04/2017, A5E41911986-AA
Indice del contenuto

25.7 Trasmissione di dati di archivio con l'SFB 37 "AR_SEND" ........................................................ 544


25.8 Inibizione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni
cumulative tecnologiche con la SFC 10 "DIS_MSG" ................................................................. 547
25.9 Abilitazione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni cumulative
tecnologiche con la SFC 9 "EN_MSG" ...................................................................................... 549
25.10 Comportamento all'avviamento degli SFB per la creazione di segnalazioni riferite
ai blocchi .................................................................................................................................... 551
25.11 Comportamento in caso di disturbo degli SFB per la creazione di segnalazioni riferite
ai blocchi .................................................................................................................................... 552
25.12 Introduzione alla creazione di segnalazioni riferite ai blocchi con le SFC ................................. 553
25.13 Creazione di segnalazioni confermabili riferite ai blocchi con la SFC 17 "ALARM_SQ"
e di segnalazioni riferite ai blocchi sempre confermate con la SFC 18 "ALARM_S" ................ 556
25.14 Rilevamento dello stato di conferma dell'ultima segnalazione ALARM_SQ/ALARM_DQ
arrivata con la SFC 19 "ALARM_SC" ........................................................................................ 560
25.15 Creazione di segnalazioni confermabili e sempre confermate riferite ai blocchi
con le SFC 107 "ALARM_DQ" e 108 "ALARM_D" .................................................................... 562
25.16 Lettura di risorse di sistema a occupazione dinamica con la SFC 105 "READ_SI" .................. 565
25.17 Abilitazione di risorse di sistema a occupazione dinamica con la SFC 106 "DEL_SI" .............. 569
26 Temporizzatore IEC e contatore IEC 571
26.1 Creazione di un impulso con l'SFB 3 "TP" ................................................................................. 571
26.2 Creazione di ritardo all'inserzione con l'SFB 4 "TON" ............................................................... 573
26.3 Creazione di ritardo alla disinserzione con l'SFB 5 "TOF" ......................................................... 575
26.4 Conteggio in avanti con l'SFB 0 "CTU" ...................................................................................... 577
26.5 Conteggio all'indietro con l'SFB 1 "CTD" ................................................................................... 578
26.6 Conteggio in avanti e all'indietro con l'SFB 2 "CTUD" ............................................................... 579
27 Funzioni IEC 581
27.1 Sommario ................................................................................................................................... 581
27.2 Dati tecnici relativi alle funzioni IEC ........................................................................................... 583
27.3 Data e ora come tipi di dati composti ......................................................................................... 585
27.4 Funzioni orologio ........................................................................................................................ 586
27.5 Confronto tra variabili DATE_AND_TIME .................................................................................. 590
27.6 Modifica della variabile STRING ................................................................................................ 593
27.7 Confronto tra variabili STRING .................................................................................................. 598
27.8 Conversione dei formati ............................................................................................................. 601
27.9 Modifica dei valori numerici........................................................................................................ 604
28 SFB per la regolazione integrata 609
28.1 Regolazione continua con l'SFB 41/FB 41 "CONT_C" .............................................................. 609
28.2 Regolazione a passi con l'SFB 42/FB 42 "CONT_S" ................................................................ 617
28.3 Formazione di impulsi con l'SFB 43/FB 43 "PULSEGEN"......................................................... 624
28.4 Esempio con un blocco PULSEGEN ......................................................................................... 636

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 343
Indice del contenuto

29 SFB per CPU compatte 641


29.1 Posizionamento con uscita analogica con l'SFB 44 "Analogico" ............................................... 641
29.2 Posizionamento con uscita digitale con l'SFB 46 "Digitale" ....................................................... 658
29.3 Comando del contatore con l'SFB 47 "COUNT" ........................................................................ 673
29.4 Comando della misurazione della frequenza con l'SFB 48 "FREQUENC" ............................... 679
29.5 Comando della modulazione dell'ampiezza degli impulsi con l'SFB 49 "PULSE" ..................... 684
29.6 Invio di dati (ASCII, 3964(R)) con l'SFB 60 "SEND_PTP" ......................................................... 687
29.7 Ricezione di dati (ASCII, 3964(R)) con l'SFB 61 "RCV_PTP" ................................................... 690
29.8 Cancellazione del buffer ricevente (ASCII, 3964(R)) con l'SFB 62 "RES_RCVB" .................... 693
29.9 Invio di dati (RK 512) con l'SFB 63 "SEND_RK" ....................................................................... 695
29.10 Prelievo di dati (RK 512) con l'SFB 64 "FETCH RK" ................................................................. 700
29.11 Ricezione e messa a disposizione di dati (RK 512) con l'SFB 65 "SERVE_RK" ...................... 706
29.12 Ulteriori informazioni di errore degli SFB da 60 a 65 ................................................................. 711
30 SFC per le CPU H 719
30.1 Influenza delle sequenze nei sistemi H con la SFC 90 "H_CTRL" ............................................ 719
31 Funzioni integrate (per CPU con ingressi/uscite integrati) 725
31.1 SFB 29 (HS_COUNT) ................................................................................................................ 725
31.2 SFB 30 (FREQ_MES) ................................................................................................................ 727
31.3 SFB 38 (HSC_A_B) ................................................................................................................... 728
31.4 SFB 39 (POS) ............................................................................................................................ 729
32 Tecnica delle materie plastiche 731
32.1 SFC 63 (AB_CALL) .................................................................................................................... 731
33 Dati di diagnostica 733
33.1 Panoramica della struttura dei dati di diagnostica ..................................................................... 733
33.2 Dati di diagnostica ...................................................................................................................... 734
33.3 Struttura dei dati di diagnostica specifici del canale .................................................................. 737
34 Lista di stato di sistema SZL 741
34.1 Panoramica della lista di stato di sistema (SZL) ........................................................................ 741
34.2 Struttura di una lista parziale SZL .............................................................................................. 742
34.3 ID SZL ....................................................................................................................................... 743
34.4 Liste parziali SZL possibili .......................................................................................................... 744
34.5 ID SZL W#16#xy11 - Identificazione di unità ............................................................................ 745
34.6 ID SZL W#16#xy12 - Caratteristiche della CPU ....................................................................... 746
34.7 ID SZL W#16#xy13 - Aree di memoria utente .......................................................................... 749
34.8 ID SZL W#16#xy14 - Aree di sistema ....................................................................................... 751
34.9 ID SZL W#16#xy15 - Tipi di blocchi .......................................................................................... 753
34.10 ID SZL W#16#xy1C - Identificazione di un componente ........................................................... 754
34.11 ID SZL W#16#xy22 – Stato degli allarmi ................................................................................... 760
34.12 ID SZL W#16#xy25 - Associazione tra immagini di processo parziali e OB ............................. 763
34.13 ID SZL W#16#xy32 - Dati di stato della comunicazione ........................................................... 766
34.14 Set di dati dell'estratto della lista parziale con ID SZL W#16#0132 Indice W#16#0005 ......... 767
34.15 Set di dati dell'estratto della lista parziale con ID SZL W#16#0132 Indice W#16#0008 ......... 768
34.16 Set di dati dell’estratto della lista parziale con ID SZL W#16#0132 Indice W#16#000B........... 770
34.17 Set di dati dell’estratto della lista parziale con ID SZL W#16#0132 Indice W#16#000C .......... 771
34.18 Set di dati dell'estratto della lista parziale con ID SZL W#16#0232 Indice W#16#0004 ........... 772
34.19 ID SZL W#16#xy71 - Informazione cumulativa della CPU H .................................................... 774
34.20 ID SZL W#16#xy74 - Stato dei LED dell'unità .......................................................................... 777

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


344 Manuale di riferimento, 04/2017, A5E41911986-AA
Indice del contenuto

34.21 ID SZL W#16#xy75 - Slave DP connessi nel sistema H / IO-Device ........................................ 780
34.22 ID SZL W#16#xy90 - Informazioni sul sistema master DP ........................................................ 782
34.23 ID SZL W#16#xy91 - Informazione sullo stato delle unità ........................................................ 784
34.24 ID SZL W#16#xy92 - Informazione sullo stato del telaio di montaggio/della stazione ............. 791
34.25 ID SZL W#16#0x94 – Telaio di montaggio / informazione di stato della stazione .................... 795
34.26 SZL-ID W#16#xy95 - Informazioni supplementari sul sistema master DP / PROFINET IO...... 797
34.27 ID SZL W#16#xy96 – Informazioni sullo stato delle unità PROFINET IO e PROFIBUS DP..... 800
34.28 ID SZL W#16#xy9C - Informazioni sui commutatori (PROFINET IO) ....................................... 803
34.29 ID SZL W#16#xyA0 - Buffer di diagnostica .............................................................................. 807
34.30 ID SZL W#16#00B1 - Informazione di diagnostica unità .......................................................... 808
34.31 ID SZL W#16#00B2 - Set di dati di diagnostica1 tramite indirizzo fisico .................................. 810
34.32 ID SZL W#16#00B3 - Dati di diagnostica unità tramite indirizzo di base logico ....................... 811
34.33 ID SZL W#16#00B4 - Dati di diagnostica di uno slave DP ........................................................ 812
35 Eventi 813
35.1 Eventi e ID di evento .................................................................................................................. 813
35.2 Classe di evento 1 - Eventi di OB standard ............................................................................... 814
35.3 Classe di evento 2 - Eventi di errore di sincronismo.................................................................. 815
35.4 Classe di evento 3 - Eventi di errore di asincronismo................................................................ 816
35.5 Classe di evento 4 - Eventi di stop ed altri passaggi tra diversi stati di funzionamento ............ 819
35.6 Classe di evento 5 - Elaborazione stati di funzionamento ......................................................... 823
35.7 Classe di evento 6 - Eventi di comunicazione ........................................................................... 824
35.8 Classe di evento 7 - Eventi H/F ................................................................................................. 826
35.9 Classe di evento 8 - Eventi di diagnostica per unità .................................................................. 829
35.10 Classe di evento 9 - Eventi utente standard .............................................................................. 831
35.11 Classe di evento A e B - Eventi utente liberi .............................................................................. 833
35.12 Classe di evento riservata .......................................................................................................... 833
36 Lista delle SFC e degli SFB 835
36.1 Lista delle SFC, in ordine numerico ........................................................................................... 835
36.2 Lista delle SFC, in ordine alfabetico .......................................................................................... 838
36.3 Lista degli SFB, in ordine numerico ........................................................................................... 841
36.4 Lista degli SFB, in ordine alfabetico........................................................................................... 843
Bibliografia 845

Glossario 847

Indice analitico 865

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 345
Indice del contenuto

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


346 Manuale di riferimento, 04/2017, A5E41911986-AA
19 FB per l'accesso ciclico ai dati utili secondo PNO

19.1 Introduzione agli FB per l'accesso ciclico ai dati utili secondo PNO
Panoramica
Gli FB per l'accesso ciclico ai dati utili secondo PNO consistono nei seguneti blocchi (il cui significato
è spiegato in parentesi):
• FB 20 "GETIO" (lettura di tutti gli ingressi di uno slave DP standard /PROFINET IO Device)
• FB 21 "SETIO" (scrittura di tutte le uscite di uno slave DP standard /PROFINET IO Device)
• FB 22 "GETIO_PART" (lettura di una parte degli ingressi di uno slave DP standard /PROFINET
IO Device)
• FB 23 "SETIO_PART" (scrittura di una parte delle uscite di uno slave DP standard /PROFINET
IO Device)

Interfacce degli FB per l'accesso ciclico ai dati utili secondo PNO


Le interfacce degli FB sopracitati sono identiche agli FB omonimi definiti nella Norma "PROFIBUS
and PROFINET Communication Function Blocks on PROFIBUS DP and PROFINET IO

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 347
FB per l'accesso ciclico ai dati utili secondo PNO
19.2 Lettura di tutti gli ingressi di uno slave DP standard /PROFINET IO Device tramite l'FB 20 "GETIO"

19.2 Lettura di tutti gli ingressi di uno slave DP standard /PROFINET IO


Device tramite l'FB 20 "GETIO"

Descrizione
L'FB 20 "GETIO" consente la lettura coerente di tutti gli ingressi di uno slave DP standard
/PROFINET IO Device. L'FB 20 richiama per questo scopo l'SFC 14 "DPRD_DAT". Se la
trasmissione dati avviene correttamente, i dati letti vengono inseriti nell'area di destinazione creata
da INPUTS.
La lunghezza dell'area di destinazione deve essere identica a quella progettata in STEP 7 per il
componente selezionato.
Utilizzando uno slave DP standard a struttura modulare o dotato di più identificativi DP, è possibile,
con un singolo richiamo dell'FB 20, accedere di volta in volta soltanto ai dati di un componente o ad
un identificativo DP nell'ambito degli indirizzi iniziali progettati.

Parametri Dichiara Tipo di Area di memoria Descrizione


zione dati
ID INPUT DWORD E, A, M, D, L, Cost.. • Low word: indirizzo logico degli slave DP
/dei componenti PROFINET IO (unità o
modulo)
• High word: non di rilievo
STATUS OUTPUT DWORD E, A, M, D, L Contiene l'informazione di errore dell'SFC 14
"DPRD_DAT" nel formato DW#16#40xxxx00
LEN OUTPUT INT E, A, M, D, L Numero dei dati letti in byte
INPUTS IN_OUT ANY E, A, M, D Area di destinazione dei dati letti. La lunghezza
di quest'area deve essere identica a quella
progettata in STEP 7 per gli slave DP / per i
componenti PROFINET IO selezionati. È
consentito soltanto il tipo di dati BYTE.

Informazioni di errore
Vedere Lettura di dati coerenti di uno slave standard DP/PROFINET IO Device con l'SFC 14
"DPRD_DAT" .

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


348 Manuale di riferimento, 04/2017, A5E41911986-AA
FB per l'accesso ciclico ai dati utili secondo PNO
19.3 Scrittura di tutte le uscite di uno slave DP standard /PROFINET IO Device con l'FB 21 "SETIO"

19.3 Scrittura di tutte le uscite di uno slave DP standard /PROFINET IO


Device con l'FB 21 "SETIO"

Descrizione
L'FB 21 "SETIO" consente il trasferimento coerente dei dati dall'area sorgente creata da OUTPUTS
allo slave DP standard / PROFINET IO Device indirizzati ed eventualmente all'immagine di
processo (nel caso in cui l'area indirizzi interessata dello slave DP standard sia stata progettata
come area coerente in un'immagine di processo). L'FB 21 richiama per questo scopo l'SFC 15
"DPWR_DAT".
La lunghezza dell'area sorgente deve essere identica a quella progettata in STEP 7 per il
componente selezionato.
Utilizzando uno slave DP standard a struttura modulare o dotato di più identificativi DP, è possibile,
con un singolo richiamo dell'FB 20, accedere soltanto ad un componente o ad un identificativo dello
slave DP.

Parametri Dichiara Tipo di Area di memoria Descrizione


zione dati
ID INPUT DWORD E, A, M, D, L, Cost.. • Low word: indirizzo logico degli slave DP
/dei componenti PROFINET IO (unità o
modulo)
• High word: non di rilievo
LEN INPUT INT E, A, M, D, L Non di rilievo
STATUS OUTPUT DWORD E, A, M, D, L Contiene l'informazione di errore dell'SFC 15
"DPWR_DAT" nel formato DW#16#40xxxx00
OUTPUTS IN_OUT ANY E, A, M, D Area sorgente die dati da scrivere. La lunghezza
di quest'area deve essere identica a quella
progettata in STEP 7 per gli slave DP / per i
componenti PROFINET IO selezionati. È
consentito soltanto il tipo di dati BYTE.

Informazioni di errore
Vedere Scrittura coerente di dati utili ad uno slave standard DP/PROFINET IO Device con l'SFC 15
"DPWR_DAT".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 349
FB per l'accesso ciclico ai dati utili secondo PNO
19.4 Lettura di una parte degli ingressi di uno slave DP standard /PROFINET IO Device con l'FB 22
"GETIO_PART"

19.4 Lettura di una parte degli ingressi di uno slave DP standard


/PROFINET IO Device con l'FB 22 "GETIO_PART"

Descrizione
L'FB 22 "GETIO_PART" consente la lettura coerente dell'area di un'immagine di processo
appartenente ad uno slave DP standard / PROFINET IO Device. L'FB 22 richiama per questo scopo
l'SFC 81 "UBLKMOV".

Avvertenza
Assegnare un'immagine di processo parziale degli ingressi all'OB nel quale viene richiamato l'FB 22
"GETIO_PART". È inoltre necessario, prima del richiamo dell'FB 22, acquisire il relativo slave DP
standard o il relativo PROFINET IO Device nell'immagine di processo parziale degli ingressi. Se la
CPU non conosce le immagini di processo parziali o se si intende richiamare l'FB 22 nell'OB 1, è
necessario, prima di procedere al richiamo dell'FB 22, acquisire il relativo slave DP standard o il
relativo PROFINET IO Device nell'immagine di processo degli ingressi

I parametri OFFSET e LEN consentono di stabilire quale la parte dell'area dell'immagine di processo
dei componenti indirizzati tramite l'ID debba essere letta.
Se la trasmissione dati si è conclusa correttamente, al parametro ERROR viene assegnato il valore
FALSE e i dati letti vengono inseriti nell'area di destinazione creata da INPUTS.
Se durante la trasmissione dati si sono verificati errori, al parametro ERROR viene assegnato il
valore TRUE e nel parametro STATUS viene inoltrata l'informazione di errore dell'SFC 81
"UBLKMOV".
Se l'area di destinazione (parametro INPUTS) è inferiore a LEN, vengono trasmessi tanti byte quanti
è in grado di riceverne il parametro INPUTS. Al parametro ERROR viene assegnato il valore FALSE.
Se l'area di destinazione è superiore a LEN, vengono scritti i primi byte LEN dell'area di
destinazionne. Al parametro ERROR viene assegnato il valore FALSE.

Avvertenza
Nell'immagine di processo degli ingressi, l'FB 22 "GETIO_PART" non effettua il controllo dei limiti tra
i dati appartenenti ai diversi componenti PROFIBUS-DP e PROFINET IO. È pertanto compito
dell'utente accertarsi che l'area dell'immagine di processo determinata tramite i parametri OFFSET e
LEN appartenga ad un componente univoco. Una lettura globale dei dati dei componenti, in grado di
operare una distinzione di appartenenza degli stessi, non può essere garantita nel sistemi futuri. La
trasferibilità in sistemi di altri costruttori viene quindi compromessa.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


350 Manuale di riferimento, 04/2017, A5E41911986-AA
FB per l'accesso ciclico ai dati utili secondo PNO
19.4 Lettura di una parte degli ingressi di uno slave DP standard /PROFINET IO Device con l'FB 22 "GETIO_PART"

Parametri Dichiara Tipo di Area di memoria Descrizione


zione dati
ID INPUT DWORD E, A, M, D, L, Cost.. Low word: indirizzo logico degli slave DP /dei
componenti PROFINET IO (unità o modulo)
High word: non di rilievo
OFFSET INPUT INT E, A, M, D, L, Cost.. Numero dei primi byte che devono essere letti
nell'immagine di processo del componente
(valore minimo: 0)
LEN INPUT INT E, A, M, D, L, Cost.. Numero dei byte da leggere
STATUS OUTPUT DWORD E, A, M, D, L Contiene l'informazione di errore dell'SFC 81
"UBLKMOV" nel formato DW#16#40xxxx00, se
ERROR = TRUE
ERROR OUTPUT BOOL E, A, M, D, L Segnalazione di errore:
ERROR = TRUE, se al richiamo dell'SFC 81
"UBLKMOV" si verifica un errore.
INPUTS IN_OUT ANY E, A, M, D Area di destinazione dei dati letti:
• Se l'area di destinazione è inferiore a LEN,
vengono trasmessi tanti byte quanti è in
grado di riceverne il parametro INPUTS. Al
parametro ERROR viene assegnato il
valore FALSE
• Se l'area di destinazione è superiore a LEN,
vengono scritti i primi byte LEN dell'area di
destinazionne. Al parametro ERROR viene
assegnato il valore FALSE.

Informazioni di errore
Vedere Copia della variabile senza interruzioni con la SFC 81 "UBLKMOV".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 351
FB per l'accesso ciclico ai dati utili secondo PNO
19.5 Scrittura di una parte delle uscite di uno slave DP standard /PROFINET IO Device con l'FB 23
"SETIO_PART"

19.5 Scrittura di una parte delle uscite di uno slave DP standard


/PROFINET IO Device con l'FB 23 "SETIO_PART"

Descrizione
L'FB 23 "SETIO_PART" consente il trasferimento coerente di dati dall'area sorgente creata dal
parametro OUTPUTS ad una parte dell'area dell'immagine di processo appartenente ad uno slave
DP standard / PROFINET IO Device. L'FB 23 richiama per questo scopo l'SFC 81 "UBLKMOV".

Avvertenza
Assegnare un'immagine di processo parziale delle uscite all'OB nel quale viene richiamato l'FB 23
"SETIO_PART". È inoltre necessario, prima del richiamo dell'FB 23, acquisire il relativo slave DP
standard o il relativo PROFINET IO Device nell'immagine di processo parziale delle uscite. Se la
CPU non conosce le immagini di processo parziale o se si intende richiamare l'FB 23 nell'OB 1, è
necessario, prima di procedere al richiamo dell'FB 23, acquisire il relativo slave DP standard o il
relativo PROFINET IO Device nell'immagine di processo delle uscite

I parametri OFFSET e LEN consentono di stabilire in quale parte dell'area dell'immagine di processo
dei componenti indirizzati tramite l'ID debba avvenire la scrittura.
Se la trasmissione dati si è conclusa correttamente, al parametro ERROR viene assegnato il valore
FALSE.
Se durante la trasmissione dati si sono verificati errori, al parametro ERROR viene assegnato il
valore TRUE e nel parametro STATUS viene inoltrata l'informazione di errore dell'SFC 81
"UBLKMOV".
Se l'area sorgente (parametro OUTPUTS) è inferiore a LEN, vengono trasmessi tanti byte quanti ne
aono contenuri nel parametro OUTPUTS. Al parametro ERROR viene assegnato il valore FALSE.
Se l'area sorgente è superiore a LEN, vengono trasferiti i primi byte LEN dal parametro OUTPUTS.
Al parametro ERROR viene assegnato il valore FALSE.

Avvertenza
Nell'immagine di processo della uscite, l'FB 23 "SETIO_PART" non effettua il controllo dei limiti tra i
dati appartenenti ai diversi componenti PROFIBUS-DP e PROFINET IO. È pertanto compito
dell'utente accertarsi che l'area dell'immagine di processo determinata tramite i parametri OFFSET e
LEN appartenga ad un componente univoco. Una scrittura globale dei dati dei componenti, in grado
di operare una distinzione di appartenenza degli stessi, non può essere garantita nel sistemi futuri.
La trasferibilità in sistemi di altri costruttori viene quindi compromessa.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


352 Manuale di riferimento, 04/2017, A5E41911986-AA
FB per l'accesso ciclico ai dati utili secondo PNO
19.5 Scrittura di una parte delle uscite di uno slave DP standard /PROFINET IO Device con l'FB 23 "SETIO_PART"

Parametri Dichiara Tipo di Area di memoria Descrizione


zione dati
ID INPUT DWORD E, A, M, D, L, Cost.. • Low word: indirizzo logico degli slave DP
/dei componenti PROFINET IO (unità o
modulo)
• High word: non di rilievo
OFFSET INPUT INT E, A, M, D, L, Cost.. Numero dei primi byte che devono essere scritti
nell'immagine di processo del componente
(valore minimo: 0)
LEN INPUT INT E, A, M, D, L, Cost.. Numero dei byte da scrivere
STATUS OUTPUT DWORD E, A, M, D, L Contiene l'informazione di errore dell'SFC 81
"UBLKMOV" nel formato DW#16#40xxxx00, se
ERROR = TRUE
ERROR OUTPUT BOOL E, A, M, D, L Segnalazione di errore:
ERROR = TRUE, se al richiamo dell'SFC 81
"UBLKMOV" si verifica un errore.
OUTPUTS IN_OUT ANY E, A, M, D Area sorgente die dati da scrivere:
• Se l'area sorgente è inferiore a LEN,
vengono trasmessi tanti byte quanti ne sono
contenuri nel parametro OUTPUTS. Al
parametro ERROR viene assegnato il
valore FALSE
• Se l'area sorgente è superiore a LEN,
vengono trasferiti i primi byte LEN dal
parametro OUTPUTS. Al parametro
ERROR viene assegnato il valore FALSE.

Informazioni di errore
Vedere Copia della variabile senza interruzioni con la SFC 81 "UBLKMOV".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 353
FB per l'accesso ciclico ai dati utili secondo PNO
19.5 Scrittura di una parte delle uscite di uno slave DP standard /PROFINET IO Device con l'FB 23
"SETIO_PART"

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


354 Manuale di riferimento, 04/2017, A5E41911986-AA
20 SFC per la comunicazione di dati globali

20.1 Trasmissione programmata di un blocco GD con la SFC 60


"GD_SND"

Descrizione
Con la SFC 60 "GD_SND" (global data send) vengono raccolti i dati di un blocco GD, i quali vengono
poi trasmessi sul percorso definito nello stesso blocco GD. Il blocco GD deve essere progettato
precedentemente con STEP 7.
La SFC 60 "GD_SND" può essere richiamata in un qualsiasi punto del programma utente.
Il conteggio di scansione nonché la raccolta sistematica e la trasmissione dei dati al punto di controllo
del ciclo non vengono influenzati dai richiami della SFC 60.

Interruzione della funzione


La SFC 60 "GD_SND" può essere interrotta da livelli di esecuzione di priorità più elevata. È anche
possibile il caso in cui, nel livello di esecuzione a priorità più elevata, la SFC 60 venga richiamata di
nuovo per lo stesso blocco GD.
Nel livello a priorità più elevata vengono quindi raccolti e trasmessi i dati. Al ritorno nella
SFC interrotta, quest'ultima viene subito terminata e i dati qui raccolti vengono annullati.
Questo tipo di procedura garantisce che i dati presenti nell'elaborazione del livello a priorità più
elevata vengano trasmessi in modo coerente (in modo concorde alla definizione di coerenza come
definita per i dati globali).

Coerenza dei dati per GD


In riferimento alla coerenza dei dati raccolti dalle rispettive aree di memoria e poi così trasmessi vale
ciò che segue:
Coerenti sono
• i tipi di dati semplici (bit, byte, parola e doppia parola)
• un array del tipo di dati byte, parola e doppia parola fino ad una lunghezza specifica della
rispettiva CPU in ricezione.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 355
SFC per la comunicazione di dati globali
20.1 Trasmissione programmata di un blocco GD con la SFC 60 "GD_SND"

Garanzia di coerenza per l'intero blocco GD


Un blocco GD della CPU di trasmissione ha un struttura tale che non è possibile garantire a priori che
i dati raccolti siano coerenti, così come per esempio nel caso in cui il blocco GD sia formato da un
array di byte e il numero di byte superi la lunghezza massima ammessa per la CPU utilizzata.
Se tuttavia si richiede la coerenza dell'intero blocco GD, è necessario procedere nel seguente modo:
• Inibire o ritardare la presenza di eventi di allarme o di errori di asincronismo a priorità più elevata
con il richiamo della SFC 39 "DIS_IRT" o della SFC 41 "DIS_AIRT".
• Richiamare la SFC 60 "GD_SND".
• Abilitare di nuovo gli eventi di allarme o di errori di asincronismo a priorità più elevata (con il
richiamo della SFC 40 "EN_IRT" o SFC 42 "EN_AIRT").

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
CIRCLE_ID INPUT BYTE E, A, M, D, L, cost. Numero del circolo GD in cui si trova il blocco
GD da trasmettere. Questo numero viene
preimpostato da STEP 7 nella progettazione
dei dati globali.
Valori ammessi: da 1 a 16. Il numero max. di
circoli GD ammessi è riportato nei dati tecnici
della CPU utilizzata.
BLOCK_ID INPUT BYTE E, A, M, D, L, cost. Numero del blocco GD da trasmettere situato
nel circolo GD selezionato. Questo numero
viene preimpostato da STEP 7 durante la
progettazione dei dati globali.
Valori ammessi: da 1 a 3. Il numero max. di
circoli GD ammessi è riportato nei dati tecnici
della CPU utilizzata.
RET_VAL OUTPUT INT E, A, M, D, L Informazione sull'errore

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


356 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la comunicazione di dati globali
20.1 Trasmissione programmata di un blocco GD con la SFC 60 "GD_SND"

Informazioni di errore

Codice di Spiegazione
errore
(W#16#...)
0000 Nessun errore.
8081 Il blocco GD selezionato tramite i parametri CIRCLE_ID e BLOCK_ID non è progettato.
8082 Valore non ammesso per il parametro CIRCLE_ID o BLOCK_ID o in entrambi i parametri.
8083 Si è verificato un errore durante l'esecuzione della SFC. Questo tipo di errore è memorizzato
nella variabile progettata per l'informazione di stato. Quest'ultima può essere analizzata dal
programma.
8084 L'elaborazione della SFC è terminata prima del tempo perché la SFC 60 è stata richiamata
per lo stesso blocco GD in un livello di esecuzione di priorità più elevata (vedere "Interruzione
della funzione").
8085 Si è verificato un errore nella registrazione dell'informazione di stato nella rispettiva variabile
progettata.
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL

Avvertenza
Dopo ogni richiamo della SFC 60 si deve analizzare lo stato del rispettivo blocco GD ed
eventualmente resettarlo.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 357
SFC per la comunicazione di dati globali
20.2 Rilevamento programmato di un blocco GD ricevuto con la SFC 61 "GD_RCV"

20.2 Rilevamento programmato di un blocco GD ricevuto con la SFC 61


"GD_RCV"

Descrizione
Con la SFC 61 "GD_RCV" (global data receive) vengono ritirati i dati stabiliti esattamente per un
blocco GD di un telegramma GD ricevuto e registrati nel blocco GD di ricezione. Quest'ultimo deve
essere stato progettato con STEP 7.
La SFC 61 "GD_RCV" può essere richiamata in un qualsiasi punto del programma utente.
Il conteggio di scansione nonché il ritiro dei dati da parte del sistema al punto di controllo del ciclo non
vengono influenzati dai richiami della SFC 61.

Interruzione della funzione


La SFC 61 può essere interrotta da livelli di esecuzione di priorità più elevata, ma sempre in modo
tale che la coerenza definita per i dati globali rimanga invariata. In un'interruzione di questo genere,
può accadere che, nel livello di esecuzione a priorità più elevata, la SFC 61 può essere richiamata di
nuovo per lo stesso blocco GD.
Nel livello a priorità più elevata i dati vengono quindi raccolti nel blocco GD di ricezione. Al ritorno
nella SFC interrotta, quest'ultima viene subito terminata.

Coerenza dei dati per GD


In riferimento alla coerenza dei dati raccolti dalle rispettive aree di memoria e poi così trasmessi vale
ciò che segue:
Coerenti sono
• i tipi di dati semplici (bit, byte, parola e doppia parola)
• un array del tipo di dati byte, parola e doppia parola fino ad una lunghezza specifica della
rispettiva CPU in ricezione.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


358 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per la comunicazione di dati globali
20.2 Rilevamento programmato di un blocco GD ricevuto con la SFC 61 "GD_RCV"

Garanzia di coerenza per l'intero blocco GD


Un blocco GD in una CPU in ricezione ha un struttura tale che non è possibile garantire a priori che i
dati provengano sempre dallo stesso telegramma, come ad esempio, quando il blocco GD è formato
da tre elementi GD.
Se tuttavia si richiede la coerenza dell'intero blocco GD di ricezione, è necessario procedere nel
seguente modo:
• Inibire o ritardare la presenza di eventi di allarme o di errori di asincronismo a priorità più elevata
con il richiamo della SFC 39 "DIS_IRT" o SFC 41 "DIS_AIRT".
• Richiamare la SFC 61 "GD_RCV".
• Abilitare di nuovo gli eventi di allarme o di errori di asincronismo a priorità più elevata (con il
richiamo della SFC 40 "EN_IRT" o SFC 42 "EN_AIRT").

Parametri Dichiaraz- Tipo di Area di Descrizione


ione dati memoria
CIRCLE_ID INPUT BYTE E, A, M, D, L, cost. Numero del circolo GD in cui deve essere
registrato il blocco GD entrante. Questo
numero viene preimpostato da STEP 7
durante la progettazione dei dati globali.
Valori ammessi: da 1 a 16. Il numero max. di
circoli GD ammessi è riportato nei dati tecnici
della CPU utilizzata.
BLOCK_ID INPUT BYTE E, A, M, D, L, cost. Numero del blocco GD nel circolo GD
selezionato in cui i dati entranti devono
essere registrati. Questo numero viene
preimpostato da STEP 7 durante la
progettazione dei dati globali.
Valori ammessi: da 1 a 3. Il numero max. di
circoli GD ammessi è riportato nei dati tecnici
della CPU utilizzata.
RET_VAL OUTPUT INT E, A, M, D, L Informazione sull'errore

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 359
SFC per la comunicazione di dati globali
20.2 Rilevamento programmato di un blocco GD ricevuto con la SFC 61 "GD_RCV"

Informazioni di errore

Codice di errore Spiegazione


(W#16#...)
0000 Nessun errore.
8081 Il blocco GD selezionato tramite i parametri CIRCLE_ID e BLOCK_ID non è progettato.
8082 Valore non ammesso per il parametro CIRCLE_ID o BLOCK_ID o in entrambi i parametri.
8083 Si è verificato un errore durante l'esecuzione della SFC. Questo tipo di errore è
memorizzato nella variabile progettata per l'informazione di stato. Quest'ultima può essere
analizzata dal programma.
8084 L'elaborazione della SFC è terminata prima del tempo perché la SFC 61 è stata richiamata
per lo stesso blocco GD in un livello di esecuzione di priorità più elevata (vedere
"Interruzione della funzione").
8085 Si è verificato un errore nella registrazione dell'informazione di stato nella rispettiva
variabile progettata.
8xyy Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Avvertenza
Dopo ogni richiamo della SFC 61 "GD_RCV" si deve analizzare lo stato del rispettivo blocco GD ed
eventualmente resettarlo.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


360 Manuale di riferimento, 04/2017, A5E41911986-AA
21 Panoramica della comunicazione S7 e della
comunicazione di base S7

21.1 Differenze fra i blocchi di comunicazione S7 e i blocchi di


comunicazione di base S7

Criteri di scelta
Accanto alla comunicazione globale, per lo scambio dati tra CPU/FM di sistemi di automazione
SIMATIC S7 sono a disposizione dell'utente due metodi:
• lo scambio dati mediante la comunicazione di base S7
• lo scambio dati mediante la comunicazione S7
Quale metodo l'utente scelga di utilizzare per i propri compiti dipende sia dal sistema di automazione
della famiglia SIMATIC S7 in uso che da altri parametri dello scambio dati. La seguente tabella
riporta una lista di criteri in base ai quali effettuare la scelta.

Criterio Comunicazione di base S7 Comunicazione S7


Disponibilità dei S7-300 e S7-400 come SFC S7-300: come FB e FC
blocchi S7-400: come SFB e SFC
Collegamenti di Non viene progettato un collegamento. Viene Viene progettato un collegamento in maniera
comunicazione creato al momento di funzionamento della fissa mediante la progettazione di
SFC. Permane al termine del trasferimento collegamenti.
dati oppure viene disattivato, comandato
mediante parametro. Se temporaneamente
non può essere creato alcun collegamento, il
relativo job non può essere inviato
Transizione Alla transizione della CPU che ha avviato un Nello stato di funzionamento STOP il
dello stato di trasferimento dati nello stato di collegamento viene mantenuto.
funzionamento funzionamento STOP, tutti i collegamenti da
a STOP essa creati vengono disattivati.
Più collegamenti In ogni momento c'è al massimo un Si possono creare più collegamenti ad uno
ad un partner di collegamento ad un partner di stesso partner di comunicazione.
comunicazione comunicazione.
Spazio di Indirizzamento di unità nella propria stazione Indirizzamento di unità sulla sotto-rete MPI,
indirizzamento S7 oppure sulla sotto-rete MPI. sul PROFIBUS oppure sull'Industrial
Ethernet

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 361
Panoramica della comunicazione S7 e della comunicazione di base S7
21.1 Differenze fra i blocchi di comunicazione S7 e i blocchi di comunicazione di base S7

Criterio Comunicazione di base S7 Comunicazione S7


Numero di Il numero dei partner di comunicazione Il numero dei partner di comunicazione
partner di accessibili in successione non si limita al accessibili contemporaneamente è limitata al
comunicazione numero delle risorse di collegamento (vedere numero delle risorse di collegamento.
/70/, /101/). (Durante il tempo di Dipende dalla CPU in uso (vedere /70/,
funzionamento del programma, i /101/).
collegamenti possono essere creati e
nuovamente disattivati).
Lunghezza dati Viene garantita solo una lunghezza di dati La lunghezza massima trasferibile di dati utili
utili massima utili pari a 76 byte. dipende dal tipo di blocco (USEND / URCV,
GET ecc.) e dal partner di comunicazione
(S7-300 o S7-400).
Numero delle Si può trasferire solo una variabile. • S7-300: una variabile
variabili • S7-400: max. quattro variabili
trasferibili al
richiamo di un
blocco
Classificazione Le SFC di comunicazione di base S7 sono Gli SFB di comunicazione S7 sono blocchi
dei blocchi funzioni di sistema e non necessitano quindi funzionali di sistema e necessitano quindi di
di alcuna memoria utente un DB di istanza per i parametri attuali ed i
dati statici.
Modifica È possibile una modifica dinamica del Non è possibile una modifica dinamica del
dinamica dei parametro di indirizzamento. Al termine del parametro di indirizzamento. Con il primo
parametri di job in corso si possono interpellare altri richiamo del blocco, viene stabilito il
indirizzamento partner di comunicazione. collegamento con il partner di comunicazione
e cioè fino al prossimo nuovo avviamento
(avviamento a caldo) o all'avviamento a
freddo.

Realizzazione della norma IEC 61131-5 con S7-400


I seguenti blocchi consentono di realizzare quanto previsto nella norma IEC 61131-5:
• USEND(SFB8)/URCV(SFB9)
• BSEND(SFB12)/BRCV(SFB13)
• PUT(SFB15)/GET(SFB14) corrisponde a READ/WRITE
• STATUS(SFB22)/USTATUS(SFB23)
• ALARM(SFB33)
• NOTIFY(SFB36)
START(SFB19), STOP(SFB20) e RESUME (SFB21) realizzano un'interfaccia di richiamo per le
funzioni di controllo del programma.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


362 Manuale di riferimento, 04/2017, A5E41911986-AA
Panoramica della comunicazione S7 e della comunicazione di base S7
21.1 Differenze fra i blocchi di comunicazione S7 e i blocchi di comunicazione di base S7

Realizzazione della norma IEC 61131-5 con S7-300


I seguenti blocchi consentono di realizzare quanto previsto nella norma IEC 61131-5:
• USEND(FB8)/URCV(FB9)
• BSEND(FB12)/BRCV(FB13)
• PUT(FB15)/GET(FB14) corrisponde a READ/WRITE
• USEND_E(FB28)/URCV_E(FB29)
• PUT_E(FB35)/GET_E(FB34) corrisponde a READ/WRITE

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 363
Panoramica della comunicazione S7 e della comunicazione di base S7
21.2 Coerenza dei dati

21.2 Coerenza dei dati

Definizione
La dimensione dell'area di dati non modificabile contemporaneamente da processi simultanei, viene
definita area dei dati coerenti. Un'area dati le cui dimensioni superano la coerenza dei dati può quindi
essere danneggiata nella loro interezza.
Ciò significa che un'area di dati contigua con una dimensione superiore all'area coerente dati, in
alcuni momenti può essere parzialmente costituita da blocchi di dati coerenti nuovi e vecchi.

Esempio
Si può avere, ad esempio, un'incoerenza se un blocco di comunicazione viene interrotto da un OB di
interrupt di processo con priorità superiore. Se il programma utente modifica i dati
dell'OB parzialmente già elaborati dal blocco di comunicazione, i dati trasferiti saranno:
• in parte precedenti all'elaborazione dell'interrupt di processo
• e in parte successivi all'elaborazione dell'interrupt di processo.
I dati saranno quindi incoerenti (ovvero non contigui).

Conseguenza
Per trasferire grosse quantità di dati in modo coerente è necessario che il trasferimento non venga
interrotto. Ciò può, ad esempio, determinare un incremento del tempo di reazione all'allarme della
CPU.
Quindi, più estesa è la quantità di dati da trasferire in modo coerente, più aumenta il tempo di
reazione del sistema.

Coerenza dei dati in SIMATIC


Se il programma utente contiene funzioni di comunicazione, quali BSEND/BRCV, che accedono a
dati comuni, è possibile coordinare l'accesso a queste aree di memoria ad es. con il parametro
"DONE". La coerenza dei dati delle aree di comunicazione che viene trasferita localmente mediante
un blocco di comunicazione può essere quindi realizzata nel programma utente.
Con le funzioni di comunicazione S7 quali PUT/GET o lettura/scrittura mediante comunicazione OP,
è necessario tenere conto della dimensione dell'area dati coerente fin dalla
programmazione/progettazione, poiché nel programma utente del dispositivo di destinazione
(server) non è presente un blocco che sincronizzi la comunicazione nel programma utente.
Nelle S7-300 e C7-300 (fa eccezione la CPU 318-2 DP) i dati di comunicazione vengono copiati in
modo coerente nella memoria utente in blocchi di 32 byte nel punto di controllo del ciclo del sistema
operativo. Per le aree di memoria più grandi la coerenza dei dati non viene garantita. Se è necessaria
una coerenza dei dati definita, i dati di comunicazione del programma utente non devono essere
superiori a 32 byte (max 8 byte a seconda della versione).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


364 Manuale di riferimento, 04/2017, A5E41911986-AA
Panoramica della comunicazione S7 e della comunicazione di base S7
21.2 Coerenza dei dati

Nella S7-400 i dati di comunicazione non vengono invece elaborati nel punto di controllo del ciclo, ma
in fasi temporali fisse durante il ciclo del programma. Da parte del sistema viene garantita la
coerenza di una variabile.
A queste aree di comunicazione è possibile accedere in modo coerente, ad esempio da un OP o una
OS, con le funzioni PUT/GET o la lettura/scrittura delle variabili.

Suggerimento
Per ulteriori informazioni sulla coerenza dei dati, consultare la descrizione dei singoli blocchi e il
manuale Comunicazione con SIMATIC.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 365
Panoramica della comunicazione S7 e della comunicazione di base S7
21.3 Informazioni generali sui blocchi di comunicazione S7

21.3 Informazioni generali sui blocchi di comunicazione S7

Classificazione
Per la comunicazione S7 è necessaria una progettazione dei messaggi. Il richiamo delle funzioni di
comunicazione integrate avviene nel programma utente tramite SFB/FB o un'SFC/FC.
Questi blocchi possono essere suddivisi nelle seguenti classi:
• SFB/FB per lo scambio dei dati
• SFB/FB per la modifica degli stati di funzionamento
• SFB per l‘interrogazione dello stato di funzionamento
• SFC/FC per l'interrogazione del collegamento.

Disponibilità dei blocchi di comunicazione S7-300/400


• I blocchi per la S7-400 sono contenuti nella biblioteca "Standard Library".
• I blocchi caricabili per la S7-300 sono contenuti nella biblioteca "SIMATIC_NET_CP" oppure
nella biblioteca "Standard Library" alla voce "Communication Blocks".
Se la CPU S7-300-CPU non dispone di interfaccia Ethernet, per il funzionamento dei blocchi
S7-300 è necessario un CP SIMATIC NET della gamma S7-300. Ulteriori informazioni
sull'argomento sono contenute nella documentazione corrispondente.

Avvertenza
Non tutti gli SFB sono realizzati come FB nella S7-300.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


366 Manuale di riferimento, 04/2017, A5E41911986-AA
Panoramica della comunicazione S7 e della comunicazione di base S7
21.3 Informazioni generali sui blocchi di comunicazione S7

SFB/FB per lo scambio dati


Gli SFB/ FB di comunicazione per lo scambio dei dati servono allo scambio dei dati tra due partner di
comunicazione. A seconda che esista un SFB/FB di comunicazione solo sull'unità locale oppure sia
sull'unità locale che sull'unità remota, si parla di scambio dati a una o a due vie.

Blocchi Blocchi Definizione Breve descrizione


S7-400 S7-300
SFB 8 FB 8 USEND/ Trasferimento rapido e senza conferma dei dati, indipendente
SFB 9 FB 9 URCV dall'elaborazione della funzione di comunicazione (URCV) nel
partner di comunicazione (ad es. messaggi sullo stato di
funzionamento e la manutenzione). I dati possono essere quindi
sovrascritti dal partner con dati più recenti
- FB 28 USEND_E
FB 29 URCV_E
SFB 12/ FB 12 BSEND/ Trasferimento sicuro di un blocco di dati al partner di
SFB 13 FB 13 BRCV comunicazione. Il trasferimento dei dati si conclude solo dopo
che la funzione di ricezione (BRCV) del partner ha ricevuto i dati
SFB 14 FB 14 GET Lettura di variabili comandata dal programma senza che sia
presente una funzione di comunicazione specifica nel
programma utente del partner di comunicazione
- FB 34 GET_E

SFB 15 FB 15 PUT Scrittura di variabili comandata dal programma senza che sia
presente una funzione di comunicazione specifica nel
programma utente del partner di comunicazione
- FB 35 PUT_E

SFB 16 - PRINT Invio di dati a una stampante (solo S7-400)

SFB per la modifica dello stato di funzionamento


Con gli SFB per la modifica dello stato di funzionamento viene comandato lo stato di funzionamento
di un dispositivo remoto.
Con gli SFB per la modifica dello stato di funzionamento lo scambio dati è a una via.

Blocco S7-400 Breve descrizione


SFB 19 START Effettua il NUOVO AVVIAMENTO di una CPU S7/M7-300/400 C7-300 dallo
stato di funzionamento STOP.
SFB 20 STOP STOP di una CPU S7/M7-300/400 o C7-300 nello stato di funzionamento
RUN, ALT o avviamento
SFB 21 RESUME Riavviamento di una CPU S7-400 dallo stato di funzionamento STOP.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 367
Panoramica della comunicazione S7 e della comunicazione di base S7
21.3 Informazioni generali sui blocchi di comunicazione S7

SFB per l'interrogazione dello stato di funzionamento


Con gli SFB per l'interrogazione dello stato di funzionamento si possono ricevere informazioni sullo
stato di funzionamento di un dispositivo remoto.
Con SFB "STATUS" il tipo di scambio dati è a una via, mentre con SFB "USTATUS" lo scambio dati
è a due vie.

Blocco S7-400 Breve descrizione


SFB 22 STATUS Indica lo stato di funzionamento di un partner di comunicazione (CPU
S7-400, M7-300/400) su richiesta dell'utente.
SFB 23 USTATUS Se è stato impostato l'apposito attributo (Invia messaggi sullo stato di
funzionamento), riceve lo stato di funzionamento di una CPU S7-400 quando
questa passa in uno stato diverso.

SFC/FC per l'interrogazione del collegamento

Blocco S7-400 Blocco S7-300 Breve descrizione


SFC 62 "CONTROL" - Interrogazione dello stato di un collegamento
appartenente all'istanza di un SFB
- FC 62 "C_CNTRL" Interrogazione dello stato di un collegamento attraverso la
sua ID

Suggerimento:
Lo stato del collegamento attuale si può diagnosticare anche con la SFC 87 C_DIAG (solo per
S7-400).

Programma d'esempio
Con STEP 7 viene fornito un programma esemplificativo per S7-400 che illustra l'uso degli SFB di
comunicazione S7. Il progetto di esempio si chiama step7\examples\com_SFB e si trova in
"...\STEP7\Examples\ZIt01_10".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


368 Manuale di riferimento, 04/2017, A5E41911986-AA
Panoramica della comunicazione S7 e della comunicazione di base S7
21.4 Panoramica dei blocchi di comunicazione di base S7

21.4 Panoramica dei blocchi di comunicazione di base S7

Classificazione delle SFC di comunicazione di base S7


Per la comunicazione di base S7 non è necessaria una progettazione dei messaggi. Il richiamo delle
funzioni di comunicazione integrate avviene nel programma utente tramite SFC.
Le SFC sono suddivise in due classi:
SFC per lo scambio dei dati tra una CPU S7 ed un'altra unità di comunicazione nel caso in cui i
partner di comunicazione appartengono alla stessa stazione S7 (riconoscibile perché preceduta da
una "I" che indica "Intern").
• SFC per lo scambio dei dati tra una CPU S7 ed un'altra unità di comunicazione nel caso in cui i
partner di comunicazione sono collegati alla stessa sotto-rete MPI (riconoscibile perché
preceduta da una "X" che indica "Extern").

La comunicazione oltre i limiti della sotto-rete non è possibile con le SFC di comunicazione di base
S7.
Le SFC di comunicazione di base S7 sono operabili su tutte le CPU S7-300 e S7-400. Da queste
CPU è possibile anche scrivere delle variabili nelle CPU della S7-200 e leggerle da là.

SFC per la comunicazione esterna

Blocco Breve descrizione


SFC 65/ X_SEND/ Trasferimento sicuro di un blocco di dati al partner di comunicazione. Il
SFC 66 X_RCV trasferimento dei dati si conclude solo dopo che la funzione di ricezione
(X_RCV) del partner ha ricevuto i dati.
SFC 67 X_GET Lettura di una variabile da un partner di comunicazione senza che sia
necessario collocare nel partner una SFC corrispondente. Questa
funzionalità è consentita dal sistema operativo del partner di comunicazione.
SFC 68 X_PUT Scrittura di una variabile in un partner di comunicazione senza che sia
necessario collocare nel partner una SFC corrispondente. Questa
funzionalità è consentita dal sistema operativo del partner di comunicazione.
SFC 69 X_ABORT Interruzione di un collegamento senza trasferimento dei dati. Rende
nuovamente utilizzabili le risorse di collegamento in entrambi i partner.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 369
Panoramica della comunicazione S7 e della comunicazione di base S7
21.4 Panoramica dei blocchi di comunicazione di base S7

SFC per la comunicazione interna

Blocco Breve descrizione


SFC 72 I_GET Lettura di una variabile da un partner di comunicazione senza che sia
necessario collocare nel partner una SFC corrispondente. Questa
funzionalità è consentita dal sistema operativo del partner di comunicazione.
SFC 73 I_PUT Scrittura di una variabile in un partner di comunicazione senza che sia
necessario collocare nel partner una SFC corrispondente. Questa
funzionalità è consentita dal sistema operativo del partner di comunicazione.
SFC 74 I_ABORT Interruzione di un collegamento senza trasferimento dei dati. Rende
nuovamente utilizzabili le risorse di collegamento in entrambi i partner.

Programmi esemplificativi
STEP 7 viene fornito con due programmi esemplificativi per le SFC di comunicazione di base S7
collocati nelle directory step7\examples\com_sfc1 e step7\examples\com_sfc2.

Dimensione massima dei dati utili


Le SFC di comunicazione di base S7 sono incorporate in tutte le CPU della S7-300 e della S7-400.
Il numero dei dati utili trasferibili (parametro SD o RD) garantito per tutte le SFC è di 76 byte. Il
numero esatto è indicato nel rispettivo blocco.

Collegamento con il partner di comunicazione


Nelle SFC di comunicazione di base S7 viene creato il collegamento al momento di esecuzione della
SFC; a seconda del valore assegnato al parametro di ingresso CONT, il collegamento resta anche a
conclusione del trasferimento dati, oppure viene nuovamente disattivato. Di conseguenza per la
comunicazione si hanno le seguenti proprietà:
• Il numero dei partner di comunicazione accessibili in successione è maggiore del numero dei
partner di comunicazione indirizzabili contemporaneamente (questa è una dimensione specifica
della CPU, vedere /70/, /101/).
• Qualora momentaneamente non sia possibile creare alcun collegamento ad un partner di
comunicazione perché le risorse di collegamento (sulla propria CPU o nel partner di
comunicazione) sono tutte occupate, questo viene visualizzato in RET_VAL. Il job va quindi
avviato nuovamente in un momento successivo opportuno. Tuttavia non può essere garantita la
riuscita della creazione del collegamento in un momento successivo. Eventualmente il
programma va verificato dal punto di vista dell'uso generale delle risorse di collegamento e va
utilizzata una CPU che possegga più risorse di collegamento.
I collegamenti già esistenti di SFB di comunicazione di base S7 non possono essere usati dalle
SFC di comunicazione di base S7.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


370 Manuale di riferimento, 04/2017, A5E41911986-AA
Panoramica della comunicazione S7 e della comunicazione di base S7
21.4 Panoramica dei blocchi di comunicazione di base S7

Quando viene avviato un job, il collegamento creato per esso può essere momentaneamente
utilizzato solo per questo job. Altri job per lo stesso partner di comunicazione possono essere
nuovamente svolti solamente quando il job in corso è stato terminato. Pertanto osservare la
seguente avvertenza:

Avvertenza
Se il programma contiene più job per lo stesso partner di comunicazione occorre far sì che quelle
SFC, nelle quali in RET_VAL viene visualizzato W#16#80C0, siano richiamate nuovamente in un
momento successivo opportuno.

Identificazione di un job
Qualora con una delle SFC di comunicazione di base S7 sia stato avviato un trasferimento dati
oppure un annullamento dei collegamenti e tale SFC venga nuovamente richiamata prima che il
trasferimento in corso sia stato concluso, il comportamento successivo della SFC dipende in
maniera decisiva dal fatto che il job al nuovo richiamo sia o meno lo stesso. La tabella seguente
evidenzia per ogni SFC quale parametro di ingresso stabilisce un job. Se i parametri citati nella
tabella corrispondono ad un job non ancora concluso, il richiamo della SFC vale come richiamo
successivo.

Blocco JOB identificato mediante


SFC 65 X_SEND DEST_ID, REQ_ID
SFC 67 X_GET DEST_ID, VAR_ADDR
SFC 68 X_PUT DEST_ID, VAR_ADDR
SFC 69 X_ABORT DEST_ID
SFC 72 I_GET IOID, LADDR, VAR_ADDR
SFC 73 I_PUT IOID, LADDR, VAR_ADDR
SFC 74 I_ABORT IOID, LADDR

Comportamento all'interruzione
Le SFC di comunicazione di base S7 possono essere interrotte mediante OB con priorità superiore.
Qualora la stessa SFC venga nuovamente richiamata con l'identico job, questo secondo richiamo
viene interrotto e ne viene data visualizzazione in RET_VAL. Poi l'elaborazione della SFC interrotta
viene continuata.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 371
Panoramica della comunicazione S7 e della comunicazione di base S7
21.4 Panoramica dei blocchi di comunicazione di base S7

Accesso alla memoria di lavoro della CPU


Indipendentemente dal numero dei dati utili attualmente da trasferire, le funzioni di comunicazione
del sistema operativo in blocchi di dimensione massima accedono alla memoria di lavoro della CPU
in modo che con l'impiego delle funzioni di comunicazione il tempo di reazione agli allarmi non si
protragga.
A seconda di come è stato impostato con STEP 7 il carico di ciclo massimo a causa della
comunicazione, durante lo svolgimento di un job mediante le funzioni di comunicazione del sistema
operativo possono avvenire più accessi alla memoria di lavoro.

Transizione dello stato di funzionamento del client a STOP


Se, con il trasferimento dati, la CPU che ha iniziato un job (e ha così creato un collegamento) passa
nello stato di funzionamento STOP, tutti i collegamenti da essa creati vengono disattivati.

Esecuzione di modifiche al programma


Tutte le parti del programma, che hanno effetto diretto sui richiami delle SFC di comunicazione di
base S7, devono essere modificate solo nello stato di funzionamento STOP. Di queste fa parte, in
particolare, la cancellazione di FC, FB o OB che contengono i richiami delle SFC di comunicazione di
base S7.
Poi va eseguito un nuovo avviamento (avviamento a caldo) o avviamento a freddo.
Se non si osserva quanto detto, le risorse di collegamento possono restare occupate ed il sistema di
automazione si trova quindi in uno stato non definito.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


372 Manuale di riferimento, 04/2017, A5E41911986-AA
22 Comunicazione S7

22.1 Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7

Classificazione
I parametri degli SFB/FB di comunicazione S7 possono essere suddivisi, in base alla loro funzione,
nelle seguenti cinque classi:
1. Parametri di controllo: servono all'attivazione di un blocco
2. Parametri di indirizzamento: servono all'indirizzamento del partner di comunicazione remoto
3. Parametri di trasmissione: indicano i campi dei dati che devono essere trasmessi al partner
remoto
4. Parametri di ricezione: indicano i campi dei dati, nei quali vengono registrati i dati ricevuti dal
partner remoto
5. Parametri di stato: servono a verificare se il blocco ha terminato il suo compito senza errori e ad
analizzare gli errori.

Parametri di controllo
L'attivazione dello scambio dei dati avviene solo se, al richiamo dell'SFB/FB, i rispettivi parametri di
controllo hanno un campo definito (ad es. se sono impostati) o se il valore è cambiato rispetto
all'ultimo richiamo SFB/FB nel modo definito (ad es. fronte positivo).

Avvertenza sulla S7-300


Al momento del primo richiamo, il parametro REQ deve essere impostato su FALSE.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 373
Comunicazione S7
22.1 Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7

Parametri di indirizzamento

Parametro Descrizione
ID Riferimento alla descrizione locale del collegamento (preimpostato durante la progettazione del
collegamento in STEP 7). Avvertenza: per i blocchi della comunicazione S7 non è consentito
l'ID W#16#EEEE.
R_ID Il parametro R_ID consente di definire il rapporto fra un SFB/FB di trasmissione e un SFB/FB di
ricezione. Il lato della trasmissione dell'SFB/FB e il lato di ricezione dell'altro SFB/FB devono
avere lo stesso valore per il parametro R_ID.
Viene così resa possibile la comunicazione di diverse coppie di SFB/FB con lo stesso
collegamento logico.
• R_ID deve essere specificato nel formato DW#16#wxyzWXYZ
• In un collegamento logico le coppie di blocchi definite mediante R_ID devono essere
univoche.

Il parametro PI_NAME è descritto solo negli SFB in cui è rilevante (solo S7-400).

Avvertenza
S7-300: i parametri di indirizzamento ID e R_ID si possono ridefinire durante l'esecuzione. I nuovi
parametri diventano attivi con ogni job, una volta terminato il job precedente. In questo modo è
possibile combinare tra loro più coppie di FB tramite una sola istanza.
Suggerimento: queste possibilità consentono di ridurre DB di istanza e di conseguenza di
risparmiare memoria di lavoro:
1. Con gli ID di variabili è possibile utilizzare più collegamenti mediante un blocco dati di istanza.
2. Con gli ID_R di variabili è possibile determinare con un'istanza più interdipendenze di coppie di
FB di trasmissione e ricezione.
3. È possibile combinare i punti 1 e 2.
Si tenga presente che i nuovi parametri diventano attivi solo dopo l'elaborazione del job precedente.
Se si attiva l'operazione di trasmissione, il parametro R_ID del mittente deve corrispondere a quello
del ricevente.
S7-400: i parametri di indirizzamento ID e R_ID vengono analizzati solo al primo richiamo del blocco
(i parametri attuali o i valori predefiniti dall'istanza). Con il primo richiamo viene così stabilito il
rapporto di comunicazione (collegamento) con il partner remoto, e cioè fino al successivo nuovo
avviamento (avviamento a caldo) oppure avviamento a freddo.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


374 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.1 Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7

Parametri di stato
Con i parametri di stato si può controllare se il blocco ha terminato regolarmente il suo compito
oppure se è ancora attivo. Inoltre essi indicano i guasti presentatisi.

Avvertenza
I parametri di stato sono validi solo in un ciclo, cioè dal primo comando che segue il richiamo
dell'SFB/FB, fino al successivo richiamo dell'SFB/FB. Ne consegue che questi parametri devono
essere analizzati dopo ogni esecuzione di blocco.

Parametri di trasmissione e di ricezione


Se in un SFB non vengono utilizzati tutti i parametri di trasmissione o di ricezione, il primo parametro
non utilizzato deve essere rispettivamente un puntatore NIL (vedere /232/), e i parametri utilizzati
devono trovarsi uno dietro l'altro in ordine progressivo. job.

Avvertenza sulla S7-400


Al momento del primo richiamo, viene stabilita tramite il puntatore ANY la quantità massima di dati
utili trasferibili per il job; all'interno della memoria di lavoro della CPU viene infatti creato un buffer di
comunicazione per garantire la coerenza dei dati che occupa uno spazio di memoria di lavoro fino a
480 byte. È opportuno eseguire il primo richiamo nell'OB di nuovo avviamento (avviamento a caldo)
o di avviamento a freddo se il blocco con il richiamo SFB non viene ricaricato con lo stato di
funzionamento RUN della CPU.
Con i richiami successivi è possibile trasmettere/ricevere un numero qualunque di dati, tuttavia fino al
numero massimo del primo richiamo.
Un'eccezione a questa regola è costituita dagli SFB BSEND e BRCV. Essi consentono di trasferire
fino a 64 Kbyte per ogni job (vedere Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND"
"BSEND" e Ricezione di dati a blocchi con l'SFB 13/FB "BRCV").

Negli SFB/FB per la comunicazione a due vie


• il numero dei parametri utilizzati SD_i e RD_i sul lato di trasmissione e di ricezione deve
coincidere
• i tipi di dati nei parametri comuni di SD_i e RD_i sul lato di trasmissione e di ricezione devono
coincidere
• il numero dei dati da trasmettere con il parametro SD_i non deve essere maggiore del campo
aperto con il rispettivo parametro RD_i (non valido per BSEND/BRCV).
Se le regole indicate non vengono rispettate, questa violazione viene segnalata con ERROR = 1 e
STATUS = 4.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 375
Comunicazione S7
22.1 Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7

Dimensione dei dati utili


Negli SFB/FB USEND, URCV, GET e PUT e negli FB USEND_E, URCV_E, GET_E e PUT_E il
numero dei dati da trasmettere non deve superare una lunghezza massima che dipende da quanto
segue:
• tipo di blocco utilizzato
• partner di comunicazione.
La dimensioni minima garantita dei dati utili per un SFB con 1-4 variabili può essere stabilita
mediante la seguente tabella:

Blocco Partner: S7-300 Partner: S7-400


PUT / GET 160 byte 400 byte
USEND / URCV 160 byte 440 byte
BSEND / BRCV 32768/65534 byte 65534 byte
PUT_E / GET_E 160 byte Non disponibile
USEND_E / URCV_E 160 byte Non disponibile

Osservare le limitazioni relative alle dimensioni dei dati utili, contenute nei dati tecnici della CPU
utilizzata.

Dimensione esatta dei dati utili


Se la dimensione sopra indicata non è sufficiente, è possibile determinare la lunghezza utile
massima in byte come indicato di seguito.
1. Determinare la dimensione dei blocchi di dati valida per la comunicazione in base alla seguente
tabella:

CPU utente CPU remota Dimensione dei blocchi di dati in byte


S7-300 qualunque 240 (S7-300)
S7-400 S7-300 / C7-300 240 (S7-400)
S7-400 S7-400 o CPU 318 480

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


376 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.1 Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7

2. In base al valore individuato, cercare nella seguente tabella la lunghezza massima ammessa per
i dati utili espressa in byte come somma dei parametri utilizzati. Il valore è valido per lunghezze
pari delle aree SD_i, RD_i, ADDR_i. Per ogni area con lunghezza dispari la lunghezza massima
ammessa dei dati utili si riduce di un byte.

Numero di parametri SD_i, RD_i, ADDR_i utilizzati


Dimensioni dei SFB/FB 1 2 3 4
blocchi di dati
240 (S7-300) PUT/GET/ 160 - - -
USEND
240 (S7-300 PUT 212 - - -
mediante
interfaccia
integrata)
GET 222 - - -
USEND 212 - - -
PUT_E 212 196 180 164
GET_E 222 218 214 210
USEND_E 212 208 204 200
240 (S7-400) PUT 212 196 180 164
GET 222 218 214 210
USEND 212 - - -
480 PUT 452 436 420 404
GET 462 458 454 450
USEND 452 448 444 440
960 PUT 932 916 900 884
GET 942 938 934 930
USEND 932 928 924 920

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 377
Comunicazione S7
22.2 Comportamento all'avviamento degli SFB di comunicazione S7

22.2 Comportamento all'avviamento degli SFB di comunicazione S7

Presupposti
Qui di seguito sono indicati i presupposti per le S7-400:
• le descrizioni dei collegamenti (SDB) sulle unità sono presenti
• i collegamenti progettati sono stabiliti
• in ogni SFB il parametro attuale per l'ID coincide con l'ID di collegamento progettato.

Nuovo avviamento (avviamento a caldo) e avviamento a freddo


Nel nuovo avviamento (avviamento a caldo) e avviamento a freddo tutti gli SFB vengono trasferiti
nello stato NO_INIT. I parametri attuali memorizzati nei DB di istanza rimangono invariati.

Nuovo avviamento (avviamento a caldo) e avviamento a freddo negli SFB per lo scambio dati a
due vie
Generalmente negli SFB per lo scambio dati a due vie le unità non effettuano entrambe un nuovo
avviamento (avviamento a caldo) o avviamento a freddo. L'adattamento viene eseguito
implicitamente dagli SFB in base alle seguenti regole.
I blocchi di ricezione (SFB, URCV, BRCV) presentano il seguente comportamento:
• Se l'SFB ha ricevuto un job, ma non lo ha ancora confermato al momento del nuovo avviamento
(avviamento a caldo) o dell'avviamento a freddo, esso genera un telegramma di interruzione di
sequenza (SFB BRCV) e salta quindi direttamente nello stato NO_INIT.
• Nell'SFB BRCV può subentrare il caso che, nonostante l'interruzione di sequenza trasmessa, si
presenti un ulteriore segmento di dati. Quest'ultimo viene respinta a livello locale.
• Nell'SFB URCV ha luogo il passaggio immediato nello stato NO_INIT.
I blocchi di trasmissione (SFB USEND, BSEND) si comportano nel modo seguente:
• Se l'SFB BSEND ha iniziato una sequenza di job, che non è ancora terminata, esso trasmette
un'interruzione di sequenza al nuovo avviamento (avviamento a caldo) o all'avviamento a freddo.
Immediatamente dopo passa nello stato NO_INIT. Un'accettazione che arriva più tardi viene
respinta a livello locale.
• Se l'SFB BSEND ha già trasmesso o ricevuto un'interruzione di sequenza al momento della
richiesta di un nuovo avviamento, (avviamento a caldo) o un avviamento a freddo esso passa
immediatamente nello stato NO_INIT.
• In tutti gli altri casi, e se l'SFB trasmette solo messaggi (ad es. SFB USEND), l'elaborazione
locale viene interrotta e l'SFB passa immediatamente nello stato NO_INIT.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


378 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.2 Comportamento all'avviamento degli SFB di comunicazione S7

Nuovo avviamento (avviamento a caldo) e avviamento a freddo negli SFB per lo scambio dati
a una via
Si presuppone che dopo l'attivazione dei collegamenti il server sul partner di comunicazione sia in
grado di funzionare, cioè possa elaborare job o trasmettere messaggi in qualsiasi momento.
Gli SFB, che trasmettono job e attendono accettazioni, presentano il seguente comportamento:
L'elaborazione momentanea viene interrotta, e immediatamente dopo viene effettuato il passaggio
nello stato NO_INIT. Un'accettazione che si presenta più tardi per il job trasmesso prima del nuovo
avviamento (avviamento a caldo) o dell‘avviamento a freddo viene respinta a livello locale.
Può essere trasmesso già un nuovo job prima che sia arrivata l'accettazione ancora pendente.
Gli SFB che trasmettono o ricevono messaggi si comportano nel modo seguente:
• L'elaborazione momentanea viene interrotta, e viene effettuato il passaggio diretto nello stato
NO_INIT.
• Nell'SFB USTATUS vengono respinti a livello locale i messaggi che arrivano negli stati NO_INIT
e DISABLED.

Comportamento al riavviamento
Gli SFB di comunicazione S7 vengono trasferiti nello stato NO_INIT solo nel nuovo avviamento
(avviamento a caldo) o nell'avviamento a freddo. Ne risulta che essi si comportano come blocchi
funzionali utente proseguibili nel riavviamento.

Comportamento dopo cancellazione totale


La cancellazione totale determina sempre l'interruzione di tutti i collegamenti. Poiché dopo la
cancellazione totale è possibile solo un nuovo avviamento (avviamento a caldo) o un avviamento a
freddo come tipo di avviamento per il programma utente, tutti gli SFB di comunicazione S7 (se
ancora presenti) vengono trasferiti nello stato NO_INIT e inizializzati. I blocchi partner in una unità
non cancellata totalmente passano, a causa dell'interruzione del collegamento, negli stati IDLE o
ENABLED o DISABLED.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 379
Comunicazione S7
22.3 Comportamento in caso di disturbi degli SFB di comunicazione S7

22.3 Comportamento in caso di disturbi degli SFB di comunicazione S7


Qui di seguito viene descritto il comportamento in caso di disturbi dei blocchi di comunicazione S7
nelle S7-400.

Interruzione di collegamento
I collegamenti assegnati alle istanze SFB di comunicazione vengono controllati per identificare
eventuali interruzioni.
In caso di interruzione di un collegamento la reazione dell'SFB dipende dal suo stato interno:
Se l'interruzione di collegamento viene identificata negli stati IDLE o ENABLED, l'SFB reagisce nel
modo seguente:
• Esso passa nello stato ERROR ed emette l'identificazione di errore "Problemi di comunicazione"
tramite i parametri di uscita ERROR e STATUS.
• Al successivo richiamo del blocco esso assume di nuovo il suo stato originario e controlla di
nuovo il collegamento.
Un SFB che non si trova negli stati IDLE e DISABLED, reagisce nel modo seguente:
• Esso interrompe la sua elaborazione, passa immediatamente oppure al successivo richiamo del
blocco nello stato ERROR ed emette l'identificazione di errore "Problemi di comunicazione"
tramite i parametri di uscita ERROR e STATUS.
• Al successivo richiamo del blocco, quest'ultimo assume lo stato IDLE, DISABLED o ENABLED.
Negli stati IDLE e ENABLED viene controllato di nuovo il collegamento.
Questo procedimento viene eseguito anche se nel frattempo il collegamento è stato ristabilito.

Caduta di rete
Una caduta di rete bufferizzata con riavviamento provoca l'interruzione di tutti i collegamenti attivati.
Per tutti i blocchi interessati vale perciò quanto detto sopra.
Per una caduta di rete bufferizzata con nuovo avviamento (avviamento a caldo) o con avviamento a
freddo automatico vale quanto detto sia per l'interruzione del collegamento che per il nuovo
avviamento (avviamento a caldo) o l‘avviamento a freddo.
Nel caso speciale del nuovo avviamento (avviamento a caldo) o avviamento a freddo automatico non
bufferizzato, durante il quale viene eseguita automaticamente una cancellazione totale dopo il ritorno
della rete, gli SFB di comunicazione S7 si comportano come descritto nel capitolo "Comportamento
all'avviamento degli SFB di comunicazione S7".

Comportamento durante passaggio tra stati di funzionamento


Durante un passaggio tra gli stati di funzionamento STOP, AVVIAMENTO, RUN e ALT l'SFB rimane
nel suo stato attuale (eccezione: nel nuovo avviamento (avviamento a caldo) o avviamento a freddo
viene assunto lo stato NO_INIT). Ciò vale sia negli SFB per la comunicazione ad una via, sia negli
SFB per la comunicazione a due vie.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


380 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.3 Comportamento in caso di disturbi degli SFB di comunicazione S7

Interfaccia errore per programma utente


Se si presenta un errore durante l'elaborazione di un SFB ha sempre luogo un passaggio nello stato
ERROR; contemporaneamente il parametro di uscita ERROR viene impostato su 1 e nel parametro
di uscita STATUS viene registrata le relativa identificazione dell'errore. Queste informazioni di errore
possono essere analizzate dall'utente nel suo programma.
Esempi di errori possibili:
• Errore durante la raccolta dei dati di trasmissione
• Errore durante la copiatura dei dati di ricezione nelle aree di ricezione (ad es. accesso a DB non
disponibili)
• La lunghezza del campo dati trasmesso non coincide con la lunghezza dell'area di ricezione
archiviata sull'SFB partner.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 381
Comunicazione S7
22.4 Trasmissione non coordinata di dati con l'SFB/FB 8 "USEND"

22.4 Trasmissione non coordinata di dati con l'SFB/FB 8 "USEND"

Avvertenza
Per le CPU S7-300 sono disponibili le due versioni seguenti dell'FB 8 "USEND".
• Una versione nella Standard Library, da utilizzare in caso di collegamento con il partner remoto
tramite l'interfaccia PN.
• Una versione nella SIMATIC_NET_CP Library, da utilizzare in caso di collegamento con il
partner remoto tramite un CP.

Descrizione
L'SFB/FB 8 "USEND" trasmette dati a un partner SFB/FB remoto del tipo "URCV". La trasmissione
non è coordinata con l'SFB/FB partner, ovvero quest'ultimo non deve confermare la trasmissione dei
dati.
S7-300: la trasmissione ha luogo dopo un fronte di salita in REQ. Con ogni fronte di salita in REQ
vengono ripresi i parametri R_ID, ID e SD_1. Una volta terminato un job, è possibile assegnare nuovi
valori ai parametri R_ID, ID e SD_1.

S7-400: la trasmissione ha luogo dopo un fronte di salita nell'ingresso di comando REQ. I dati da
trasmettere vengono indirizzati dai parametri SD_1, ... SD_4, anche se questi quattro parametri di
trasmissione non devono essere tutti occupati.
Tuttavia occorre fare attenzione che le aree definite dai parametri da SD_1 a SD_4/SD_1 e da RD_1
a RD_4/RD_1 (nel corrispondente SFB/FB partner "URCV") coincidano per quanto riguarda:
• numero
• lunghezza
• tipo di dati.
Il parametro R_ID deve essere identico per entrambi gli SFB/FB.
Un 1 logico nel parametro di stato DONE indica che l'operazione di trasmissione si è conclusa
correttamente.

Parametri Dichiarazione Tipo di dati Area di Descrizione


memoria
REQ INPUT BOOL E, A, M, D, L. Parametro di comando Request; attiva lo
scambio dei dati con fronte di salita.
ID INPUT WORD M, D, cost. Parametro di indirizzamento ID; vedere
Parametri comuni agli SFB/FB e alle SFC/FC
di comunicazione S7
R_ID INPUT DWORD E, A, M, D, L, Parametro di indirizzamento R_ID; vedere
cost. Parametri comuni agli SFB/FB e alle SFC/FC
di comunicazione S7

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


382 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.4 Trasmissione non coordinata di dati con l'SFB/FB 8 "USEND"

Parametri Dichiarazione Tipo di dati Area di Descrizione


memoria
DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE:
0: JOB non ancora avviato o ancora in
esecuzione
1: JOB eseguito senza errori.
ERROR OUTPUT BOOL E, A, M, D, L Parametri di stato ERROR e STATUS;
STATUS OUTPUT WORD E, A, M, D, L segnalazione di errore:
ERROR=0
STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS fornisce
informazioni dettagliate sul tipo di errore.
S7-300: IN_OUT ANY M, D, T, Z Puntatore all'i - esima area di trasmissione.
SD_1 Sono ammessi solo i tipi di dati BOOL (non
permesso: campo di bit), BYTE, CHAR,
WORD, INT, DWORD, DINT, REAL, DATE,
S7-400: E, A, M, D, T, Z TOD, TIME, S5TIME, DATE_AND_TIME,
SD_i COUNTER, TIMER.
(1i 4) Avvertenza:
Se il puntatore ANY accede a un DB, il DB
deve sempre essere specificato (ad es.: P#
DB10.DBX5.0 byte 10).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 383
Comunicazione S7
22.4 Trasmissione non coordinata di dati con l'SFB/FB 8 "USEND"

Informazioni di errore

ERROR STATUS Spiegazione


(decimale)
0 11 Avviso:
• Il nuovo job non è valido in quanto quello precedente non è ancora
terminato
• Il job viene già elaborato in una classe di priorità minore.
0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione.
1 1 Problemi di comunicazione, ad es.
• descrizione del collegamento non caricata (locale o remoto)
• collegamento interrotto (ad es. cavo, CPU spenta, CP in STOP)
• collegamento con il partner non ancora creato
• FB non eseguibile su una CPU S7-400
• inoltre per S7-300:
- numero massimo di ordini/istanze paralleli superato
1 4 Errore nei puntatori dell'area di trasmissione SD_i riguardanti la lunghezza o il tipo
di dati.
1 10 L'accesso alla memoria utente locale non è possibile (ad es. accesso a un DB
cancellato)
1 12 Al richiamo dell'SFB/FB
• è stato indicato un DB di istanza che non appartiene all'SFB "USEND"
• è stato indicato un DB globale e non un DB di istanza
• è stato trovato un DB di istanza (caricamento di un nuovo DB di istanza dal
PG)
1 18 • R_ID esiste già nell'ID del collegamento.
• inoltre per S7-300:
- Le istanze sono state sovraccaricate da CPU-RUN (è necessario un
passaggio da STOP a RUN della CPU o del CP.)
1 20 • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di
lavoro fosse sufficiente: compressione della memoria di lavoro
• Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento
poiché il buffer di comunicazione viene creato nella memoria di lavoro.
Durante l'aggiornamento non sono consentiti interventi che modificano la
memoria di lavoro.
• S7-300:
- Numero massimo di job paralleli/istanze superato
- Le istanze sono state sovraccaricate da CPU-RUN (è necessario un
passaggio da STOP a RUN della CPU o del CP)
- Possibile con il primo richiamo
1 27 Per questo blocco non esiste un codice funzione nella CPU (solo per S7-300).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


384 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.4 Trasmissione non coordinata di dati con l'SFB/FB 8 "USEND"

Coerenza dei dati


S7-300: per garantire la coerenza dei dati, le aree di trasmissione SD_1 devono essere riscritte solo
dopo che è stata conclusa l'operazione attuale di trasmissione, vale a dire quando il parametro di
stato DONE assume il valore 1.
S7-400 e S7-300 mediante interfaccia integrata: quando si attiva un'operazione di trasmissione
(fronte di salita in REQ), i dati da inviare delle aree di trasmissione SD_i vengono copiati dal
programma utente. È possibile riscrivere queste aree dopo il richiamo del blocco senza falsare i dati
di invio attuali.

Avvertenza
L'intera operazione di trasmissione è da considerarsi conclusa solo quando il parametro di stato
DONE assume il valore 1.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 385
Comunicazione S7
22.5 Ricezione non coordinata di dati con l'SFB/FB 9 "URCV"

22.5 Ricezione non coordinata di dati con l'SFB/FB 9 "URCV"

Descrizione
L'SFB/FB 9 "URCV" riceve in modo asincrono i dati da un SFB/FB partner remoto del tipo "USEND"
e li copia nelle aree di ricezione progettate.
Il blocco è pronto a ricevere quando nell'ingresso EN_R è presente un 1 logico. Con EN_R=0 è
possibile interrompere un job in corso.
S7-300: con ogni fronte di salita di EN_R, vengono ripresi i parametri R_ID, ID e RD_1. Al termine di
un job, è possibile assegnare ai parametri R_ID, ID e RD_1 nuovi valori.
S7-400: le aree di ricezione vengono indirizzate dai parametri RD_1 ... RD_4.
Occorre fare attenzione che le aree definite dai parametri RD_i/RD_1 e SD_i/SD_1 (nel relativo
SFB/FB partner "USEND") coincidano per quanto riguarda:
• numero
• lunghezza
• tipo di dati.
Un 1 logico nel parametro di stato NDR indica che l'operazione di trasmissione si è conclusa
correttamente.
Il parametro R_ID deve essere identico per entrambi gli FB.

Parametri Dichiarazione Tipo di Area di memoria Descrizione


dati
EN_R INPUT BOOL E, A, M, D, L, cost. Parametro di comando enabled to receive;
segnala la disponibilità a ricevere quando
l'ingresso è impostato.
ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere
Parametri comuni agli SFB/FB e alle SFC/FC
di comunicazione S7
R_ID INPUT DWORD E, A, M, D, L, cost. Parametro di indirizzamento R_ID, vedere
Parametri comuni agli SFB/FB e alle SFC/FC
di comunicazione S7
NDR OUTPUT BOOL E, A, M, D, L Parametro di stato NDR:
0: JOB non ancora avviato o ancora in
esecuzione
1: JOB eseguito senza errori.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


386 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.5 Ricezione non coordinata di dati con l'SFB/FB 9 "URCV"

Parametri Dichiarazione Tipo di Area di memoria Descrizione


dati
ERROR OUTPUT BOOL E, A, M, D, L Parametri di stato ERROR e STATUS;
STATUS OUTPUT WORD E, A, M, D, L segnalazione di errore:
ERROR=0
STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul
tipo di errore.
S7-300: IN_OUT ANY M, D, T, Z Puntatore all'i - esima area di trasmissione:
RD_1 ammessi sono solo i tipi di dati BOOL (non
permesso: campo di bit), BYTE, CHAR,
WORD, INT, DWORD, DINT, REAL, DATE,
S7-400: E, A, M, D, T, Z TOD, TIME, S5TIME, DATE_AND_TIME,
RD_i COUNTER, TIMER.
(1i 4) Avvertenza:
Se il puntatore ANY accede a un DB, il DB
deve sempre essere specificato (ad es.: P#
DB10.DBX5.0 Byte 10).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 387
Comunicazione S7
22.5 Ricezione non coordinata di dati con l'SFB/FB 9 "URCV"

Informazioni di errore

ERROR STATUS Spiegazione


(decimale)
0 9 Avviso di overrun: dati di ricezione precedenti sono stati sovrascritti da dati di
ricezione piú recenti.
0 11 Avviso: i dati in ingresso vengono già elaborati in una classe con priorità minore.
0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione.
1 1 Problemi di comunicazione, ad es.
• descrizione del collegamento non caricata (locale o remoto)
• collegamento interrotto (ad es. cavo, CPU spenta, CP in STOP)
• collegamento con il partner non ancora creato
• FB inon eseguibile su una CPU S7-400
• inoltre per S7-300:
- numero massimo di ordini/istanze paralleli superato
1 4 Errore nei puntatori dell'area di ricezione RD_i riguardanti la lunghezza o il tipo di
dati.
1 10 L'accesso alla memoria utente locale non è possibile (ad es. accesso a un DB
cancellato)
1 12 Al richiamo dell'SFB/FB:
• è stato indicato un DB di istanza che non appartiene all'SFB "URCV"
• è stato indicato un DB globale invece di un DB di istanza
• non è stato trovato un DB di istanza (caricamento di un nuovo DB di istanza
dal PG)
1 18 • R_ID esiste già nell'ID del collegamento
• inoltre per S7-300:
- Le istanze sono state sovraccaricate da CPU-RUN (è necessario un
passaggio da STOP a RUN della CPU o del CP.)
1 19 L'SFB/FB "USEND" corrispondente trasmette i dati più velocemente di quanto
questi possano essere copiati nelle aree di ricezione dall'SFB/FB "URCV".
1 20 • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di
lavoro fosse sufficiente: compressione della memoria di lavoro
• Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento
poiché il buffer di comunicazione viene creato nella memoria di lavoro.
Durante l'aggiornamento non sono consentiti interventi che modificano la
memoria di lavoro.
• S7-300:
- Numero massimo di job paralleli/istanze superato
- Le istanze sono state sovraccaricate da CPU-RUN (è necessario un
passaggio da STOP a RUN della CPU o del CP)
- Possibile con il primo richiamo
1 27 Per questo blocco non esiste un codice funzione nella CPU (solo per S7-300).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


388 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.5 Ricezione non coordinata di dati con l'SFB/FB 9 "URCV"

Coerenza dei dati


I dati ricevuti sono coerenti se si osservano i criteri seguenti.
S7-300: dopo che il parametro di stato NDR ha assunto il valore 1, deve essere richiamato
immediatamente l'FB 9 "URCV" con il valore 0 su EN_R. Si garantisce così che l'area di ricezione
non venga nuovamente sovrascritta prima di essere stata analizzata. Analizzare completamente
l'area di ricezione RD_1 prima di richiamare nuovamente il blocco con il valore 1 sull'ingresso di
comando EN_R).
S7-400: dopo che il parametro di stato NDR ha assunto il valore 1, nelle aree di ricezione (RD_i) si
trovano nuovi dati. Un nuovo richiamo di blocco potrebbe sovrascrivere questi dati con nuovi dati di
ricezione. Per evitare che ciò si verifichi, richiamare l'SFB 9 "URCV" con il valore 0 su EN_R finché
(ad es. con l'elaborazione ciclica del blocco) l'elaborazione dei dati di ricezione si conclude.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 389
Comunicazione S7
22.6 Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND"

22.6 Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND"

Descrizione
L'SFB/FB 12 "BSEND" trasmette dati ad un partner SFB/FB remoto di tipo "BRCV". Questo tipo di
trasferimento dati consente il traferimento di una maggiore quantità di dati tra i partner di
comunicazione rispetto a tutti gli altri SFB/FB di comunicazione per collegamenti S7 progettati. È
possibile trasferire dati nella seguente quantità:
• 32768 byte per S7-300 über SIMATIC-Net-CP
• 65534 byte per S7-400 e S7-300 urmediante interfaccia integrata.
L'area dati da trasmettere viene segmentata. Ogni segmento viene trasmesso singolarmente al
partner. L'ultimo segmento viene confermato dal partner già la suo arrivo, indipendentemente dal
relativo richiamo dell'SFB/FB "BRCV".
S7-300: l'operazione di trasmissione ha luogo dopo un fronte di salita a REQ. Con ogni fronte di
salita a REQ vengono ripresi i parametri R_ID, ID, SD_1 e LEN. Al termine di un job, è possibile
assegnare nuovi valori ai parametri R_ID,ID, SD_1 e LEN. Per la trasmissione di dati segmentati, il
blocco deve essere richiamato ciclicamente nel programma utente.
L'indirizzo iniziale e la lunghezza massima dei dati da trasmettere sono predefiniti da SD_1. La
lunghezza del blocco dati si definisce per ogni job con il parametro LEN.
S7-400 e S7-300 mediante interfaccia integrata: l'operazione di trasmissione viene attivata dopo il
richiamo del blocco e la presenza di un fronte di salita all'ingresso di comando REQ.
L'invio dei dati dalla memoria utente è asincrona rispetto all'elaborazione del programma utente.
L'indirizzo iniziale dei dati da trasmettere è predefinito da SD_1. La lunghezza dei dati da trasmettere
si può definire per ogni job tramite LEN. LEN sostituisce quindi la parte di lunghezza di SD_1.
Il parametro R_ID deve essere identico in entrambi gli SFB/FB.
Se all'ingresso di comando R è presente un fronte di salita, l'operazione di trasmissione in corso
viene interrotta.
Il parametro di stato DONE con 1 indica che l'operazione di trasmissione è stata portata a termine
con successo.
Il nuovo job di trasmissione può essere avviato solo dopo che è stata conclusa la trasmissione se i
parametri di stato DONE o ERROR hanno assunto il valore 1.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


390 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.6 Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND"

A causa della trasmissione asincrona dei dati una nuova trasmissione di dati può essere avviata solo
se i dati precedenti sono stati prelevati tramite il richiamo dell'SFB/FB partner. Finché non sono stati
prelevati i dati, viene emesso il valore di stato 7 (vedi sotto) al richiamo dell'SFB/FB "BSEND".

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
REQ INPUT BOOL E, A, M, D, L Request parametro di comando, attiva lo
scambio dei dati con fronte di salita
R INPUT BOOL E, A, M, D, L, Reset parametro di comando: attiva
cost. l'interruzione dello scambio dati in corso in
seguito ad un fronte di salita
ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere
Parametri comuni agli SFB/FB e alle SFC/FC
di comunicazione S7
R_ID INPUT DWORD E, A, M, D, L, Parametro di indirizzamento R_ID, vedere
cost. Parametri comuni agli SFB/FB e alle SFC/FC
di comunicazione S7.
In caso di collegamento tramite CP441 con S5
o apparecchiature esterne, R_ID contiene le
informazioni di indirizzamento del dispositivo
remoto. Per informazioni più dettagliate vedere
la descrizione di CP441.
DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE:
0: JOB non ancora avviato o ancora in
esecuzione
1: JOB eseguito senza errori.
ERROR OUTPUT BOOL E, A, M, D, L Parametri di stato ERROR e STATUS;
STATUS OUTPUT WORD E, A, M, D, L segnalazione di errore:
ERROR=0
STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul
tipo di errore.
SD_1 IN_OUT ANY S7-300: M, D Puntatore sull'area di trasmissione.
S7-400: E, A, M, Sono ammessi solo i tipi di dati BOOL (non
D, T, Z permesso: campo di bit), BYTE, CHAR,
WORD, INT, DWORD, DINT, REAL, DATE,
TOD, TIME, S5TIME, DATE_AND_TIME,
COUNTER, TIMER.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB
deve sempre essere specificato (ad es.: P#
DB10.DBX5.0 byte 10)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 391
Comunicazione S7
22.6 Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND"

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
LEN IN_OUT WORD E, A, M, D, L Lunghezza in byte del blocco dati da
trasmettere

Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB/FB 12, che possono
essere emesse con i parametri ERROR e STATUS.

ERROR STATUS Spiegazione


(decimale)
0 11 Avviso:
• Il nuovo job non è valido in quanto quello precedente non è ancora
terminato.
• Il job viene già elaborato in una classe con priorità minore.
0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione.
1 1 • Problemi di comunicazione, ad es. descrizione del collegamento non
caricata (locale o remoto)
• collegamento interrotto (ad es. cavo, CPU spenta, CP in STOP)
• collegamento con il partner non ancora creato
• FB inon eseguibile su una CPU S7-400
• inoltre per S7-300:
- numero massimo di ordini/istanze paralleli superato
1 2 Conferma di acknowledge negativa dal partner SFB/FB. La funzione non
può essere eseguita.
1 3 R_ID non è conosciuto nel collegamento di comunicazione definito da ID,
oppure il blocco di ricezione non è stato ancora richiamato.
1 4 Errore nel puntatore dell'area di ricezione SD_1 riguardante la lunghezza o
il tipo di dati, oppure al parametro LEN è stato passato il valore 0.
1 5 La richiesta di reset è stata eseguita.
1 6 L'SFB/FB partner si trova nello stato DISABLED (EN_R ha il valore 0).
Verificare inoltre la coerenza dei parametri di ingresso del blocco BRCV
rispetto al blocco BSEND.
1 7 L'SFB/FB partner si trova nello stato sbagliato
Il blocco di ricezione non è stato più richiamato dopo l'ultimo trasferimento
dati.
1 8 L'accesso all'oggetto remoto nella memoria utente è stato respinto. L'area
di destinazione nel relativo SFB/FB 13 "BRCV" è troppo piccola.
Nell'SFB/FB 13 "BRCV" viene segnalato ERROR = 1, STATUS = 4 o
ERROR = 1, STATUS = 10.
1 10 L'accesso alla memoria utente locale non è possibile (ad es. accesso a un
DB cancellato).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


392 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.6 Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND"

ERROR STATUS Spiegazione


(decimale)
1 12 Per il richiamo dell'SFB/FB
• è stato indicato un DB di istanza che non appartiene all'SFB 12
• è stato indicato un DB globale e non un DB di istanza.
• non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di
istanza dal PG)
1 18 • R_ID esiste già nel collegamento.
• inoltre per S7-300:
- Le istanze sono state sovraccaricate da CPU-RUN (è necessario
un passaggio da STOP a RUN della CPU o del CP.)
1 20 • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la
memoria di lavoro fosse sufficiente: compressione della memoria di
lavoro
• Sistema H: primo richiamo dell'SFB impossibile durante
l'aggiornamento poiché il buffer di comunicazione viene creato nella
memoria di lavoro. Durante l'aggiornamento non sono consentiti
interventi che modificano la memoria di lavoro.
• S7-300:
- Numero massimo di job paralleli/istanze superato
- Le istanze sono state sovraccaricate da CPU-RUN (è necessario
un passaggio da STOP a RUN della CPU o del CP)
- Possibile con il primo richiamo
- Scarsità temporanea di memoria nel CP
1 27 Per questo blocco non esiste un codice funzione nella CPU (solo per
S7-300).

Coerenza dei dati


Per garantire la coerenza dei dati la parte attualmente in uso dell'area di trasmissione SD_1 può
essere scritta solo dopo che è stata conclusa l'operazione di trasmissione. Ciò avviene quando il
parametro di stato DONE assume il valore 1.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 393
Comunicazione S7
22.7 Ricezione di dati a blocchi con l'SFB 13/FB "BRCV"

22.7 Ricezione di dati a blocchi con l'SFB 13/FB "BRCV"

Descrizione
L'SFB/FB 13 "URCV" riceve i dati da un remoto SFB/FB partner del tipo "BSEND". Dopo ogni
segmento di dati ricevuto, viene inviata una conferma all'SFB/FB partner il parametro LEN viene
attualizzato.
Il blocco è pronto a ricevere dopo il richiamo con il valore 1 all'ingresso di comando EN_R. Con
EN_R=0 è possibile interrompere un job in corso.
L'indirizzo iniziale e la lunghezza massima dell'area di ricezione vengono stabiliti da RD_1. La
lunghezza del blocco dati viene definita da LEN.
S7-300: con ogni fronte di salita di EN_R, vengono ripresi i parametri R_ID, ID e RD_1. Al termine di
un job, è possibile assegnare nuovi valori ai parametri R_ID, ID e RD_1. Per la trasmissione di dati
segmentati, il blocco deve essere richiamato ciclicamente nel programma utente.
S7-400 e S7-300 mediante interfaccia integrata: la ricezione dei dati dalla memoria utente avviene
in modo asincrono rispetto all'elaborazione del programma utente.
Il parametro R_ID deve essere identico in entrambi gli SFB/FB.
Se la ricezione di tutti i segmenti di dati è avvenuta senza errori, il parametro di stato NDR indica il
valore 1. I dati ricevuti rimangono immutati fino al richiamo successivo dell'SFB/FB 13 con EN_R=1.
Se il blocco viene nuovamente richiamato durante la ricezione asincrona, viene emesso un
messaggio di avviso al parametro di stato STATUS; se il richiamo ha luogo con il valore 0 all'ingresso
di comando EN_R, l'operazione di ricezione viene interrotta e l'SFB/FB passa allo stato di base.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
EN_R INPUT BOOL E, A, M, D, L, cost. Parametro di comando enabled to receive,
segnala la disponibilità a ricevere quando
l'ingresso è impostato.
ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere
Parametri comuni agli SFB/FB e alle SFC/FC
di comunicazione S7
R_ID INPUT DWORD E, A, M, D, L, cost. Parametro di indirizzamento R_ID, vedere
Parametri comuni agli SFB/FB e alle SFC/FC
di comunicazione S7.
In caso di collegamento tramite CP441 con
S5 o apparecchiature esterne, R_ID contiene
le informazioni di indirizzamento del
dispositivo remoto. Per informazioni più
dettagliate vedere la descrizione di CP441.
NDR OUTPUT BOOL E, A, M, D, L Parametro di stato NDR:
0: JOB non ancora avviato o ancora in
esecuzione
1: JOB eseguito senza errori.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


394 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.7 Ricezione di dati a blocchi con l'SFB 13/FB "BRCV"

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
ERROR OUTPUT BOOL E, A, M, D, L Parametri di stato ERROR e STATUS;
STATUS OUTPUT WORD E, A, M, D, L segnalazione di errore:
ERROR=0
STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul
tipo di errore.
RD_1 IN_OUT ANY S7-300: M, D Puntatore sull'area di ricezione. L'indicazione
S7-400: E, A, M, D, della lunghezza stabilisce la lunghezza
T, Z massima del blocco da ricevere.
Sono ammessi solo i tipi di dati BOOL (non
permesso: campo di bit), BYTE, CHAR,
WORD, INT, DWORD, DINT, REAL, DATE,
TOD, TIME, S5TIME, DATE_AND_TIME,
COUNTER, TIMER.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB
deve sempre essere specificato (ad es.: P#
DB10.DBX5.0 byte 10).
LEN IN_OUT WORD E, A, M, D, L Lunghezza in byte dei dati finora ricevuti

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 395
Comunicazione S7
22.7 Ricezione di dati a blocchi con l'SFB 13/FB "BRCV"

Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB/FB 13, che possono
essere emesse con i parametri ERROR e STATUS.

ERROR STATUS Spiegazione


(decimale)
0 11 Avviso: i dati in ingresso vengono già elaborati in una classe con priorità
minore.
0 17 Avviso: il blocco riceve dati in modo asincrono. Il parametro LEN mostra il
numero dei dati ricevuti finora in byte.
0 25 S7-300: comunicazione avviata. Elaborazione del job in corso.
0 25 Ricezione di dati in corso. Il parametro LEN indica il numero di dati finora
ricevuti in byte.
1 1 Problemi di comunicazione, ad es.
• descrizione del collegamento non caricata (locale o remoto)
• collegamento interrotto (ad es. cavo, CPU spenta, CP in STOP)
• collegamento con il partner non ancora creato
• FB inon eseguibile su una CPU S7-400
• inoltre per S7-300:
- numero massimo di ordini/istanze paralleli superato
1 2 Funzione non eseguibile (errore di protocollo)
1 4 Errore nei puntatori dell'area di ricezione RD_1 riguardanti la lunghezza o il
tipo di dati. Il blocco di dati trasmesso è più lungo dell'area di ricezione.
1 5 Richiesta di reset arrivata, trasferimento incompleto.
1 8 Errore di accesso all'SFB/FB 12 "BSEND". Dopo l'invio dell'ultimo segmento di
dati valido vengono segnalati ERROR = 1 e STATUS = 4 oppure ERROR = 1
e STATUS = 10.
1 10 L'accesso alla memoria utente locale non è possibile (ad es. accesso a un DB
cancellato)
1 12 Per il richiamo di SFB/FB
• è stato indicato un DB di istanza che non appartiene all'SFB 13
• è stato indicato un DB globale al posto di un DB di istanza
• non è stato trovato un DB di istanza (caricamento di un nuovo DB di
istanza dal PG)
1 18 • R_ID esiste già nel collegamento.
• inoltre per S7-300:
- le istanze sono state sovraccaricate da CPU-RUN (è necessario un
passaggio da STOP a RUN della CPU o del CP.)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


396 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.7 Ricezione di dati a blocchi con l'SFB 13/FB "BRCV"

ERROR STATUS Spiegazione


(decimale)
1 20 • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la
memoria di lavoro fosse sufficiente: compressione della memoria di lavoro
• Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento
poiché il buffer di comunicazione viene creato nella memoria di lavoro.
Durante l'aggiornamento non sono consentiti interventi che modificano la
memoria di lavoro.
• S7-300:
- Numero massimo di job paralleli/istanze superato
- Le istanze sono state sovraccaricate da CPU-RUN (è necessario un
passaggio da STOP a RUN della CPU o del CP)
- Possibile con il primo richiamo
- Scarsità temporanea di memoria nel CP
1 27 Per questo blocco non esiste un codice funzione nella CPU (solo per S7-300).

Coerenza dei dati


I dati vengono ricevuti in modo coerente se si osserva il criterio seguente: analizzare completamente
la parte attualmente in uso dell'area di ricezione RD_1 prima di richiamare di nuovo il blocco con il
valore 1 sull'ingresso di comando EN_R.

Caso particolare di ricezione dati (solo S7-400)


Nel caso la CPU ricevente passa in stato di STOP con un blocco BRCV pronto alla ricezione (vale a
dire è già avvenuto un richiamo con EN_R = 1) prima che il relativo blocco mittente abbia inviato il
primo segmento dati di un job, avviene quanto segue:
• i dati del primo job dopo la transizione della CPU ricevente allo stato STOP vengono introdotti
integralmente nell'area di ricezione
• l'SFB partner "BSEND" ne riceve conferma positiva
• altri job BSEND non possono essere più accettati dalla CPU ricevente nello stato STOP
• fin tanto che essa si trova nello stato STOP, NDR e LEN hanno valore 0.
Affinché non vada persa l'informazione sui dati ricevuti, occorre eseguire un riavviamento della CPU
ricevente e richiamare l'SFB 13 "BRCV" con EN_R = 1.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 397
Comunicazione S7
22.8 Trasmissione non coordinata di dati con l'FB 28 "USEND_E"

22.8 Trasmissione non coordinata di dati con l'FB 28 "USEND_E"

Avvertenza
Attualmente l'FB 28 "USEND_E" supporta solo collegamenti tramite l'interfaccia PN.

Descrizione
L'FB 28 "USEND_E" trasmette dati a un partner FB remoto del tipo "URCV_E". La trasmissione non
è coordinata con l'FB partner, ovvero quest'ultimo non deve confermare la trasmissione dei dati.
La trasmissione ha luogo dopo un fronte di salita nell'ingresso di comando REQ. I dati da trasmettere
vengono indirizzati dai parametri SD_1, ... SD_4, anche se questi quattro parametri di trasmissione
non devono essere tutti occupati.

Tuttavia occorre fare attenzione che le aree definite dai parametri da SD_1 a SD_4 e da RD_1 a
RD_4 (nel corrispondente FB partner "URCV_E") coincidano per quanto riguarda:
• numero
• lunghezza
• tipo di dati.
Il parametro R_ID deve essere identico per entrambi gli FB.
Un 1 logico nel parametro di stato DONE indica che l'operazione di trasmissione si è conclusa
correttamente.

Parametri Dichiara Tipo di Area di memoria Descrizione


zione dati
REQ INPUT BOOL E, A, M, D, L Parametro di comando Request; attiva lo
scambio dei dati con fronte di salita.
ID INPUT WORD M, D, cost. Parametro di indirizzamento ID; vedere Parametri
comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
R_ID INPUT DWORD E, A, M, D, L, cost. Parametro di indirizzamento R_ID; vedere
Parametri comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE:
0: JOB non ancora avviato o ancora in
esecuzione
1: JOB eseguito senza errori.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


398 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.8 Trasmissione non coordinata di dati con l'FB 28 "USEND_E"

Parametri Dichiara Tipo di Area di memoria Descrizione


zione dati
ERROR OUTPUT BOOL E, A, M, D, L Parametri di stato ERROR e STATUS;
STATUS OUTPUT WORD E, A, M, D, L segnalazione di errore:
ERROR=0
STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS fornisce
informazioni dettagliate sul tipo di errore.
SD_i IN_OUT ANY E, A, M, D, T, Z Puntatore all'i - esima area di trasmissione.
(1i 4) Sono ammessi solo i tipi di dati BOOL (non
permesso: campo di bit), BYTE, CHAR, WORD,
INT, DWORD, DINT, REAL, DATE, TOD, TIME,
S5TIME, DATE_AND_TIME, COUNTER,
TIMER.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB deve
sempre essere specificato (ad es.: P#
DB10.DBX5.0 byte 10).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 399
Comunicazione S7
22.8 Trasmissione non coordinata di dati con l'FB 28 "USEND_E"

Informazioni di errore

ERROR STATUS Spiegazione


(decimale)
0 11 Avviso:
• Il nuovo job non è valido in quanto quello precedente non è ancora terminato.
• Il job viene già elaborato in una classe di priorità minore.
0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione.
1 1 Problemi di comunicazione, ad es.
• descrizione del collegamento non caricata (locale o remoto)
• collegamento interrotto (ad es. cavo, CPU spenta, CP in STOP)
• collegamento con il partner non ancora creato
• FB non eseguibile su una CPU S7-400
• numero massimo di ordini/istanze paralleli superato
1 4 Errore nei puntatori dell'area di trasmissione SD_i riguardanti la lunghezza o il tipo
di dati.
1 10 L'accesso alla memoria utente locale non è possibile (ad es. accesso a un DB
cancellato).
1 12 Al richiamo dell'FB
• è stato indicato un DB di istanza che non appartiene all'FB "USEND_E"
• è stato indicato un DB globale e non un DB di istanza
• è stato trovato un DB di istanza (caricamento di un nuovo DB di istanza dal PG)
1 18 • R_ID esiste già nell'ID del collegamento.
• Le istanze sono state sovraccaricate in CPU-RUN (è necessario un passaggio
da STOP a RUN della CPU o del CP.)
1 20 • Numero massimo di ordini/istanze paralleli superato
• Le istanze sono state sovraccaricate in CPU-RUN (è necessario un passaggio
da STOP a RUN della CPU o del CP.)
• Possibile con il primo richiamo
1 27 Per questo blocco non esiste un codice funzione nella CPU.

Coerenza dei dati attraverso un'interfaccia integrata


Quando si attiva un'operazione di trasmissione (fronte di salita in REQ), i dati da inviare delle aree di
trasmissione SD_i vengono copiati dal programma utente. È possibile riscrivere queste aree dopo il
richiamo del blocco senza falsare i dati di invio attuali.

Avvertenza
L'intera operazione di trasmissione è da considerarsi conclusa solo quando il parametro di stato
DONE assume il valore 1.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


400 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.9 Ricezione non coordinata di dati con l'FB 29 "URCV_E"

22.9 Ricezione non coordinata di dati con l'FB 29 "URCV_E"

Avvertenza
Attualmente l'FB 29 "URCV_E" supporta solo collegamenti tramite l'interfaccia PN.

Descrizione
L'FB 29 "URCV_E" riceve in modo asincrono i dati da un FB partner remoto del tipo "USEND_E" e li
copia nelle aree di ricezione progettate.
Il blocco è pronto a ricevere quando nell'ingresso EN_R è presente un 1 logico. Con EN_R=0 è
possibile interrompere un job in corso.
Le aree di ricezione vengono indirizzate dai parametri RD_1, ... RD_4.
Occorre fare attenzione che le aree definite dai parametri RD_i e SD_i (nel relativo FB partner
"USEND_E") coincidano per quanto riguarda:
• numero
• lunghezza
• tipo di dati.
Un 1 logico nel parametro di stato NDR indica che l'operazione di trasmissione si è conclusa
correttamente.
Il parametro R_ID deve essere identico per entrambi gli FB.

Parametri Dichiara Tipo di Area di memoria Descrizione


zione dati
EN_R INPUT BOOL E, A, M, D, L Parametro di comando enabled to receive;
segnala la disponibilità a ricevere quando
l'ingresso è impostato.
ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere Parametri
comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
R_ID INPUT DWOR E, A, M, D, L, cost. Parametro di indirizzamento R_ID, vedere
D Parametri comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
NDR OUTPUT BOOL E, A, M, D, L Parametro di stato NDR:
0: JOB non ancora avviato o ancora in
esecuzione
1: JOB eseguito senza errori.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 401
Comunicazione S7
22.9 Ricezione non coordinata di dati con l'FB 29 "URCV_E"

Parametri Dichiara Tipo di Area di memoria Descrizione


zione dati
ERROR OUTPUT BOOL E, A, M, D, L Parametri di stato ERROR e STATUS;
STATUS OUTPUT WORD E, A, M, D, L segnalazione di errore:
ERROR=0
STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS fornisce
informazioni dettagliate sul tipo di errore.
RD_i IN_OUT ANY E, A, M, D, T, Z Puntatore all'i - esima area di trasmissione.
(1i 4) Sono ammessi solo i tipi di dati BOOL (non
permesso: campo di bit), BYTE, CHAR, WORD,
INT, DWORD, DINT, REAL, DATE, TOD, TIME,
S5TIME, DATE_AND_TIME, COUNTER,
TIMER.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB deve
sempre essere specificato (ad es.: P#
DB10.DBX5.0 byte 10).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


402 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.10 Lettura dei dati da una CPU remota con l'FB 34 "GET_E"

Informazioni di errore

ERROR STATUS Spiegazione


(decimale)
0 9 Avviso di overrun: dati di ricezione precedenti sono stati sovrascritti da dati di
ricezione piú recenti.
0 11 Avviso: i dati in ingresso vengono già elaborati in una classe con priorità minore.
0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione.
1 1 Problemi di comunicazione, ad es.
• descrizione del collegamento non caricata (locale o remoto)
• collegamento interrotto (ad es. cavo, CPU spenta, CP in STOP)
• collegamento con il partner non ancora creato
• FB non eseguibile su una CPU S7-400
• numero massimo di ordini/istanze paralleli superato
1 4 Errore nei puntatori dell'area di ricezione RD_i riguardanti la lunghezza o il tipo di
dati.
1 10 L'accesso alla memoria utente locale non è possibile (ad es. accesso a un DB
cancellato).
1 12 Al richiamo dell'FB
• è stato indicato un DB di istanza che non appartiene all'FB "URCV_E"
• è stato indicato un DB globale e non un DB di istanza
• non è stato trovato un DB di istanza (caricamento di un nuovo DB di istanza
dal PG)
1 18 • R_ID esiste già nell'ID del collegamento
• Le istanze sono state sovraccaricate in CPU-RUN (è necessario un
passaggio da STOP a RUN della CPU o del CP.)
1 19 L'FB "USEND_E" corrispondente trasmette i dati più velocemente di quanto questi
possano essere copiati nelle aree di ricezione dall'FB "URCV_E".
1 20 • Numero massimo di ordini/istanze paralleli superato
• Le istanze sono state sovraccaricate in CPU-RUN (è necessario un
passaggio da STOP a RUN della CPU o del CP.)
• Possibile con il primo richiamo
1 27 Per questo blocco non esiste un codice funzione nella CPU.

Coerenza dei dati


I dati ricevuti sono coerenti se si osservano i criteri seguenti.
Dopo che il parametro di stato NDR ha assunto il valore 1, nelle aree di ricezione (RD_i) si trovano
nuovi dati. Un nuovo richiamo di blocco potrebbe sovrascrivere questi dati con nuovi dati di ricezione.
Per evitare che ciò si verifichi, richiamare l'FB 29 "URCV_E" con il valore 0 su EN_R finché (ad es.
con l'elaborazione ciclica del blocco) l'elaborazione dei dati di ricezione si conclude.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 403
Comunicazione S7
22.10 Lettura dei dati da una CPU remota con l'FB 34 "GET_E"

22.10 Lettura dei dati da una CPU remota con l'FB 34 "GET_E"

Avvertenza
Attualmente l'FB 34 "GET_E" supporta solo collegamenti tramite l'interfaccia PN.

Descrizione
L'FB 34 "GET_E" consente di leggere i dati di una CPU remota.
In presenza di un fronte di salita nell'ingresso di comando REQ, l'FB viene avviato e i puntatori
rilevanti sulle aree da leggere (ADDR_i) vengono trasmessi alla CPU partner.

Il partner remoto ritrasmette i contenuti dei dati.


Al successivo richiamo dell'FB i dati ricevuti vengono copiati nelle aree di ricezione progettate
(RD_i).
È necessario accertarsi che le aree definite con i parametri ADDR_i e RD_i siano compatibili per
numero, lunghezza e tipo di dati.
Il termine dell'operazione viene segnalato da un "1" nel parametro di stato NDR.
L'operazione di lettura può essere riattivata solo al termine della lettura precedente.
La CPU remota può trovarsi in stato di funzionamento RUN o STOP.
Se si verificano problemi di accesso durante la lettura dei dati o se viene rilevato un errore durante il
controllo del tipo di dati, vengono segnalati errori o avvisi nei parametri ERROR e STATUS.

Parametri Dichiara Tipo di Area di memoria Descrizione


zione dati
REQ INPUT BOOL E, A, M, D, L Parametro di comando Request; attiva lo
scambio dei dati con fronte di salita.
ID INPUT WORD M, D, cost. Parametro di indirizzamento ID; vedere Parametri
comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
NDR OUTPUT BOOL E, A, M, D, L Parametro di stato NDR:
0: JOB non ancora avviato o ancora in
esecuzione
1: JOB eseguito senza errori.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


404 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.10 Lettura dei dati da una CPU remota con l'FB 34 "GET_E"

Parametri Dichiara Tipo di Area di memoria Descrizione


zione dati
ERROR OUTPUT BOOL E, A, M, D, L Parametri di stato ERROR e STATUS;
STATUS OUTPUT WORD E, A, M, D, L segnalazione di errore:
ERROR=0
STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate.
ERROR=1
Si è verificato un errore. STATUS fornisce
informazioni dettagliate sul tipo di errore.
ADDR_i IN_OUT ANY S7-400: Puntatori sulle aree della CPU partner che
(1i 4) E, A, M, D, T, Z devono essere lette.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB deve
esempre essere specificato (ad es. P#
DB10.DBX5.0 byte 10).
RD_i IN_OUT ANY E, A, M, D, T, Z Puntatori sulle aree della CPU utente in cui
(1i 4) vengono memorizzati i dati letti.
Sono ammessi solo i tipi di dati BOOL (non
permesso: campo di bit), BYTE, CHAR, WORD,
INT, DWORD, DINT, REAL, COUNTER, TIMER.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB deve
sempre essere specificato (ad es.: P#
DB10.DBX5.0 byte 10).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 405
Comunicazione S7
22.11 Scrittura di dati in una CPU remota con l'FB 35 "PUT_E"

Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche dell'FB 34 che possono essere
emesse con i parametri ERROR e STATUS.

ERROR STATUS Spiegazione


(decimale)
0 11 Avviso:
• Il nuovo job non è valido in quanto quello precedente non è ancora terminato.
• Il job viene già elaborato in una classe di priorità minore.
0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione.
1 1 Problemi di comunicazione, ad es.
• descrizione del collegamento non caricata (locale o remoto)
• collegamento interrotto (ad es. cavo, CPU spenta, CP in STOP)
• collegamento con il partner non ancora creato
• FB non eseguibile su una CPU S7-400
• numero massimo di ordini/istanze paralleli superato.
1 2 Conferma negativa del dispositivo partner. Non è possibile eseguire la funzione.
1 4 Errore nei puntatori dell'area di ricezione RD_i riguardanti la lunghezza o il tipo di
dati.
1 8 Errore di accesso nella CPU partner.
1 10 L'accesso alla memoria utente locale non è possibile (ad es. accesso a un DB
cancellato).
1 12 Al richiamo dell'FB
• è stato indicato un DB di istanza che non appartiene all'FB 34
• è stato indicato un DB globale e non un DB di istanza
• non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza
dal PG).
1 20 • Numero massimo di ordini/istanze paralleli superato
• Le istanze sono state sovraccaricate in CPU-RUN (è necessario un passaggio
da STOP a RUN della CPU o del CP.)
• Possibile con il primo richiamo
1 27 Per questo blocco non esiste un codice funzione nella CPU.

Coerenza dei dati


I dati ricevuti sono coerenti se si osserva quanto segue.
Analizzare completamente la parte attualmente in uso dell'area di ricezione RD_i prima di attivare un
nuovo job.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


406 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.11 Scrittura di dati in una CPU remota con l'FB 35 "PUT_E"

22.11 Scrittura di dati in una CPU remota con l'FB 35 "PUT_E"

Avvertenza
Attualmente l'FB 35 "PUT_E" supporta solo collegamenti tramite l'interfaccia PN.

Descrizione
L'FB 35 "PUT_E" consente di scrivere dati in una CPU remota.
In presenza di un fronte di salita nell'ingresso di comando REQ, l'FB viene avviato e i puntatori sulle
aree da scrivere (ADDR_i) e i dati (SD_i) vengono trasmessi alla CPU partner.
Il partner remoto colloca i dati inviati negli indirizzi indicati e invia una conferma di esecuzione
avvenuta.
Occorre fare attenzione che le aree definite tramite i parametri ADDR_i e SD_i siano compatibili per
numero, lunghezza e tipo di dati.
Se non si sono verificati errori, al successivo richiamo dell'FB il parametro di stato DONE indica 1.
L'operazione di scrittura può essere riattivata solo al termine della scrittura precedente.
La CPU remota può trovarsi in stato di funzionamento RUN o STOP.
Se si verificano problemi di accesso durante la scrittura dei dati o se viene rilevato un errore durante
il controllo della conferma di esecuzione, vengono segnalati errori o avvisi nei parametri ERROR e
STATUS.

Parametri Dichiara Tipo di Area di memoria Descrizione


zione dati
REQ INPUT BOOL E, A, M, D, L Parametro di comando Request; attiva lo
scambio dei dati con fronte di salita.
ID INPUT WORD M, D, cost. Parametro di indirizzamento ID; vedere Parametri
comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE:
0: JOB non ancora avviato o ancora in corso
1: JOB eseguito senza errori.
ERROR OUTPUT BOOL E, A, M, D, L Parametri di stato ERROR e STATUS;
STATUS OUTPUT WORD E, A, M, D, L segnalazione di errore:
ERROR=0
STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate.
ERROR=1
Si è verificato un errore. STATUS fornisce
informazioni dettagliate sul tipo di errore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 407
Comunicazione S7
22.11 Scrittura di dati in una CPU remota con l'FB 35 "PUT_E"

Parametri Dichiara Tipo di Area di memoria Descrizione


zione dati
ADDR_i IN_OUT ANY E, A, M, D, T, Z Puntatore sulle aree da scrivere nella CPU
(1i 4) partner.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB deve
sempre essere specificato (ad es. P#
DB10.DBX5.0 byte 10).
SD_i IN_OUT ANY E, A, M, D, T, Z Puntatori sulle aree della CPU utente che
(1i 4) contengono i dati da inviare.
Sono ammessi solo i tipi di dati BOOL (non
permesso: campo di bit), BYTE, CHAR, WORD,
INT, DWORD, DINT, REAL, COUNTER, TIMER.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB deve
sempre essere specificato (ad es.: P#
DB10.DBX5.0 byte 10).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


408 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.11 Scrittura di dati in una CPU remota con l'FB 35 "PUT_E"

Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche dell'FB 35 che possono essere
emesse con i parametri ERROR e STATUS.

ERROR STATUS Spiegazione


(decimale)
0 11 Avviso:
• Il nuovo job non è valido in quanto quello precedente non è ancora terminato.
• Il job viene già elaborato in una classe di priorità minore.
0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione.
1 1 Problemi di comunicazione, ad es.
• descrizione del collegamento non caricata (locale o remoto)
• collegamento interrotto (ad es. cavo, CPU spenta, CP in STOP)
• collegamento con il partner non ancora creato
• FB non eseguibile su una CPU S7-400
• numero massimo di ordini/istanze paralleli superato.
1 2 Conferma negativa dal dispositivo partner. Non è possibile eseguire la funzione.
1 4 Errore nei puntatori dell'area di trasmissione SD_i riguardanti la lunghezza o il tipo
di dati
1 8 Errore di accesso nella CPU partner
1 10 L'accesso alla memoria utente locale non è possibile (ad es. accesso a un DB
cancellato)
1 12 Al richiamo dell'FB
• è stato indicato un DB di istanza che non appartiene all'FB 35
• è stato indicato un DB globale e non un DB di istanza
• non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza
dal PG)
1 20 • Numero massimo di ordini/istanze paralleli superato
• Le istanze sono state sovraccaricate in CPU-RUN (è necessario un passaggio
da STOP a RUN della CPU o del CP.)
• Possibile con il primo richiamo
1 27 Per questo blocco non esiste un codice funzione nella CPU.

Coerenza dei dati attraverso un'interfaccia integrata


Quando si attiva un'operazione di trasmissione (fronte di salita in REQ), i dati da inviare delle aree di
trasmissione SD_i vengono copiati dal programma utente. È possibile riscrivere queste aree dopo il
richiamo del blocco senza falsare i dati di invio attuali.

Avvertenza
L'intera operazione di trasmissione è da considerarsi conclusa solo quando il parametro di stato
DONE assume il valore 1.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 409
Comunicazione S7
22.12 Scrittura di dati in una CPU remota con l'SFB/FB 15 "PUT"

22.12 Scrittura di dati in una CPU remota con l'SFB/FB 15 "PUT"

Descrizione
Con l'SFB/FB 15 "PUT" è possibile scrivere dati in una CPU remota.
S7-300: l'operazione di trasmissione avviene dopo un fronte di salita a REQ. Con ogni fronte di salita
a REQ vengono ripresi i parametri ID, ADDR_1 e SD_1. Al termine di un job è possibile assegnare
nuovi valori ai parametri ID, ADDR_1 e SD_1.

S7-400: in presenza di un fronte di salita nell'ingresso di comando REQ, l'SFB viene avviato e i
puntatori sulle aree da scrivere (ADDR_i) e i dati (SD_i) vengono trasmessi alla CPU partner.
Il partner remoto colloca i dati inviati negli indirizzi indicati e invia una conferma di esecuzione
avvenuta.
Occorre fare attenzione che le aree definite tramite i parametri ADDR_i e SD_i siano compatibili per
numero, lunghezza e tipo di dati.
La conferma di esecuzione viene analizzata e, se non si sono verificati errori, al successivo richiamo
dell'SFB/FB il parametro di stato DONE indica 1.
L'operazione di scrittura può essere riattivata solo al termine della scrittura precedente.
La CPU remota può trovarsi in stato di funzionamento RUN o STOP.
Se si verificano problemi di accesso durante la lettura dei dati o se viene rilevato un errore durante il
controllo del tipo di dati, vengono segnalati errori o avvisi nei parametri ERROR e STATUS.

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


REQ INPUT BOOL E, A, M, D, L Parametro di comando Request; attiva lo
scambio dei dati con fronte di salita.
ID INPUT WORD M, D, cost. Parametro di indirizzamento ID; vedere
Parametri comuni agli SFB/FB e alle SFC/FC
di comunicazione S7
DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE:
0: JOB non ancora avviato o ancora in
corso
1: JOB concluso senza errori

ERROR OUTPUT BOOL E, A, M, D, L Parametri di stato ERROR e STATUS;


STATUS OUTPUT WORD E, A, M, D, L segnalazione di errore:
ERROR=0
STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul
tipo di errore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


410 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.12 Scrittura di dati in una CPU remota con l'SFB/FB 15 "PUT"

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


S7-300: IN_OUT ANY M, D Puntatore sulle aree da scrivere nella CPU
ADDR_1 partner.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB
S7-400: E, A, M, D, T, Z
deve sempre essere specificato (ad es.: P#
ADDR_i DB10.DBX5.0 byte 10).
(1≤ i ≤4)

S7-300: IN_OUT ANY S7-300: Puntatori sulle aree della CPU utente che
SD_1 M, D contengono i dati da inviare.
Sono ammessi solo i tipi di dati BOOL (non
permesso: campo di bit), BYTE, CHAR,
S7-400: S7-400:
WORD, INT, DWORD, DINT, REAL,
SD_i E, A, M, D, T, Z COUNTER, TIMER.
(1≤ i ≤4) Avvertenza:
Se il puntatore ANY accede a un DB, il DB
deve sempre essere specificato (ad es.: P#
DB10.DBX5.0 byte 10).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 411
Comunicazione S7
22.12 Scrittura di dati in una CPU remota con l'SFB/FB 15 "PUT"

Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB/FB 15 che possono
essere emesse con i parametri ERROR e STATUS.

ERROR STATUS Spiegazione


(decimale)
0 11 Avviso:
• Il nuovo job non è valido in quanto quello precedente non è ancora terminato.
• Il job viene già elaborato in una classe con priorità minore.
0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione.
1 1 Problemi di comunicazione, ad es.
• descrizione del collegamento non caricata (locale o remoto)
• collegamento interrotto ( ad es. cavo, CPU spenta, CP in STOP)
• collegamento con il partner non ancora creato
• FB inon eseguibile su una CPU S7-400
• inoltre per S7-300:
- numero massimo di ordini/istanze paralleli superato
1 2 Conferma negativa dal dispositivo partner. Non è possibile eseguire la funzione.
1 4 Errore nei puntatori dell'area di ricezione SD_i riguardanti la lunghezza o il tipo di
dati.
1 8 Errore di accesso nella CPU partner
1 10 L'accesso alla memoria utente locale non è possibile (ad es. accesso a un DB
cancellato)
1 12 Al richiamo dell'SFB/FB
• è stato indicato un DB di istanza che non appartiene all'SFB/FB 15
• è stato indicato un DB globale e non un DB di istanza
• non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di
istanza dal PG)
1 20 • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di
lavoro fosse sufficiente: compressione della memoria di lavoro
• Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento
poiché il buffer di comunicazione viene creato nella memoria di lavoro.
Durante l'aggiornamento non sono consentiti interventi che modificano la
memoria di lavoro.
• S7-300:
- Numero massimo di job paralleli/istanze superato
- Le istanze sono state sovraccaricate da CPU-RUN (è necessario un
passaggio da STOP a RUN della CPU o del CP)
- Possibile con il primo richiamo
1 27 Per questo blocco non esiste un codice funzione nella CPU (solo per S7-300).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


412 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.12 Scrittura di dati in una CPU remota con l'SFB/FB 15 "PUT"

Coerenza dei dati nelle S7-300:


Per garantire la coerenza dei dati, è possibile riscrivere l'area di trasmissione SD_1 solo dopo che è
stata conclusa l'attuale procedura di trasmissione, quando cioè il parametro di stato DONE assume il
valore 1.

Coerenza dei dati nelle S7-400 e S7-300 mediante interfaccia integrata:


Quando si attiva un'operazione di trasmissione (fronte di salita a REQ), i dati da inviare delle aree di
trasmissione SD_i vengono copiati dal programma utente. È possibile riscrivere queste aree dopo il
richiamo del blocco senza falsare i dati di invio attuali.

Avvertenza
L'intera trasmissione può considerarsi conlcusa il parametro di stato DONE assume il valore 1.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 413
Comunicazione S7
22.13 Lettura dei dati di una CPU remota con l'SFB/FB 14 "GET"

22.13 Lettura dei dati di una CPU remota con l'SFB/FB 14 "GET"

Descrizione
Con l'SFB/FB 14 "GET" si possono leggere i dati di una CPU remota.
S7-300: l'operazione di lettura ha luogo dopo un fronte di salita a REQ. Con ogni fronte di salita a
REQ vengono ripresi i parametri ID, ADDR_1 e RD_1. Al termine di un job è possibile assegnare
nuovi valori ai parametri ADDR_1 e RD_1.

S7-400: in presenza di un fronte di salita nell'ingresso di comando REQ, l'SFB/FB viene avviato e i
puntatori rilevanti sulle aree da leggere (ADDR_i) vengono trasmessi alla CPU partner.

Il partner remoto ritrasmette i contenuti dei dati.


Al successivo richiamo dell'SFB/FB i dati ricevuti vengono copiati nelle aree di ricezione progettate
(RD_i).
È necessario accertarsi che le aree definite con i parametri ADDR_i e RD_i siano compatibili per
numero, lunghezza e tipo di dati.
Il termine dell'operazione viene segnalato da un "1" nel parametro di stato NDR.
L'operazione di lettura può essere riattivata solo al termine della lettura precedente.
Se si verificano problemi di accesso durante la lettura dei dati o se viene rilevato un errore durante il
controllo del tipo di dati, vengono segnalati errori o avvisi nei parametri ERROR e STATUS.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
REQ INPUT BOOL E, A, M, D, L Parametro di comando Request; attiva lo
scambio dei dati con fronte di salita.
ID INPUT WORD M, D, cost. Parametro di indirizzamento ID; vedere
Parametri comuni agli SFB/FB e alle SFC/FC
di comunicazione S7
NDR OUTPUT BOOL E, A, M, D, L Parametro di stato NDR:
0: JOB non ancora avviato o ancora in
esecuzione
1: JOB eseguito senza errori.
ERROR OUTPUT BOOL E, A, M, D, L Parametri di stato ERROR e STATUS;
STATUS OUTPUT WORD E, A, M, D, L segnalazione di errore:
ERROR=0
STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul
tipo di errore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


414 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.13 Lettura dei dati di una CPU remota con l'SFB/FB 14 "GET"

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
S7-300: IN_OUT ANY S7-300: Puntatori sulle aree della CPU partner che
ADDR_1 M, D devono essere lette.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB
S7-400: S7-400:
deve sempre essere specificato (ad es.: P#
ADDR_i E, A, M, D, T, Z DB10.DBX5.0 byte 10).
(1≤ i ≤4)

S7-300: IN_OUT ANY S7-300: Puntatori sulle aree della CPU utente in cui
RD_1 M, D vengono memorizzati i dati letti.
Sono ammessi solo i tipi di dati BOOL (non
permesso: campo di bit), BYTE, CHAR,
S7-400: S7-400:
WORD, INT, DWORD, DINT, REAL,
RD_i E, A, M, D, T, Z COUNTER, TIMER.
(1≤ i ≤4) Avvertenza:
Se il puntatore ANY accede a un DB, il DB
deve sempre essere specificato (ad es.: P#
DB10.DBX5.0 byte 10).

Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB/FB 14 che possono
essere emesse con i parametri ERROR e STATUS.

ERROR STATUS Spiegazione


(decimale)
0 11 Avviso:
• Il nuovo job non è valido in quanto quello precedente non è ancora terminato.
• Il job viene già elaborato in una classe con priorità minore.
1 1 • Problemi di comunicazione, ad es.
• descrizione del collegamento non caricata (locale o remoto)
• collegamento interrotto (ad es. cavo, CPU spenta, CP in STOP)
• collegamento con il partner non ancora creato
• FB inon eseguibile su una CPU S7-400
• inoltre per S7-300:
- numero massimo di ordini/istanze paralleli superato
1 2 Non è possibile eseguire la funzione.
1 4 Errore nei puntatori dell'area di ricezione RD_i riguardanti la lunghezza o il tipo di
dati.
1 8 Errore di accesso nella CPU partner.
1 10 L'accesso alla memoria utente locale non è possibile (ad es. accesso a un DB
cancellato)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 415
Comunicazione S7
22.13 Lettura dei dati di una CPU remota con l'SFB/FB 14 "GET"

ERROR STATUS Spiegazione


(decimale)
1 12 Al richiamo dell'SFB/FB
• è stato indicato un DB di istanza che non appartiene all'SFB 14
• è stato indicato un DB globale e non un DB di istanza
• non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di
istanza dal PG)
1 20 • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di
lavoro fosse sufficiente: compressione della memoria di lavoro
• Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento
poiché il buffer di comunicazione viene creato nella memoria di lavoro.
Durante l'aggiornamento non sono consentiti interventi che modificano la
memoria di lavoro.
• S7-300:
- Numero massimo di job paralleli/istanze superato
- Le istanze sono state sovraccaricate da CPU-RUN (è necessario un
passaggio da STOP a RUN della CPU o del CP)
- Possibile con il primo richiamo
1 27 Per questo blocco non esiste un codice funzione nella CPU (solo per S7-300).

Coerenza dei dati


I dati ricevuti sono coerenti se si osserva quanto segue.
Analizzare completamente la parte attualmente in uso dell'area di ricezione RD_i prima di attivare un
nuovo job.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


416 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT"

22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT"

Descrizione
Con l'aiuto dell'SFB 16 "PRINT" è possibile trasmettere dati con un'informazione per la formattazione
ad una stampante remota.
Se all'ingresso di comando REQ è presente un fronte di salita, la descrizione di formato (FORMAT) e
i dati (SD_i) vengono trasmessi alla stampante selezionata tramite ID e PRN_NR.
Se non vengono utilizzate tutte e quattro le aree di trasmissione, si deve fare attenzione che la prima
area venga scritta dal parametro SD_1, la seconda (se disponibile) da SD_2 e la terza (se
disponibile) da SD_3.
Se il job è stato eseguito con successo il parametro di stato DONE visualizza 1, mentre eventuali
errori vengono visualizzati tramite i parametri di stato ERROR e STATUS.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
REQ INPUT BOOL E, A, M, D, L Request parametro di comando, attiva lo
scambio dei dati con fronte di salita.
ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere
Parametri comuni agli SFB/FB e alle SFC/FC
di comunicazione S7
DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE:
0: JOB non ancora avviato o ancora in
esecuzione
1: JOB eseguito senza errori.
ERROR OUTPUT BOOL E, A, M, D, L Parametri di stato ERROR e STATUS;
STATUS OUTPUT WORD E, A, M, D, L segnalazione di errore:
ERROR=0
STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul
tipo di errore.
PRN_NR IN_OUT BYTE E, A, M, D. L Numero stampante
FORMAT IN_OUT STRING E, A, M, D, L Descrizione formato
SD_i IN_OUT ANY M, D, T, Z Puntatore all'i - esima area di trasmissione
(1≤ i ≤4) Sono ammessi solo i tipi di dati BOOL (non
permesso: campo di bit), BYTE, WORD, INT,
DWORD, DINT, REAL, DATE, TOD, TIME,
S5TIME, DATE_AND_TIME.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB
deve sempre essere specificato (ad es.: p#
DB10.DBX5.0 byte 10).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 417
Comunicazione S7
22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT"

Parametro di transito FORMAT


La stringa di caratteri FORMAT contiene caratteri da stampare e elementi di formato. Essa ha la
seguente struttura:

Caratteri

Istruzione di conversione

Istruzione di comando

Per ogni area di trasmissione da stampare, da SD_1 a SD_4, deve essere disponibile in FORMAT
un'istruzione di conversione. Le istruzioni di conversione vengono applicate alle aree di trasmissione
SD_i in base alla loro successione. Caratteri e istruzioni possono invece susseguirsi a piacere.

• Caratteri
Sono ammessi
- tutti i caratteri stampabili
- $$ (carattere per dollari), $' (virgoletta semplice),
- $L e $l (line feed), $P e $p (page), $R e $r (carriage return),
- $T e $t (tabulatore)
• Istruzioni di conversione

% Flag Ampiezza . Precisione Modo di rappresen

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


418 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT"

Elementi di una istruzione Significato


di conversione
Flag • senza : emissione con allineamento a destra
• - : emissione con allineamento a sinistra
Ampiezza • senza: emissione nella rappresentazione standard
• n: vengono emessi esattamente n caratteri.

Nell'emissione con allineamento a destra eventualmente vengono


collocati prima dei caratteri vuoti; nell'emissione con allineamento a
sinistra questi vengono collocati dopo.
Precisione La precisione è di rilievo solo nei modi di rappresentazione A, D, F, e R (vedi
tabella seguente).
• senza: emissione nella rappresentazione standard
• 0: nessuna emissione del punto di decimale e della
cifra decimale nei modi di rappresentazione F e R
n: - in F e R: emissione del punto di decimale e
di n cifre decimali
- in A e D (data): numero dei posti per la data.
Valori possibili: 2 e 4.
Modo di rappresentazione La tabella seguente contiene:
• i modi di rappresentazione possibili
• per ogni modo di rappresentazione i tipi di dati possibili
• per ogni tipo di rappresentazione la rappresentazione standard
(l'emissione della stampante avviene nella rappresentazione standard, se
nel parametro FORMAT non sono stati indicati né ampiezza né
precisione) e nella sua lunghezza massima.

La tabella sottostante indica i tipi di rappresentazione possibili nelle istruzioni di conversione del
parametro FORMAT

Rappresentazio Possibili tipi di Esempio Lungh- Osservazioni


ne dati ezza
A, a DATE 25.07.1996 10 -
DWORD
C, c CHAR K 1 -
BYTE M 1
WORD KL 2
DWORD KLMN 4
ARRAY of CHAR KLMNOP Numero
carattteri
ARRAY of BYTE
D, d DATE 1996-07-25 10 -
DWORD
F, f REAL 0.345678 8 -
DWORD

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 419
Comunicazione S7
22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT"

Rappresentazio Possibili tipi di Esempio Lungh- Osservazioni


ne dati ezza
H, h Tutti i tipi di dati incl. In funzione del tipo di In Rappresentazione
ARRAY of BYTE dati funzione esadecimale
del tipo di
dati
I, i INT - 32 768 max. 6 -
WORD - 2 147 483 648 max. 11
N, n WORD emissione testo - La relativa area di
trasmissione SD_i contiene
un riferimento (numero) a
un testo da stampare. Il
testo è posto sull'unità (ad
es. CP 441) che genera una
stringa di caratteri
stampabili. Se sotto il
numero indicato non viene
trovato alcun testo, viene
emesso "****".
R, r REAL 0.12E-04 8 -
DWORD
S, s STRING emissione testo -
T, t TIME 2d_3h_10m_5s_250ms max. 21 In caso di errore viene
emesso "****".
DWORD
U, u BYTE 255 max. 3 -
WORD 65 535 max. 5
DWORD 4 294 967 295 max. 10
X, x BOOL 1 1 -
BYTE 101 .. 8
WORD 101 .. 16
DWORD 101 .. 32
Z, z TIME_OF_DAY 15:38:59.874 12 -
(TOD)

Nella tabella, nei punti in cui viene indicata la lunghezza massima della rappresentazione standard, l'effettiva
emissione può anche essere più corta.

Avvertenza
Nei tipi di dati C e S dipende dalla stampante collegata
• quali dati possono essere stampati
• ciò che la stampante emette nel caso di caratteri non stampabili, a meno che il driver stampante
non contenga una tabella di trasformazione per questi caratteri.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


420 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT"

• Istruzione di comando
Con l'aiuto delle istruzioni di comando potete:
- stampare i caratteri % e \
- modificare le impostazioni della stampante

Emissione del carattere %


\ %

Emissione del carattere \


\

attivare Grassetto
b
disattivare
-
B
Scrittura ridotta
c

Scrittura espansa
e

corsivo
i

maiuscoletto
k

sottolineato
u

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 421
Comunicazione S7
22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT"

Quando viene richiesta la disattivazione di un tipo di carattere sebbene questo non sia mai stato
attivato, o quando deve essere eseguita una funzione che la stampante non conosce, l'istruzione
di comando viene ignorata.

Errore Emissione stampante


Istruzione di conversione non eseguibile Emissione di caratteri * in base alla lunghezza
(massima) della rappresentazione standard o
all'ampiezza indicata.
Ampiezza indicata non sufficiente Nei modi di rappresentazione A, C, D, N, S, T, Z
vengono emessi tanti caratteri quanti ne prevede
l'ampiezza indicata. In tutti gli altri modi di
rappresentazione vengono emessi caratteri * in base
all'ampiezza indicata.
Troppe istruzioni di conversione Le istruzioni di conversione a cui non appartiene alcun
puntatore dell'area di trasmissione SD_i, vengono
ignorate.
Insufficienti istruzioni di conversione Le aree di trasmissione per le quali non è presente
alcuna istruzione di conversione non vengono emesse
Istruzioni di conversione non definite o non sopportate Viene emesso ******
Istruzioni di conversione incomplete Viene emesso ******
Istruzioni di comando non definite o non sopportate Le istruzioni di comando che non corrispondono alla
sintassi della figura sopra vengono ignorate

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


422 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT"

Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 16 "PRINT" che
possono essere emesse tramite i parametri ERROR e STATUS

ERROR STATUS Spiegazione


(decimale)
0 11 Avviso:
• Il nuovo job non è valido in quanto quello precedente non è ancora
terminato.
• Il job viene già elaborato in una classe con priorità minore.
0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione.
1 1 Problemi di comunicazione, ad es.
• descrizione del collegamento non caricata (locale o remoto)
• collegamento interrotto (ad es. cavo, CPU spenta, CP in STOP)
1 2 Conferma negativa dalla stampante. Non è possibile eseguire la funzione.
1 3 PRN_NR non è conosciuto sul collegamento di comunicazione assegnato
tramite ID.
1 4 Errore nel parametro di transito FORMAT o nei puntatori dell'area di
trasmissione SD_i relativo alla lunghezza o al tipo di dati.
1 6 La stampante remota si trova nello stato OFFLINE.
1 7 La stampante remota si trova in uno stato errato (ad es. Papier out)
1 10 Accesso a memoria utente locale impossibile (ad es. accesso a DB cancellati)
1 13 Errore nel parametro di transito FORMAT
1 20 • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria
di lavoro fosse sufficiente: compressione della memoria di lavoro
• Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento
poiché il buffer di comunicazione viene creato nella memoria di lavoro.
Durante l'aggiornamento non sono consentiti interventi che modificano la
memoria di lavoro.

Numero dei dati da trasmettere


Il numero dei dati da trasmettere a una stampante remota non deve superare una lunghezza
massima.
Questa lunghezza dati massima in byte viene calcolata nel modo seguente:
maxleng = 420 - format
Con format si intende la lunghezza attuale del parametro FORMAT in byte. È irrilevante se i dati da
stampare vengono suddivisi su una o più aree di trasmissione.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 423
Comunicazione S7
22.15 Esecuzione di un nuovo avviamento (avviamento a caldo) o un avviamento a freddo nel dispositivo remoto
con l'SFB 19 "START"

22.15 Esecuzione di un nuovo avviamento (avviamento a caldo) o un


avviamento a freddo nel dispositivo remoto con
l'SFB 19 "START"

Descrizione
Se all'ingresso di comando REQ è presente un fronte di salita, l'SFB 19 "START" attiva un nuovo
avviamento (avviamento a caldo) o avviamento a freddo nel dispositivo remoto indirizzato tramite ID.
Se il dispositivo remoto è un sistema H, l'effetto del job di avvio dipende dal parametro PI_NAME: il
job di avvio riguarda o solamente un'unica CPU o tutte le CPU del sistema H. I seguenti presupposti
devono essere soddisfatti (se il dispositivo remoto è una CPU):
• la CPU deve trovarsi nello stato STOP
• l'interruttore a chiave della CPU deve essere posizionato su "RUN" o "RUN-P".
Al termine del nuovo avviamento (avviamento a caldo) o dell'avviamento a freddo, il dispositivo
passa allo stato di funzionamento RUN e invia una conferma di esecuzione positiva. Con la
valutazione della conferma positiva viene impostato a 1 il parametro di stato DONE. Eventuali errori
vengono indicati dai parametri di stato ERROR e STATUS.
Un nuovo avviamento (avviamento a caldo) o avviamento a freddo dello stesso dispositivo può
essere attivato solo dopo che l'ultima attivazione si è conclusa.

Parametri Dichiaraz- Tipo di dati Area di Descrizione


ione memoria
REQ INPUT BOOL E, A, M, D, L Request parametro di comando, attiva
l'SFB con fronte di salita
ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere
Parametri comuni agli SFB/FB e alle SFC/FC
di comunicazione S7
DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE:
0: JOB non ancora avviato o ancora in
esecuzione
1: JOB eseguito senza errori.
ERROR OUTPUT BOOL E, A, M, D, L Parametri di stato ERROR e STATUS;
STATUS OUTPUT WORD E, A, M, D, L segnalazione di errore:
ERROR=0 e STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul tipo
di errore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


424 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.15 Esecuzione di un nuovo avviamento (avviamento a caldo) o un avviamento a freddo nel dispositivo remoto con l'SFB

Parametri Dichiaraz- Tipo di dati Area di Descrizione


ione memoria
PI_NAME IN_OUT ANY E, A, M, D, T, Z Puntatore sull'area di memoria in cui si trova il
nome del programma (codice ASCII) da
avviare. Il nome deve essere costituito da max.
32 caratteri.
In un sistema standard della serie S7 il nome
deve essere P_PROGRAM.
In un sistema H sono possibili i seguenti nomi:
• P_PROGRAM (il job di avvio vale per tutte
le CPU del sistema H)
• P_PROG_0 (il job di avvio vale per la CPU
nel telaio di montaggio 0 del sistema H)
• P_PROG_1 (il job di avvio vale per la CPU
nel telaio di montaggio 1 del sistema H)
ARG IN_OUT ANY E, A, M, D, T, Z Spiegazione.
• Se non viene assegnato alcun valore ad
ARG, nel dispositivo remoto viene
eseguito un nuovo avviamento
(avviamento a caldo).
• Assegnando il valore "C", nel dispositivo
remoto viene eseguito un avviamento a
freddo (se il dispositivo remoto conosce
questo tipo di avviamento).
IO_STATE IN_OUT BYTE E, A, M, D, L Attualmente non rilevante. Al momento non
può essere assegnato alcun valore a questo
parametro se il partner di comunicazione è un
sistema di automazione della famiglia S7.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 425
Comunicazione S7
22.15 Esecuzione di un nuovo avviamento (avviamento a caldo) o un avviamento a freddo nel dispositivo remoto
con l'SFB 19 "START"

Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB 19, che possono
essere emesse con i parametri ERROR e STATUS.

ERROR STATUS Spiegazione


(decimale)
0 11 Avviso:
• Il nuovo job non è valido in quanto quello precedente non è ancora
terminato.
• Il job viene già elaborato in una classe con priorità minore.
0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione.
1 1 Problemi di comunicazione, ad es.
• descrizione del collegamento non caricata (locale o remoto)
• collegamento interrotto ( ad es. cavo, CPU spenta, CP in STOP)
1 2 Conferma negativa dal dispositivo partner. Non è possibile eseguire la
funzione.
1 3 Il nome di programma memorizzato in PI_NAME è sconosciuto.
1 4 Errore nei puntatori PI_NAME o ARG relativi alla lunghezza o al tipo di dati.
1 7 Nel dispositivo partner non è possibile eseguire alcun nuovo avviamento.
1 10 L'accesso alla memoria utente locale non è possibile (ad es. accesso a un DB
cancellato)
1 12 Per il richiamo dell'SFB è stato indicato
• un DB di istanza che non appartiene all'SFB 19
• un DB globale al posto di un DB di istanza
• non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di
istanza dal PG)
1 20 • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la
memoria di lavoro fosse sufficiente: compressione della memoria di lavoro
• Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento
poiché il buffer di comunicazione viene creato nella memoria di lavoro.
Durante l'aggiornamento non sono consentiti interventi che modificano la
memoria di lavoro.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


426 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.16 Commutazione di un dispositivo remoto nello stato di funzionamento STOP con l'SFB 20 "STOP"

22.16 Commutazione di un dispositivo remoto nello stato di


funzionamento STOP con l'SFB 20 "STOP"

Descrizione
Con un fronte di salita all'ingresso di comando REQ, l'SFB 20 "STOP" attiva il passaggio del
dispositivo remoto indirizzato tramite ID nello stato di funzionamento STOP. Il passaggio dello stato
di funzionamento è possibile se il dispositivo si trova in uno degli stati di funzionamento RUN, ALT o
AVVIAMENTO.
Se il dispositivo remoto è un sistema H, il job di STOP ha validità per tutte le CPU del sistema H.
Se il job è stato portato a termine con successo, il parametro di stato DONE indica 1; eventuali errori
vengono emessi dai parametri di stato ERROR e STATUS.
Un'ulteriore esecuzione del passaggio di stato di funzionamento descritto all'interno dello stesso
dispositivo remoto è possibile solo se l'avvio precedente dell'SFB 20 è terminato.

Parametri Dichiaraz- Tipo di dati Area di Descrizione


ione memoria
REQ INPUT BOOL E, A, M, D, L Request parametro di comando, attiva
l'SFB con fronte di salita
ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere
Parametri comuni agli SFB/FB e alle SFC/FC
di comunicazione S7
DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE:
0: JOB non ancora avviato o ancora in
esecuzione
1: JOB eseguito senza errori.
ERROR OUTPUT BOOL E, A, M, D, L Parametri di stato ERROR e STATUS;
STATUS OUTPUT WORD E, A, M, D, L segnalazione di errore:
ERROR=0 e STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate.
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul tipo
di errore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 427
Comunicazione S7
22.16 Commutazione di un dispositivo remoto nello stato di funzionamento STOP con l'SFB 20 "STOP"

Parametri Dichiaraz- Tipo di dati Area di Descrizione


ione memoria
PI_NAME IN_OUT ANY E, A, M, D Puntatore sull'area di memoria in cui si trova il
nome del programma (codice ASCII) da
arrestare. Il nome deve essere costituito da
max. 32 caratteri.
In un sistema standard della serie S7 il nome
deve essere P_PROGRAM.
In un sistema H sono possibili i seguenti nomi:
• P_PROGRAM (il job di avvio vale per tutte
le CPU del sistema H)
• P_PROGR_0 (il job di avvio vale per la
CPU nel telaio di montaggio 0 del sistema
H)
• P_PROGR_1 (il job di avvio vale per la
CPU nel telaio di montaggio 1 del sistema
H).
IO_STATE IN_OUT BYTE E, A, M, D, L Attualmente non rilevante. Al momento non
può essere assegnato alcun valore a questo
parametro se il partner di comunicazione è un
sistema di automazione della famiglia S7.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


428 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.16 Commutazione di un dispositivo remoto nello stato di funzionamento STOP con l'SFB 20 "STOP"

Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB 20, che possono
essere emesse con i parametri ERROR e STATUS.

ERROR STATUS Spiegazione


(decimale)
0 11 Avviso:
• Il nuovo job non è valido in quanto quello precedente non è ancora
terminato.
• Il job viene già elaborato in una classe con priorità minore.
0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione.
1 1 Problemi di comunicazione, ad es.
• descrizione del collegamento non caricata (locale o remoto)
• collegamento interrotto (ad es. cavo, CPU spenta, CP in STOP)
1 2 Conferma negativa dal dispositivo partner. Non è possibile eseguire la
funzione.
1 3 Il nome del programma memorizzato in PI_NAME è sconosciuto.
1 4 Errore nel puntatore PI_NAME relativo alla lunghezza e al tipo di dati.
1 7 Il dispositivo partner già si trova nello stato STOP.
1 10 L'accesso alla memoria utente locale non è possibile (ad es. accesso a un
DB cancellato)
1 12 Per il richiamo dell'SFB è stato indicato
• un DB di istanza che non appartiene all'SFB 20
• un DB globale al posto di un DB di istanza
• non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di
istanza dal PG)
1 20 • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la
memoria di lavoro fosse sufficiente: compressione della memoria di
lavoro
• Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento
poiché il buffer di comunicazione viene creato nella memoria di lavoro.
Durante l'aggiornamento non sono consentiti interventi che modificano
la memoria di lavoro.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 429
Comunicazione S7
22.17 Esecuzione di un riavviamento in un dispositivo remoto con l'SFB 21 "RESUME"

22.17 Esecuzione di un riavviamento in un dispositivo remoto con


l'SFB 21 "RESUME"

Descrizione

Se all'ingresso di comando REQ è presente un fronte di salita, l'SFB 21 "RESUME" attiva un


riavviamento nel dispositivo remoto selezionato tramite ID. I seguenti presupposti devono essere
soddisfatti se il dispositivo remoto è una CPU:
• la CPU deve trovarsi nello stato STOP
• l'interruttore a chiave della CPU deve essere posizionato su "RUN" o "RUN-P"
• si deve aver reso possibile il riavviamento manuale nella progettazione con STEP 7
• non devono essere presenti ostacoli al riavviamento.
Dopo che il dispositivo ha eseguito il riavviamento, passa allo stato di funzionamento RUN e invia
una conferma di esecuzione positiva. Con l'analisi della conferma positiva, il parametro di stato
DONE viene impostato a 1. Eventuali errori verificatisi vengono visualizzati con i parametri di stato
ERROR e STATUS.
Un ulteriore riavviamento dello stesso dispositivo remoto è possibile solo se l'avvio precedente è
terminato.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
REQ INPUT BOOL E, A, M, D, L Request parametro di comando, attiva
l'SFB con fronte di salita
ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere
Parametri comuni agli SFB/FB e alle SFC/FC
di comunicazione S7
DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE:
0: JOB non ancora avviato o ancora in
esecuzione
1: JOB eseguito senza errori.
ERROR OUTPUT BOOL E, A, M, D, L Parametri di stato ERROR e STATUS;
STATUS OUTPUT WORD E, A, M, D, L segnalazione di errore:
ERROR=0 e STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate.
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul
tipo di errore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


430 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.17 Esecuzione di un riavviamento in un dispositivo remoto con l'SFB 21 "RESUME"

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
PI_NAME IN_OUT ANY E, A, M, D Puntatore sull'area di memoria in cui si trova
il nome del programma (codice ASCII) da
avviare. Il nome deve essere costituito da
max. 32 caratteri.
In un sistema standard della serie S7 il nome
deve essere P_PROGRAM.
ARG IN_OUT ANY E, A, M, D, T, Z Argomento di esecuzione. Attualmente non
rilevante. Al momento non si può assegnare
alcun valore a questo parametro se il partner
di comunicazione è un sistema di
automazione della famiglia S7.
IO_STATE IN_OUT BYTE E, A, M, D, L Attualmente non rilevante. Al momento non si
può attribuire nessun valore a questo
parametro se il partner di comunicazione è un
sistema di automazione della famiglia S7.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 431
Comunicazione S7
22.17 Esecuzione di un riavviamento in un dispositivo remoto con l'SFB 21 "RESUME"

Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB 21, che possono
essere emesse con i parametri ERROR e STATUS.

ERROR STATUS Spiegazione


(decimale)
0 11 Avviso:
• Il nuovo job non è valido in quanto quello precedente non è ancora terminato.
• Il job viene attualmente elaborato in una classe con priorità minore.
0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione.
1 1 Problemi di comunicazione, ad es.
• descrizione del collegamento non caricata (locale o remoto)
• collegamento interrotto (ad es. cavo, CPU spenta, CP in STOP)
1 2 Conferma negativa dal dispositivo partner: non è possibile eseguire la funzione.
1 3 Il nome del programma memorizzato in PI_NAME è sconosciuto.
1 4 Errore nel puntatore PI_NAME o ARG relativo alla lunghezza e al tipo di dati.
1 7 Il dispositivo partner non si trova nello stato STOP.
1 10 L'accesso alla memoria utente locale non è possibile (ad es. accesso a un DB
cancellato)
1 12 Per il richiamo dell'SFB è stato indicato
• un DB di istanza che non appartiene all'SFB 21
• un DB globale al posto di un DB di istanza
• non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di
istanza dal PG)
1 20 • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di
lavoro fosse sufficiente: compressione della memoria di lavoro
• Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento
poiché il buffer di comunicazione viene creato nella memoria di lavoro.
Durante l'aggiornamento non sono consentiti interventi che modificano la
memoria di lavoro.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


432 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.18 Interrogazione dello stato di un dispositivo partner remoto con l'SFB 22 "STATUS"

22.18 Interrogazione dello stato di un dispositivo partner remoto con


l'SFB 22 "STATUS"

Descrizione
Con l'ausilio dell'SFB 22 "STATUS" è possibile interrogare lo stato di un dispositivo partner remoto di
comunicazione.
Con un fronte di salita all'ingresso di comando REQ viene trasmesso un job al partner remoto. La
risposta viene quindi analizzata per verificare se ci sono stati errori. Se non si sono verificati errori, lo
stato ricevuto viene copiato con il prossimo richiamo dell'SFB nelle variabili PHYS, LOG e LOCAL.
Una volta terminata questa operazione, il parametro di stato NDR indica 1.
La possibilità di effettuare un'ulteriore interrogazione dello stesso partner di comunicazione è data
solo al termine dell'interrogazione precedente.

Parametri Dichiaraz- Tipo di dati Area di Descrizione


ione memoria
REQ INPUT BOOL E, A, M, D, L Request parametro di comando, attiva
l'SFB con fronte di salita
ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere
Parametri comuni agli SFB/FB e alle SFC/FC
di comunicazione S7
NDR OUTPUT BOOL E, A, M, D, L Parametro di stato NDR:
0: JOB non ancora avviato o ancora in
esecuzione
1: JOB eseguito senza errori.
ERROR OUTPUT BOOL E, A, M, D, L Parametri di stato ERROR e STATUS;
STATUS OUTPUT WORD E, A, M, D, L segnalazione di errore:
ERROR=0 e STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul tipo
di errore.
PHYS IN_OUT ANY E, A, M, D Stato fisico (lunghezza minima: un byte)
Valori possibili:
• 10H piena funzionalità
• 13H necessità di manutenzione
LOG IN_OUT ANY E, A, M, D Stato logico (lunghezza minima: un byte)
Valore possibile:
• 00H cambio di stato ammesso
LOCAL IN_OUT ANY E, A, M, D Stato di funzionamento se il dispositivo partner
è una CPU S7 (lunghezza minima: due byte)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 433
Comunicazione S7
22.18 Interrogazione dello stato di un dispositivo partner remoto con l'SFB 22 "STATUS"

Parametro di transito LOCAL


Nel caso in cui il partner di comunicazione è una CPU S7, il parametro di transito LOCAL contiene il
suo stato di funzionamento attuale: il primo byte è riservato, il secondo contiene un'identificazione
per lo stato di funzionamento.

Stato di funzionamento Identificazione corrispondente


STOP 00H
Nuovo avviamento 01H
RUN 02H
Riavviamento 03H
ALT 04H
Avviamento a freddo 06H
RUN (stato del sistema H: ridondante) 09H
ACCOPPIAMENTO 0BH
AGGIORNAMENTO 0CH

Informazioni di errore
La tabella seguente riporta tutte le informazioni specifiche sugli errori relativi all'SFB 22 che possono
essere emesse dai parametri ERROR e STATUS.

ERROR STATUS Spiegazione


(decimale)
0 11 Avviso:
• Il nuovo job non è valido in quanto quello precedente non è ancora terminato
• Il job viene già elaborato in una classe con priorità minore.
0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione.
1 1 Problemi di comunicazione, ad es.
• descrizione del collegamento non caricata (locale o remoto)
• collegamento interrotto ( ad es. cavo, CPU spenta, CP in STOP)
1 2 Conferma negativa dal dispositivo partner. Non è possibile eseguire la funzione.
1 4 Errore in PHYS, LOG o LOCAL riguardante la lunghezza o il tipo di dati.
1 8 L'accesso all'oggetto remoto è stato respinto.
1 10 L'accesso alla memoria utente locale non è possibile (ad es. accesso a un DB
cancellato)
1 12 Per il richiamo dell'SFB è stato indicato
• un DB di istanza che non appartiene all'SFB 22
• un DB globale al posto di un DB di istanza
• non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di
istanza nel PG)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


434 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.18 Interrogazione dello stato di un dispositivo partner remoto con l'SFB 22 "STATUS"

ERROR STATUS Spiegazione


(decimale)
1 20 • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di
lavoro fosse sufficiente: compressione della memoria di lavoro
• Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento
poiché il buffer di comunicazione viene creato nella memoria di lavoro.
Durante l'aggiornamento non sono consentiti interventi che modificano la
memoria di lavoro.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 435
Comunicazione S7
22.19 Ricezione del cambiamento di stato di un dispositivo remoto con l'SFB 23 "USTATUS"

22.19 Ricezione del cambiamento di stato di un dispositivo remoto con


l'SFB 23 "USTATUS"

Descrizione
L'SFB 23 "USTATUS" riceve il cambiamento di stato di un dispositivo remoto partner della
comunicazione; quest'ultimo invia senza essere stato sollecitato il proprio stato in caso di un cambio
di questo se è la progettazione è avvenuta con STEP 7.
Se al momento del richiamo, l'ingresso di comando EN_R indica 1 e sussiste un telegramma da
parte del partner, con il prossimo richiamo dell'SFB viene depositata l'informazione di stato nelle
variabili PHYS, LOG e LOCAL. Al termine di tale operazione, il parametro di stato NDR indica 1.
Sul collegamento utilizzato da USTATUS, l'invio di messaggi sullo stato di funzionamento deve
essere abilitato.

Avvertenza
Per ogni collegamento è possibile collocare solo una istanza dell'SFB 23.

Parametri

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


EN_R INPUT BOOL E, A, M, D, L, cost. Parametro di comando enabled to receive,
segnala la disponibilità a ricevere quando
l'ingresso è impostato.
ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere
Parametri comuni agli SFB/FB e alle
SFC/FC di comunicazione S7
NDR OUTPUT BOOL E, A, M, D, L Parametro di stato NDR:
0: JOB non ancora avviato o ancora in
esecuzione
1: JOB eseguito senza errori.
ERROR OUTPUT BOOL E, A, M, D, L Parametri di stato ERROR e STATUS,
STATUS OUTPUT WORD E, A, M, D, L indicazione di errore:
ERROR=0 e STATUS ha il valore:
0000H: né avviso né errore
0000H: avviso, STATUS fornisce
informazioni dettagliate.
ERROR=1
È presente un errore. STATUS fornisce
informazioni dettagliate sul tipo di
errore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


436 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.19 Ricezione del cambiamento di stato di un dispositivo remoto con l'SFB 23 "USTATUS"

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


PHYS IN_OUT ANY E, A, M, D Stato fisico (lunghezza minima: un byte)
Valori possibili:
• 10H piena funzionalità
• 13H necessità di manutenzione
LOG IN_OUT ANY E, A, M, D Stato logico (lunghezza minima: un byte)
Valore possibile:
• 00H cambio di stato ammesso
LOCAL IN_OUT ANY E, A, M, D Stato di funzionamento se il dispositivo
partner è una CPU S7 (lunghezza minima:
due byte)

Parametro di transito LOCAL


Nel caso in cui il partner di comunicazione è una CPU S7, il parametro di transito LOCAL contiene il
suo stato di funzionamento attuale: il primo byte è riservato, il secondo contiene un'identificazione
per lo stato di funzionamento.

Stato di funzionamento Identificazione corrispondente


STOP 00H
Nuovo avviamento 01H
RUN 02H
Riavviamento 03H
ALT 04H
Avviamento a freddo 06H
RUN (stato del sistema H: ridondante) 09H
ACCOPPIAMENTO 0BH
AGGIORNAMENTO 0CH

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 437
Comunicazione S7
22.19 Ricezione del cambiamento di stato di un dispositivo remoto con l'SFB 23 "USTATUS"

Informazioni di errore
La tabella seguente riporta tutte le informazioni specifiche sugli errori relativi all'SFB 23 che possono
essere emesse dai parametri ERROR e STATUS.

ERROR STATUS Spiegazione


(decimale)
0 9 Messaggio di avviso overrun: il vecchio stato del dispositivo è stato
sovrascritto da un nuovo stato.
0 11 I dati in ingresso vengono già elaborati in una classe con priorità minore.
0 25 È stata avviata la comunicazione. Il job è in corso di esecuzione.
1 1 Problemi di comunicazione, ad es.
• descrizione del collegamento non caricata (locale o remoto)
• collegamento interrotto (ad es. cavo, CPU spenta, CP in STOP)
1 4 Errore in PHYS, LOG o LOCAL riguardante la lunghezza o il tipo di dati.
1 10 L'accesso alla memoria utente locale non è possibile (ad es. accesso a un DB
cancellato)
1 12 Per il richiamo dell'SFB è stato indicato
• un DB di istanza che non appartiene all'SFB 23
• un DB globale al posto di un DB di istanza
• non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di
istanza dal PG)
1 18 Per il collegamento indicato con l'ID esiste già una istanza per l'SFB 23
"USTATUS".
1 19 La CPU remota trasmette dati più velocemente di quanto l'SFB possa
accoglierli nel programma utente.
1 20 • S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la
memoria di lavoro fosse sufficiente: compressione della memoria di lavoro
• Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento
poiché il buffer di comunicazione viene creato nella memoria di lavoro.
Durante l'aggiornamento non sono consentiti interventi che modificano la
memoria di lavoro.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


438 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.20 Interrogazione dello stato del collegamento appartenente ad un'istanza SFB di comunicazione con la SFC 62 "CON

22.20 Interrogazione dello stato del collegamento appartenente ad


un'istanza SFB di comunicazione con la SFC 62 "CONTROL"

Descrizione
Con la SFC 62 "CONTROL" è possibile rilevare nelle S7-400 lo stato del collegamento appartenente
ad un'istanza SFB di comunicazione locale.
Dopo il richiamo della funzione di sistema con il valore 1 all'ingresso di comando EN_R viene rilevato
lo stato momentaneo di quel collegamento che appartiene all'istanza SFB di comunicazione
selezionata tramite I_DB.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
EN_R INPUT BOOL E, A, M, D, L, cost. Parametro di comando enabled to receive,
segnala la disponibilità a ricevere quando
l'ingresso è impostato.
I_DB INPUT WORD E, A, M, D, L, cost. Numero del DB di istanza
OFFSET INPUT WORD E, A, M, D, L, cost. Offset del record di dati in byte nel DB di
multiistanza (se non c'è un DB di multiistanza,
indicare 0).
RET_VAL OUTPUT INT E, A, M, D, L Informazioni sugli errori
ERROR OUTPUT BOOL E, A, M, D, L Parametri di stato ERROR e STATUS;
STATUS OUTPUT WORD E, A, M, D, L segnalazione di errore:
ERROR=0 e STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate.
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul tipo
di errore.
I_TYP OUTPUT BYTE E, A, M, D, L Identificazione per il tipo di blocco che
appartiene all'istanza selezionata
I_STATE OUTPUT BYTE E, A, M, D, L • = 0: la corrispondente istanza di SFB non
è ancora stata richiamata dall'ultimo
avviamento a freddo, nuovo avviamento
(a caldo) o caricamento.
• <> 0: la corrispondente istanza di SFB è
stata richiamata almeno una volta
dall'ultimo avviamento a freddo, nuovo
avviamento (a caldo) o caricamento.
I_CONN OUTPUT BOOL E, A, M, D, L Stato del collegamento corrispondente.
Valori possibili:
• 0: collegamento interrotto o non
instaurato
• 1: collegamento attivo

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 439
Comunicazione S7
22.20 Interrogazione dello stato del collegamento appartenente ad un'istanza SFB di comunicazione con la SFC
62 "CONTROL"

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
I_STATUS OUTPUT WORD E, A, M, D, L Parametro di stato STATUS dell'istanza
SFB di comunicazione interrogata

Parametro di uscita I_TYP


La tabella seguente spiega quale identificazione appartiene a quale tipo SFB.

Tipo SFB Identificazione (W#16#...)


USEND 00
URCV 01
BSEND 04
BRCV 05
GET 06
PUT 07
PRINT 08
START 0B
STOP 0C
RESUME 0D
STATUS 0E
USTATUS 0F
ALARM 15
ALARM_8 16
ALARM_8P 17
NOTIFY 18
AR_SEND 19
NOTIFY_8P 1A
(nessun SFB disponibile; I_DB o OFFSET errati) FF

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


440 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.20 Interrogazione dello stato del collegamento appartenente ad un'istanza SFB di comunicazione con la SFC 62 "CON

Informazioni di errore
Il parametro di uscita RET_VAL può assumere con la SFC 62 "CONTROL" i due valori seguenti:
• 0000H: non si sono verificati errori durante l'esecuzione della SFC.
• 8000H: si è verificato un errore durante l'esecuzione della SFC.

Avvertenza
Anche quando viene visualizzato il valore 0000H nel parametro di uscita RET_VAL, è necessario
valutare i parametri di uscita ERROR e STATUS.

ERROR STATUS Spiegazione


(decimale)
1 10 Non è possibile accedere alla memoria utente locale (ad es.: è stato
indicato un byte di merker come parametro attuale I_TYP che però
non esiste nella CPU utilizzata.)
1 12 Al numero indicato da I_DB
• non corrisponde un DB di istanza ma un DB globale,
• non corrisponde alcun DB o l'istanza è guasta.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 441
Comunicazione S7
22.21 Interrogazione dello stato di un collegamento con la FC 62 "C_CNTRL"

22.21 Interrogazione dello stato di un collegamento con la FC 62


"C_CNTRL"

Descrizione
Con la FC 62 "C_CNTRL" si determina lo stato di un collegamento nelle S7-300.
Dopo il richiamo della funzione di sistema con il valore 1 sull'ingresso di comando EN_R viene
determinato lo stato attuale del collegamento indirizzato tramite ID.

Parametro Dichiarazione Tipo di Area di memoria Descrizione


dati
EN_R INPUT BOOL E, A, M, D, L, cost. Parametro di comando enabled to receive.
Segnala la pronta ricezione quando è
impostato l'ingresso
ID INPUT WORD M, D, cost. Parametro di indirizzamento ID, vedere
Parametri comuni agli SFB/FB e alle
SFC/FC di comunicazione S7
RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore
ERROR OUTPUT BOOL E, A, M, D, L Parametri di stato ERROR e STATUS;
STATUS OUTPUT WORD E, A, M, D, L segnalazione di errore:
ERROR=0 e STATUS hanno il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul
tipo di errore
C_CONN OUTPUT BOOL E, A, M, D, L Stato del collegamento corrispondente.
Valori possibili:
• 0: collegamento interrotto o non creato
• 1: collegamento disponibile
C_STATUS OUTPUT WORD E, A, M, D, L Stato del collegamento:
• W#16#0000: collegamento non
impostato
• W#16#0001: impostazione del
collegamento in corso
• W#16#0002: collegamento impostato
• W#16#000F: mancano dati per lo stato
del collegamento (ad es. avviamento
del CP)
• W#16#00FF: collegamento non
progettato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


442 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione S7
22.21 Interrogazione dello stato di un collegamento con la FC 62 "C_CNTRL"

Informazioni sugli errori


Il parametro di uscita RET_VAL può assumere i due valori seguenti con la FC 62 "C_CNTRL":
• 0000H: durante l'esecuzione della FC non si sono verificati errori
• 8000H: durante l'esecuzione della FC si èm verificato un errore

Avvertenza
I parametri di uscita ERROR e STATUS vanno analizzati anche quando nel parametro di uscita
RET_VAL viene visualizzato il valore 0000H.

ERROR STATUS Spiegazione


(decimale)
1 10 Errore di accesso al CP a causa di un altro job in corso. Ripetere il job in un
secondo tempo
1 27 Per questo blocco non esiste un codice funzione nella CPU.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 443
Comunicazione S7
22.22 Fabbisogno di memoria di lavoro dei blocchi di comunicazione S7

22.22 Fabbisogno di memoria di lavoro dei blocchi di comunicazione S7


Per un funzionamento corretto e senza problemi, gli SFB/FB di comunicazione S7 richiedono
generalmente un'area di memoria intermedia dipendente dai dati utili nella memoria di lavoro della
CPU (area di codice). Le dimensioni della memoria occupata sono riportate nella tabella seguente.

Blocco S7-300 Fabbisogno di memoria di lavoro in byte


FB 8 USEND Blocco: 4583 byte, istanza: 368 byte
FB 9 URCV Blocco: 4880 byte, istanza: 370 byte
FB 12 BSEND Blocco: 5284 byte, istanza: 372 byte
FB 13 BRCV Blocco: 5258 byte, istanza: 374 byte
FB 14 GET Blocco: 4888 byte, istanza: 336 byte
FB 15 PUT Blocco: 4736 byte, istanza: 384 byte
FB 28 USEND_E Blocco: 5708 byte, istanza: 522 byte
FB 29 URCV_E Blocco: 6440 byte, istanza: 524 byte
FB 34 GET_E Blocco: 6300 byte, istanza: 636 byte
FB 35 PUT_E Blocco: 6184 byte, istanza: 634 byte
FC 62 C_CNTRL Blocco: 546 byte

Avvertenza sul comportamento in caso di interruzione


Nella S7-300, i blocchi di comunicazione SIMATIC_NET si possono richiamare solo in una classe
di priorità.

Blocco S7-400 Fabbisogno di memoria di lavoro in byte


SFB 8/ USEND/ 68 + lunghezza dei dati utili indicati a SD_1,... SD_4/RD_1,... RD_4 con il
SFB 9 URCV primo richiamo
SFB 12/ BSEND/ 54
SFB 13 BRCV
SFB 14 GET 88 + lunghezza dei dati utili indicati a RD_1,... RD_4 con il primo richiamo
SFB 15 PUT 108 + lunghezza dei dati utili indicati a SD_1,... SD_4 con il primo richiamo
SFB 16 PRINT 78 + lunghezza indicata in FORMAT + lunghezza dei primi dati utili specificati
al primo richiamo in SD_1,... SD_4
SFB 19 START 52 + lunghezza del parametro specificato al primo richiamo in PI_NAME e
ARG
SFB 20 STOP 48+ lunghezza del parametro specificato al primo richiamo in PI_NAME
SFB 21 RESUME 52 + lunghezza del parametro specificato al primo richiamo in PI_NAME e
ARG
SFB 22 STATUS 50
SFB 23 USTATUS 50

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


444 Manuale di riferimento, 04/2017, A5E41911986-AA
23 Comunicazione di base S7

23.1 Parametri comuni delle SFC di comunicazione di base S7

Parametro di ingresso REQ


Il parametro di ingresso REQ (request to activate) è un parametro di comando avviato dal livello.
Serve ad avviare il job (il trasferimento dati oppure l'annullamento del collegamento):
• Quando si richiama la SFC relativa ad un job temporaneamente non attivato, con REQ=1 il
job viene avviato. Se al momento del primo richiamo di una SFC non sussiste ancora alcun
collegamento al partner di comunicazione, tale collegamento viene creato prima che inizi il
trasferimento dati.
• Quando si è avviato un job ed esso non è ancora terminato e si richiama nuovamente la SFC per
lo stesso job, REQ non viene analizzato dalla SFC.

Parametro di ingresso REQ_ID (solo in SFC65 e SFC66)


Il parametro di ingresso REQ_ID viene utilizzato per identificare i dati di trasmissione e viene
trasmesso dal sistema operativo della CPU mittente alla SFC 66 "X_RCV" della CPU del partner di
comunicazione.
Sul lato del ricevente serve il parametro REQ_ID:
• se su una CPU mittente si richiamano più SFC 65 "X_SEND" con diversi parametri REQ_ID e si
trasferiscono i dati ad un partner di comunicazione
• se si trasferiscono dati ad un partner di comunicazione da più CPU mittente con l'aiuto della 65
"X_SEND".
Mediante la valutazione di REQ_ID si possono depositare i dati di ricezione in diverse aree di
ricezione.

Parametri di uscita RET_VAL e BUSY


Le SFC di comunicazione di base S7 sono SFC con funzionamento asincrono, ossia lo svolgimento
di un job si protrae per più richiami di SFC. Mediante i parametri di uscita RET_VAL e BUSY viene
visualizzato lo stato del job. Vedere anche il capitolo Significato dei parametri REQ, RET_VAL e
BUSY nelle SFC che lavorano in modo asincrono.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 445
Comunicazione di base S7
23.1 Parametri comuni delle SFC di comunicazione di base S7

Parametro di ingresso CONT


Il parametro di ingresso CONT (continue) è un parametro di comando. Con esso si determina se il
collegamento al partner di comunicazione debba essere mantenuto al termine del job.
• Se al primo richiamo si sceglie CONT=0, il collegamento viene un'altra volta disattivato al
termine del trasferimento dati. Esso sarà poi nuovamente disponibile per lo scambio dati con un
nuovo partner di comunicazione.
In questo modo si assicura che vengano occupate solo quelle risorse di collegamento
attualmente necessarie.
• Se al primo richiamo si sceglie CONT=1, il collegamento viene mantenuto anche dopo che il
trasferimento dati è terminato.
Questo modo di procedere si propone, per esempio, quando si scambiano dati ciclicamente tra
due stazioni.

Avvertenza
Un collegamento creato mediante CONT=1 può anche essere annullato esplicitamente con la
SFC 69 "X_ABORT" o con la SFC 74 "I_ABORT".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


446 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione di base S7
23.2 Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati

23.2 Informazioni di errore delle SFC di comunicazione per


collegamenti S7 non progettati

Informazioni di errore
Le "vere" informazioni di errore per le SFC dalla 65 alla 74 riportate, tra le altre, nella tabella
seguente si possono classificare come segue:

Codice Spiegazione
errore(W#16#
...)
809x Errore sulla CPU, sulla quale è in esecuzione la SFC
80Ax Errore di comunicazione permanente
80Bx Errore nel partner di comunicazione
80Cx Errore temporaneo

Informazioni specifiche per le SFC da 65 a 74:

Codice Spiegazione (generale) Spiegazione (specifica per SFC)


errore
(W#16# ...)
0000 L'elaborazione è stata conclusa senza errori. SFC 69 "X_ABORT" e SFC 74 "I_ABORT":
REQ=1, e il collegamento indicato non è
creato.
SFC 66 "X_RCV":EN_DT=1 e RD=NIL
00xy - SFC 66 "X_RCV" con NDA=1 e
RD<>NIL:RET_VAL contiene la lunghezza del
blocco dati ricevuto (con EN_DT=0) oppure
copiato in RD (con EN_DT=1).
SFC 67 "X_GET":
RET_VAL contiene la lunghezza del blocco
dati ricevuto.
SFC 72 "I_GET":RET_VAL contiene la
lunghezza del blocco dati ricevuto.
7000 - SFC 65 "X_SEND", SFC 67 "X_GET", SFC 68
"X_PUT"; SFC 69 "X_ABORT", SFC 72
"I_GET", SFC 73 "I_PUT" e SFC 74
"I_ABORT": richiamo con REQ = 0 (richiamo
senza elaborazione). BUSY ha il valore 0, non
c'è alcun trasferimento dati attivo.
SFC 66 "X_RCV": EN_DT=0/1 e NDA=0
7001 Primo richiamo con REQ=1: trasferimento dati -
avviato; BUSY ha il valore 1.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 447
Comunicazione di base S7
23.2 Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati

Codice Spiegazione (generale) Spiegazione (specifica per SFC)


errore
(W#16# ...)
7002 Richiamo intermedio (REQ irrilevante): SFC 69 "X_ABORT" e SFC 74 "I_ABORT":
trasferimento dati già attivo; BUSY ha il valore Richiamo intermedio con REQ=1
1.
8090 L'indirizzo di destinazione indicato del partner -
di comunicazione non è valido, ad es.
• IOID errato
• presenza indirizzo di base errato
• indirizzo MPI (> 126) errato
8092 Errore in SD o RD, ad es.: l'indirizzamento SFC 65 "X_SEND", ad es.
dell'area dati locale non è consentito. • lunghezza di SD non consentita
• SD=NIL non è consentito
SFC 66 "X_RCV", ad es.
• sono stati ricevuti più dati rispetto a quanti
ne possono entrare nell'area definita
mediante RD.
• RD è il tipo di dati BOOL, la lunghezza dei
dati ricevuti è tuttavia superiore ad un
byte.
SFC 67 "X_GET" e SFC 72 "I_GET", per. es.
lunghezza non consentita per RD
la lunghezza o il tipo di dati di RD non
corrisponde ai dati ricevuti
RD=NIL non è consentito
SFC 68 "X_PUT" e SFC 73 "I_PUT", ad es.
lunghezza non consentita per SD
SD=NIL non è consentito
8095 Il blocco viene già elaborato in una classe di -
priorità con priorità più bassa.
80A0 Errore nella conferma di acknowledge ricevuta SFC 68 "X_PUT" e SFC 73 "I_PUT":
Il tipo di dati indicato nel parametro SD della
CPU mittente non è supportato dal partner di
comunicazione.
80A1 Problemi di comunicazione: richiamo -
SFC dopo annullamento di un collegamento
esistente.
80B0 L'oggetto non è accessibile, ad es. DB non possibile per SFC 67 "X_GET" e SFC 68
caricato "X_PUT" e SFC 72 "I_GET" e SFC 73 "I_PUT"
80B1 Errore nel puntatore ANY. La lunghezza -
dell'area dati da trasferire è errata.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


448 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione di base S7
23.2 Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati

Codice Spiegazione (generale) Spiegazione (specifica per SFC)


errore
(W#16# ...)
80B2 Errore hardware: unità non presente possibile per SFC 67 "X_GET" e SFC 68
• il posto connettore progettato non è "X_PUT" e SFC 72 "I_GET" e SFC 73 "I_PUT"
occupato
• il tipo di unità attuale non è uguale al tipo di
unità prefissato
• la periferia decentrata non è disponibile
• nell'SDB corrispondente non vi è alcuna
registrazione per l'unità.
80B3 I dati possono essere o soltanto letti oppure possibile per SFC 67 "X_GET" e SFC 68
solo scritti, ad es. DB protetto da scrittura "X_PUT" e SFC 72 "I_GET" e SFC 73 "I_PUT"
80B4 Errore del tipo di dati per puntatore ANY, o SFC 67 "X_GET" e SFC 68 "X_PUT" e SFC 72
ARRAY del tipo di dati indicato non consentito. "I_GET" e SFC 73 "I_PUT": il tipo di dati
indicato in VAR_ADDR non viene supportato
dal partner di comunicazione.
80B5 Elaborazione negata a causa dello stato di possibile per SFC 65 "X_SEND"
funzionamento non consentito.
80B6 Nella conferma di acknowledge ricevuta c'è un -
codice di errore sconosciuto.
80B7 Il tipo di dati e/o la lunghezza dei dati trasferiti possibile per SFC 68 "X_PUT" e SFC 73
non sono adatti all'area nella CPU partner nella "I_PUT"
quale si deve scrivere.
80B8 - SFC 65 "X_SEND": la SFC 66 "X_RCV" del
partner di comunicazione ha negato la
conferma dei dati (RD=NIL).
80B9 - SFC 65 "X_SEND": il blocco dati è stato
identificato dal partner di comunicazione
(richiamo della SFC 66 "X_RCV" con
EN_DT=0), tuttavia non è ancora stato
confermato nel programma utente a causa
dello stato di funzionamento.
80BA La risposta del partner di comunicazione non -
entra nel telegramma di comunicazione.
80C0 Il collegamento indicato è già occupato da un -
altro job.
80C1 Mancanza di risorse nella CPU sulla quale è in -
esecuzione la SFC, ad es.:
• il numero massimo di diversi job di
trasmissione dell'unità viene già elaborato
• la risorsa di collegamento è ad es.
occupata dalla ricezione.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 449
Comunicazione di base S7
23.2 Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati

Codice Spiegazione (generale) Spiegazione (specifica per SFC)


errore
(W#16# ...)
80C2 Temporanea mancanza di risorse del partner di -
comunicazione, ad es.:
• il partner di comunicazione elabora
momentaneamente il massimo dei job
• le risorse necessarie (memoria, ecc.) sono
occupate
• memoria di lavoro disponibile insufficiente
(avviare un processo di compressione).
80C3 Errore nella struttura del collegamento, ad es.:· -
• la propria stazione S7 non si trova sulla
sotto-rete MPI
• la propria stazione è stata indirizzata sulla
sotto-rete MPI
• il partner di comunicazione non è più
accessibile
• temporanea mancanza di risorse del
partner di comunicazione.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


450 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione di base S7
23.3 Invio di dati ad un partner di comunicazione esterno alla propria stazione S7 con la SFC 65 "X_SEND"

23.3 Invio di dati ad un partner di comunicazione esterno alla propria


stazione S7 con la SFC 65 "X_SEND"

Descrizione
Con la SFC 65 "X_SEND" si trasmettono i dati ad un partner di comunicazione esterno alla propria
stazione S7. La ricezione dei dati nel partner di comunicazione avviene tramite la SFC 66 "X_RCV".
Il processo di trasmissione avviene dopo il richiamo della SFC con REQ=1.
Occorre fare attenzione affinché l'area di trasmissione (sulla CPU mittente), definita tramite il
parametro SD, sia minore o uguale all'area di ricezione (nel partner di comunicazione) definita
mediante il parametro RD. Se SD è del tipo di dati BOOL, anche RD deve essere del tipo BOOL

Parametri Dichiaraz- Tipo di Area di memoria Descrizione


ione dati

REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando "request to activate",


vedere Parametri comuni delle SFC di
comunicazione di base S7
CONT INPUT BOOL E, A, M, D, L, cost. Parametro di comando "continue", vedere
Parametri comuni delle SFC di comunicazione di
base S7
DEST_ID INPUT WORD E, A, M, D, L, cost. Parametro di indirizzamento "destination ID".
Contiene l'indirizzo MPI del partner di
comunicazione. Esso è stato progettato con
STEP 7.
REQ_ID INPUT DWORD E, A, M, D, L, cost. Identificazione del job. Serve ad identificare i dati
nel partner di comunicazione.
SD INPUT ANY E, A, M, D Riferimento all'area di trasmissione. Sono
consentiti i seguenti tipi di dati: BOOL, BYTE,
CHAR, WORD, INT, DWORD, DINT, REAL,
DATE, TOD, TIME, S5TIME, DATE_AND_TIME
nonché gli Array dei tipi di dati citati a accezione
di BOOL.
L'area di trasmissione può occupare al massimo
76 byte.
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si
verifica un errore, il valore di ritorno contiene il
relativo codice di errore.
BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: il processo di trasmissione non è
ancora concluso.
BUSY=0: il processo di trasmissione è concluso,
o nessun processo di trasmissione è attivo.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 451
Comunicazione di base S7
23.3 Invio di dati ad un partner di comunicazione esterno alla propria stazione S7 con la SFC 65 "X_SEND"

Coerenza dei dati


I dati vengono inviati in modo coerente.

Informazioni di errore
Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e
Analisi degli errori con il parametro di uscita RET_VAL.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


452 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione di base S7
23.4 Ricezione di dati da un partner di comunicazione esterno alla propria stazione S7con la SFC 66 "X_RCV"

23.4 Ricezione di dati da un partner di comunicazione esterno alla


propria stazione S7con la SFC 66 "X_RCV"

Descrizione
Con la SFC 66 "X_RCV" si ricevono i dati che uno o più partner di comunicazione esterni alla propria
stazione S7 hanno trasmesso con la SFC 65 "X_SEND".
Con la SFC 66 "X_RCV"
• si può stabilire se al momento attuale vi sono dati trasmessi disponibili: essi sono stati disposti in
fila dal sistema operativo eventualmente in una coda di attesa interna;
• si può copiare il blocco dati più vecchio, pronto nella lista di attesa, in un'area di ricezione
definita.

Parametri Dichiaraz- Tipo di Area di memoria Descrizione


ione dati
EN_DT INPUT BOOL E, A, M, D, L, cost. Parametro di comando "enable data transfer".
Con il valore 0 si verifica se è disponibile almeno
un blocco dati. Il valore1 causa la copia del
blocco dati più vecchio disponibile nella coda di
attesa nell'area della memoria di lavoro definita
mediante RD.
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si
verifica un errore, il valore di ritorno contiene il
relativo codice di errore.
Se non si verifica alcun errore, RET_VAL
contiene:
• con EN_DT=0/1 e NDA=0:W#16#7000. In
questo caso nella coda di attesa non c'è
alcun blocco dati
• con EN_DT=0 e NDA=1 la lunghezza in byte
del blocco dati più vecchio registrato nella
coda di attesa come numero positivo
• con EN_DT=1 e NDA=1 la lunghezza in byte
del blocco dati copiato nell'area di ricezione
RD come numero positivo.
REQ_ID OUTPUT DWORD E, A, M, D, L Identificazione del job di quella SFC "X_SEND", i
cui dati trasmessi stanno al primo posto nella
coda di attesa. Se nella coda di attesa non c'è
alcun blocco dati, il REQ_ID contiene il valore 0.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 453
Comunicazione di base S7
23.4 Ricezione di dati da un partner di comunicazione esterno alla propria stazione S7con la SFC 66 "X_RCV"

Parametri Dichiaraz- Tipo di Area di memoria Descrizione


ione dati
NDA OUTPUT BOOL E, A, M, D, L Parametro di stato "new data arrived".
NDA=0:
• Nella coda di attesa non è presente alcun
blocco dati
NDA=1:
• Nella coda di attesa è presente almeno un
blocco dati (richiamo della SFC 66 con
EN_DT=0)
• Il blocco dati più vecchio nella coda di attesa
è stato copiato nel programma utente
(richiamo della SFC 66 con EN_DT=1)
RD OUTPUT ANY E, A, M, D Riferimento all'area di ricezione (receive data
area). Sono consentiti i seguenti tipi di dati:
BOOL, BYTE, CHAR, WORD, INT, DWORD,
DINT, REAL, DATE, TOD, TIME,S5_TIME,
DATE_AND_TIME nonché gli array dei tipi di dati
citati, a eccezione di BOOL.
Se si intende annullare il blocco dati meno
recente nella coda di attesa, assegnare a RD il
valore NIL.
L'area di ricezione può occupare al massimo 76
byte.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


454 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione di base S7
23.4 Ricezione di dati da un partner di comunicazione esterno alla propria stazione S7con la SFC 66 "X_RCV"

Visualizzazione della ricezione dati con EN_DT=0


Non appena giungono i dati di un partner di comunicazione, questi vengono messi in fila dal sistema
operativo nella coda di attesa e cioè nella sequenza con cui sono stati ricevuti.
Quando si vuole verificare se c'è almeno un blocco dati, richiamare la SFC 66 con EN_DT=0 e
impostare il parametro di uscita NDA:
• NDA=0 significa che nella coda di attesa non è registrato alcun blocco dati. REQ_ID è irrilevante,
RET_VAL contiene W#16#7000.
• NDA=1 significa che nella coda di attesa c'è almeno un blocco dati pronto per il ritiro.
In questo caso impostare anche il parametro di uscita RET_VAL ed eventualmente REQ_ID.
RET_VAL contiene la lunghezza in byte del blocco dati, REQ_ID l'identificazione del job del
blocco mittente. Qualora nella coda di attesa siano pronti più blocchi dati, REQ_ID e RET_VAL
appartengono al blocco dati più vecchio presente nella coda di attesa.

X_RCV
EN_DT REQ_ID
Risorse di ricezione 0
NDA
RD

Ricezione dati t2

Coda di
attesa

Ricezione dati t1

t1 t2

Ricezione dati

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 455
Comunicazione di base S7
23.4 Ricezione di dati da un partner di comunicazione esterno alla propria stazione S7con la SFC 66 "X_RCV"

Conferma dati nell'area di ricezione con EN_DT=1


Quando si richiama la SFC 66 "X_RCV" con EN_DT=1, il blocco dati più vecchio presente nella coda
di attesa viene copiato nell'area della memoria di lavoro definita mediante RD.
RD deve essere maggiore o uguale all'area di trasmissione, definita tramite il parametro SD, della
relativa SFC 65 "X_SEND". Qualora il suo parametro di ingresso SD sia del tipo di dati BOOL, anche
RD deve essere del tipo BOOL.
Se si intendono memorizzare i dati ricevuti in aree diverse, si può determinare REQ_ID (richiamo
della SFC con EN_DT = 0) e scegliere adeguatamente RD nel richiamo successivo (con
EN_DT = 1).
Se durante la copia si è verificato un errore, RET_VAL indica la lunghezza in byte del blocco dati
copiato e fornisce una conferma di acknowledge positiva al mittente.

Coda di attesa
Trasferimento dati

X_RCV
EN_DT REQ_ID
1
NDA
RD
Area di
ricezione

Ricezione dati

Annullamento dati
Se non si vogliono confermare i dati, assegnare a RD il valore NIL. In questo caso il mittente riceve
una conferma di acknowledge negativa (RET_VAL della relativa SFC 65 "X_SEND" ha il valore
W#16#80B8), in RET_VAL con la SFC 66 "X_RCV" viene registrato 0.

Coerenza dei dati


Dopo il richiamo con EN_DT=1 e RETVAL=W#16#00xy nelle aree di ricezione RD si trovano nuovi
dati. Un nuovo richiamo di blocco potrebbe sovrascrivere questi dati. Per evitare che ciò si verifichi,
non richiamare più l'SFC 66 "X RCV" con la stessa area di ricezione RD, prima di aver analizzato i
dati ricevuti.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


456 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione di base S7
23.4 Ricezione di dati da un partner di comunicazione esterno alla propria stazione S7con la SFC 66 "X_RCV"

Transizione dello stato di funzionamento a STOP


Con la transizione nello stato di funzionamento STOP
• tutti i nuovi job entranti ricevono una conferma di acknowledge negativa;
• vale per i job già arrivati: tutti i job registrati nella coda di attesa di ricezione ricevono una
conferma di acknowledge negativa.
- Ad un successivo nuovo avviamento (avviamento a caldo) o avviamento a freddo tutti i
blocchi dati vengono annullati.
- Ad un successivo riavviamento (non per S7-300 e per S7-400H) il blocco dati appartenente
al job più vecchio viene confermato nel programma, se è stato interrogato prima della
transizione nello stato di funzionamento STOP (richiamo della SFC 66 "X_RCV" con
EN_DT=0). Altrimenti viene annullato.
Tutti gli altri blocchi dati vengono annullati.

Annullamento dei collegamenti


Con l'annullamento di un collegamento un job già registrato nella coda di attesa di ricezione, che fa
parte di questo collegamento, viene annullato.
Eccezione: se questo job è il job più vecchio nella coda di attesa ed è già stato riconosciuto mediante
richiamo della SFC 66 "X_RCV" con EN_DT=0, lo si può confermare nell'area di ricezione con
EN_DT=1.

Informazioni di errore
Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e
Analisi degli errori con il parametro di uscita RET_VAL.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 457
Comunicazione di base S7
23.5 Scrittura di dati in un partner di comunicazione esterno alla propria stazione S7 con la SFC 68 "X_PUT"

23.5 Scrittura di dati in un partner di comunicazione esterno alla


propria stazione S7 con la SFC 68 "X_PUT"

Descrizione
Con la SFC 68 "X_PUT" si scrivono i dati in un partner di comunicazione esterno alla propria
stazione S7. Sul partner di comunicazione non c'è alcuna SFC corrispondente.
L'attivazione del processo di scrittura avviene dopo il richiamo della SFC con REQ=1. Poi richiamare
a lungo la SFC finché la ricezione della conferma di acknowledge non viene visualizzata con
BUSY=0.
Occorre fare attenzione che l'area di trasmissione (sulla CPU mittente), definita mediante il
parametro SD, abbia la stessa lunghezza dell'area di ricezione (nel partner di comunicazione)
definita dal parametro VAR_ADDR. Ne consegue che i tipi di dati di SD e VAR_ADDR devono
coincidere.

Parametri Dichiaraz- Tipo di Area di memoria Descrizione


ione dati
REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando "request to activate",
vedere Parametri comuni delle SFC di
comunicazione di base S7
CONT INPUT BOOL E, A, M, D, L, cost. Parametro di comando "continue", vedere
Parametri comuni delle SFC di
comunicazione di base S7
DEST_ID INPUT WORD E, A, M, D, L, cost. Parametro di indirizzamento "destination ID".
Contiene l'indirizzo MPI del partner di
comunicazione. Esso è stato progettato con
STEP 7.
VAR_ADDR INPUT ANY E, A, M, D Riferimento all'area nella CPU partner nella
quale si deve scrivere. Si deve scegliere un
tipo di dati che venga supportato dal partner
di comunicazione.
SD INPUT ANY E, A, M, D Riferimento all'area della propria CPU che
contiene i dati da trasmettere. Sono
consentiti i seguenti tipi di dati: BOOL, BYTE,
CHAR, WORD, INT, DWORD, DINT, REAL,
DATE, TOD, TIME,S5_TIME,
DATE_AND_TIME nonché gli array dei tipi di
dati citati, a eccezione di BOOL.
SD deve avere la stessa lunghezza del
parametro VAR_ADDR del partner di
comunicazione. Inoltre i tipi di dati di SD e
VAR_ADDR devono coincidere.
L'area di ricezione può occupare al massimo
76 byte.
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si
verifica un errore, il valore di ritorno contiene
il relativo codice di errore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


458 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione di base S7
23.5 Scrittura di dati in un partner di comunicazione esterno alla propria stazione S7 con la SFC 68 "X_PUT"

Parametri Dichiaraz- Tipo di Area di memoria Descrizione


ione dati
BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: il processo di trasmissione non è
ancora concluso.
BUSY=0: il processo di trasmissione è
concluso, o nessun processo di trasmissione
è attivo.

Transizione dello stato di funzionamento in STOP


Se la CPU passa nello stato di funzionamento STOP, il collegamento creato dalla SFC 68 "X_PUT"
viene disattivato. I dati non possono più essere inviati. Se, al momento della transizione dello stato di
funzionamento, i dati di trasmissione erano già stati copiati nel buffer interno, il contenuto del buffer
viene annullato.

Transizione dello stato di funzionamento del partner di comunicazione in STOP


Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha
alcun effetto per il trasferimento dati con la SFC 68 "X_PUT": i dati inviati vengono comunque scritti.

Coerenza dei dati


I dati vengono inviati in modo coerente.

Informazioni di errore
Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e
Analisi degli errori con il parametro di uscita RET_VAL.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 459
Comunicazione di base S7
23.6 Lettura di dati da un partner di comunicazione esterno alla propria stazione S7 con la SFC 67 "X_GET"

23.6 Lettura di dati da un partner di comunicazione esterno alla propria


stazione S7 con la SFC 67 "X_GET"

Descrizione
Con la SFC 67 "X_GET" si leggono i dati da un partner di comunicazione esterno alla propria
stazione S7. Sul partner di comunicazione non c'è alcuna SFC corrispondente.
L'attivazione del processo di lettura avviene dopo il richiamo della SFC con REQ=1. Poi richiamare a
lungo la SFC finché la ricezione dei dati non viene visualizzata con BUSY=0 . RET_VAL contiene
quindi la lunghezza in byte del blocco dati ricevuto.
Occorre fare attenzione che l'area di ricezione (sulla CPU ricevente), definita mediante il parametro
RD, sia almeno lunga quanto l'area di lettura (nel partner di comunicazione) definita dal parametro
VAR_ADDR. Ne consegue che i tipi di dati di RD e VAR_ADDR devono coincidere.

Parametri Dichiaraz- Tipo di Area di memoria Descrizione


ione dati
REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando "request to activate",
vedere Parametri comuni delle SFC di
comunicazione di base S7
CONT INPUT BOOL E, A, M, D, L, cost. Parametro di comando "continue", vedere
Parametri comuni delle SFC di comunicazione
di base S7
DEST_ID INPUT WORD E, A, M, D, L, cost. Parametro di indirizzamento "destination ID".
Contiene l'indirizzo MPI del partner di
comunicazione. Esso è stato progettato con
STEP 7.
VAR_ADDR INPUT ANY E, A, M, D Riferimento all'area nella CPU partner nella
quale si deve scrivere. Si deve scegliere un tipo
di dati che venga supportato dal partner di
comunicazione.
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si
verifica un errore, il valore di ritorno contiene il
relativo codice di errore. Se non si verifica alcun
errore, RET_VAL contiene la lunghezza in byte
del blocco dati copiato nell'area di ricezione RD
come numero positivo.
BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: il processo di ricezione non è ancora
terminato.
BUSY=0: il processo di ricezione è concluso, o
nessun processo di ricezione è attivo.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


460 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione di base S7
23.6 Lettura di dati da un partner di comunicazione esterno alla propria stazione S7 con la SFC 67 "X_GET"

Parametri Dichiaraz- Tipo di Area di memoria Descrizione


ione dati
RD OUTPUT ANY E, A, M, D Riferimento all'area di ricezione (receive data
area). Sono consentiti i seguenti tipi di dati:
BOOL, BYTE, CHAR, WORD, INT, DWORD,
DINT, REAL, DATE, TOD, TIME,S5_TIME,
DATE_AND_TIME nonché gli array dei tipi di
dati citati, a eccezione di BOOL.
L'area di ricezione RD deve essere lunga
almeno quanto l'area di lettura VAR_ADDR nel
partner di comunicazione. Inoltre i tipi di dati di
RD e VAR_ADDR devono coincidere.
L'area di ricezione può occupare al massimo 76
byte.

Transizione nello stato di funzionamento STOP


Se la CPU passa nello stato di funzionamento STOP, il collegamento creato dalla SFC 67 "X_GET"
viene disattivato. Se i dati già ricevuti, che stanno in una memoria intermedia del sistema operativo,
vanno persi o meno, dipende dal tipo dell'avviamento successivo:
• con un riavviamento (non con S7-300 e S7-400) questi dati vengono copiati nell'area definita da
RD;
• con un nuovo avviamento (avviamento a caldo) o avviamento a freddo questi dati vengono
annullati.

Transizione dello stato di funzionamento del partner di comunicazione in STOP


Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha
alcun effetto per il trasferimento dati con la SFC 67 "X_GET": i dati vengono letti anche nello stato di
funzionamento STOP.

Coerenza dei dati


I dati vengono ricevuti in modo coerente.

Informazioni di errore
Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e
Analisi degli errori con il parametro di uscita RET_VAL.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 461
Comunicazione di base S7
23.7 Annullamento di un collegamento ad un partner di comunicazione esterno alla propria stazione S7 con la
SFC 69 "X_ABORT"

23.7 Annullamento di un collegamento ad un partner di comunicazione


esterno alla propria stazione S7 con la SFC 69 "X_ABORT"

Descrizione
Con la SFC 69 "X_ABORT" si annulla il collegamento ad un partner di comunicazione esterno alla
propria stazione S7, il quale era stato creato con una delle SFC X_SEND, X_GET o X_PUT. Se è
stato terminato il job appartenente a X_SEND, X_GET o X_PUT (BUSY = 0), dopo il richiamo della
SFC 69 "X_ABORT" sono nuovamente abilitate su entrambi i lati le risorse di collegamento che
erano state occupate per il collegamento.
Se il job appartenente a X_SEND, X_GET o X_PUT (BUSY = 1) non è stato terminato, una volta
terminata l'interruzione del collegamento occorre richiamare nuovamente la relativa SFC con
REQ = 0 e CONT = 0 ed attendere BUSY = 0. Solo allora sono di nuovo abilitate tutte le risorse di
collegamento occupate.
Si può richiamare la SFC 69 "X_ABORT" solo su quel lato su cui è in esecuzione la SFC "X_SEND",
"X_PUT" o "X_GET".
L'attivazione dell'annullamento dei collegamenti avviene dopo il richiamo della SFC con REQ=1.

Parametri Dichiaraz- Tipo di Area di memoria Descrizione


ione dati
REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando "request to activate",
vedere Parametri comuni delle SFC di
comunicazione di base S7
DEST_ID INPUT WORD E, A, M, D, L, cost. Parametro di indirizzamento "destination ID".
Contiene l'indirizzo MPI del partner di
comunicazione. Esso è stato progettato con
STEP 7.
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si
verifica un errore, il valore di ritorno contiene il
relativo codice di errore.
BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: l'annullamento dei collegamenti non è
ancora concluso.
BUSY=0: l'annullamento dei collegamenti è
concluso.

Transizione dello stato di funzionamento in STOP


Se la CPU passa nello stato di funzionamento STOP, viene elaborato fino alla fine l'annullamento dei
collegamenti avviato mediante la SFC 69 "X_ABORT".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


462 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione di base S7
23.7 Annullamento di un collegamento ad un partner di comunicazione esterno alla propria stazione S7 con la SFC 69 "X_

Transizione dello stato di funzionamento del partner di comunicazione in STOP


Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha
alcun effetto per l'annullamento dei collegamenti con la SFC 69 "X_ABORT": il collegamento viene
annullato.

Informazioni di errore
Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e
Analisi degli errori con il parametro di uscita RET_VAL.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 463
Comunicazione di base S7
23.8 Scrittura di dati in un partner di comunicazione interno alla propria stazione S7 con la SFC 73 "I_PUT"

23.8 Scrittura di dati in un partner di comunicazione interno alla propria


stazione S7 con la SFC 73 "I_PUT"

Descrizione
Con la SFC 73 "I_PUT" si scrivono i dati in un partner di comunicazione interno alla propria stazione
S7. Il partner di comunicazione può essere collocato nell'apparecchiatura centrale, in
un'apparecchiatura di ampliamento oppure in posizione decentrata. Fare attenzione che il partner di
comunicazione collocato in posizione decentrata sia stato assegnato con STEP 7 alla propria CPU.
Sul partner di comunicazione non c'è alcuna SFC corrispondente.
Il processo di trasmissione avviene dopo il richiamo della SFC con livello 1 sull'ingresso di comando
REQ.
Occorre fare attenzione affinché l'area di trasmissione (sulla CPU mittente), definita tramite il
parametro SD, abbia la stessa lunghezza dell'area di ricezione (nel partner di comunicazione)
definita mediante il parametro VAR_ADDR. Ne consegue che i tipi di dati di SD e VAR_ADDR
devono coincidere.

Parametri Dichiaraz- Tipo di Area di memoria Descrizione


ione dati
REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando "request to activate",
vedere Parametri comuni delle SFC di
comunicazione di base S7
CONT INPUT BOOL E, A, M, D, L, cost. Parametro di comando "continue", vedere
Parametri comuni delle SFC di comunicazione
di base S7
IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento
dell'unità partner:
B#16#54 = Ingresso periferia (PE)
B#16#55 = Uscita periferia (PA)
Se si tratta di un'unità mista, va indicata
l'identificazione dell'area dell'indirizzo più
basso. Per gli indirizzi uguali indicare B#16#54.
LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico dell'unità partner. Nel caso di
un'unità mista va indicato l'indirizzo minore tra i
due.
VAR_ADDR INPUT ANY E, A, M, D, L Riferimento all'area nella CPU partner nella
quale si deve scrivere. Si deve scegliere un tipo
di dati che venga supportato dal partner di
comunicazione.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


464 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione di base S7
23.8 Scrittura di dati in un partner di comunicazione interno alla propria stazione S7 con la SFC 73 "I_PUT"

Parametri Dichiaraz- Tipo di Area di memoria Descrizione


ione dati
SD INPUT ANY E, A, M, D Riferimento all'area della propria CPU che
contiene i dati da trasmettere. Sono consentiti i
seguenti tipi di dati: BOOL, BYTE, CHAR,
WORD, INT, DWORD, DINT, REAL, DATE,
TOD, TIME, S5TIME, DATE_AND_TIME
nonché gli array dei tipi di dati citati, a eccezione
di BOOL.
SD deve avere la stessa lunghezza del
parametro VAR_ADDR del partner di
comunicazione. Inoltre i tipi di dati di SD e
VAR_ADDR devono coincidere.
L'area di trasmissione può occupare al
massimo 76 byte.
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si
verifica un errore, il valore di ritorno contiene il
relativo codice di errore.
BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: il processo di trasmissione non è
ancora concluso.
BUSY=0: il processo di trasmissione è
concluso, o nessun processo di trasmissione è
attivo.

Transizione dello stato di funzionamento in STOP


Se la CPU passa nello stato di funzionamento STOP, il collegamento creato dalla SFC 73 "I_PUT"
viene disattivato. I dati non possono più essere inviati. Se, al momento della transizione dello stato di
funzionamento, i dati di trasmissione erano già stati copiati nel buffer interno, il contenuto del buffer
viene annullato.

Transizione dello stato di funzionamento del partner di comunicazione in STOP


Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha
alcun effetto per il trasferimento dati con la SFC 73 "I_PUT". I dati inviati vengono comunque scritti.

Coerenza dei dati


I dati vengono inviati in modo coerente.

Informazioni di errore
Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e
Analisi degli errori con il parametro di uscita RET_VAL.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 465
Comunicazione di base S7
23.9 Lettura di dati da un partner di comunicazione interno alla propria stazione S7 con la SFC 72 "I_GET"

23.9 Lettura di dati da un partner di comunicazione interno alla propria


stazione S7 con la SFC 72 "I_GET"

Descrizione
Con la SFC 72 "I_GET" si leggono i dati da un partner di comunicazione interno alla propria stazione
S7. Il partner di comunicazione può essere collocato nell'apparecchiatura centrale, in
un'apparecchiatura di ampliamento oppure in posizione decentrata. Fare attenzione che il partner di
comunicazione collocato in posizione decentrata sia stato assegnato con STEP 7 alla propria CPU.
Sul partner di comunicazione non c'è alcuna SFC corrispondente.
L'attivazione del processo di ricezione avviene dopo il richiamo della SFC con REQ=1. Poi
richiamare a lungo la SFC finché la ricezione dei dati non viene visualizzata con BUSY=0 . RET_VAL
contiene quindi la lunghezza in byte del blocco dati ricevuto.
Occorre fare attenzione che l'area di ricezione (sulla CPU ricevente), definita mediante il parametro
RD, sia almeno lunga quanto l'area di lettura (nel partner di comunicazione) definita dal parametro
VAR_ADDR. Ne consegue che i tipi di dati di RD e VAR_ADDR devono coincidere.

Parametri Dichiaraz- Tipo di Area di memoria Descrizione


ione dati
REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando "request to activate",
vedere Parametri comuni delle SFC di
comunicazione di base S7
CONT INPUT BOOL E, A, M, D, L, cost. Parametro di comando "continue", vedere
Parametri comuni delle SFC di comunicazione
di base S7
IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento
dell'unità partner:
B#16#54 = Ingresso periferia (PE)
B#16#55 = Uscita periferia (PA)
Se si tratta di un'unità mista, va indicata
l'identificazione dell'area dell'indirizzo più
basso. Per gli indirizzi uguali indicare B#16#54.
LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico dell'unità partner. Nel caso di
un'unità mista, va indicato l'indirizzo più basso
tra i due.
VAR_ADDR INPUT ANY E, A, M, D Riferimento all'area nella CPU partner che deve
essere letta. Si deve scegliere il tipo di dati che
viene supportato dal partner di comunicazione
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si
verifica un errore, il valore di ritorno contiene il
relativo codice di errore.
Se non si verifica alcun errore, RET_VAL
contiene la lunghezza in byte del blocco dati
copiato nell'area di ricezione RD come numero
positivo.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


466 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione di base S7
23.9 Lettura di dati da un partner di comunicazione interno alla propria stazione S7 con la SFC 72 "I_GET"

Parametri Dichiaraz- Tipo di Area di memoria Descrizione


ione dati
BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: il processo di ricezione non è ancora
concluso.
BUSY=0: il processo di ricezione è concluso, o
nessun processo di ricezione è attivo.
RD OUTPUT ANY E, A, M, D Riferimento all'area di ricezione (receive data
area). Sono consentiti i seguenti tipi di dati:
BOOL, BYTE, CHAR, WORD, INT, DWORD,
DINT, REAL, DATE, TOD, TIME,S5_TIME,
DATE_AND_TIME nonché gli array dei tipi di
dati citati, a eccezione di BOOL.
L'area di ricezione RD deve essere lunga
almeno quanto l'area di lettura VAR_ADDR nel
partner di comunicazione. Inoltre i tipi di dati di
RD e VAR_ADDR devono coincidere.
L'area di ricezione può occupare al massimo 76
byte.

Transizione dello stato di funzionamento in STOP


Se la CPU passa nello stato di funzionamento STOP, il collegamento creato dalla SFC 72 "I_GET"
viene disattivato. Se i dati già ricevuti, che stanno in una memoria intermedia del sistema operativo,
vanno persi o meno, dipende dal tipo dell'avviamento successivo:
• con un riavviamento (non con S7-300 e S7-400) questi dati vengono copiati nell'area definita da
RD;
• con un nuovo avviamento (avviamento a caldo) o avviamento a freddo questi dati vengono
annullati.

Transizione dello stato di funzionamento del partner di comunicazione in STOP


Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha
alcun effetto per il trasferimento dati con la SFC 72 "I_GET" : i dati vengono letti anche nello stato di
funzionamento STOP.

Coerenza dei dati


I dati vengono ricevuti in modo coerente.

Informazioni di errore
Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e
Analisi degli errori con il parametro di uscita RET_VAL.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 467
Comunicazione di base S7
23.10 Annullamento di un collegamento con un partner di comunicazione interno alla propria stazione S7 con la
SFC 74 "I_ABORT"

23.10 Annullamento di un collegamento con un partner di


comunicazione interno alla propria stazione S7 con la SFC 74
"I_ABORT"

Descrizione
Con la SFC 74 "I_ABORT" si annulla il collegamento ad un partner di comunicazione interno alla
propria stazione S7, il quale era stato creato con la SFC 72 "I_GET" o la SFC 73 "I_PUT". Se è stato
terminato il job appartenente a I_GET o I_PUT (BUSY = 0), dopo il richiamo della SFC 74
"I_ABORT" sono nuovamente abilitate su entrambi i lati le risorse di collegamento che erano state
occupate per il collegamento.
Se il job appartenente a I_GET o I_PUT (BUSY = 1) non è stato terminato, una volta terminata
l'interruzione del collegamento occorre richiamare nuovamente la relativa SFC con REQ = 0 e
CONT = 0 ed attendere BUSY = 0. Solo allora sono di nuovo abilitate tutte le risorse di collegamento
occupate.
Si può richiamare la SFC 74 "I_ABORT" solo su quel lato su cui è in esecuzione la SFC "I_PUT" o la
"I_GET" (ossia sul lato client).
L'attivazione dell'annullamento dei collegamenti avviene dopo il richiamo della SFC con REQ=1.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando "request to activate",
vedere Parametri comuni delle SFC di
comunicazione di base S7
IOID INPUT BYTE E, A, M, D, L, cost. Identificazione dell'area di indirizzamento
dell'unità partner:
B#16#54 = Ingresso periferia (PE)
B#16#55 = Uscita periferia (PA)
Se si tratta di un'unità mista, va indicata
l'identificazione dell'area dell'indirizzo più
basso. Per gli indirizzi uguali indicare
B#16#54.
LADDR INPUT WORD E, A, M, D, L, cost. Indirizzo logico dell'unità partner.
Nel caso di un'unità mista va indicato
l'indirizzo minore tra i due.
RET_VAL OUTPUT INT E, A, M, D, L Se durante l'elaborazione della funzione si
verifica un errore, il valore di ritorno contiene
il relativo codice di errore.
BUSY OUTPUT BOOL E, A, M, D, L BUSY=1: l'annullamento dei collegamenti
non è ancora concluso.
BUSY=0: l'annullamento dei collegamenti è
concluso.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


468 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione di base S7
23.10 Annullamento di un collegamento con un partner di comunicazione interno alla propria stazione S7 con la SFC 74 "I_

Transizione dello stato di funzionamento in STOP


Se la CPU passa nello stato di funzionamento STOP, viene elaborato fino alla fine l'annullamento dei
collegamenti avviato mediante la SFC 74 "I_ABORT".

Transizione dello stato di funzionamento del partner di comunicazione in STOP


Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha
alcun effetto per l'annullamento dei collegamenti con la SFC 69 "I_ABORT": il collegamento viene
annullato.
Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e
Analisi degli errori con il parametro di uscita RET_VAL.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 469
Comunicazione di base S7
23.10 Annullamento di un collegamento con un partner di comunicazione interno alla propria stazione S7 con la
SFC 74 "I_ABORT"

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


470 Manuale di riferimento, 04/2017, A5E41911986-AA
24 Comunicazione aperta tramite Industrial Ethernet

24.1 Panoramica

Comunicazione aperta tramite Industrial Ethernet


Per consentire, nel programma utente, lo scambio di dati via Ethernet con altri partner di
comunicazione (protocollo TCP, ISO on TCP, UDP) , STEP 7 fornisce i seguenti FB e UDT disponibili
nella biblioteca "Standard Library" alla voce "Communication Blocks".
• Protocolli alla connessione: TCP secondo RFC 793, ISO on TCP secondo RFC 1006:
- UDT 65 "TCON_PAR" con la struttura di dati per la parametrizzazione del collegamento
- Da UDT 651 a UDT 656 con preimpostazioni specifiche per il protocollo
- FB 65 "TCON" per la creazione del collegamento
- FB 66 "TDISCON" per la disconnessione
- FB 63 "TSEND" per l'invio di dati
- FB 64 "TRCV" per la ricezione di dati
• Protocollo privo di connessione: UDP secondo RFC 768
- UDT 65 "TCON_PAR" con la struttura di dati per la parametrizzazione del punto di accesso
alla comunicazione locale.
- UDT 657 con preimpostazioni specifiche per il protocollo
- UDT 66 "TCON_ADR" con la struttura di dati dei parametri di indirizzo del partner remoto
- UDT 661 con preimpostazioni specifiche per il protocollo
- FB 65 "TCON" per la configurazione del punto di accesso alla comunicazione locale.
- FB 66 "TDISCON" per la sconnessione del punto di accesso alla comunicazione locale.
- FB 67 "TUSEND" per l’invio di dati
- FB 68 "TURCV" per la ricezione di dati
• Accoppiamento a sistemi di terzi utilizzando i servizi FETCH e WRITE
- FB 210 "FW_TCP" per l'accoppiamento a un sistema di terzi tramite TCP
- FB 220 "FW_IOT" per l'accoppiamento a un sistema di terzi tramite ISO on TCP

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 471
Comunicazione aperta tramite Industrial Ethernet
24.2 Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet

24.2 Funzionamento degli FB per la comunicazione aperta tramite


Industrial Ethernet

Protocolli orientati alla connessione e protocolli privi di connessione


La comunicazione dati opera una distinzione tra due varianti di protocollo:
• Protocolli orientati alla connessione:
questi protocolli creano, prima del trasferimento dati, un collegamento (logico) con il partner di
comunicazione per disconnettersi poi a trasferimento avvenuto. I protocolli orientati alla
connessione trovano impiego soprattutto quando la trasmissione dati deve avvenire in assoluta
sicurezza. Una linea fisica supporta normalmente più collegamenti logici.

Gli FB per la comunicazione aperta tramite Industrial Ethernet supportano i seguenti protocolli
orientati alla connessione:
- TCP secondo RFC 793
- ISO on TCP secondo RFC 1006
• Varianti di protocollo prive di connessione:
questi protocolli operano senza collegamento. La creazione e l’interruzione del collegamento
con il partner remoto non avvengono. I protocolli privi di connessione effettuano il trasferimento
dati al partner remoto senza conferma e quindi con scarsa sicurezza. I dati possono andare
perduti senza che la perdita venga segnalata nel blocco.

Gli FB per la comunicazione aperta tramite Industrial Ethernet supportano il seguente protocollo
privo di connessione:
• UDP secondo RFC 768
Il funzionamento dei blocchi funzionali, dipende dalla variante di protocollo impiegata. La descrizione
dettagliata di questi protocolli viene riportata nel seguito.

Area di ricezione
Nel seguito si ricorre sempre all'uso di questo termine che sta a indicare l'area nella quale il blocco
funzionale inserisce i dati ricevuti.
La determinazione dell'area di ricezione avviene sulla base di due grandezze:
• Puntatore all'inizio dell'area
• Lunghezza dell'area
La determinazione della lunghezza dell'area avviene, in funzione delle varianti di protocollo
impiegate, tramite il parametro LEN (se LEN <> 0) oppure mediante l'indicazione della lunghezza
del parametro DATA (seLEN = 0).
Nel parametro ANY Ponter sono consentiti i seguenti tipi di dati BOOL, BYTE, CHAR, WORD, INT,
DWORD, DINT, REAL, DATE, TIME_OF_DAY, TIME, S5TIME, DATE_AND_TIME.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


472 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.2 Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet

TCP
Nel trasferimento dati non vengono fornite informazioni circa lunghezza, inizio e fine di un
messaggio. Ciò non costituisce alcun problema nel caso dell'invio in quanto l'emittente conosce il
numero dei byte che intende trasferire. Il ricevente tuttavia non può appurare, nel flusso dati, la fine di
un messaggio e l'inizio del successivo. Si raccomanda pertanto di selezionare, per l'area di ricezione
dell'FB 64 "TRCV", esattamente lo stesso valore del parametro LEN dell'FB 63 "TSEND" nel
partner di comunicazione (numero di byte da inviare).
Ricezione di dati in modalità Ad hoc:
L'area di ricezione è identica all'area predefinita nel parametro DATA dell'FB 64 "TRCV".

L'FB 64 "TRCV" provvede a trasferire, immediatamente dopo la ricezione, il blocco dati nell'area di
ricezione e a impostare su 1 il valore di NDR. La lunghezza max. è di 8192 byte.

• Qualora la lunghezza dell'area di ricezione superasse quella dei dati di invio, l'FB 64 "TRCV"
copia tutti i dati ricevuti nell'area di ricezione, imposta quindi su TRUE il parametro NDR e
inserisce in RCVD_LEN la lunghezza dei dati ricevuti.

Qualora la lunghezza dell'area di ricezione, fosse inferiore rispetto alla lunghezza dei dati inviati,
l'FB 64 copia nell'area di ricezione tanti byte quanti quest'area ne può contenere, imposta quindi
NDR su TRUE e inserisce nel parametro RCVD_LEN la lunghezza dell'area di ricezione. A ogni
richiamo successivo l'operatore riceve un ulteriore blocco dei dati inviati.

Ricezione dati con lunghezza prestabilita:


La formazione dell'area di ricezione avviene tramite i parametri DATA (indirizzo iniziale dell'area di
ricezione) e LEN (lunghezza dell'area di ricezione) dell'FB 64.

Qualora i dati ricevuti non bastassero a riempire interamente l'area di ricezione, essi vengono resi
disponibili soltanto dopo la ricezione di ulteriori dati, quando quest'area sarà stata completamente
riempita. Tenere presente in questo caso che nelle stessa area di ricezione si trovano dati
provenienti da due diversi ordini di invio, impossibili da distinguere se non sono individuabili la fine
del primo messaggio e l'inizio del successivo.

Qualora la lunghezza dell'area di ricezione, fosse inferiore rispetto alla lunghezza dei dati inviati,
l'FB 64 copia nell'area di ricezione tanti byte quanti quest'area ne può contenere.

Quando l'FB 64 ha riempito interamente quest'area, imposta NDR su TRUE e inserisce in


RCVD_LEN il calore di LEN. A ogni richiamo successivo l'operatore riceve un ulteriore blocco dei
dati inviati.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 473
Comunicazione aperta tramite Industrial Ethernet
24.2 Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet

ISO on TCP
Nel trasferimento dati vengono fornite informazioni circa lunghezza e la fine di un messaggio.
Qualora l'area di ricezione superasse la lunghezza dei dati di invio, l'FB 64 "TRCV" copia tutti i dati
inviati nell'area di ricezione, imposta quindi NDR su TRUE e inserisce nel parametro RCVD_LEN la
lunghezza dei dati inviati.
Qualora l'area di ricezione fosse inferiore rispetto alla lunghezza dei dati inviati, anziché copiare i dati
nell'area di ricezione, l'FB 64 emette la seguente informazione di errore: ERROR=1,
STATUS=W#16#8088.

UDP
Questi protocolli non effettuano la creazione del collegamento come avviene nei protocolli TCP e
ISO on TCP. È pertanto necessario, al richiamo del blocco di invio FB 67 "TUSEND", indicare un
riferimento ai parametri di indirizzo del ricevente (indirizzo IP e N. porta). Analogamente, al termine
del trasferimento da parte del blocco di ricezione FB 68 "TURCV", al ricevente viene indicato un
riferimento ai parametri di indirizzo del mittente (indirizzo IP e N. porta).
Per utilizzare gli FB 67 "TUSEND" e 68 "TURCV" è necessario aver in precedenza richiamato, sia
per il mittente che per il ricevente, il parametro FB 65 "TCON" per la configurazione del punto di
accesso alla comunicazione locale.
A ogni richiamo dell‘FB 67 "TUSEND" è possibile creare un nuovo riferimento al partner remoto
indicando il rispettivo indirizzo IP ed il numero della porta.
Con la trasmissione dei dati vengono inviate informazioni sulla lunghezza e fine di un messaggio.
Qualora l'area di ricezione superasse la lunghezza dei dati di invio, l'FB 68 "TURCV" copia tutti i dati
inviati nell'area di ricezione, imposta quindi NDR su TRUE e inserisce nel parametro RCVD_LEN la
lunghezza dei dati inviati.
Qualora l'area di ricezione fosse inferiore rispetto alla lunghezza dei dati inviati, anziché copiare i dati
nell'area di ricezione, l'FB 68 emette la seguente informazione di errore: ERROR = 1,
STATUS = W#16#8088.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


474 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.2 Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet

Numeri delle porte nei protocolli TCP e UDP


Un collegamento viene indirizzato come indicato nel seguito:
• Protocollo TCP:
- Collegamento attivo: tramite l'indirizzo IP remoto, la porta remota e quella locale (il numero
della porta locale viene assegnato esplicitamente dall'utente oppure dal sistema operativo).
- Collegamento passivo: tramite la porta locale. Se si desidera utilizzare la porta locale diverse
volte occorre predefinire anche l'indirizzo IP remoto oppure l'indirizzo IP remoto e la porta
remota.
- Protocollo UDP: tramite l'indirizzo IP remoto, la porta remota e quella locale (il numero della
porta locale viene assegnato esplicitamente dall'utente).
Per la porta locale hanno validità i campi indicati nel seguito. Per la porta remota questi campi sono
validi soltanto se il partner remoto è una CPU S7. In caso contrario la porta remota non è soggetta ad
alcun tipo di limitazione.
• Per le CPU 31x-2 PN/DP fino alla versione firmware V2.6 inclusa e le CPU 41x-3 PN/DP fino alla
versione firmware V5.1:
- Numeri della porta consentiti per la parametrizzazione (UDT 65): 2000 … 5000
- Nel caso delle parametrizzazioni in cui il numero di porta non viene assegnato
esplicitamente, il sistema operativo assegna una porta compresa nel campo numerico
dinamico da 49152 a 65534.
• Per le CPU 31x-2 PN/DP dalla versione firmware V2.7 e le CPU 41x-3 PN/DP dalla versione
firmware V5.2:
- Numeri della porta consentiti per la parametrizzazione (UDT 65): 1 … 49151
Si raccomanda di limitarsi ai numeri compresi tra 2000 e 5000, in quanto Siemens si riserva
di riservare al sistema le porte comprese nei campi numerici da 1 a 1999 e da 5001 a 49151.
- Nel caso delle parametrizzazioni in cui il numero di porta non viene assegnato
esplicitamente, il sistema operativo assegna una porta compresa nel campo numerico
dinamico da 49152 a 65534.
• Per le CPU 31x-2 PN/DP dalla versione firmware V3.2 e le CPU 41x-3 PN/DP dalla versione
firmware V6.0 e le CPU 41x-5H PN/DP dalla versione firmware V6.0:
- È possibile utilizzare una porta diverse volte.
I numeri delle porte riservati all'assegnazione automatica da parte del sistema sono contenuti nel
seguente elenco.

Protocollo Numero della porta Servizio


- 0 (Questa porta è assegnata in modo
fisso e non può essere utilizzata).
TCP 20 e 21 FTP
TCP 25 SMTP
TCP 80 HTTP
TCP 102 RFC 1006
UDP 135 RPC-DCOM

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 475
Comunicazione aperta tramite Industrial Ethernet
24.2 Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet

Protocollo Numero della porta Servizio


UDP 161 SNMP_REQUEST
TCP, UDP 34962 PNIO
TCP, UDP 34963 PNIO
TCP, UDP 34964 PNIO
UDP 65532 NTP
UDP 65533 NTP
UDP 65534 NTP
UDP 65535 NTP

Vedere anche http://www.iana.org/assignments/port-numbers.

Avvertenza
Non utilizzare i numeri di porta riservati all'assegnazione da parte del sistema.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


476 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.3 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP e ISO on TCP

24.3 Parametrizzazione di collegamenti di comunicazione aperti tramite


i protocolli TCP e ISO on TCP

Blocco dati per la parametrizzazione del collegamento


Per consentire la parametrizzazione di collegamenti di comunicazione aperti tramite TCP e ISO on
TCP, è necessario creare un DB che contenga la struttura dei dati dell'UDT 65 "TCON_PAR".
Questa struttura di dati contiene i parametri necessari per l'attivazione del collegamento. Una
struttura di dati di questo tipo è necessaria per tutti i collegamenti e può essere raggruppata in un DB
globale. Il parametro di collegamento CONNECT dell'FB 65 "TCON" contiene un rimando all'indirizzo
della descrizione del collegamento interessato (ad es. P#DB100.DBx0.0 byte 64).

Struttura della descrizione del collegamento (UDT 65)

Byte Parametri Tipo di Valore Descrizione


dati iniziale
0 ... 1 block_length WORD W#16#40 Lunghezza dell'UDT 65: 64 byte (fissa)
2 ... 3 id WORD W#16#0001 ID di questo collegamento (campo di valori: da
W#16#0001 a W#16#=0FFF)
Il valore di questo parametro deve essere
indicato nell'ID del relativo blocco.
4 connection_type BYTE B#16#01 Varianti dei protocolli:
• B#16#11: TCP
• B#16#12: ISO on TCP
• B#16#01: TCP (modo compatibile)
5 active_est BOOL FALSE ID per il tipo di inizializzazione del collegamento:
• FALSE: inizializzazione del collegamento
passiva
• TRUE: inizializzazione del collegamento
attiva

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 477
Comunicazione aperta tramite Industrial Ethernet
24.3 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP e ISO on TCP

Byte Parametri Tipo di Valore Descrizione


dati iniziale
6 local_device_id BYTE B#16#02 • B#16#00: Comunicazione tramite CP 443-1
(solo con S7-400 e
connection_type = B#16#12). CP
ammessi: CP443-1EX4x, CP443-1EX20,
CP443-1GX20, CP443-1EX30,
CP443-1GX30
• B#16#01: Comunicazione tramite
l’interfaccia IE sul posto connettore
dell’interfaccia 1 (IF1) con WinAC RTX
(solo TCP
• B#16#02: comunicazione tramite
l'interfaccia IE integrata nelle CPU 315-2
PN/DP e 317-2 PN/DP
• B#16#03: comunicazione tramite
l'interfaccia IE integrata nelle CPU 315T-3
PN/DP, 317T-3 PN/DP e 319-3 PN/DP
• B#16#05: comunicazione tramite
l'interfaccia IE X5 integrata nelle CPU 41x e
41xH (rack 0)
• B#16#06: comunicazione tramite
l'interfaccia IE sul posto connettore
dell'interfaccia 2 (IF2) su WinAC RTX (solo
TCP)
• B#16#08: comunicazione tramite
l'interfaccia IE X8 integrata nelle CPU 41x e
41xH (rack 0)
• B#16#0B. comunicazione tramite
l'interfaccia IE sul posto connettore
dell'interfaccia 3 (IF3) su WinAC RTX (solo
TCP)
• B#16#0F: comunicazione tramite
l'interfaccia IE sul posto connettore
dell'interfaccia 4 (IF4) su WinAC RTX (solo
TCP)
• B#16#10: comunicazione tramite CP 443-1
(solo con S7-400H e
connection_type = B#16#12) se il CP è
inserito nel rack 1 o in un corrispondente
rack di ampliamento
• B#16#15: comunicazione tramite
l'interfaccia IE X5 integrata nelle CPU 41xH
(rack 1)
• B#16#18: comunicazione tramite
l'interfaccia IE X8 integrata nelle CPU 41xH
(rack 1)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


478 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.3 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP e ISO on TCP

Byte Parametri Tipo di Valore Descrizione


dati iniziale
7 local_tsap_id_len BYTE B#16#02 Lunghezza del parametro local_tsap_id
applicata; valori possibili:
• 0 o 2, se connection_type = B#16#01
(parte attiva: 0, parte passiva: 2)
• 0 oppure 2, se connection_type = B#16#11
(parte attiva: 0 o 2, parte passiva: 2)
• 2 ...16, se connection_type = B#16#12
8 rem_subnet_id_len BYTE B#16#00 Questo parametro non viene attualmente
impiegato. Assegnare il valore B#16#00.
9 rem_staddr_len BYTE B#16#00 Lunghezza dell'indirizzo del punto finale del
collegamento remoto:
• 0: non specificato, ovvero parametro
rem_staddr non di rilievo.
• 4: indirizzo IP valido nel parametro
rem_staddr
10 rem_tsap_id_len BYTE B#16#00 Lunghezza utilizzata del parametro
rem_tsap_id; valori possibili:
• 0 o 2 se connection_type = B#16#01
Per il lato passivo è ammesso solo il valore
B#16#00.
• 0 o 2 se connection_type = B#16#11
• 0 o 2-16 se connection_type = B#16#12
(Lato attivo: 2-16; lato passivo: 0 o 2-16, 0
significa non specificato)
11 next_staddr_len BYTE B#16#00 Lunghezza applicata al parametro next_staddr
(rilevante solo per ISO on TCP)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 479
Comunicazione aperta tramite Industrial Ethernet
24.3 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP e ISO on TCP

Byte Parametri Tipo di Valore Descrizione


dati iniziale
12 ... local_tsap_id ARRAY B#16#07 in connection_type =
27 [1..16] of B#16#D0 • B#16#11: N. porta locale (valori possibili
BYTE B#16#00 ... Vedere Funzionamento degli FB per la
comunicazione aperta tramite Industrial
Ethernet),
local_tsap_id[1] = high byte del N. della
porta nella rappresentazione esadecimale,
local_tsap_id[2] = low byte del N. della
porta nella rappresentazione esadecimale,
local_tsap_id[3-16] = B#16#00
• B#16#12: :ID del TSAP locale:
Vedere nel seguito.
• B#16#01: N. porta locale (valori possibili:
Vedere Funzionamento degli FB per la
comunicazione aperta tramite Industrial
Ethernet),
local_tsap_id[1] = low byte del N. della
porta nella rappresentazione esadecimale,
local_tsap_id[2] = high byte del N. della
porta nella rappresentazione esadecimale,
local_tsap_id[3-16] = B#16#00
Avvertenza: quando sussistono più
collegamenti al medesimo partner di
comunicazione, accertarsi che tutti i valori di
local_tsap_id, impiegati nella CPU siano
univoci.
28 ... rem_subnet_id ARRAY B#16#00 ... Questo parametro non viene attualmente
33 [1..6] of impiegato. Assegnare il valore 0.
BYTE
34 ... rem_staddr ARRAY B#16#00 ... IP del punto finale del collegamento remoto p.
39 [1..6] of es 192.168.0.1:
BYTE in connection_type =
• B#16#1x:
rem_staddr[1] = B#16#C0 (192),
rem_staddr[2] = B#16#A8 (168),
rem_staddr[3] = B#16#02 (002),
rem_staddr[4] = B#16#03 (003),
rem_staddr[5-6]= B#16#00 (riservato)
• B#16#01:
rem_staddr[1] = B#16#03 (003),
rem_staddr[2] = B#16#02 (002),
rem_staddr[3] = B#16#A8 (168),
rem_staddr[4] = B#16#C0 (192),
rem_staddr[5-6]= B#16#00 (riservato)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


480 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.3 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP e ISO on TCP

Byte Parametri Tipo di Valore Descrizione


dati iniziale
40 ... rem_tsap_id ARRAY B#16#00 ... in connection_type =
55 [1..16] of • B#16#11: N. porta remota (valori possibili:
BYTE Vedere Funzionamento degli FB per la
comunicazione aperta tramite Industrial
Ethernet),
rem_tsap_id[1] = high byte del N. della
porta nella rappresentazione esadecimale,
rem_tsap_id[2] = low byte del N. della porta
nella rappresentazione esadecimale,
rem_tsap_id[3-16] = B#16#00
• B#16#12: ID del TSAP remoto:
Vedere nel seguito.
• B#16#01: N. porta remota (valori possibili:
Vedere Funzionamento degli FB per la
comunicazione aperta tramite Industrial
Ethernet),
local_tsap_id[1] = low byte del N. della
porta nella rappresentazione esadecimale,
local_tsap_id[2] = high byte del N. della
porta nella rappresentazione esadecimale,
local_tsap_id[3-16] = B#16#00
56 ... next_staddr ARRAY B#16#00 ... local_device_id =
61 [1..6] of • B#16#00:
BYTE next_staddr[1]: rack e posto connettore del
rispettivo CP (locale) (bit 0 ... 4: posto
connettore, bit 5 ... 7: numero di rack)
next_staddr[2-6]: B#16#00
• B#16#02, B#16#03, B#16#05:
next_staddr[1-6]: B#16#00
• B#16#01, B#16#06, B#16#0B, B#16#0F:
next_staddr[1-6]: B#16#00 (in questo caso
next_staddr_len=B#16#00.)
62 ... spare WORD W#16#0000 Riservato. Assegnare a questo parametro il
63 valore 0.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 481
Comunicazione aperta tramite Industrial Ethernet
24.3 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP e ISO on TCP

Lunghezza e configurazione dell'ID TSAP locale e remoto nella comunicazione ISO on TCP
• Inizializzazione attiva del collegamento:
- ID TSAP locale:
Nell'interfaccia IE integrata sono consentite tutte le sequenza di caratteri con una lunghezza
compresa tra 1 e 16 byte. Ogni singolo carattere può avere un valore compreso tra B#16#00
e B#16#FF.
- ID TSAP remoto:
Sono consentite tutte le sequenza di caratteri con una lunghezza compresa tra 1 e 16 byte.
Ogni singolo carattere può avere un valore compreso tra B#16#00 e B#16#FF
• Inizializzazione passiva del collegamento:
- ID TSAP locale:

loc_tsap_id_len local_tsap_id[1] local_tsap_id[2] local_tsap_id[3 ... 16]


2 B#16#E0 (tipo di 0 (soltanto nell'interfaccia Non disponibile
collegamento: IE integrata) oppure
collegamento T) telaio di montaggio e posto
connettore della CPU
propria (bit da 0 a 4 per il
posto connettore, bit da 5
.a 7 per il numero del telaio
di montaggio)
>2 B#16#E0 (tipo di 0 (soltanto nell'interfaccia Ampliamento TSAP
collegamento: IE integrata) oppure
collegamento T) telaio di montaggio e posto
connettore della CPU
propria (bit da 0 a 4 per il
posto connettore, bit da 5
.a 7 per il numero del telaio
di montaggio)
Soltanto nell'interfaccia IE Irrilevante Ampliamento TSAP
integrata: un carattere
ASCII (B#16#20 a
B#16#7E)

- ID TSAP locale remoto:


Sono consentite tutte le sequenza di caratteri con una lunghezza compresa tra 0 e 16 byte.
Ogni singolo carattere può avere un valore compreso tra B#16#00 e B#16#FF

Incidenza delle varianti di protocollo TCP e ISO on TCP richieste dalla CPU sulla lunghezza dei
dati trasferibili
Il capitolo Incidenza delle varianti di protocollo (connection_type) richieste dalla CPU sulla lunghezza
dei dati trasferibili indica quale delle due varianti di protocollo, TCP e ISO on TCP, vada impiegata
per ogni singola CPU.
Il numero dei collegamenti possibili è indicato nei dati tecnici della CPU.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


482 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.3 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP e ISO on TCP

Inizializzazione del collegamento


Il partner di comunicazione A deve dare avvio all'inizializzazione attiva ed il partner di comunicazione
B all'inizializzazione passiva del collegamento. Quando entrambe i partner hanno avviato la
comunicazione, il sistema operativo può attivare completamente il collegamento.
Nel corso della progettazione del collegamento è possibile determinare quale partner di
comunicazione debba eseguire l'inizializzazione del collegamento attivo e quale, su richiesta
dell'altro, il collegamento passivo.
Con il protocollo UDP la creazione del collegamento passivo deve essere avviata da entrambi i
partner.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 483
Comunicazione aperta tramite Industrial Ethernet
24.4 Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP

24.4 Parametrizzazione del punto di accesso alla comunicazione locale


con il protocollo UDP

Struttura dei dati per la parametrizzazione del punto di accesso alla comunicazione locale
Per consentire la parametrizzazione del punto di accesso alla comunicazione locale, è necessario
creare un DB che contenga la struttura dei dati dell'UDT 65 "TCON_PAR". Questa struttura contiene
i parametri necessari per la configurazione del collegamento tra il programma utente ed il livello di
comunicazione del sistema operativo.
Il parametro di collegamento CONNECT dell'FB 65 "TCON" contiene un riferimento all’indirizzo della
descrizione del collegamento interessato (ad es. P#DB100.DBX0.0 byte 64).

Struttura della descrizione del collegamento con il protocollo UDP (UDT 65)

Byte Parametri Tipo di Valore Descrizione


dati iniziale
0-1 block_length WORD W#16#40 Lunghezza dell‘UDT 65: 64 byte (fissa)
2-3 id WORD W#16#0001 ID del presente collegamento tra il programma utente
e il livello di comunicazione del sistema operativo
(campo di valori: W#16#0001 .... W#16#0FFF)
Il valore di questo parametro deve essere indicato
nell'ID del relativo blocco.
4 connection_type BYTE B#16#13 Varianti di protocollo:
• B#16#13: UDP
5 active_est BOOL FALSE ID per il tipo di inizializzazione del collegamento:
assegnare il valore FALSE a questo parametro
6 local_device_id BYTE B#16#02 • B#16#01: comunicazione tramite l'interfaccia IE
sul posto connettore 1 (IF1) in WinAC RTX
• B#16#02: comunicazione tramite l'interfaccia IE
integrata con la CPU 317-2 PN/DP
• B#16#03: comunicazione tramite l'interfaccia IE
integrata con la CPU 319-3 PN/DP
• B#16#05: comunicazione tramite l'interfaccia IE
integrata con le CPU 414-3 PN/DP, 416-3
PN/DP, 416-3F PN/DP e 41x-5H PN/DP (telaio di
montaggio 0)
• B#16#06: comunicazione tramite l'interfaccia IE
sul posto connettore 2 (IF2) in WinAC RTX
• B#16#0B. comunicazione tramite l'interfaccia IE
sul posto connettore 3 (IF3) in WinAC RTX
• B#16#0F: comunicazione tramite l'interfaccia IE
sul posto connettore 4 (IF4) in WinAC RTX
• B#16#15: comunicazione tramite l'interfaccia IE
integrata con le CPU 41x-5H PN/DP (telaio di
montaggio 1)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


484 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.4 Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP

Byte Parametri Tipo di Valore Descrizione


dati iniziale
7 local_tsap_id_len BYTE B#16#02 Lunghezza del parametro impiegatalolocal_tsap_id: 2
byte
8 rem_subnet_id_len BYTE B#16#00 Questo parametro non viene impiegato. Assegnargli il
valore B#16#00.
9 rem_staddr_len BYTE B#16#00 Questo parametro non viene impiegato. Assegnargli il
valore B#16#00.
10 rem_tsap_id_len BYTE B#16#00 Questo parametro non viene impiegato. Assegnargli il
valore B#16#00.
11 next_staddr_len BYTE B#16#00 Questo parametro non viene impiegato. Assegnargli il
valore B#16#00.
12 - local_tsap_id ARRAY B#16#07 N. della porta locale (valori possibili: Vedere
27 [1..16] of B#16#D0 Funzionamento degli FB per la comunicazione aperta
BYTE B#16#00 .... tramite Industrial Ethernet),
local_tsap_id[1] = high byte del N. della porta nella
rappresentazione esadecimale,
local_tsap_id[2] = low byte del N. della porta nella
rappresentazione esadecimale
local_tsap_id[3-16] = B#16#00(riservato)
Avvertenza: accertarsi che tutti i valori di
local_tsap_id, impiegati nella CPU siano univoci.
28 - rem_subnet_id ARRAY B#16#00 ... Questo parametro non viene impiegato. Assegnargli il
33 [1..6] of valore 0.
BYTE
34 - rem_staddr ARRAY B#16#00 ... Questo parametro non viene impiegato. Assegnargli il
39 [1..6] of valore 0.
BYTE
40 - rem_tsap_id ARRAY B#16#00 ... Questo parametro non viene impiegato. Assegnargli il
55 [1..16] of valore 0.
BYTE
56 - next_staddr ARRAY B#16#00 ... Questo parametro non viene impiegato. Assegnargli il
61 [1..6] of valore 0.
BYTE
62 ... spare WORD W#16#0000 Reserve: assegnare il valore 0 a questo parametro.
63

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 485
Comunicazione aperta tramite Industrial Ethernet
24.4 Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP

Incidenza della variante di protocollo UDP richiesta dalla CPU sulla lunghezza dei dati
trasferibili
Il capitolo Incidenza delle varianti di protocollo (connection_type) richieste dalla CPU sulla lunghezza
dei dati trasferibili indica le CPU che richiedono la variante di protocollo UDP.
Il numero dei collegamenti possibili tra il programma utente e il livello di comunicazione del sistema
operativo è indicato nei dati tecnici della CPU.

Configurazione del punto di accesso alla comunicazione locale


Ciascun partner di comunicazione deve configurare, indipendentemente dagli altri, il proprio punto di
accesso alla comunicazione locale, ovvero provvedere alla creazione del collegamento tra il
programma utente e il livello di comunicazione del sistema operativo.
Nella comunicazione UDP entrambi i partner di collegamento devono avviare la creazione del
collegamento passivo.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


486 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.5 Struttura dell'informazione di indirizzo del partner remoto con il protocollo UDP

24.5 Struttura dell'informazione di indirizzo del partner remoto con il


protocollo UDP

Panoramica
L‘FB 67 "TUSEND" consente di trasferire al parametro ADDR l’indirizzo del ricevente.
Quest’informazione deve presentare la struttura indicata nel seguito.
L‘FB 68 "TURCV" fornisce nel parametro ADDR l’indirizzo del mittente dei dati ricevuti.
Quest’informazione deve presentare la struttura indicata nel seguito.

Blocco dati per l’informazione di indirizzo del partner remoto


È necessaria la creazione di un DB contenente una o più strutture di dati secondo l‘UDT 66
"TADDR_PAR".
Nel parametro ADDR dell‘FB 67 "TUSEND" il puntatore viene trasferito e nel parametro ADDR
dell‘FB 68 "TURCV" il puntatore viene inserito sull’indirizzo del rispettivo partner remoto (ad es.
P#DB100.DBX0.0 byte 8).

Struttura del l’informazione di indirizzo del partner remoto (UDT 66)

Byte Parametri Tipo di- Valore Descrizione


dati iniziale
0-3 rem_ip_addr ARRAY B#16#00 ... Indirizzo IP del partner remoto, ad es.
[1..4] of 192.168.002.003:
BYTE • rem_ip_addr[1] = B#16#C0 (192)
• rem_ip_addr[2] = B#16#A8 (168)
• rem_ip_addr[3] = B#16#02 (002)
• rem_ip_addr[4] = B#16#03 (003)
4-5 rem_port_nr ARRAY B#16#00 ... N. porta remota (valori possibili: Vedere
[1..2] of Funzionamento degli FB per la comunicazione aperta
BYTE tramite Industrial Ethernet)
• rem_port_nr[1] = high byte del N. della porta
nella rappresentazione esadecimale
• rem_port_nr[2] = low byte del N. della porta nella
rappresentazione esadecimale
6 ... 7 spare ARRAY B#16#00 ... Reserve. Assegnare il valore 0 a questo parametro.
[1..2] of
BYTE

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 487
Comunicazione aperta tramite Industrial Ethernet
24.6 Incidenza delle varianti di protocollo (connection_type) richieste dalla CPU sulla lunghezza dei dati trasferibili

24.6 Incidenza delle varianti di protocollo (connection_type) richieste


dalla CPU sulla lunghezza dei dati trasferibili
La tabella sottostante indica le varianti di protocollo richieste da ogni singola CPU e la lunghezza dati
trasferibile.

Variante di Parametro CPU Lunghezza dati Lunghezza dati


protocollo "connection in byte nella in byte nella
_type" in comunicazione comunicazione
UDT 65 tramite tramite CP
interfaccia
IE integrata
TCP B#16#11 CPUs 31x-2 PN/DP a partire 1 … 8192 -
dalla versione firmware V2.4
CPUs 31x-2 PN/DP a partire 1 … 32767
dalla versione firmware V3.1
CPUs 31x-3 PN/DP a partire 1 … 32767
dalla versione firmware V3.2
CPUs 41x-3 PN/DP 1 … 32767 -
CPUs 41x-5H PN/DP 1 … 32767
B#16#01 CPUs 31x-2 PN/DP 1 …1460

ISO on TCP B#16#12 CPUs 31x-2 PN/DP a partire 1 … 8192 -


dalla versione firmware V2.4
CPUs 31x-2 PN/DP a partire 1 … 32767
dalla versione firmware V3.1
CPUs 31x-3 PN/DP a partire 1 … 32767
dalla versione firmware V3.2
CPUs 41x a partire dalla versione - 1 … 1452
firmware V4.1 (senza CPU
41x-4H)
CPUs 41x-3 PN/DP 1 … 32767 1 … 1452

CPUs 41x-5H PN/DP 1 … 32767 -1 … 1452

UDP B#16#13 CPUs 31x-2 PN/DP a partire 1 … 1472 -


dalla versione firmware V2.4,
CPUs 41x-3 PN/DP e 41x-5H
PN/DP

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


488 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti

24.7 Esempi di parametrizzazione di collegamenti di comunicazione


aperti

Esempio 1: Comunicazione tra due CPU S7-400 tramite ISO on TCP e CP 443-1 Adv.
Entrambe i partner di comunicazione sono due CPU 414-2 con versione firmware V4.1.0. La
comunicazione si svolge tramite due CP 443-1 Advanced.con versione firmware V2.2.
La tabella sottostante indica i dati più significativi di entrambi i partner di comunicazione.

Proprietà Partner di comunicazione A: Partner di comunicazione B:


CPU 414-2 (FW V4.1.0) con CPU 414-2 (FW V4.1.0) con
CP 443-1 Adv. (FW V2.2) CP 443-1 Adv. (FW V2.2)
Attivazione del collegamento Attivo Passivo
Indirizzo IP 192.168.4.14 192.168.4.16
Indirizzo fisico della CPU Rack 0, slot 3 Rack 0, slot 4
Indirizzo fisico del rispettivo CP Rack 0, slot 6 Rack 1, slot 8
ID del TSAP locale (avvertenza: il 0xE0 03 54 43 50 2D 31 0xE0 04 54 43 50 2D 31
coordinamento del TSAP per la
distinzione del collegamento inizia
dal byte 3)

La tabella sottostante indica i parametri di rilievo, contenuti nel DB, per la creazione del collegamento
attivo da parte del partner di comunicazione A:

Parametri Tipo di Valore iniziale Descrizione


dati
id WORD W#16#0414 ID di collegamento
connection_type BYTE B#16#12 Varianti di protocollo: ISO on TCP
active_est BOOL TRUE Creazione attiva del collegamento
local_device_id BYTE B#16#00 Comunicazione AS interna tramite CP
local_tsap_id_len BYTE B#16#07 Lunghezza del parametro applicata
local_tsap_id
rem_staddr_len BYTE B#16#04 Lunghezza dell'indirizzo del punto
finale del collegamento remoto:
• 4: indirizzo IP valido del parametro
rem_staddr
rem_tsap_id_len BYTE B#16#07 Lunghezza del parametro applicata
rem_tsap_id
next_staddr_len BYTE B#16#01 Lunghezza del parametro applicata
next_staddr

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 489
Comunicazione aperta tramite Industrial Ethernet
24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti

Parametri Tipo di Valore iniziale Descrizione


dati
local_tsap_id ARRAY • local_tsap_id[1] = B#16#E0 ID del TSAP locale:
[1..16] of • local_tsap_id[2] = B#16#03 0xE0035443502D31
BYTE
• local_tsap_id[3] = B#16#54
(equivalenza ASCII di "T")
• local_tsap_id[4] = B#16#43
(equivalenza ASCII di "C")
• local_tsap_id[5] = B#16#50
(equivalenza ASCII di "P")
• local_tsap_id[6] = B#16#2D
(equivalenza ASCII di "-")
• local_tsap_id[7] = B#16#31
(equivalenza ASCII di "1")
• local_tsap_id[8-16] = B#16#00
rem_staddr ARRAY "192.168.4.16" Indirizzo IP del punto finale del
[1..6] of • rem_staddr[1] = B#16#C0 (192) collegamento remoto
BYTE
• rem_staddr[2] = B#16#A8 (168)
• rem_staddr[3] = B#16#04 (4)
• rem_staddr[4] = B#16#10 (16)
• rem_staddr[5-6] = B#16#00
rem_tsap_id ARRAY • rem_tsap_id[1] = B#16#E0 ID delTSAP remoto:
[1..16] of • rem_tsap_id[2] = B#16#04 0xE0045443502D31
BYTE
• rem_tsap_id[3] = B#16#54
(equivalenza ASCII di "T")
• rem_tsap_id[4] = B#16#43
(equivalenza ASCII di "C")
• rem_tsap_id[5] = B#16#50
(equivalenza ASCII di "P")
• rem_tsap_id[6] = B#16#2D
(equivalenza ASCII di "-")
• rem_tsap_id[7] = B#16#31
(equivalenza ASCII di "1")
• rem_tsap_id[8-16] = B#16#00
next_staddr ARRAY • next_staddr[1] = B#16#06 Rack = 0, posto connettore = 6
[1..6] of • next_staddr[2-6] = B#16#00 (bit 7 ... 5: N rack, bit 4 ... 0: N slot.)
BYTE

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


490 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti

La tabella sottostante indica i parametri di rilievo, contenuti nel DB, per la creazione del collegamento
passivo da parte del partner di comunicazione B:

Parametri Tipo di Valore nell'esempio Descrizione


dati
id WORD W#16#0416 ID di collegamento
connection_type BYTE B#16#12 Varianti del protocollo: ISO on TCP
active_est BOOL FALSE Creazione passiva del collegamento
local_device_id BYTE B#16#00 Comunicazione interna all'AS
mediante CP
local_tsap_id_len BYTE B#16#07 Lunghezza del parametro applicata
local_tsap_id
rem_staddr_len BYTE B#16#04 Lunghezza dell'indirizzo del punto
finale del collegamento remoto:
• 4: Indirizzo IP valido nel parametro
rem_staddr
rem_tsap_id_len BYTE B#16#07 Lunghezza del parametro applicata
rem_tsap_id
next_staddr_len BYTE B#16#01 Lunghezza del parametro applicata
next_staddr
local_tsap_id ARRAY • local_tsap_id[1] = B#16#E0 ID del TSAP locale:
[1..16] of • local_tsap_id[2] = B#16#04 0xE0045443502D31
BYTE
• local_tsap_id[3] = B#16#54
(equivalenza ASCII di "T")
• local_tsap_id[4] = B#16#43
(equivalenza ASCII di "C")
• local_tsap_id[5] = B#16#50
(equivalenza ASCII di "P")
• local_tsap_id[6] = B#16#2D
(equivalenza ASCII di "-")
• local_tsap_id[7] = B#16#31
(equivalenza ASCII di "1")
• local_tsap_id[8-16] = B#16#00
rem_staddr ARRAY • "192.168.4.14" Indirizzo ID del punto finale del
[1..6] of • rem_staddr[1] = B#16#C0 (192) collegamento remoto
BYTE
• rem_staddr[2] = B#16#A8 (168)
• rem_staddr[3] = B#16#04 (4)
• rem_staddr[4] = B#16#0E (14)
• rem_staddr[5-6] = B#16#00

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 491
Comunicazione aperta tramite Industrial Ethernet
24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti

Parametri Tipo di Valore nell'esempio Descrizione


dati
rem_tsap_id ARRAY • rem_tsap_id[1] = B#16#E0 ID del TSAP remoto
[1..16] of • rem_tsap_id[2] = B#16#03 0xE0035443502D31
BYTE
• rem_tsap_id[3] = B#16#54
(equivalenza ASCII di "T")
• rem_tsap_id[4] = B#16#43
(equivalenza ASCII di "C")
• rem_tsap_id[5] = B#16#50
(equivalenza ASCII di "P")
• rem_tsap_id[6] = B#16#2D
(equivalenza ASCII di "-")
• rem_tsap_id[7] = B#16#31
(equivalenza ASCII di "1")
• rem_tsap_id[8-16] = B#16#00
next_staddr ARRAY • next_staddr[1] = B#16#28 Rack = 1, slot = 8
[1..6] of • next_staddr[2-6] = B#16#00 (bit 7 ... 5: N. di slot., bit 4 ... 0: N. di
BYTE posto connettore.)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


492 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti

Esempio 2: comunicazione tra una CPU S7-400 ed una CPU S7-300 tramite TCP e interfaccia
integrata PROFINET
Un partner di comunicazione è costituito da una CPU 416-3 PN/DP con versione del firmware V5.0,
l'altro da una CPU 319-3 PN/DP con versione del firmware V2.4.0. La tabella sottostante indica i dati
più significativi di entrambi i partner di comunicazione:

Proprietà Partner di comunicazione A: Partner di comunicazione B:


CPU 416-3 PN/DP (FW V5.0) CPU 319-3 PN/DP (FW V2.4.0)
Attivazione del collegamento Attivo Passivo
Indirizzo IP 192.168.3.142 192.168.3.125
N. della porta locale Non di rilievo 2005

La tabella sottostante fornisce i parametri di rilievo registrati nel DB per la creazione del
collegamento attivo per il partner di comunicazione A:

Parametri Tipo di Valore nell'esempio Descrizione


dati
id WORD W#16#0014 ID di collegamento
connection_type BYTE B#16#11 Varianti di protocollo: TCP
active_est BOOL TRUE Creazione del collegamento attivo
local_device_id BYTE B#16#05 Comunicazione tramite interfaccia
Ethernet integrata nella CPU S7-400
local_tsap_id_len BYTE B#16#00 (è possibile soltanto questo Il parametro local_tsap_id non viene
valore) impiegato
rem_staddr_len BYTE B#16#04 Lunghezza dell'indirizzo del punto
finale del collegamento remoto:
• 4: Indirizzo IP valido nel parametro
rem_staddr
rem_tsap_id_len BYTE B#16#02 (è possibile soltanto questo Lunghezza del parametro applicata
valore) rem_tsap_id
rem_staddr ARRAY "192.168.3.125" Indirizzo IP del punto finale di
[1..6] of • rem_staddr[1] = B#16#C0 (192) comunicazione remoto
BYTE
• rem_staddr[2] = B#16#A8 (168)
• rem_staddr[3] = B#16#03 (3)
• rem_staddr[4] = B#16#7D (125)
• rem_staddr[5-6] = B#16#00
rem_tsap_id ARRAY "2005" N. della porta remota:
[1..16] of • rem_tsap_id[1] = B#16#07 2005 = W#16#07D5
BYTE
• rem_tsap_id[2] = B#16#D5
• rem_tsap_id[3-16] = B#16#00

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 493
Comunicazione aperta tramite Industrial Ethernet
24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti

La tabella sottostante fornisce i parametri di rilievo registrati nel DB per la creazione del
collegamento passivo per il partner di comunicazione B:

Parametri Tipo di Valore nell'esempio Descrizione


dati
id WORD W#16#000F ID di collegamento
connection_type BYTE B#16#11 Variante di protocollo: TCP
active_est BOOL FALSE Creazione passiva del collegamento
local_device_id BYTE B#16#03 Comunicazione tramite interfaccia
Ethernet integrata nella CPU 319-3
PN/DP
local_tsap_id_len BYTE B#16#02 (è possibile soltanto questo Lunghezza del parametro applicata
valore) local_tsap_id
rem_staddr_len BYTE B#16#04 Lunghezza dell'indirizzo del punto
finale del collegamento remoto:
• 4: indirizzo IP valido nel parametro
rem_staddr
rem_tsap_id_len BYTE B#16#00 (è possibile soltanto questo Lunghezza del parametro applicata
valore) rem_tsap_id
local_tsap_id ARRAY "2005" N. della porta locale:
[1..16] of • local_tsap_id[1] = B#16#07 2005 = W#16#07D5
BYTE
• local_tsap_id[2] = B#16#D5
• local_tsap_id[3-16] = B#16#00
rem_staddr ARRAY "192.168.3.142" Indirizzo IP del punto finale del
[1..6] of • rem_staddr[1] = B#16#C0 (192) collegamento
BYTE
• rem_staddr[2] = B#16#A8 (168)
• rem_staddr[3] = B#16#03 (3)
• rem_staddr[4] = B#16#8E (142)
• rem_staddr[5-6] = B#16#00

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


494 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti

Esempio 3: comunicazione tra una CPU S7-300 ed una CPU S7-400 tramite UDP e interfaccia
integrata PROFINET
Un partner di comunicazione è costituito da una CPU 319-3 PN/DP con versione del firmware V2.4.0,
l'altro da una CPU 414-3 PN/DP con versione del firmware V5.0. La tabella sottostante indica i dati
più significativi di entrambi i partner di comunicazione:

Proprietà Partner di comunicazione A: Partner di comunicazione B:


CPU 319-3 PN/DP (FW V2.4.0) CPU 414-3 PN/DP (FW V5.0)
Mittente/ricevente Mittente Ricevente
Indirizzo IP 192.168.3.142 192.168.3.125
N. della porta locale 2004 2005

La tabella sottostante indica i parametri di rilievo per il mittente (partner di comunicazione A) registrati
nel DB per la parametrizzazione del punto di accesso alla comunicazione locale:

Parametri Tipo di Valore nell'esempio Descrizione


dati
id WORD W#16#0014 ID del presente collegamento tra il
programma utente e il livello di
comunicazione del sistema operativo
connection_type BYTE B#16#13 Varianti di protocollo: UDP
active_est BOOL FALSE Con la variante di protocollo UDP è
possibile soltanto questo valore.
local_device_id BYTE B#16#03 Comunicazione tramite interfaccia
Ethernet integrata nella CPU 319-3
PN/DP
local_tsap_id_len BYTE B#16#02 Lunghezza del parametro
local_tsap_id applicata
local_tsap_id ARRAY • local_tsap_id[1] = B#16#07 N. porta locale: 2004 = W#16#07D4
[1..16] of • local_tsap_id[2] = B#16#D4
BYTE
• local_tsap_id[3-16] = B#16#00

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 495
Comunicazione aperta tramite Industrial Ethernet
24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti

La tabella sottostante indica i parametri di rilievo per il ricevente (partner di comunicazione B)


registrati nel DB per la parametrizzazione del punto di accesso alla comunicazione locale:

Parametri Tipo di Valore nell'esempio Descrizione


dati
id WORD W#16#000F ID del presente collegamento tra il
programma utente e il livello di
comunicazione del sistema operativo
connection_type BYTE B#16#13 Varianti di protocollo: UDP
active_est BOOL FALSE Con la variante di protocollo UDP è
possibile soltanto questo valore.
local_device_id BYTE B#16#05 Comunicazione tramite interfaccia
Ethernet integrata con le CPU S7-400
local_tsap_id_len BYTE B#16#02 Lunghezza del parametro
local_tsap_id applicata
local_tsap_id ARRAY • local_tsap_id[1] = B#16#07 N. porta locale: 2005 = W#16#07D5
[1..16] of • local_tsap_id[2] = B#16#D5
BYTE
• local_tsap_id[3-16] = B#16#00

Richiamando nel mittente il parametro FB 67 "TUSEND", in un DB vengono inoltrati i seguenti


parametri di indirizzo del ricevente:

Parametri Tipo di Valore nell'esempio Descrizione


dati
rem_ip_addr ARRAY • rem_ip_addr[1] = B#16#C0 (192) Indirizzo IP del ricevente:
[1..4] of • rem_ip_addr[2] = B#16#A8 (168) 192.168.3.125
BYTE
• rem_ip_addr[3] = B#16#3 (3)
• rem_ip_addr[4] = B#16#7D (125)
rem_port_nr ARRAY • rem_port_nr[1] = B#16#07 N. porta del ricevente:
[1..2] of • rem_port_nr[2] = B#16#D5 2005 = W#16#07D5
BYTE

Richiamando nel ricevente il parametro FB 68 "TURCV", in un DB vengono inoltrati i seguenti


parametri di indirizzo del mittente:

Parametri Tipo di Valore nell'esempio Descrizione


dati
rem_ip_addr ARRAY • rem_ip_addr[1] = B#16#C0 (192) Indirizzo IP del mittente:
[1..4] of • rem_ip_addr[2] = B#16#A8 (168) 192.168.3.142
BYTE
• rem_ip_addr[3] = B#16#3 (3)
• rem_ip_addr[4] = B#16#8E (142)
rem_port_nr ARRAY • rem_port_nr[1] = B#16#07 N. porta del mittente:
[1..2] of • rem_port_nr[2] = B#16#D4 2004 = W#16#07D4
BYTE

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


496 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti

Esempio 4: Comunicazione tra due CPU S7-400 tramite ISO on TCP e interfaccia integrata
PROFINET
Un partner di comunicazione è costituito da una CPU 414-3 PN/DP con versione del firmware V5.0,
l'altro da una CPU 416-3 PN/DP con versione del firmware V5.0. La comunicazione si svolte tramite
interfaccia integrata PROFINET.
La tabella sottostante indica i dati più significativi di entrambi i partner di comunicazione:

Proprietà Partner di comunicazione A: Partner di comunicazione B:


CPU 414-3 PN/DP (FW V5.0) CPU 416-3 PN/DP (FW V5.0)
Mittente/Ricevente Mittente Ricevente
Creazione del collegamento Passivo Attivo
Indirizzo IP 192.168.0.14 192.168.0.16

La tabella sottostante indica tutti i parametri del partner di comunicazione A nel rispettivo DB.

Parametri Tipo di Valori nell'esempio Descrizione


dati
block_length WORD W#16#40 Lunghezza dell'UDT65: 64 byte (fissa)
id WORD W#16#0001 ID del collegamento
connection_type BYTE B#16#12 Variante di protocollo:
• B#16#12: ISO on TCP
active_est BOOL FALSE Creazione passiva del collegamento
local_device_id BYTE B#16#05 Comunicazione tra le CPU 414-3
PN/DP, 416-3 PN/DP e 416-3F PN/DP
tramite interfaccia IE integrata
local_tsap_id_len BYTE B#16#03 Lunghezza del parametro
local_tsap_id applicata
rem_subnet_id_len BYTE B#16#00 Questo parametro non viene
impiegato. Assegnare il valore
B#16#00.
rem_staddr_len BYTE B#16#04 Lunghezza dell'indirizzo del punto
finale del collegamento remoto:
• 4: indirizzo IP valido nel parametro
rem_staddr
rem_tsap_id_len BYTE B#16#03 Lunghezza del parametro rem_tsap_id
impiegata
next_staddr_len BYTE B#16#00 Questo parametro non viene impiegato
(in quanto la comunicazione avviene
tramite interfaccia integrata).
Assegnare il valore B#16#00.
local_tsap_id ARRAY • local_tsap_id[1] = B#16#E0 ID del TSAP locale: 0xE00301
[1..16] of • local_tsap_id[2] = B#16#03
BYTE
• local_tsap_id[3] = B#16#01
• local_tsap_id[4-16] = B#16#00

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 497
Comunicazione aperta tramite Industrial Ethernet
24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti

Parametri Tipo di Valori nell'esempio Descrizione


dati
rem_subnet_id ARRAY rem_subnet_id[1-6] = B#16#00 Questo parametro non viene
[1..6] of impiegato. Assegnare il valore 0.
BYTE
rem_staddr ARRAY "192.168.0.16" Indirizzo IP del punto finale del
[1..6] of • rem_staddr[1] = B#16#C0 (192) collegamento remoto
BYTE
• rem_staddr[2] = B#16#A8 (168)
• rem_staddr[3] = B#16#00 (0)
• rem_staddr[4] = B#16#10 (16)
• rem_staddr[5-6] = B#16#00
rem_tsap_id ARRAY • rem_tsap_id[1] = B#16#E0 ID del TSAP remoto: 0xE00301
[1..16] of • rem_tsap_id[2] = B#16#03
BYTE
• rem_tsap_id[3] = B#16#01
• rem_tsap_id[4-16] = B#16#00
next_staddr ARRAY next_staddr[1-6] = B#16#00 Questo parametro non viene impiegato
[1..6] of (in quanto la comunicazione avviene
BYTE tramite interfaccia integrata):
spare WORD W#16#0000 Questo parametro non viene
impiegato. Assegnare il valore 0.

La tabella sottostante indica tutti i parametri del partner di comunicazione B nel rispettivo DB

Parametri Tipo di Valori nell'esempio Descrizione


dati
block_length WORD W#16#40 Lunghezza dell'UDT65: 64 byte (fissa
id WORD W#16#0001 ID del collegamento
connection_type BYTE B#16#12 Variante di protocollo:
• B#16#12: ISO on TCP
active_est BOOL TRUE Creazione passiva del collegamento
local_device_id BYTE B#16#05 Comunicazione tra le CPU 414-3
PN/DP, 416-3 PN/DP e 416-3F PN/DP
tramite interfaccia IE integrata
local_tsap_id_len BYTE B#16#03 Lunghezza del parametro
local_tsap_id applicata
rem_subnet_id_len BYTE B#16#00 Questo parametro non viene
impiegato. Assegnare il valore
B#16#00.
rem_staddr_len BYTE B#16#04 Lunghezza dell'indirizzo del punto
finale del collegamento remoto:
• 4: indirizzo IP valido nel parametro
rem_staddr
rem_tsap_id_len BYTE B#16#03 Lunghezza del parametro rem_tsap_id
impiegata

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


498 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti

Parametri Tipo di Valori nell'esempio Descrizione


dati
next_staddr_len BYTE B#16#00 Questo parametro non viene impiegato
(in quanto la comunicazione avviene
tramite interfaccia integrata).
Assegnare il valore B#16#00.
local_tsap_id ARRAY • local_tsap_id[1] = B#16#E0 ID del TSAP locale: 0xE00301
[1..16] of • local_tsap_id[2] = B#16#03
BYTE
• local_tsap_id[3] = B#16#01
• local_tsap_id[4-16] = B#16#00
rem_subnet_id ARRAY rem_subnet_id[1-6] = B#16#00 Questo parametro non viene
[1..6] of impiegato. Assegnare il valore 0.
BYTE
rem_staddr ARRAY "192.168.0.14" Indirizzo IP del punto finale del
[1..6] of • rem_staddr[1] = B#16#C0 (192) collegamento remoto
BYTE
• rem_staddr[2] = B#16#A8 (168)
• rem_staddr[3] = B#16#00 (0)
• rem_staddr[4] = B#16#0E (14)
• rem_staddr[5-6] = B#16#00
rem_tsap_id ARRAY • rem_tsap_id[1] = B#16#E0 ID del TSAP remoto: 0xE00301
[1..16] of • rem_tsap_id[2] = B#16#03
BYTE
• rem_tsap_id[3] = B#16#01
• rem_tsap_id[4-16] = B#16#00
next_staddr ARRAY next_staddr[1-6] = B#16#00 Questo parametro non viene impiegato
[1..6] of (in quanto la comunicazione avviene
BYTE tramite interfaccia integrata)
spare WORD W#16#0000 Questo parametro non viene
impiegato. Assegnare il valore 0.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 499
Comunicazione aperta tramite Industrial Ethernet
24.8 Inizializzazione del collegamento con l'FB 65 "TCON"

24.8 Inizializzazione del collegamento con l'FB 65 "TCON"


Il numero dei possibili collegamenti TCP oppure UDP è indicato nei dati tecnici della CPU.

Impiego dell'FB 65 "TCON" con i protocolli TCP e ISO on TCP


Entrambe i partner di comunicazione richiamano il parametro FB 65 "TCON" per la configurazione e
la creazione del collegamento di comunicazione. Nel corso della parametrizzazione è possibile
determinare quale punto finale della comunicazione debba essere attivo e quale passivo.
Il collegamento configurato e creato viene ora controllato e mantenuto automaticamente dalla CPU.
In caso di interruzione del collegamento dovuta, ad es. alla rottura del conduttore o causata da un
partner di comunicazione remoto, la CPU attiva cerca di ripristinare il collegamento configurato. Non
è necessario chiamare nuovamente FB 65 "TCON".
Richiamando il parametro FB 66 "TDISCON" o attivando lo stato di funzionamento STOP della CPU
si ha l'interruzione del collegamento esistente e la rimozione del collegamento configurato. Per il
ripristino e la nuova configurazione del collegamento richiamare nuovamente il parametro FB 65
"TCON"

Impiego dell'FB 65 "TCON" con il protocollo UDP


Per consentire la configurazione del punto di accesso alla comunicazione locale (porta locale),
entrambi i partner di comunicazione richiamano l‘FB 65 "TCON". Viene così configurato il
collegamento tra il programma utente ed il livello di comunicazione del sistema operativo. La
creazione collegamento con il partner remoto non ha luogo.
Il punto di accesso locale viene utilizzato nell’invio e nella ricezione di telegrammi UDP.
Durante la parametrizzazione del punto di accesso locale (UDT65) oppure durante la
parametrizzazione del partner remoto (UDT 66) i seguenti parametri devono essere uguali:
• con il protocollo UDP: ID del collegamento e N. della porta locale.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


500 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.8 Inizializzazione del collegamento con l'FB 65 "TCON"

Funzionamento
L'FB 65 "TCON" è un FB che funziona in modo asincrono, ovvero l'elaborazione dell'ordine
comprende più richiami dell'FB. L'avvio dell'ordine per la creazione e la configurazione del
collegamento avviene richiamando FB 65 mediante REQ = 1.
Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. STATUS
corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche:
Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono).
La tabella seguente mostra la correlazione tra i parametri BUSY, DONE e ERROR. Questi parametri
consentono di rilevare lo stato attuale dell'FB 65 ovvero il momento della creazione o della
configurazione del collegamento (con la comunicazione TCP e ISO on TCP).

BUSY DONE ERROR Descrizione


TRUE non di non di Elaborazione dell'ordine in corso
rilievo rilievo
FALSE TRUE FALSE Ordine eseguito senza errori.
FALSE FALSE TRUE L'esecuzione dell'ordine è stata interrotta a causa di un errore.La
causa di errore è riportata nel parametro STATUS..
FALSE FALSE FALSE All'FB non è stato assegnato alcun (nuovo) ordine.

Parametri

Parametri Dichia- Tipo di Area di memoria Descrizione


razione dati
REQ INPUT BOOL E, A, M, D, L Il parametro di controllo REQUEST avvia l'ordine
di creazione del collegamento tramite ID. L'avvio
dell'ordine avviene con fronte di salita.
ID INPUT WORD M, D, Cost. ID del collegamento da creare con il partner
remoto oppure tra il programma utente e il livello
di comunicazione del sistema operativo. L'ID
deve essere identico al parametro ID al quale si
riferisce nella descrizione del collegamento locale
Campo di valori: da W#16#0001 a
W#16#0FFF
DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE:
• 0: l'ordine non è ancora stato avviato o è
ancora corso.
• 1: l'ordine è stato eseguito senza errori
BUSY OUTPUT BOOL E, A, M, D, L • BUSY = 1: l'ordine non è ancora stato
terminato.
• BUSY = 0: l'ordine è terminato.
ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR:
• ERROR=1: si è verificato un errore durante
l'elaborazione. STATUS offre informazioni
dettagliate sul tipo di errore

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 501
Comunicazione aperta tramite Industrial Ethernet
24.8 Inizializzazione del collegamento con l'FB 65 "TCON"

Parametri Dichia- Tipo di Area di memoria Descrizione


razione dati
STATUS OUTPUT WORD M, D Parametro di stato STATUS: informazione di
errore
CONNECT IN_OUT ANY D Il puntatore si trova sulla relativa descrizione del
collegamento (UDT 65), vedere
Parametrizzazione di collegamenti di
comunicazione aperti tramite i protocolli TCP e
ISO on TCP e ISO on TCP e Parametrizzazione
del punto di accesso alla comunicazione locale
con il protocollo UDP
Avvertenza: osservare che nelle CPU S7-300 il
parametro CONNECT richiede sempre
l'indicazione completa dei parametri DB (ad es.:
P#DB13.DBX0.0 byte 100). Tralasciare un n. di
DB esplicito non è ammesso per le CPU S7-300 e
genera un messaggio di errore nel programma
utente.

Informazioni di errore

ERROR STATUS Spiegazione


(W#16#...)
0 0000 È stato possibile creare il collegamento
0 7000 Nessuna elaborazione dell'ordine attiva
0 7001 Avvio dell'elaborazione dell'ordine in corso
0 7002 Richiamo intermedio (non di rilievo per REQ), attivazione del collegamento in
Corso
1 8086 L'ID si trova al di fuori del campo ammesso.
1 8087 È stato raggiunto il numero max. dei collegamenti, non sono possibili ulteriori
collegamenti
1 8089 Il parametro CONNECT non indica u n blocco dati
1 809A Il parametro CONNECT indica un campo che non presenta la lunghezza della
descrizione del collegamento (UDT65)
1 809B Il parametro local_device_id indicato nella descrizione del collegamento non si
addice alla CPU oppure la relativa interfaccia è disabilitata.
1 80A0 Errore cumulativo per i codici di errore W#16#80A1 e W#16#80A2
1 80A1 Il collegamento o la porta sono già stati assegnati dall'utente
1 80A2 La porta locale o remota è stata assegnata dal sistema
1 80A3 È stato effettuato il tentativo di creare nuovamente una comunicazione già
esistente.
1 80A4 L'indirizzo IP del punto finale del collegamento remoto non è valido. Esso coincide
eventualmente con l'indirizzo IP proprio

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


502 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.8 Inizializzazione del collegamento con l'FB 65 "TCON"

ERROR STATUS Spiegazione


(W#16#...)
1 80A7 Errore di comunicazione: è stato richiamato TDISCON mentre TCON non aveva
ancora terminato. Mediante il richiamo di TDISCON viene ora eseguita la
disconnessione anticipata.
1 80B2 Il parametro CONNECT indica un blocco dati creato con la parola chiave
UNLINKED.
1 80B3 Parametrizzazione incoerente: errore cumulativo per i codici di errore W#16#80A0
... W#16#80A2, W#16#80A4, W#16#80B4 .... W#16#80B9
1 80B4 Inosservanza della condizione ISO on TCP (connection_type = B#16#12) durante
la creazione passiva del collegamento (active_est = FALSE) oppure inosservanza
di una delle seguenti condizioni:
• local_tsap_id_len >= B#16#02
• local_tsap_id[1] = B#16#E0
• In local_tsap_id_len >= B#16#03 local_tsap_id[1] è un carattere ASCII
• local_tsap_id[1] è un carattere ASCII e local_tsap_id_len >= B#16#03
1 80B5 Errore nel parametro active_est (UDT 65) nella variante del protocollo UDP
1 80B6 Errore di parametrizzazione relativo al parametro connection_type (UDT 65)
1 80B7 Errore in uno dei seguenti parametri dell'UDT 65: block_length, local_tsap_id_len,
rem_subnet_id_len, rem_staddr_len, rem_tsap_id_len, next_staddr_len
1 80B8 L'ID del parametro nella descrizione del collegamento locale (UDT 65) e l'ID del
parametro non coincidono.
1 80C3 Tutte le risorse di collegamenti sono occupate.
1 80C4 Errore di comunicazione temporaneo:
• il collegamento non può essere per ora creato.
• l'interfaccia viene nuovamente parametrizzato.
• Il collegamento configurato viene momentaneamente rimosso da un TDISCON.
• Il sistema H sta eseguento l’aggiornamento e l’accoppiamento
1 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 503
Comunicazione aperta tramite Industrial Ethernet
24.9 Sconnessione con l'FB 66 "TDISCON"

24.9 Sconnessione con l'FB 66 "TDISCON"

Impiego dell'FB 66 "TDISCON" con i protocolli TCP e ISO on TCP


L'FB 66 "TDISCON" disconnette il collegamento della CPU con un partner di comunicazione

Impiego dell'FB 66 "TDISCON" con il protocollo UDP


L‘FB 66 "TDISCON" disconnette il punto di accesso alla comunicazione locale ovvero il
collegamento tra il programma utente e il livello di comunicazione del sistema operativo.

Funzionamento
L'FB 66 "TDISCON" è un FB che funziona in modo asincrono, ovvero l'elaborazione dell'ordine
comprende più richiami dell'FB. L'attivazione dell'ordine di disconnessione avviene richiamando
l'FB 66 mediante REQ = 1.
Dopo l’esecuzione riuscita del parametro FB 66 "TDISCON", l’ID indicato nell‘FB 65"TCON" non è
più valido e non può più essere impiegato né per l’invio né per la ricezione.
Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. STATUS
corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche:
Significato di REQ, RET_VAL e BUSY nelle SFC asincrone).
La tabella seguente mostra la correlazione tra i parametri BUSY, DONE e ERROR. Questi parametri
consentono di rilevare lo stato attuale dell'FB 66 ovvero quando l'inizializzazione del collegamento è
terminata.

BUSY DONE ERROR Descrizione


TRUE non di non di Elaborazione dell'ordine in corso
rilievo rilievo
FALSE TRUE FALSE Ordine eseguito senza errori.
FALSE FALSE TRUE L'esecuzione dell'ordine si è conclusa con un errore. La causa di errore
è riportata nel parametro STATUS.
FALSE FALSE FALSE All'FB non è stato assegnato alcun (nuovo) ordine.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


504 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.9 Sconnessione con l'FB 66 "TDISCON"

Parametri

Parametri Dichia- Tipo di Area di memoria Descrizione


razione dati
REQ INPUT BOOL E, A, M, D, L Il parametro di controllo REQUEST attiva l'ordine
di disconnessione del collegamento indicato
dall'ID. L'avvio dell'ordine avviene con fronte in
salita.
ID INPUT WORD M, D, Cost. ID del collegamento al partner remoto da
sconnettere oppure della sconnessione tra il
programma utente e il livello di comunicazione
del sistema operativo. L'ID deve essere identico
al parametro ID al quale si riferisce nella
descrizione del collegamento locale
Campo di valori: da W#16#0001 a W#16#0FFF
DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE:
• 0: l'ordine non è ancora stato avviato o è
ancora corso.
• 1: l'ordine è stato eseguito senza errori
BUSY OUTPUT BOOL E, A, M, D, L • BUSY = 1: l'ordine non è ancora stato
terminato.
BUSY = 0: l'ordine è terminato.
ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR:
• ERROR=1: si è verificato un errore durante
l'elaborazione. STATUS fornisce
informazioni dettagliate sul tipo di errore.
STATUS OUTPUT WORD M, D Parametro di stato STATUS:
Informazioni di errore

Informazioni di errore

ERROR STATUS Spiegazione


(W#16#...)
0 0000 È stato possibile creare il collegamento
0 7000 Nessuna elaborazione dell'ordine attiva
0 7001 Avvio dell'elaborazione dell'ordine in corso
0 7000 Primo richiamo di REQ=0, non è stato dato avvio alla disconnessione
0 7001 Primo richiamo di REQ=1, attivazione del collegamento in corso
0 7002 Richiamo intermedio (non di rilievo per REQ), attivazione del collegamento in corso
1 8086 L'ID del parametro si trova in un campo valori non ammesso
1 80A3 È stato effettuato il tentativo disconnettere una comunicazione inesistente
1 80C4 Errore di comunicazione temporaneo: l'interfaccia viene nuovamente
parametriizzata o il collegamento viene attualmente configurato o ilsistema H sta
eseguendo l’accoppiamento e l’aggiornamento.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 505
Comunicazione aperta tramite Industrial Ethernet
24.10 Invio di dati tramite i protocolli TCP e ISO on TCP con l'FB 63 "TSEND

24.10 Invio di dati tramite i protocolli TCP e ISO on TCP con l'FB 63
"TSEND

Descrizione
L'FB 63 "TSEND" invia dati mediante un collegamento di comunicazione esistente.

Funzionamento
L'FB 63 "TSEND" è un FB che funziona in modo asincrono, ovvero l'elaborazione comprende più
richiami dell'FB. Per iniziare l'operazione di invio, richiamare l'FB 63 mediante REQ = 1.
Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. STATUS
corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche:
Significato di REQ, RET_VAL e BUSY nelle SFC asincrone).
Il parametro di uscita DONE viene impostato quando i dati da inviare sono stati trasferiti
completamente all'interfaccia locale.
La tabella sottostante mostra la correlazione tra i parametri BUSY, DONE ed ERROR. Questi
parametri consentono di rilevare lo stato attuale dell'FB 63.

BUSY DONE ERROR Descrizione


TRUE non di non di Elaborazione dell'ordine in corso
rilievo rilievo
FALSE TRUE FALSE Ordine eseguito senza errori.
FALSE FALSE TRUE L'esecuzione dell'ordine si è conclusa con un errore. La causa di errore
è riportata nel parametro STATUS.
FALSE FALSE FALSE All'FB non è stato assegnato alcun (nuovo) ordine.

Avvertenza
Per effetto del funzionamento asincrono dell‘FB 63 "TSEND", la coerenza dei dati presenti nell’area
di invio deve essere mantenuta fino a quando i parametri DONE o ERROR avranno assunto il valore
TRUE.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


506 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.10 Invio di dati tramite i protocolli TCP e ISO on TCP con l'FB 63 "TSEND

Parametri

Parametri Dichia- Tipo di Area di memoria PU


razione dati
REQ INPUT BOOL E, A, M, D, L Il parametro di controllo REQUEST attiva l'ordine
di invio con fronte di salita.
I dati vengono trasferiti dall’area indicata nei
parametri DATA e LEN
ID INPUT WORD M, D, Cost. ID del relativo collegamento. L'ID deve essere
identico al parametro ID al quale si riferisce nella
descrizione del collegamento locale
Campo di valori: da W#16#0001 a W#16#0FFF
LEN INPUT INT E, A, M, D, L Numero max. di byte da inviare con l'ordine;
vedere anche Incidenza delle varianti di
protocollo (connection_type) richieste dalla CPU
sulla lunghezza dei dati trasferibili
DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE:
• 0: l'ordine non è ancora stato avviato o è
ancora corso.
• 1: i dati da inviare sono stati trasferiti
completamente all'interfaccia locale.
BUSY OUTPUT BOOL E, A, M, D, L • BUSY = 1: l'ordine non è ancora stato
terminato. Non è possibile avviare un nuovo
ordine.
BUSY = 0: l'ordine è terminato.
ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR:
• ERROR=1: si è verificato un errore durante
l'elaborazione. STATUS fornisce
informazioni dettagliate sul tipo di errore
DATA IN_OUT ANY E, A, M, D Area di trasmissione; contiene indirizzo e
lunghezza
L'indirizzo indica:
• l'immagine di processo degli ingressi
• l'immagine di processo delle uscite
• un merker
• un blocco dati
Avvertenza: non utilizzare ARRAY of BOOL
come area di trasmissione.
Avvertenza: osservare che nelle CPU S7-300 il
parametro DATA richiede sempre l'indicazione
completa dei parametri DB (ad es.:
P#DB13.DBX0.0 byte 100). Tralasciare un n. di
DB esplicito non è consentito per le CPU S7-300
e genera un messaggio di errore nel programma
utente.
STATUS OUTPUT WORD M, D Parametro di stato STATUS:
Informazioni di errore

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 507
Comunicazione aperta tramite Industrial Ethernet
24.10 Invio di dati tramite i protocolli TCP e ISO on TCP con l'FB 63 "TSEND

Informazioni di errore

ERROR STATUS Spiegazione


(W#16#...)
0 0000 L'ordine di invio dati si è concluso senza errori
0 7000 Nessuna elaborazione del collegamento attiva
0 7001 Avvio dell'elaborazione del collegamento
Avvertenza: in questa fase di elaborazione il sistema operativo accede ai dati
disponibili nell'area di invio DATA.
0 7002 Richiamo intermedio (non di rilievo per REQ), ordine in corso
Avvertenza: in questa fase di elaborazione il sistema operativo accede ai dati
disponibili nell'area di invio DATA.
1 8085 Il parametro LEN ha il valore 0 o supera il valore massimo consentito
1 8086 L'ID del parametro si trova in un campo valori non ammesso
1 8088 Il parametro LEN è maggiore rispetto all'area di memoria indicata in DATA
1 8092 Solo S7-300: tipo di dati non ammesso in DATA
1 80A1 Errore di comunicazione:
• Non è ancora stato richiamato il collegamento indicato
• Il collegamento indicato viene attualmente interrotto. Impossibile effettuare
un'operazione di invio tramite questo collegamento.
• L'interfaccia viene nuovamente inizializzata
1 80B3 Il collegamento parametrizzato (parametro connection_type nella descrizione del
collegamento) è di tipo UDP. Impiegare il parametro FB 67 "TUSEND".
1 80C3 • Un blocco recante questo ID viene già elaborato in un'altra classe di priorità.
• Scarsità di risorse interne
1 80C4 Errore di comunicazione temporaneo:
• è attualmente impossibile creare il collegamento con il partner di
comunicazione.
• Parametrizzazione dell'interfaccia o creazione del collegamento in corso
1 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


508 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.11 Ricezione di dati tramite i protocolli TCP e ISO on TCP con l'FB 64 "TRCV"

24.11 Ricezione di dati tramite i protocolli TCP e ISO on TCP con l'FB 64
"TRCV"

Descrizione
L'FB 64 "TRCV" riceve dati mediante un collegamento di comunicazione.

Area di ricezione
Questo termine indica l'area nella quale il blocco funzionale inserisce i dati ricevuti.
L'area di ricezione è determinata da due grandezze:
• Puntatore all'inizio dell'area
• Lunghezza dell'area
La determinazione della lunghezza dell'area avviene, in funzione delle varianti di protocollo
impiegate, tramite il parametro LEN (se LEN <> 0) oppure mediante l'indicazione della lunghezza
del parametro DATA (se LEN = 0).

Modalità di ricezione dell'FB 64 "TRCV"


La tabella seguente mostra l'inserimento da parte dell'FB 64 dei dati ricevuti nell'area di ricezione.

Variante di Inserimento dei dati Parametro Valore del parametro LEN


protocollo nell'area di ricezione "connection_type"
TCP Modalità B#16#01, B#16#11 0

TCP Datenempfang mit B#16#01, B#16#11 <> 0


vorgegebener Länge
ISO on TCP Comandato dal protocollo B#16#12 0 (raccomandato) o <> 0

Modalità Ad hoc / TCP


La modalità Ad hoc è disponibile soltanto nella variante di protocollo TCP. Per impostare questa
modalità, assegnare il valore 0 al parametro LEN.
L'area di ricezione è identica a quella creata con il parametro DATA. Vengono ricevuti max. 8192
byte.
L'FB 64 provvede a trasferire, immediatamente dopo la ricezione, il blocco dati nell'area di ricezione
e a impostare su 1 il valore di NDR.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 509
Comunicazione aperta tramite Industrial Ethernet
24.11 Ricezione di dati tramite i protocolli TCP e ISO on TCP con l'FB 64 "TRCV"

TCP / Ricezione dati con lunghezza prestabilita


Per impostare la ricezione dati con lunghezza prestabilita, assegnare al parametro LEN un valore
diverso da 0.
La creazione dell'area di ricezione avviene tramite i parametri LEN e DATA.
Subito dopo la ricezione dei byte LEN, l'FB 64 inserisce questi dati nell'area di ricezione e imposta
NDR su 1.

Trasmissione dati comandata dal protocollo ISO on TCP


Con la variante di protocollo ISO on TCP il trasferimento dati avviene comandato da protocollo.
I parametri LEN e DATA formano l'area di ricezione.
Non appena la ricezione di tutti i dati di un ordine si è conclusa, l'FB 64 trasferisce questi dati
nell'area di ricezione ed imposta NDR su 1.

Scambio di dati del tipo STRING


Per scambiare dati del tipo STRING con gli FB "TSEND" e "TRCV" è opportuno utilizzare solo la
modalità Ad-hoc con LEN=0. Inoltre è necessario scegliere una lunghezza della stringa per l'FB
"TRCV" che sia almeno pari a quella dell'FB "TSEND". Il mancato rispetto di questa regola può
causare errori nella successiva elaborazione della stringa.
Se si utilizza un ARRAY of BYTE come area di ricezione di una stringa di caratteri, il primo byte
contiene la lunghezza massima predefinita dal mittente e il secondo la lunghezza attuale della
stringa.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


510 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.11 Ricezione di dati tramite i protocolli TCP e ISO on TCP con l'FB 64 "TRCV"

Funzionamento
L'FB 64 "TRCV" è un FB che funziona in modo asincrono, ovvero l'elaborazione comprende più
richiami dell'FB. L'avvio dell'ordine di ricezione avviene richiamando FB 64 mediante EN_R = 1.
Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. STATUS
corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche:
Significato di REQ, RET_VAL_e BUSY nelle SFC asincrone).
La tabella seguente mostra la correlazione tra i parametri BUSY, NDR e ERROR. Questi parametri
consentono di rilevare lo stato attuale dell'FB 64 "TRCV"ovvero quando l'operazione di ricezione è
terminata

BUSY NDR ERROR Descrizione


TRUE non di non di Elaborazione dell'ordine in corso
rilievo rilievo
FALSE TRUE FALSE Ordine eseguito senza errori.
FALSE FALSE TRUE L'esecuzione dell'ordine si è conclusa con un errore. La causa di errore
è riportata nel parametro STATUS.
FALSE FALSE FALSE All'FB non è stato assegnato alcun (nuovo) ordine.

Avvertenza
Per effetto del funzionamento asincrono dell‘FB 64 "TRCV", la coerenza dei dati presenti nell’area di
ricezione viene raggiunta soltanto quando il parametro NDR assume il valore TRUE.

Parametri

Parametri Dichia- Tipo di Area di memoria Descrizione


razione dati
EN_R INPUT BOOL E, A, M, D, L Parametro di controllo enabled to receive: tramite
EN_R = 1 l'FB 64 "TRCV" è pronto alla ricezione.
Elaborazione dell'ordine di ricezione in corso
ID INPUT WORD M, D, Cost. ID del rispettivo collegamento. L'ID deve essere
identico al parametro ID al quale si riferisce nella
descrizione del collegamento locale.
Campo di valori: da W#16#0001 a W#16#0FFF
LEN INPUT INT E, A, M, D, L Lunghezza dell'area di ricezione in byte.
Significato di LEN = 0 o LEN <> 0: vedere sopra
(Modalità di ricezione dell'FB 64 "TRCV").
Campo valori: consultare il capitolo Incidenza
delle varianti di protocollo (connection_type)
richieste dalla CPU sulla lunghezza dei dati
trasferibili.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 511
Comunicazione aperta tramite Industrial Ethernet
24.11 Ricezione di dati tramite i protocolli TCP e ISO on TCP con l'FB 64 "TRCV"

Parametri Dichia- Tipo di Area di memoria Descrizione


razione dati
NDR OUTPUT BOOL E, A, M, D, L Parametro di stato NDR:
• NDR = 0: l'ordine non è ancora stato avviato
o è ancora corso
• NDR = 1: l'ordine è stato eseguito senza
errori
ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR:
• ERROR=1: si è verificato un errore durante
l'elaborazione. STATUS offre informazioni
dettagliate sul tipo di errore
BUSY OUTPUT BOOL E, A, M, D, L • BUSY = 1: ordine non è ancora terminato.
Impossibile avviare un nuovo ordine.
• BUSY = 0: l'ordine è terminato.
STATUS OUTPUT WORD M, D Parametro di stato STATUS: Informazione di
errore
RCVD_LEN OUTPUT INT E, A, M, D, L Numero in byte dei dati effettivamente ricevuti
DATA IN_OUT ANY E, A, M, D Area di ricezione (vedere la definizione sopra
riportata); contiene indirizzo e lunghezza
L'indirizzo indica:
• l'immagine di processo degli ingressi
• l'immagine di processo delle uscite
• un merker
• un blocco dati
Avvertenza: non utilizzare ARRAY of BOOL
come area di ricezione.
Avvertenza: osservare che nelle CPU S7-300 il
parametro DATA richiede sempre l'indicazione
completa dei parametri DB (ad es.:
P#DB13.DBX0.0 byte 100). Tralasciare un n. di
DB esplicito non è consentito per le CPU S7-300
e genera un messaggio di errore nel programma
utente.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


512 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.11 Ricezione di dati tramite i protocolli TCP e ISO on TCP con l'FB 64 "TRCV"

Informazioni di errore

ERROR STATUS Spiegazione


(W#16#...)
0 0000 Sono stati acquisiti nuovi dati. La lunghezza effettiva dei dati ricevuti viene
visualizzata in RCVD_LEN
0 7000 Il blocco è pronto alla ricezione
0 7001 Il blocco è pronto alla ricezione, l'ordine di ricezione è stato attivato
0 7002 Richiamo intermedio, ordine di ricezione in corso
Avvertenza: durante la fase di elaborazione, l'FB scrive dati nell'area di ricezione
che, in caso di errori, può pertanto contenere dati incoerenti.
1 8085 Il parametro LEN supera il valore max. consentito oppure il valore di uno dei
parametri LEN o DATA è stato modificato dopo il primo richiamo
1 8086 L'ID del parametro si trova in un campo valori non ammesso
1 8088 • L'area di ricezione è troppo ridotta
• Il valore indicato in LEN supera quello dell'area di ricezione prefissato tramite
DATA
1 8092 Solo S7-300: tipo di dati non ammesso in DATA
1 80A1 Errore di comunicazione:
• non è ancora stato creato il collegamento indicato
• il collegamento indicato viene attualmente interrotto. Impossibile ricevere dati
tramite questo collegamento.
• l'interfaccia viene nuovamente parametrizzata
1 80B3 La variante di protocollo parametrizzata (parametro connection_type nella
descrizione del collegamento) è di tipo UDP. Impiegare l‘FB 68 "TURCV".
1 80C3 • Un blocco dati recante questo ID viene attualmente elaborato in un'altra classe
di priorità
• Scarsità di risorse interne
1 80C4 Errore di comunicazione temporaneo:
• La creazione del collegamento con il partner di comunicazione è
provvisoriamente impossibile.
• Nuova parametrizzazione dell'interfaccia e creazione del collegamento in corso.
1 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 513
Comunicazione aperta tramite Industrial Ethernet
24.12 Invio di dati tramite il protocollo UDP con l'FB 67 "TUSEND"

24.12 Invio di dati tramite il protocollo UDP con l'FB 67 "TUSEND"

Descrizione
L‘FB 67 "TUSEND" invia i dati tramite il protocollo UDP al partner remoto il cui indirizzo è indicato nel
parametro ADDR

! Avviso
Il protocollo UDP secondo RFC 768, effettua il trasferimento dati al partner remoto senza conferma
e quindi con scarsa sicurezza. I dati possono andare perduti senza che la perdita venga segnalata
nel blocco

Avvertenza
In presenza di una successione di operazioni di invio di cui sono destinatari partner diversi, è
necessario adeguare il parametro ADDR al richiamo dell‘FB 67 "TUSEND". Si rende invece
superfluo il richiamo degli FB 65 "TCON" e 66 "TDISCON".

Funzionamento
L'FB 67 "TUSEND" è un FB che funziona in modo asincrono, ovvero l'elaborazione dell'ordine
comprende più richiami dell'FB. L'attivazione dell’operazione di invio avviene richiamando FB 67
mediante REQ = 1.
Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. STATUS
corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche:
Significato di REQ, RET_VAL e BUSY nelle SFC).
La tabella seguente mostra la correlazione tra i parametri BUSY, DONE e ERROR. Questi parametri
consentono di rilevare lo stato attuale dell'FB 67 ovvero quando l’operazione di invio è terminata.

BUSY DONE ERROR Descrizione


TRUE non di non di Elaborazione dell'ordine in corso
rilievo rilievo
FALSE TRUE FALSE Ordine eseguito senza errori.
FALSE FALSE TRUE L'esecuzione dell'ordine è stata interrotta a causa di un errore.La
causa di errore è riportata nel parametro STATUS..
FALSE FALSE FALSE All'FB non è stato assegnato alcun (nuovo) ordine.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


514 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.12 Invio di dati tramite il protocollo UDP con l'FB 67 "TUSEND"

Avvertenza
Per effetto del funzionamento asincrono dell‘FB 67 "TUSEND", la coerenza dei dati presenti
nell’area di invio deve essere mantenuta fino a quando i parametri DONE o ERROR avranno assunto
il valore TRUE.

Parametri

Parametri Dichiara Tipo di Area di memoria Descrizione


zione dati
REQ INPUT BOOL E, A, M, D, L Il parametro di controllo REQUEST avvia l’ordine
di invio con fronte di salita.
I dati vengono trasferiti dell’area indicata nei
parametri DATA e LEN
ID INPUT WORD M, D, Cost. ID del rispettivo collegamento tra il programma
utente e il livello di comunicazione del sistema
operativo. L'ID deve essere identico al parametro
ID al quale si riferisce nella descrizione del
collegamento locale.
Campo di valori: da W#16#0001 a W#16#0FFF
LEN INPUT INT E, A, M, D, L Numero dei byte da inviare con l‘ordine
Campo di valori: da 1 a 1472
DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE:
• 0: l'ordine non è ancora stato avviato o è
ancora corso.
• l'ordine è stato eseguito senza errori
BUSY OUTPUT BOOL E, A, M, D, L • BUSY = 1: l'ordine non è ancora stato
terminato. Impossibile avviare un nuovo
ordine.
• BUSY = 0: l'ordine è terminato.
ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR:
ERROR=1: si è verificato un errore durante
l'elaborazione. STATUS fornisce
informazioni dettagliate sul tipo di errore
STATUS OUTPUT WORD M, D Parametro di stato STATUS: informazione di
errore

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 515
Comunicazione aperta tramite Industrial Ethernet
24.12 Invio di dati tramite il protocollo UDP con l'FB 67 "TUSEND"

Parametri Dichiara Tipo di Area di memoria Descrizione


zione dati
DATA IN_OUT ANY E, A, M, D Area di trasmissione: contiene indirizzo e
lunghezza
L'indirizzo indica:
• l'immagine di processo degli ingressi
• l'immagine di processo delle uscite
• un merker
• un blocco dati
Avvertenze: osservare che nelle CPU S7-300 il
parametro DATA richiede sempre l'indicazione
completa dei parametri DB (ad es.:
P#DB13.DBX0.0 byte 100). Tralasciare un n. di
DB esplicito in una CPU S7-300 non è consentito
e genera un messaggio di errore nel programma
utente.
ADDR IN_OUT ANY D Il puntatore indica l'indirizzo del ricevente (ad es.
P#DB100.DBX0.0 byte 8); vedere Struttura
dell'informazione di indirizzo del partner remoto
con il protocollo UDP
Avvertenza: osservare che nelle CPU S7-300 il
parametro ADDR richiede sempre l'indicazione
completa dei parametri DB (ad es.:
P#DB13.DBX0.0 byte 100). Tralasciare un n. di
DB esplicito in una CPU S7-300 non è consentito
e genera un messaggio di errore nel programma
utente.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


516 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.12 Invio di dati tramite il protocollo UDP con l'FB 67 "TUSEND"

Informazioni di errore

ERROR STATUS Spiegazione


(W#16#...)
0 0000 L’ordine di invio si è concluso senza errori
0 7000 Nessuna elaborazione dell'ordine attiva
0 7001 Avvio dell' elaborazione dell'ordine, invio dati in corso
Avvertenza: durante questa fase dell'elaborazione il sistema operativo accede ai
dati nell'area di invio DATA.
0 7002 Richiamo intermedio ( REQ non di rilievo ), ordine in corso
Avvertenza: in questa fase di elaborazione il sistema operativo accede ai dati
disponibili nell'area di invio DATA.
1 8085 Il parametro LEN ha il valore 0 o supera il valore massimo consentito
1 8086 L'ID del parametro si trova in un campo valori non ammesso
0 8088 Il parametro LEN è maggiore rispetto all'area di memoria indicata in DATA
1 8089 Il parametro ADDR non indica un blocco dati
1 80A1 Errore di comunicazione:
• il collegamento indicato tra il programma utente ed il livello di comunicazione
del sistema operativo non è ancora stato creato.
• il collegamento indicato tra il programma utente ed il livello di comunicazione
del sistema operativo viene momentaneamente interrotto. Un'operazione di
invio tramite questo collegamento non è possibile.
• L'interfaccia viene nuovamente inizializzata
1 80A4 L'indirizzo IP del punto finale del collegamento remoto non è valido. Esso coincide
eventualmente con l'indirizzo IP proprio
1 80B3 • La variante di protocollo parametrizzata (parametro connection_type nella
descrizione del collegamento) non è di tipo UDP. Impiegare il parametro FB 63
"TSEND".
• Parametro ADDR: indicazioni errate del n. della porta
1 80B7 Errore di lunghezza: nel parametro ADDR la lunghezza indicata è < 8 byte.
1 80C3 • Un blocco recante questo ID viene già elaborato in un'altra classe di priorità.
• Scarsità di risorse interne
1 80C4 Errore di comunicazione temporaneo:
• La creazione del collegamento tra il programma utente ed il livello di
comunicazione del sistema operativo non è momentaneamente possibile.
• L'interfaccia viene nuovamente parametrizzata.
1 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 517
Comunicazione aperta tramite Industrial Ethernet
24.13 Ricezione di dati tramite il protocollo UDP con l'FB 68 "TURCV"

24.13 Ricezione di dati tramite il protocollo UDP con l'FB 68 "TURCV"

Descrizione
L'FB 68 "TURCV" riceve i dati tramite il protocoll_o UDP. Al termine della ricezione da parte dell‘FB
68 "TURCV", nel parametro ADDR viene indicato l’indirizzo del partner remoto ovvero del mittente.

! Avviso
Il protocollo UDP secondo RFC 768, effettua il trasferimento dati al partner remoto senza conferma
e quindi con scarsa sicurezza. I dati possono andare perduti senza che la perdita venga segnalata
nel blocco.

Funzionamento
L'FB 68 "TURCV" è un FB che funziona in modo asincrono, ovvero l'elaborazione dell'ordine
comprende più richiami dell'FB. L'attivazione dell’ordine di invio avviene richiamando FB 68
mediante EN_R = 1.
Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. STATUS
corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche:
Significato di REQ, RET_VAL e BUSY nelle SFC asincrone).
La tabella seguente mostra la correlazione tra i parametri BUSY, DONE e ERROR. Questi parametri
consentono di rilevare lo stato attuale dell'FB 68 ovvero quando la ricezione è terminata.

BUSY DONE ERROR Descrizione


TRUE non di non di Elaborazione dell'ordine in corso
rilievo rilievo
FALSE TRUE FALSE Ordine eseguito senza errori.
FALSE FALSE TRUE L'esecuzione dell'ordine è stata interrotta a causa di un errore.La
causa di errore è riportata nel parametro STATUS..
FALSE FALSE FALSE All'FB non è stato assegnato alcun (nuovo) ordine.

Avvertenza
Per effetto del funzionamento asincrono dell‘FB 68 "TURCV" la coerenza dei dati presenti nell’area
di invio deve essere mantenuta fino a quando il parametro NDR avrà assunto il valore TRUE.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


518 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.13 Ricezione di dati tramite il protocollo UDP con l'FB 68 "TURCV"

Parametri

Parametri Dichia- Tipo di Area di memoria Descrizione


razione dati
EN_R INPUT BOOL E, A, M, D, L Parametro di controllo enabled to receive:
Mediante EN_R = 1, l‘FB 68 "TURCV" è pronto
alla ricezione.
Elaborazione dell'ordine di ricezione in corso
ID INPUT WORD M, D, Cost. ID del rispettivo collegamento tra il programma
utente e il livello di comunicazione del sistema
operativo. L'ID deve essere identico al parametro
ID al quale si riferisce nella descrizione del
collegamento locale
Campo di valori: da W#16#0001 a W#16#0FFF
LEN INPUT INT E, A, M, D, L Per quanto concerne la lunghezza dell'area di
ricezione in byte, consultare il capitolo
Funzionamento degli FB per la comunicazione
aperta tramite Industrial Ethernet : 1 ... 1472
NDR OUTPUT BOOL E, A, M, D, L Parametro di stato NDR:
• NDR = 0: l'ordine non è ancora stato avviato
o è ancora corso.
• NDR = 1: l'ordine è stato eseguito senza
errori
ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR:
• ERROR=1: si è verificato un errore durante
l'elaborazione. STATUS fornisce
informazioni dettagliate sul tipo di errore
BUSY OUTPUT BOOL E, A, M, D, L • BUSY = 1: l'ordine non è ancora stato
terminato. Impossibile avviare un nuovo
ordine
• BUSY = 0: l'ordine è terminato.
STATUS OUTPUT WORD M, D Parametro di stato STATUS: informazione di
errore
RCVD_LEN OUTPUT INT E, A, M, D, L Numero dei dati effettivamente ricevuti in byte
DATA IN_OUT ANY E, A, M, D Area di ricezione (per la definizione vedere
Funzionamento degli FB per la comunicazione
aperta tramite Industrial Ethernet )
L'indirizzo indica:
• l'immagine di processo degli ingressi
• l'immagine di processo delle uscite
• un merker
• un blocco dati
Avvertenza: osservare che nelle CPU S7-300 il
parametro DATA richiede sempre l'indicazione
completa dei parametri DB (ad es.:
P#DB13.DBX0.0 byte 100). Tralasciare un n. di
DB esplicito in una CPU S7-300 non è consentito
e genera un messaggio di errore nel programma
utente.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 519
Comunicazione aperta tramite Industrial Ethernet
24.13 Ricezione di dati tramite il protocollo UDP con l'FB 68 "TURCV"

Parametri Dichia- Tipo di Area di memoria Descrizione


razione dati
ADDR IN_OUT ANY D Il puntatore indica l’indirizzo del mittente (ad es.
P#DB100.DBX0.0 byte 8), vedere Struttura
dell'informazione di indirizzo del partner remoto
con il protocollo UDP
Avvertenza: osservare che nelle CPU S7-300 il
parametro ADDR richiede sempre l'indicazione
completa dei parametri DB (ad es.:
P#DB13.DBX0.0 byte 100). Tralasciare un n. di
DB esplicito in una CPU S7-300 non è consentito
e genera un messaggio di errore nel programma
utente.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


520 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.13 Ricezione di dati tramite il protocollo UDP con l'FB 68 "TURCV"

Informazioni di errore

ERROR STATUS Spiegazione


(W#16#...)
0 0000 Acquisizione di nuovi dati. La lunghezza attuale dei dati ricevuti viene visualizzata in
RCVD_LEN.
0 7000 Il blocco è pronto alla ricezione
0 7001 Il blocco è pronto alla ricezione. L'ordine di ricezione è stato attivato
0 7002 Richiamo intermedio, ordine di ricezione in corso
Avvertenza: in questa fase di elaborazione l'FB 68 scrive i dati nell'area di ricezione
che, in caso di errori, può pertanto contenere dati incoerenti.
1 8085 Il parametro LEN supera il valore massimo consentito oppure il valore di uno dei
parametri LEN oppure DATA è stato modificato rispetto al primo richiamo
1 8086 L'ID del parametro si trova in un campo valori non ammesso
1 8088 • l'area di destinazione (DATA) è troppo ridotta
• Il valore del parametro LEN è maggiore rispetto a quello prefissato in DATA per
l’area di ricezione
1 8089 Il parametro ADDR non inidica un blocco dati
1 80A1 Errore di comunicazione:
• il collegamento indicato tra il programma utente ed il livello di comunicazione
del sistema operativo non è ancora stato creato.
• il collegamento indicato tra il programma utente ed il livello di comunicazione
del sistema operativo viene momentaneamente interrotto. Un'operazione di
ricezione tramite questo collegamento non è possibile.
• L'interfaccia viene nuovamente parametrizzata
1 80B3 La variante di protocollo parametrizzata (parametro connection_type nella
descrizione del collegamento) non è di tipo UDP. Impiegare il parametro FB 64
"TRCV".
1 80B7 Errore di lunghezza: nel parametro ADDR la lunghezza indicata è < 8 byte.
1 80C3 • Un blocco recante questo ID viene già elaborato in un'altra classe di priorità.
• Scarsità di risorse interne
1 80C4 Errore di comunicazione temporaneo: nuova parametrizzazione dell'interfaccia in
corso.
1 8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 521
Comunicazione aperta tramite Industrial Ethernet
24.14 Accoppiamento mediante TCP a un sistema di terzi utilizzando i servizi FETCH e WRITE forniti dall'FB 210
"FW_TCP"

24.14 Accoppiamento mediante TCP a un sistema di terzi utilizzando i


servizi FETCH e WRITE forniti dall'FB 210 "FW_TCP"

Descrizione
L'FB 210 "FW_TCP" fornisce, come server, i servizi FETCH e WRITE. In questo contesto viene
richiesto, rispettivamente per i servizi FETCH e WRITE, un collegamento proprio. L'FB 210 deve
essere pertanto richiamato separatamente per ciascun servizio e, nel parametro CONNECT, deve
essere inserita la descrizione del rispettivo collegamento TCP passivo.

Parametri

Parametri Dichia- Tipo di Area di Descrizione


razione dati memoria
ENABLE INPUT BOOL E, A, M, D, L Questo parametro consente di inizializzare
l'attivazione e la disattivazione del collegamento:
• 0 = il collegamento viene disattivato
• 1 = il collegamento viene attivato
CONNECT INPUT ANY D Puntatore sulla descrizione del relativo collegamento
TCP passivo (UDT 65)
ADDRMODE INPUT INT E, A, M, D, L Questo parametro stabilisce il tipo di interpretazione
della struttura della richiesta di dati:
• 0 = modo di indirizzamento S7 (orientato ai byte)
• 1 = modo di indirizzamento S5 (orientato alla
parola)
NDR OUTPUT BOOL E, A, M, D, L Questo parametro indica l'avvenuta acquisizione dei
dati del job WRITE nonché la generazione e l'invio del
telegramma di conferma.
ERROR OUTPUT BOOL E, A, M, D, L Questo parametro viene impostato al verificarsi di un
errore durante la creazione o la separazione del
collegamento oppure durante l'invio o la ricezione di
dati
MODE OUTPUT BYTE E, A, M, D, L Questo parametro indica l'esecuzione in corso di un
job FETCH o WRITE:
• 0 = nessun job attivo
• 1 = job WRITE
• 2 = job FETCH
STATUS OUTPUT WORD M, D Nel parametro STATUS vengono emessi i bit di stato
della comunicazione interni

Ulteriori informazioni
La descrizione dettagliata dell'FB 210 "FW_TCP" è disponibile sul DVD di STEP 7 nella directory
DVD_Root\Optional Components\Communication Blocks nel file "FetchWrite_PNCPU_x.pdf" (x=e
per la lingua italiana, x=b per la lingua inglese).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


522 Manuale di riferimento, 04/2017, A5E41911986-AA
Comunicazione aperta tramite Industrial Ethernet
24.15 Accoppiamento mediante ISO on TCP a un sistema di terzi utilizzando i servizi FETCH e WRITE forniti dall'FB 220 "

24.15 Accoppiamento mediante ISO on TCP a un sistema di terzi


utilizzando i servizi FETCH e WRITE forniti dall'FB 220 "FW_IOT"

Descrizione
L'FB 220 "FW_IOT" fornisce, come server, i servizi FETCH e WRITE. In questo contesto viene
richiesto, rispettivamente per i servizi FETCH e WRITE, un collegamento proprio. L'FB 220 deve
essere pertanto richiamato separatamente per ciascun servizio e, nel parametro CONNECT, deve
essere inserita la descrizione del rispettivo collegamento ISO-on-TCP passivo.

Parametri

Parametri Dichia- Tipo di Area di Descrizione


razione dati memoria
ENABLE INPUT BOOL E, A, M, D, L Su questo parametro è stato preimpostato il
valore "TRUE". Il collegamento ISO-on-TCP
viene così creato automaticamente.
CONNECT INPUT ANY D Puntatore sulla descrizione del relativo
collegamento ISO-on-TCP passivo (UDT 65)
ADDRMODE INPUT INT E, A, M, D, L Questo parametro stabilisce il tipo di
interpretazione della struttura della richiesta di
dati:
• 0 = modo di indirizzamento S7 (orientato ai
byte)
• 1 = modo di indirizzamento S5 (orientato alla
parola)
NDR OUTPUT BOOL E, A, M, D, L Questo parametro indica l'avvenuta acquisizione
dei dati del job WRITE nonché la generazione e
l'invio del telegramma di conferma.
ERROR OUTPUT BOOL E, A, M, D, L Questo parametro viene impostato al verificarsi di
un errore durante la creazione o la separazione
del collegamento oppure durante l'invio o la
ricezione di dati
MODE OUTPUT BYTE E, A, M, D, L Questo parametro indica l'esecuzione in corso di
un job FETCH o WRITE.
• 0 = job WRITE
• 1 = job FETCH
STATUS OUTPUT WORD M, D Nel parametro STATUS vengono emessi i bit di
stato della comunicazione interni

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 523
Comunicazione aperta tramite Industrial Ethernet
24.15 Accoppiamento mediante ISO on TCP a un sistema di terzi utilizzando i servizi FETCH e WRITE forniti
dall'FB 220 "FW_IOT"

Ulteriori informazioni
La descrizione dettagliata dell'FB 220 "FW_IOT" è disponibile sul DVD di STEP 7 nella directory
DVD_Root\Optional Components\Communication Blocks nel file "FetchWrite_PNCPU_x.pdf" (x=e
per la lingua italiana, x=b per la lingua inglese).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


524 Manuale di riferimento, 04/2017, A5E41911986-AA
25 Creazione di segnalazioni riferite ai blocchi

25.1 Introduzione alla creazione di segnalazioni riferite ai blocchi con


gli SFB

SFB per la creazione di segnalazioni riferite ai blocchi


Una segnalazione riferita ai blocchi si crea richiamando sul programma uno dei seguenti SFB:
• SFB 36 "NOTIFY_8P"
• SFB 33 "ALARM_8"
• SFB 35 "ALARM_8P"
Questi SFB hanno le seguenti caratteristiche:
• Con gli SFB 36 "NOTIFY" e 31 "NOTIFY_8P" ogni cambio di segnale 0 -> 1 o 1 -> 0 riconosciuto
al richiamo del blocco determina la trasmissione di una segnalazione.
• Anche con gli SFB 33 "ALARM, 34 "ALARM 8" e 35 "ALARMP 8P" ogni cambio di segnale
rilevato al richiamo del blocco determina la trasmissione di una segnalazione in caso di
impostazione di default della procedura di segnalazione (segnalazione con conferma inattiva).
• Se al contrario la segnalazione con conferma è attiva, ogni rilevamento di transizione di segnale
non determina la trasmissione di una segnalazione (per maggiori informazioni vedere di
seguito).
• Una volta elaborato il blocco, le variabili (ingressi SD_i) sono completamente rilevate e
assegnate alla segnalazione (vedere "Parametri di trasmissione e ricezione" in Parametri
comuni delle SFB/FB e delle SFC/FC della comunicazione S7).
Per ciò che riguarda la coerenza rispetto alle classi di priorità superiore, per le variabili si applicano i
criteri seguenti: ogni variabile SD_i è di per sé coerente.
• Con i parametri di stato DONE, ERROR e STATUS viene controllato lo stato di elaborazione del
blocco (vedere "Parametri di stato" in Parametri comuni delle SFB/FB e delle SFC/FC della
comunicazione S7).

Avvertenza
I parametri ID e EV_ID vengono rilevati solo al primo richiamo del blocco (i parametri attuali o i valori
predefiniti dall'istanza).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 525
Creazione di segnalazioni riferite ai blocchi
25.1 Introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB

Collegamenti di controllori visualizzati


La premessa per la trasmissione di una segnalazione da parte degli SFB per la creazione di
segnalazioni riferite ai blocchi quando questi riconoscono una transizione di segnale, è che si sia
collegato almeno un controllore visualizzato (ad es. WinCC) per segnalazioni riferite ai blocchi. In
mancanza di segnalazioni il parametro STATUS fornisce il valore 1.

Rilevamento di transizioni di segnale


Per ogni istanza di un blocco di segnalazione è disponibile una memoria segnalazioni con due spazi.
Inizialmente questa memoria segnalazioni è vuota. Non appena l'SFB individua una transizione di
segnale nell'ingresso SIG o in uno degli ingressi SIG 1,… SIG 8, questa viene registrata nel primo
spazio, che rimane occupato fino a quando la rispettiva segnalazione viene trasmessa.
La successiva transizione di segnale rilevata nell'ingresso SIG o in uno degli ingressi SIG_1 … SIG
8, viene registrata nel secondo spazio. Se il primo spazio è ancora occupato, e seguono altre
transizioni di segnale, viene sovrascritto sempre il secondo spazio nella memoria segnalazioni.
Questa perdita di segnalazioni viene visualizzata tramite i parametri d'uscita ERROR e STATUS
(ERROR=0, STATUS=11). Inoltre i controllori visualizzati ne ricevono comunicazione con la
successiva segnalazione che può essere trasmessa.
Nel caso in cui si liberi il primo spazio, il contenuto del secondo spazio viene trasferito nel primo,
liberando così il secondo spazio.

Segnalazione con conferma


Per ridurre la quantità di segnalazioni nell'impianto è possibile utilizzare la procedura di segnalazione
con conferma con gli SFB 33 "ALARM", 34 "ALARM_8" e 35 "ALARM 8P".
Questa procedura prevede che dopo la creazione di una segnalazione entrante (transizione di
segnale da 0 a 1) non vengano più create segnalazioni per lo stesso segnale fino a quando l'utente
fornisce conferma su un sistema di visualizzazione. La segnalazione successiva, mostrata sul
sistema di visualizzazione dopo la conferma, è un messaggio uscente (transizione del segnale da 1
a 0). Quindi il ciclo di segnalazioni ricomincia con una segnalazione entrante (transizione del segnale
da 0 a 1), che deve essere confermata. In questo modo l'utente può controllare attraverso il sistema
di visualizzazione la segnalazione di transizioni del segnale (fino alla segnalazione uscente).
La procedura di segnalazione (segnalazione con conferma attiva o inattiva) per gli SFB da 33 a 35 si
definisce nella progettazione con STEP 7 per tutta la CPU. Di default la segnalazione con conferma
è disattivata.
Affinché l'analisi delle segnalazioni sia uniforme all'interno dell'impianto, occorre assicurarsi che in
caso di impiego della segnalazione con conferma tutti i controllori siano in grado di eseguire questa
procedura.

Avvertenza in caso di impiego di controllori non in grado di eseguire la segnalazione con


conferma
Qualora nella propria CPU sia stata attivata la segnalazione con conferma, la CPU trasmette le
segnalazioni solamente ai controllori che supportano questa procedura di segnalazione. Qualora
nessuno dei controllori sia in grado di eseguire tale procedura, la CPU non trasmette alcuna
segnalazione. Questo viene segnalato una volta con ERROR=1 e STATUS=1.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


526 Manuale di riferimento, 04/2017, A5E41911986-AA
Creazione di segnalazioni riferite ai blocchi
25.1 Introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB

Conferma delle segnalazioni con gli SFB 33 "ALARM", 34 "ALARM_8" e 35 "ALARM_8P"


Viene utilizzato il concetto di conferma centrale. Cioè, se una segnalazione è stata confermata in un
controllore visualizzato, questa informazione di conferma viene trasmessa in un primo momento alla
CPU che ha generato la segnalazione. Da qui l'informazione di conferma viene trasmessa a tutti i
nodi allacciati.
Si conferma sempre un segnale e non una singola segnalazione. Nel caso per esempio, che siano
stati segnalati più fronti di salita di un segnale e l'evento entrante venga confermato, tutti gli eventi
precedentemente arrivati con lo stesso numero di segnalazione si ritengono confermati.

Visualizzazione della conferma


L'SFB 36 "NOTIFY" e l'SFB 31 "NOTIFY_8P" non dispongono di visualizzazione della conferma.
Con l'SFB 33 "ALARM" è possibile rilevare lo stato di conferma nei parametri d'uscita ACK_UP e
ACK_DN e con gli SFB 35 "ALARM_8P" e 34 "ALARM_8" nel parametro di uscita ACK_STATE.
Queste uscite vengono aggiornate al momento del richiamo del blocco se il parametro di comando
EN_R ha valore 1.

Inibizione e abilitazione delle segnalazioni mediante SFC o controllore (WinCC)


Può essere utile sopprimere delle segnalazioni, per esempio in caso di modifiche all'impianto. Si ha
perciò la possibilità di inibire e poi riabilitare le segnalazioni partendo da un controllore visualizzato o
dal programma. L'inibizione/abilitazione vale per tutti i nodi che si sono allacciati per la relativa
segnalazione. L'inibizione rimane in essere fino a che non viene riabilitata la segnalazione relativa.
Tramite i parametri d'uscita ERROR e STATUS (ERROR = 1, STATUS = 21) viene comunicato se
delle segnalazioni sono state inibite.

Fabbisogno di memoria degli SFB per la creazione di segnalazioni riferite ai blocchi


Per poter svolgere senza problemi la loro funzione, gli SFB per la creazione di segnalazioni riferite ai
blocchi necessitano di un buffer di dati di comunicazione dipendente dalla variabile nell'area di lavoro
della CPU (area di codice). Le dimensioni della memoria occupata sono riportate nella tabella
seguente.

Tipo di Fabbisogno di memoria di lavoro della CPU in byte


blocco
NOTIFY 200 + 2 * lunghezza delle variabili indicate al primo richiamo per SD_1,...SD_10
NOTIFY_8P 200 + 2 * lunghezza delle variabili indicate al primo richiamo per SD_1,...SD_10
ALARM 200 + 2 * lunghezza delle variabili indicate al primo richiamo per SD_1,...SD_10
ALARM_8 100
ALARM_8P 200 + 2 * lunghezza delle variabili indicate al primo richiamo per SD_1,...SD_10
AR_SEND 54

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 527
Creazione di segnalazioni riferite ai blocchi
25.1 Introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB

Numero dei dati da trasmettere


Il numero dei dati che si possono trasmettere tramite le variabili SD_i degli SFB NOTIFY,
NOTIFY_8P, ALARM e ALARM_8P non deve superare una lunghezza massima.
Questa lunghezza dati massima viene calcolata nel modo seguente:
maxleng = min (pdu_lokal, pdu_remote) - diff - 4 * numero parametri SD_i utilizzati

Per questa formula vale quanto segue:


• min (pdu_lokal, pdu_remote): valore minimo dei numeri pdu_lokal e pdu_remote
• pdu_lokal: lunghezza massima dei blocchi dati della propria CPU (vedere relativi dati tecnici)
• pdu_remote: lunghezza massima dei blocchi dati dei display
• diff = 48 se è attiva la segnalazione con conferma e 44 se non è attiva
Esempio:
Una CPU 414-2 trasmette messaggi tramite un Industrial Ethernet a WinCC. La segnalazione con
conferma è inattiva.
Vengono utilizzate le variabili SD_1, SD_2 e SD_3.
• pdu_lokal = 480 byte, pdu_remote = 480 byte.
Numero dei parametri SD_i utilizzati:
• 3
Utilizzando la formula:
• maxleng = min (480, 480) - 44 - 4 * 3 = 480 - 44 - 12 = 424
La lunghezza dati massima che si può trasmettere ammonta dunque per ogni SFB a 424 byte.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


528 Manuale di riferimento, 04/2017, A5E41911986-AA
Creazione di segnalazioni riferite ai blocchi
25.2 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 36 "NOTIFY"

25.2 Creazione di segnalazioni riferite ai blocchi senza visualizzazione


della conferma con l'SFB 36 "NOTIFY"

Descrizione
L'SFB 36 "NOTIFY" controlla un segnale. Sia in presenza di un fronte di salita (evento entrante), sia
in presenza di un fronte di discesa (evento uscente), l'SFB 36 genera una segnalazione, alla quale
possono essere attribuiti fino a dieci variabili. La segnalazione viene trasmessa a tutti i nodi allacciati
a questo scopo. Al primo richiamo viene trasmessa una segnalazione con lo stato di segnale attuale.
Le variabili vengono registrate al momento del rilevamento del fronte e assegnate alla segnalazione.
Per ogni istanza dell'SFB 36 "NOTIFY" è disponibile una memoria segnalazioni con due spazi.
Maggiori informazioni sulla memoria intermedia di transizioni di segnale vedi il paragrafo
"Rilevamento di transizioni di segnale" nell'introduzione alla creazione di segnalazioni riferite ai
blocchi con gli SFB.
L'SFB 36 "NOTIFY" è conforme alla norma IEC 1131-5.

Parametri Dichiaraz- Tipo di dati Area di Descrizione


ione memoria
SIG INPUT BOOL E, A, M, D, L Segnale da controllare
ID INPUT WORD Cost. (E, A, M, D, Canale dati per segnalazioni: W#16#EEEE
L,) ID rilevata solo al primo richiamo.
EV_ID INPUT DWORD Cost. (E, A, M, D, Numero del messaggio (non consentito: 0)
L) EV_ID viene analizzato solamente con il primo
richiamo. In seguito, per ogni richiamo
dell'SFB 36 con il relativo DB di istanza, vale il
numero di messaggio usato al primo richiamo.
Il numero di messaggio viene assegnato
automaticamente da STEP7. Viene così
garantita la coerenza dei numeri dei messaggi.
Il numero di messaggio deve essere univoco
all'interno del programma utente.
SEVERITY INPUT WORD Cost. (E, A, M, D, Peso dell'evento
L) Valori possibili: da 0 a 127 (valore 0 significa
massima priorità)
Questo parametro non è rilevante per
l'elaborazione della segnalazione.
DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: creazione della
segnalazione terminata.
ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR
ERROR= TRUE significa che nell'elaborazione
si è verificato un errore.
Per maggiori informazioni vedere il parametro
STATUS.
STATUS OUTPUT WORD E, A, M, D, L Parametro di stato STATUS: visualizzazione di
una informazione di errore

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 529
Creazione di segnalazioni riferite ai blocchi
25.2 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 36 "NOTIFY"

Parametri Dichiaraz- Tipo di dati Area di Descrizione


ione memoria
SD_i, IN_OUT ANY E, A, M, D, T, Z i-esima variabile
1i 10 Sono ammessi solo i tipi di dati BOOL (non
consentito: campo di bit), BYTE, CHAR,
WORD, INT, DWORD, DINT, REAL, DATE,
TOD, TIME, S5TIME, DATE_AND_TIME.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB
deve sempre essere specificato (ad es.: P#
DB10.DBX5.0 Byte 10)

Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 36 che possono
essere emesse tramite i parametri ERROR e STATUS.

- ERROR STATUS Spiegazione


(decimale)
0 11 Perdita della segnalazione. Impossibile inviare la commutazione di
segnale o il messaggio precedenti. Quest'ultimo viene sostituito dal
messaggio aggiornato.
0 22 • Errore nel puntatore sulle variabili SD_i:
- in riferimento a lunghezza o a tipo di dati
- variabili non raggiungibili nella memoria utente, p. es. a
causa di un DB cancellato o un errore di lunghezza di
campo
La segnalazione attivata viene trasmessa senza variabili oppure con
il numero ancora possibile di variabili.
• Il parametro attuale di SEVERITY selezionato si trova al di fuori
dell'area ammessa. La segnalazione attivata viene trasmessa
con SEVERITY =127).
0 25 La comunicazione è stata avviata. La segnalazione è in fase di
esecuzione.
1 1 Problemi di comunicazione: interruzione del collegamento oppure
non è presente alcun collegamento
1 3 Per la EV_ID specificata non è presente alcun collegamento
1 4 Al primo richiamo
• la EV_ID specificata si trova al di fuori dell'area ammessa
• è presente un errore formale del puntatore ANY SD_i
• è stata superata l'area di memoria max. trasferibile della CPU
per ogni SFB 36
1 10 Accesso a memoria utente locale impossibile (p. es. accesso a DB
cancellati)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


530 Manuale di riferimento, 04/2017, A5E41911986-AA
Creazione di segnalazioni riferite ai blocchi
25.2 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 36 "NOTIFY"

- ERROR STATUS Spiegazione


(decimale)
1 12 Al richiamo dell'SFB è stato indicato:
• un DB di istanza che non appartiene all'SFB 36
• un DB globale invece di un DB di istanza.
1 18 EV_ID è già stata trasferita da uno degli SFB 31 o da 33 a 36
1 20 La memoria di lavoro non è sufficiente
Sistema H: richiamo dell'SFB durante l'aggiornamento
1 21 La segnalazione con la EV_ID specificata è inibita.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 531
Creazione di segnalazioni riferite ai blocchi
25.3 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 31 "NOTIFY_8P"

25.3 Creazione di segnalazioni riferite ai blocchi senza visualizzazione


della conferma con l'SFB 31 "NOTIFY_8P"

Descrizione
L'SFB 31 "NOTIFY_8P" è la versione ampliata a otto segnali dell'SFB 36 "NOTIFY".
Viene creata una segnalazione se è stata rilevata una transizione di segnale in almeno un segnale.
Al primo richiamo dell'SFB 31 viene sempre creata una segnalazione. Per tutti gli otto segnali è
previsto un numero di segnalazione comune, che viene suddiviso in otto segnalazioni parziali nel
controllore.
Per ogni istanza dell'SFB 31 "NOTIFY_8P" è disponibile una memoria segnalazioni con due spazi.
Maggiori informazioni sulla memorizzazione intermedia di transizioni di segnale sono riportate nel
paragrafo "Rilevamento di transizioni di segnale" Introduzione alla creazione di segnalazioni riferite
ai blocchi con gli SFB.

Avvertenza
Nonostante la perdita di segnalazioni, al display vengono comunicati gli ultimi due cambiamenti di
ogni segnale.

! Pericolo
Prima di richiamare l'SFB 31 "NOTIFY_8P" in un sistema di automazione occorre essere certi che
tutti i display collegati riconoscano questo blocco. Ciò è possibile se la versione del sistema di
automazione utilizzato soddisfa almeno uno dei seguenti requisiti: STEP 7 dalla versione V5.1
Service Pack 3, WinCC dalla V5.1 Hot Fix 1, PCS 7 dalla V5.2 Service Pack 2, SIMATIC Device
Driver dalla versione V5.6.
In caso di mancata osservanza di tale indicazione, la comunicazione tra il sistema di automazione e
i display collegati verrà interrotta. Di conseguenza non sarà possibile accedere all'impianto con i
sistemi di visualizzazione collegati.

Parametri Dichiarazione Tipo di Area di memoria Descrizione


dati
SIG_i, INPUT BOOL E, A, M, D, L. i-esimo segnale da controllare
1≤i≤8
ID INPUT WORD Cost. (E, A, M, D, L) Canale dati per segnalazioni:
W#16#EEEE ID rilevata solo al primo
richiamo.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


532 Manuale di riferimento, 04/2017, A5E41911986-AA
Creazione di segnalazioni riferite ai blocchi
25.3 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 31 "NOTIFY_8P"

Parametri Dichiarazione Tipo di Area di memoria Descrizione


dati
EV_ID INPUT DWORD Cost. (E, A, M, D, L) Numero del messaggio (non consentito:
0)
EV_ID viene analizzato solamente con il
primo richiamo. In seguito, per ogni
richiamo dell'SFB 31 con il relativo DB di
istanza, vale il numero di messaggio
usato al primo richiamo.
Il numero di messaggio viene assegnato
automaticamente da STEP 7. Viene così
garantita la coerenza dei numeri dei
messaggi. Il numero del messaggio deve
essere univoco all'interno del programma
utente.
SEVERITY INPUT WORD Cost. (E, A, M, D, L) Peso dell'evento
Valori possibili: da 0 a 127 (valore 0
significa massima priorità); valore di
default: 64
Questo parametro non è rilevante per
l'elaborazione della segnalazione.
DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: creazione della
segnalazione terminata.
ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR
ERROR= TRUE significa che
nell'elaborazione si è verificato un errore.
Per maggiori informazioni vedere il
parametro STATUS.
STATUS OUTPUT WORD E, A, M, D, L Parametro di stato STATUS:
visualizzazione di una informazione di
errore
SD_i, IN_OUT ANY E, A, M, D, T, Z i-esima variabile
1 ≤ i ≤ 10 Sono ammessi solo i tipi di dati BOOL
(non consentito: campo di bit), BYTE,
CHAR, WORD, INT, DWORD, DINT,
REAL, DATE, TOD, TIME, S5TIME,
DATE_AND_TIME.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB
deve sempre essere specificato
(p. es.: P# DB10.DBX5.0 byte 10)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 533
Creazione di segnalazioni riferite ai blocchi
25.3 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 31 "NOTIFY_8P"

Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 31 che possono
essere trasmette tramite i parametri ERROR e STATUS.

ERROR STATUS Spiegazione


(decimale)
0 11 Perdita della segnalazione. Impossibile inviare la commutazione di segnale
o il messaggio precedenti. Quest'ultimo viene sostituito dal messaggio
aggiornato.
0 22 • Errore nel puntatore sulle variabili SD_i
- in riferimento a lunghezza o a tipo di dati
- variabili non raggiungibili nella memoria utente, p. es. a causa di un
DB cancellato o un errore di lunghezza di campo
La segnalazione attivata viene trasmessa senza variabili oppure con il
numero ancora possibile di variabili.
• Il parametro attuale di SEVERITY selezionato si trova al di fuori
dell'area ammessa. La segnalazione viene trasmessa con SEVERITY
=127).
0 25 La comunicazione è stata avviata. La segnalazione è in fase di esecuzione.
1 1 Problemi di comunicazione: interruzione del collegamento oppure non è
presente alcun collegamento
1 4 Al primo richiamo
• la EV_ID specificata si trova al di fuori dell'area ammessa
• è presente un errore formale del puntatore ANY SD_i
• è stata superata l'area di memoria max. trasferibile della CPU per ogni
SFB 31
1 10 Accesso a memoria utente locale impossibile (p. es. accesso a DB
cancellati)
1 18 EV_ID è già stata trasferita da uno degli SFB 31 o da 33 a 36
1 20 La memoria di lavoro non è sufficiente
Sistema H: richiamo dell'SFB durante l'aggiornamento
1 21 La segnalazione con la EV_ID specificata è inibita.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


534 Manuale di riferimento, 04/2017, A5E41911986-AA
Creazione di segnalazioni riferite ai blocchi
25.4 Creazione di segnalazioni riferite ai blocchi con visualizzazione della conferma con l'SFB 33 "ALARM"

25.4 Creazione di segnalazioni riferite ai blocchi con visualizzazione


della conferma con l'SFB 33 "ALARM"

Descrizione
L'SFB 33 "ALARM" controlla un segnale.
• Funzionamento standard (vale a dire che la segnalazione con conferma è disattivata): sia in
presenza di un fronte di salita (evento entrante), sia in presenza di un fronte di discesa (evento
uscente), il blocco genera una segnalazione, alla quale possono essere attribuite fino a dieci
variabili.
• Segnalazione con conferma attivata: dopo la creazione di una segnalazione entrante per il
segnale, il blocco non genera altre segnalazioni fino a quando il messaggio entrante non viene
confermato in un controllore (vedere anche Introduzione alla creazione di segnalazioni riferite ai
blocchi con gli SFB
La segnalazione viene trasmessa a tutti i nodi allacciati a questo scopo.
Al primo richiamo viene trasmessa una segnalazione con lo stato di segnale attuale.
L'uscita ACK_UP viene azzerata se è presente un fronte di salita. L'uscita viene impostata se la
conferma dell'evento in entrata proviene da un controllore visualizzato collegato.
Lo stesso vale per l'uscita ACK_DN, che viene azzerata in presenza di un fronte di discesa. L'uscita
viene impostata se la conferma dell'evento in uscita proviene da un controllore visualizzato
allacciato. Dopo l'arrivo della conferma da un controllore visualizzato collegato, l'informazione di
conferma viene comunicata a tutti i nodi collegati.
Per ogni istanza dell'SFB 33 "ALARM" è disponibile una memoria con due spazi. Per maggiori
informazioni sulla memorizzazione intermedia di transizioni di segnale vedi il paragrafo "Rilevamento
di transizioni di segnale" nell'introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB.
L'SFB 33 "ALARM" è conforme alla norma IEC 1131-5.

Parametri Dichiaraz- Tipo di Area di memoria Descrizione


ione dati
EN_R INPUT BOOL E, A, M, D, L, cost. Il parametro di comando enable to receive fa in
modo che le uscite ACK_UP e ACK_DN vengano
aggiornate (EN_R=1) o non vengano aggiornate
(EN_R=0) al richiamo del blocco. Con EN_R=0 i
parametri di uscita ACK_UP e ACK_DN
rimangono invariati.
SIG INPUT BOOL E, A, M, D, L Segnale da controllare
ID INPUT WORD Cost. (E, A, M, D, Canale dati per segnalazioni: W#16#EEEE
L,) ID analizzata solo al primo richiamo.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 535
Creazione di segnalazioni riferite ai blocchi
25.4 Creazione di segnalazioni riferite ai blocchi con visualizzazione della conferma con l'SFB 33 "ALARM"

Parametri Dichiaraz- Tipo di Area di memoria Descrizione


ione dati
EV_ID INPUT DWORD Cost. (E, A, M, D, L) Numero del messaggio (non consentito: 0)
EV_ID viene analizzato solamente con il primo
richiamo. In seguito, per ogni richiamo
dell'SFB 33 con il relativo DB di istanza, vale il
numero di messaggio usato al primo richiamo.
Il numero di messaggio viene assegnato
automaticamente da STEP 7. Viene così
garantita la coerenza dei numeri dei messaggi. Il
numero del messaggio deve essere univoco
all'interno del programma utente.
SEVERITY INPUT WORD Cost. (E, A, M, D, L) Peso dell'evento
Valori possibili: da 0 a 127 (valore zero significa
massima priorità).
Questo parametro non è rilevante per
l'elaborazione della segnalazione.
DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE:
Creazione segnalazioni terminata.
ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR
ERROR= TRUE significa che nell'elaborazione si
è verificato un errore. Per maggiori informazioni
vedere il parametro STATUS.
STATUS OUTPUT INT E, A, M, D, L Parametro di stato STATUS: visualizzazione di
un'informazione di errore
ACK_DN OUTPUT BOOL E, A, M, D, L L'evento in uscita è stato confermato su un
controllore visualizzato.
Stato di inizializzazione: 1
ACK_UP OUTPUT BOOL E, A, M, D, L L'evento in arrivo è stato confermato su un
controllore visualizzato.
Stato di inizializzazione: 1
SD_i, IN_OUT ANY E, A, M, D, T, Z i-esima variabile
1≤i ≤10 Sono ammessi solo i tipi di dati BOOL (non
consentito: campo di bit), BYTE, CHAR, WORD,
INT, DWORD, DINT, REAL, DATE, TOD, TIME,
S5TIME, DATE_AND_TIME.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB deve
sempre essere specificato (ad es.: P#
DB10.DBX5.0 byte 10)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


536 Manuale di riferimento, 04/2017, A5E41911986-AA
Creazione di segnalazioni riferite ai blocchi
25.4 Creazione di segnalazioni riferite ai blocchi con visualizzazione della conferma con l'SFB 33 "ALARM"

Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 33 che possono
essere emesse tramite i parametri ERROR e STATUS.

ERROR STATUS Spiegazione


(decimale)
0 11 Perdita della segnalazione. Impossibile inviare la commutazione di
segnale o il messaggio precedenti. Quest'ultimo viene sostituito dal
messaggio aggiornato.
0 22 • Errore nel puntatore sulle variabili SD_i
- in riferimento a lunghezza o a tipo di dati
- variabili non raggiungibili nella memoria utente, p. es. a
causa di un DB cancellato o un errore di lunghezza di
campo
- La segnalazione attivata viene trasmessa senza variabili
oppure con il numero ancora possibile di variabili.
• Il parametro attuale di SEVERITY selezionato si trova al di fuori
dell'area ammessa. La segnalazione viene trasmessa con
SEVERITY =127).
0 25 La comunicazione è stata avviata. La segnalazione è in fase di
esecuzione.
1 1 Problemi di comunicazione: interruzione del collegamento oppure
non è presente alcun collegamento.
In caso di segnalazione con conferma: visualizzazione temporale se
nessun display supporta la segnalazione con conferma
1 4 Per la EV_ID specificata non è presente alcun collegamento
1 4 Al primo richiamo
• la EV_ID specificata si trova al di fuori dell'area ammessa
• è presente un errore formale del puntatore ANY SD_i
• è stata superata l'area di memoria max. trasferibile della CPU
per ogni SFB 33
1 10 Accesso a memoria utente locale impossibile (p. es. accesso a DB
cancellati)
1 12 Al richiamo degli SFB è stato indicato:
• un DB di istanza che non appartiene all'SFB 33
• un DB globale invece di un DB di istanza
1 18 L'EV_ID è già stata utilizzata da uno degli SFB 31 0 da 33 a 36
1 20 Insufficiente memoria di lavoro.
1 21 La segnalazione con la EV_ID specificata è inibita.

Avvertenza
Dopo il primo richiamo del blocco le uscite ACK_UP e ACK_DN hanno valore 1 e il valore storico
dell'ingresso SIG viene assunto a 0.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 537
Creazione di segnalazioni riferite ai blocchi
25.5 Creazione di segnalazioni riferite ai blocchi con variabili per otto segnali con l'SFB 35 "ALARM_8P"

25.5 Creazione di segnalazioni riferite ai blocchi con variabili per otto


segnali con l'SFB 35 "ALARM_8P"

Descrizione
L'SFB 35 "ALARM_8P" è il lineare ampliamento a otto segnali dell'SFB 33 "ALARM".
Qualora la procedura di segnalazione con conferma non sia stata attivata, viene sempre generata
una segnalazione se almeno per un segnale è stato riconosciuta una transizione di segnale
(eccezione: al primo richiamo viene sempre trasmessa una segnalazione). Per tutti otto i segnali c'è
un numero di segnalazione comune, che viene suddiviso sul controllore visualizzato in otto
segnalazioni parziali. È possibile confermare ogni singola segnalazione parziale oppure più
segnalazioni parziali in una sola volta.
Tramite il parametro di uscita ACK_STATE è possibile continuare ad elaborare nel programma lo
stato di conferma delle singole segnalazioni. In caso di inibizione o di abilitazione di una
segnalazione di un blocco ALARM_8P, viene inibito o abilitato sempre tutto il blocco ALARM _8P.
Non è possibile inibire o abilitare singoli segnali.
Per ogni istanza dell'SFB 35 "ALARM_8P" è disponibile una memoria con due spazi. Per maggiori
informazioni sulla memorizzazione intermedia di transizioni di segnale vedi il paragrafo "Rilevamento
di transizioni di segnale" nell'introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB.

Parametri • Dichiaraz Tipo di Area di memoria Descrizione


ione dati
EN_R INPUT BOOL E, A, M, D, L, cost. Il parametro di comando enable to receive fa in
modo che l'uscita ACK_STATE venga
aggiornata al richiamo del blocco (EN_R=1)
oppure non venga aggiornata (EN_R=0).
SIG_i, 1≤i≤8 INPUT BOOL E, A, M, D, L i-esimo segnale da controllare
ID INPUT WORD Cost. (E, A, M, D, L) Canale dati per segnalazioni: W#16#EEEE
ID rilevata solo al primo richiamo.
EV_ID INPUT DWORD Cost. (E, A, M, D, L) Numero del messaggio (non consentito: 0)
EV_ID viene analizzato solamente con il primo
richiamo. In seguito, per ogni richiamo
dell'SFB 35 con il relativo DB di istanza, vale il
numero di messaggio usato al primo richiamo.
Il numero di messaggio viene assegnato
automaticamente da STEP 7. Viene così
garantita la coerenza dei numeri dei messaggi.
Il numero del messaggio deve essere univoco
all'interno del programma utente.
SEVERITY INPUT WORD Cost. (E, A, M, D, L) Peso dell'evento
Valori possibili: da 0 a 127 (valore zero significa
massima priorità).
Questo parametro non è rilevante per
l'elaborazione della segnalazione.
DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE:
Creazione segnalazioni terminata.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


538 Manuale di riferimento, 04/2017, A5E41911986-AA
Creazione di segnalazioni riferite ai blocchi
25.5 Creazione di segnalazioni riferite ai blocchi con variabili per otto segnali con l'SFB 35 "ALARM_8P"

Parametri • Dichiaraz Tipo di Area di memoria Descrizione


ione dati
ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR
ERROR= TRUE significa che nell'elaborazione
si è verificato un errore. Per maggiori
informazioni vedere il parametro STATUS.
STATUS OUTPUT WORD E, A, M, D, L Parametro di stato STATUS: visualizzazione di
un'informazione di errore
ACK OUTPUT WORD E, A, M, D, L Campo di bit con l'attuale stato di conferma di
_STATE tutte e otto le segnalazioni (1: evento
confermato; 2: evento non confermato)
• I bit 0 … 7 sono impostati per l'evento in
entrata con SIG_1 …SIG_7
• I bit 8 … 15 sono impostati per l'evento in
uscita con SIG_1 … SIG_7
Stato dell'inizializzazione: W#16#FFFF, cioè
tutti gli eventi entranti e uscenti sono confermati
SD_j, IN_OUT ANY E, A, M, D, T, Z j-esima variabile
1≤ j ≤10 Le variabili valgono per tutti i messaggi. Sono
ammessi solo i tipi di dati BOOL (non
consentito campo di bit), BYTE, CHAR, WORD,
INT, DWORD, DINT, REAL, DATE, TOD,
TIME, S5TIME, DATE_AND_TIME.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB deve
sempre essere specificato
(p. es.: P# DB10.DBX5.0 Byte 10)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 539
Creazione di segnalazioni riferite ai blocchi
25.5 Creazione di segnalazioni riferite ai blocchi con variabili per otto segnali con l'SFB 35 "ALARM_8P"

Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 35 che possono
essere emesse dai parametri ERROR e STATUS.

ERROR STATUS Spiegazione


(decimale)
0 11 Perdita della segnalazione. Impossibile inviare la commutazione di
segnale o il messaggio precedenti. Quest'ultimo viene sostituito dal
messaggio aggiornato.
0 22 • Errore nel puntatore sulle variabili SD_i
• in riferimento a lunghezza o a tipo di dato
• variabili non raggiungibili nella memoria utente, p. es. a causa
di un DB cancellato o un errore di lunghezza di campo
La segnalazione attivata viene trasmessa senza variabili
oppure con il numero ancora possibile di variabili.
• Il parametro attuale di SEVERITY selezionato si trova al di fuori
dell'area ammessa. La segnalazione viene trasmessa con
SEVERITY =127).
0 25 La comunicazione è stata avviata. La segnalazione è in fase di
esecuzione.
1 1 Problemi di comunicazione: interruzione del collegamento oppure
non è presente alcun collegamento
In caso di segnalazione con conferma: visualizzazione temporale se
nessun display supporta la segnalazione con conferma
1 4 Al primo richiamo
• la EV_ID specificata si trova al di fuori dell'area ammessa
• è presente un errore formale del puntatore ANY SD_i
• è stata superata l'area di memoria max. trasferibile della CPU
per ogni SFB 35

ERROR STATUS Spiegazione


(decimale)
1 10 Accesso a memoria utente locale impossibile (p. es. accesso a DB
cancellati)
1 12 Al richiamo degli SFB è stato indicato:
• un DB di istanza che non appartiene all'SFB 35
• un DB globale invece di un DB di istanza
1 18 EV_ID è già stata trasferita da uno degli SFB 31 o da 33 a 36
1 20 Insufficiente memoria di lavoro.
1 21 La segnalazione con la EV_ID specificata è inibita.

Avvertenza
Dopo il primo richiamo del blocco tutti i bit dell'uscita ACK_STATE sono impostati e i valori storici
delle entrate SIG_i, 1≤i≤8 sono assunti a 0.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


540 Manuale di riferimento, 04/2017, A5E41911986-AA
Creazione di segnalazioni riferite ai blocchi
25.6 Creazione di segnalazioni riferite ai blocchi senza variabili per otto segnali con l'SFB 34 "ALARM_8"

25.6 Creazione di segnalazioni riferite ai blocchi senza variabili per otto


segnali con l'SFB 34 "ALARM_8"

Descrizione
L'SFB 34 "ALARM_8" - a prescindere dal fatto che le variabili D_1 ... SD_10 non sono presenti - è
identico all'SFB 35 "ALARM_8P".

Parametri Dichiarazione Tipo di Area di Descrizione


dati memoria
EN_R INPUT BOOL E, A, M, D, L, Il parametro di comando enabled to receive fa in
cost. modo che l'uscita ACK_STATE venga
aggiornata al richiamo del blocco (EN_R=1)
oppure non venga aggiornata (EN_R=0).
SIG_i, 1i8 INPUT BOOL E, A, M, D, L i-esimo segnale da controllare
ID INPUT WORD Cost. (E, A, M, Canale dati per segnalazioni: W#16#EEEE
D, L) ID rilevata solo al primo richiamo.
EV_ID INPUT DWORD Cost. (E, A, M, Numero del messaggio (non consentito: 0)
D, L) EV_ID viene analizzato solamente con il primo
richiamo. In seguito, per ogni richiamo
dell'SFB 34 con il relativo DB di istanza, vale il
numero di messaggio usato al primo richiamo.
Il numero di messaggio viene assegnato
automaticamente da STEP 7. Viene così
garantita la coerenza dei numeri dei messaggi.
Il numero del messaggio deve essere univoco
all'interno del programma utente.
SEVERITY INPUT WORD Cost. (E, A, M, Peso dell'evento
D, L) Valori possibili: da 0 a 127 (valore 0 significa
massima priorità).
Questo parametro non è rilevante per
l'elaborazione della segnalazione.
DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE:
Creazione segnalazione terminata.
ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR
ERROR= TRUE significa che nell'elaborazione
si è verificato un errore. Per maggiori
informazioni vedere il parametro STATUS.
STATUS OUTPUT WORD E, A, M, D, L Parametro di stato STATUS: visualizzazione di
un'informazione di errore

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 541
Creazione di segnalazioni riferite ai blocchi
25.6 Creazione di segnalazioni riferite ai blocchi senza variabili per otto segnali con l'SFB 34 "ALARM_8"

Parametri Dichiarazione Tipo di Area di Descrizione


dati memoria
ACK_STATE OUTPUT WORD E, A, M, D, L Campo di bit con l'attuale stato di conferma di
tutte e otto le segnalazioni (1: evento
confermato; 0: evento non confermato)
• I bit 0 … 7 sono impostati per l'evento in
entrata con SIG_1 …SIG_7
• I bit 8 … 15 sono impostati per l'evento in
uscita con SIG_1 … SIG_7
Stato dell'inizializzazione: W#16#FFFF, cioè
tutti gli eventi entranti e uscenti sono confermati

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


542 Manuale di riferimento, 04/2017, A5E41911986-AA
Creazione di segnalazioni riferite ai blocchi
25.6 Creazione di segnalazioni riferite ai blocchi senza variabili per otto segnali con l'SFB 34 "ALARM_8"

Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 34 che possono
essere emesse dai parametri ERROR e STATUS.

ERROR STATUS Spiegazione


(decimale)
0 11 Perdita della segnalazione. Impossibile inviare la commutazione di
segnale o il messaggio precedenti. Quest'ultimo viene sostituito dal
messaggio aggiornato.
0 22 Il parametro attuale di SEVERITY selezionato si trova al di fuori
dell'area ammessa: La segnalazione attivata viene trasmessa con
SEVERITY = 127).
0 25 La comunicazione è stata avviata. La segnalazione è in fase di
esecuzione.
1 1 Problemi di comunicazione: interruzione del collegamento oppure
non è presente alcun collegamento. In caso di segnalazione con
conferma: visualizzazione temporale se nessun display supporta la
segnalazione con conferma
1 4 Al primo richiamo la EV_ID specificata è posta al di fuori dell'area
ammessa.
1 10 Accesso a memoria utente locale impossibile (p. es. accesso a DB
cancellati)
1 12 Al richiamo degli SFB è stato indicato:
• un DB di istanza che non appartiene all'SFB 34
• un DB globale invece di un DB di istanza
1 18 EV_ID è già stata trasferita da uno degli SFB 31 o da 33 a 36
1 20 Insufficiente memoria di lavoro.
1 21 La segnalazione con la EV_ID specificata è inibita.

Avvertenza
Dopo il primo richiamo del blocco tutti i bit dell'uscita ACK_STATE sono impostati e i valori storici
delle entrate SIG_i, 1≤i≤8 vengono assunti a 0.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 543
Creazione di segnalazioni riferite ai blocchi
25.7 Trasmissione di dati di archivio con l'SFB 37 "AR_SEND"

25.7 Trasmissione di dati di archivio con l'SFB 37 "AR_SEND"

Descrizione
L'SFB 37 "AR_SEND" trasmette dati di archivio a tutti i sistemi di servizio e di controllo collegati a
questo scopo. Questi comunicano nel telegramma di collegamento della CPU il numero di archivio
rilevante. A seconda della memoria di lavoro della CPU e dell'area di operandi utilizzata, i dati di
archivio possono arrivare fino a 65.534 byte. Nel creare i dati di archivio si deve tenere presente in
struttura predefinita del sistema di servizio e di controllo utilizzato.
L'attivazione del procedimento di trasmissione avviene dopo il richiamo del blocco e del fronte di
salita all'ingresso di comando REQ. L'indirizzo di partenza dei dati di archivio da trasmettere viene
assegnato attraverso SD_1, la lunghezza del blocco dati viene assegnata tramite LEN. La
trasmissione dei dati avviene in modo asincrono rispetto all'esecuzione del programma utente. La
conclusione positiva del procedimento di trasmissione viene visualizzata nel parametro di stato
DONE con 1. Il procedimento di trasmissione in corso viene interrotto in presenza di un fronte di
salita all'ingresso di comando R.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
REQ INPUT BOOL E, A, M, D, L Parametro di comando request
R INPUT BOOL E, A, M, D, L cost. Parametro di comando reset: interruzione del
job attuale
ID INPUT WORD E, A, M, D, cost. Canale dati per segnalazioni: W#16#EEEE
ID rilevata solo al primo richiamo.
AR_ID INPUT DWORD Cost. (E, A, M, D, Numero di archivio (non consentito: 0)
L) AR_ID viene rilevata solamente al primo
richiamo. Poi, per ogni richiamo dell'SFB 37
con il relativo DB di istanza vale il numero di
archivio usato al primo richiamo.
Il numero di archivio viene assegnato
automaticamente da STEP7. Viene così
garantita la coerenza dei numeri di archivio.
DONE OUTPUT BOOL E, A, M, D, L Parametro di stato DONE: trasmissione
terminata
ERROR OUTPUT BOOL E, A, M, D, L Parametro di stato ERROR
ERROR= TRUE significa che
nell'elaborazione si è verificato un errore. Per
maggiori informazioni vedere il parametro
STATUS.
STATUS OUTPUT WORD E, A, M, D, L Parametro di stato STATUS: visualizzazione
di un'informazione di errore

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


544 Manuale di riferimento, 04/2017, A5E41911986-AA
Creazione di segnalazioni riferite ai blocchi
25.7 Trasmissione di dati di archivio con l'SFB 37 "AR_SEND"

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
SD_1 IN_OUT ANY E, A, M, D, T, Z Puntatore sui dati di archivio. L'indicazione
della lunghezza non viene analizzata.
Sono ammessi solo i tipi di dati BOOL ( non
consentito: campo di bit), BYTE, CHAR,
WORD, INT, DWORD, DINT, REAL, DATE,
TOD, TIME, S5TIME, DATE_AND_TIME.
I dati di archivio devono essere configurati
per il sistema di destinazione specifico.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB
deve sempre essere specificato
(p. es.: P# DB10.DBX5.0 byte 10)
LEN IN_OUT WORD E, A, M, D, L Lunghezza del blocco dati da trasmettere in
byte

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 545
Creazione di segnalazioni riferite ai blocchi
25.7 Trasmissione di dati di archivio con l'SFB 37 "AR_SEND"

Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 37 che possono
essere emesse dai parametri ERROR e STATUS.

ERROR STATUS Spiegazione


(decimale)
0 11 Messaggio di avviso: nuovo job inefficace perché job precedente
non ancora concluso.
0 25 La comunicazione è stata avviata. Il job è in fase di esecuzione.
1 1 Problemi di comunicazione
1 2 Conferma negativa, funzione non eseguibile
1 3 Per la AR_ID specificata non è presente alcun collegamento
1 4 • Errore nel puntatore dei dati di archivio SD_1 in riferimento a
lunghezza o a tipo di dati.
• Al primo richiamo la AR_ID specificata si trova al di fuori
dell'area ammessa.
1 5 La richiesta di reset è stata eseguita
1 7 JOB di reset irrilevante poiché la funzione in corso è stata conclusa
oppure non è stata attivata (blocco in stato errato)
1 8 Errore di accesso del partner remoto
1 10 Accesso a memoria utente locale impossibile (p. es. accesso a DB
cancellato)
1 12 Al richiamo degli SFB è stato indicato:
• un DB di istanza che non appartiene all'SFB 37
• un DB globale invece di un DB di istanza
1 18 AR_ID è già stata utilizzata da un SFB 37.
1 20 Memoria di lavoro insufficiente.

Coerenza dei dati


Per garantire la coerenza dei dati è possibile scrivere nella parte attualmente utilizzata dell'area di
trasmissione SD_1 solo dopo che l'attuale trasmissione è terminata, quando p. es. il parametro di
stato DONE assume il valore 1.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


546 Manuale di riferimento, 04/2017, A5E41911986-AA
Creazione di segnalazioni riferite ai blocchi
25.8 Inibizione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni cumulative tecnologiche con la SFC 10 "DIS_

25.8 Inibizione di segnalazioni riferite ai blocchi e ai simboli e di


segnalazioni cumulative tecnologiche con la SFC 10 "DIS_MSG"

Descrizione
Con la SFC 10 "DIS_MSG" (disable message) vengono inibite segnalazioni riferite ai blocchi creati
con gli SFB, segnalazioni riferite ai simboli (SCAN) e segnalazioni cumulative tecnologiche. I
messaggi da inibire vengono definiti tramite i parametri di ingresso MODE e MESGN. La condizione
necessaria per l'avviamento positivo di un procedimento di inibizione con la SFC 10 "DIS_MSG" è
che non sia attivo al momento alcun ulteriore procedimento di inibizione della SFC 10.
Le segnalazioni che al richiamo della SFC 10 sono già pronti per essere trasmesse ma si trovano
ancora in un buffer interno, non subiscono più l'inibizione, cioè vengono ancora trasmesse.
Le uscite ERROR e STATUS degli SFB "NOTIFY", "NOTIFY_8P", "ALARM", "ALARM_8P" e
"ALARM_8" comunicano che la trasmissione di messaggi è inibita.
Il procedimento di inibizione viene avviato se, al richiamo della SFC 10, viene occupato il parametro
di ingresso REQ con 1.

Modo di funzionamento
Il procedimento di inibizione viene condotto in modo asincrono, cioè si può estendere a più richiami
della SFC 10 (vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che
lavorano in modo asincrono:
• Al primo richiamo (REQ = 1) la SFC 10 verifica i parametri di ingresso e cerca di occupare le
risorse di sistema necessarie. In caso di riuscita W#16#7001 viene registrato in RET_VAL,
BUSY viene impostato e l'inibizione avviata.
In caso contrario in RET_VAL viene registrata la relativa informazione di errore e il job è
terminato. BUSY in tal caso non può essere analizzato.
• Ad un eventuale richiamo intermedio in RET_VAL viene registrato W#16#7002 (il job viene
ancora elaborato dalla CPU) e BUSY viene impostato. Un richiamo intermedio non influisce sul
job in corso.
All'ultimo richiamo in RET_VAL viene registrato W#16#0000, se non è presente alcun errore. BUSY
in questo caso viene indicato con 0.
In caso di errore in RET_VAL viene registrata l'informazione di errore e BUSY non può essere
analizzato.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
REQ INPUT BOOL E, A, M, D, L, cost. REQ = 1: avvia inibizione
MODE INPUT BYTE E, A, M, D, L, cost. Parametro per la selezione della
segnalazione da inibire
MESGN INPUT DWORD E, A, M, D, L, cost. Numero della segnalazione
Rilevante solo per MODE = 5, 6, 7. In tal
modo può essere inibita una singola
segnalazione.
RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore
BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1: il procedimento di inibizione non è
ancora terminato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 547
Creazione di segnalazioni riferite ai blocchi
25.9 Abilitazione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni cumulative tecnologiche con la
SFC 9 "EN_MSG"

Parametri di ingresso MODE


Nella seguente tabella vengono indicati i valori del parametro di ingresso MODE ammessi.

Valore Significato
0 Tutte le segnalazioni create con gli SFB riferite ai blocchi, riferite ai simboli e quelle cumulative
tecnologiche della CPU.
1 Tutte le segnalazioni della CPU riferite ai blocchi create con gli SFB, cioè tutte le segnalazioni degli
SFB "NOTIFY", "NOTIFY_8P","ALARM", "ALARM_8P" e "ALARM_8".
2 Tutte le segnalazioni cumulative tecnologiche della CPU
3 Tutte le segnalazioni della CPU riferite ai simboli (SCAN)
5 Segnalazione singola della classe "segnalazioni riferite ai simboli"
6 Segnalazione singola della classe "segnalazioni riferite ai blocchi create con gli SFB"
7 Segnale singolo della classe "segnalazioni cumulative tecnologiche"

Informazioni d'errore

Codice errore Spiegazione


(W#16#...)
0000 Inibizione terminata senza errori
7000 Primo richiamo con REQ = 0: inibizione non attivata
7001 Primo richiamo con REQ = 1: inibizione avviata
7002 Richiamo intermedio: inibizione già attiva
8081 Errore nell'accesso ad un parametro
8082 MODE ha valore non ammesso
8083 Il numero della segnalazione si trova al di fuori dell'area di valore ammessa
8084 Per segnalazioni specificate tramite MODE ed eventualmente tramite MESGN non è
presente alcun collegamento
80C3 L'inibizione della segnalazione specificata tramite MODE ed eventualmente tramite MESGN
non può essere avviata al momento, perché è già attivo un altro procedimento di inibizione
della SFC 10.
8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


548 Manuale di riferimento, 04/2017, A5E41911986-AA
Creazione di segnalazioni riferite ai blocchi
25.9 Abilitazione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni cumulative tecnologiche con la SFC 9 "EN_

25.9 Abilitazione di segnalazioni riferite ai blocchi e ai simboli e di


segnalazioni cumulative tecnologiche con la SFC 9 "EN_MSG"

Descrizione
Con la SFC 9 "EN_MSG" (enable message) vengono riabilitate le segnalazioni inibite riferite ai
blocchi e ai simboli e le segnalazioni cumulative tecnologiche inibiti. L'inibizione può essere stata
attivata da un controllore visualizzato o con la SFC 10 "DIS_MSG".
Le segnalazioni da abilitare devono essere definite tramite i parametri di ingresso MODE e MESGN.
Presupposto per l'avviamento positivo di un procedimento di abilitazione con la SFC 9 "EN_MSG" è
che momentaneamente non sia attivo alcun altro procedimento di abilitazione della SFC 9.
Il procedimento di abilitazione viene avviato se, al richiamo della SFC 9, il parametro di ingresso
REQ viene occupato con 1.

Modo di funzionamento
Il procedimento di abilitazione viene condotto in modo asincrono, cioè si può estendere a più richiami
della SFC 9 (vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che
lavorano in modo asincrono.
• Al primo richiamo (REQ = 1) la SFC 9 verifica i parametri di ingresso e cerca di occupare le
risorse di sistema necessarie. In caso di riuscita in RET_VAL viene registrato W#16#7001,
BUSY viene impostato e l'abilitazione avviata.
In caso contrario in RET_VAL viene registrata la relativa informazione di errore e il job è
terminato. BUSY in tal caso non può essere analizzato.
• Ad un eventuale richiamo intermedio in RET_VAL viene registrato W#16#7002 (il job viene
ancora elaborato dalla CPU) e BUSY viene impostato. Un richiamo intermedio non influisce sul
job in corso.
All'ultimo richiamo in RET_VAL viene registrato W#16#0000 se non è presente alcun errore. BUSY
in questo caso viene descritto con 0.
In caso di errore in RET_VAL viene registrata l'informazione di errore e BUSY non può essere
analizzato.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
REQ INPUT BOOL E, A, M, D, L REQ = 1 : avvia abilitazione
MODE INPUT BYTE E, A, M, D, L, cost. Parametro per la selezione della
segnalazione da abilitare
MESGN INPUT DWORD E, A, M, D, L, cost. Numero della segnalazione
Rilevante solo per MODE = 5, 6, 7. In tal
modo può essere abilitata una singola
segnalazione
RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore, vedere tabella NO
TAG
BUSY OUTPUT BOOL E, A, M, D, L BUSY = 1 : il procedimento di abilitazione
non è ancora terminato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 549
Creazione di segnalazioni riferite ai blocchi
25.9 Abilitazione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni cumulative tecnologiche con la
SFC 9 "EN_MSG"

Parametri di ingresso MODE


Nella seguente tabella vengono indicati i valori del parametro di ingresso MODE ammessi.

Valore Significato
0 Tutte le segnalazioni create con gli SFB riferite ai blocchi, riferite ai simboli e tutte quelle cumulative
tecnologiche della CPU.
1 Tutti le segnalazioni della CPU riferite ai blocchi create con gli SFB, cioè tutti le segnalazioni degli
SFB "NOTIFY", "NOTIFY_8P", "ALARM", "ALARM_8P" e "ALARM_8".
2 Tutte le segnalazioni cumulative tecnologiche della CPU
3 Tutte le segnalazioni della CPU riferite ai simboli (SCAN)
5 Segnalazione singola della classe "segnalazioni riferite ai simboli"
6 Segnalazione singola della classe "segnalazioni riferite ai blocchi create con gli SFB"
7 Segnale singolo della classe "segnalazioni cumulative tecnologiche"

Informazioni d'errore

Codice errore Spiegazione


(W#16#...)
0000 Abilitazione terminata senza errori
7000 Primo richiamo con REQ = 0: abilitazione non attivata
7001 Primo richiamo con REQ = 1: abilitazione avviata
7002 Richiamo intermedio: abilitazione già attiva
8081 Errore nell'accesso ad un parametro
8082 MODE ha valore non ammesso
8083 Il numero della segnalazione si trova al di fuori dell'area di valore ammessa
8084 Per segnalazioni specificate tramite MODE ed eventualmente tramite MESGN non è
presente alcun collegamento
80C3 L'abilitazione delle segnalazioni specificate tramite MODE ed eventualmente tramite
MESGN non può essere momentaneamente avviata, perché è già attivo un altro
procedimento di abilitazione della SFC 9.
8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


550 Manuale di riferimento, 04/2017, A5E41911986-AA
Creazione di segnalazioni riferite ai blocchi
25.10 Comportamento all'avviamento degli SFB per la creazione di segnalazioni riferite ai blocchi

25.10 Comportamento all'avviamento degli SFB per la creazione di


segnalazioni riferite ai blocchi

Comportamento al nuovo avviamento (avviamento a caldo)


Al nuovo avviamento (avviamento a caldo) i DB di istanza degli SFB per la creazione di segnalazioni
riferite ai blocchi vengono spostati nello stato non inizializzato. I parametri attuali memorizzati nei DB
di istanza rimangono invariati. Con il successivo richiamo di blocco vengono nuovamente analizzati i
parametri ID e EV_ID.

Comportamento all'avviamento a freddo


All'avviamento a freddo il contenuto dei DB di istanza degli SFB per la creazione di segnalazioni
riferite ai blocchi vengono impostati ai valori iniziali.

Comportamento al riavviamento
Al riavviamento gli SFB per la creazione di segnalazioni riferite ai blocchi si comportano come
blocchi funzionali utente che possono essere ripresi. Essi proseguono dal punto di interruzione.

Comportamento dopo cancellazione totale


La cancellazione totale porta sempre all'interruzione di tutti i collegamenti cosicché nessun nodo è
più collegato per le segnalazioni. Il programma utente viene cancellato. Se è stata inserita una
flashcard, le parti del programma rilevanti per lo svolgimento vengono nuovamente caricate nella
CPU a partire da quel punto e la CPU esegue un nuovo avviamento (avviamento a caldo) o
avviamento a freddo (implicitamente sempre avviamento a freddo poiché tutti i dati utente sono
inizializzati dopo la cancellazione totale).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 551
Creazione di segnalazioni riferite ai blocchi
25.11 Comportamento in caso di disturbo degli SFB per la creazione di segnalazioni riferite ai blocchi

25.11 Comportamento in caso di disturbo degli SFB per la creazione di


segnalazioni riferite ai blocchi

Interruzione di collegamento
I collegamenti assegnati alle istanze SFB vengono controllati in caso di interruzione. All'interruzione
del collegamento il nodo colpito viene tolto dalla lista interna della CPU dei nodi allacciati per le
segnalazioni riferite ai blocchi. Le segnalazioni ancora presenti per questo nodo vengono cancellate.
Se dopo un'interruzione di collegamento sono allacciati ancora altri nodi, essi continuano a ricevere
le segnalazioni. Gli SFB smettono di trasmettere solo quando i collegamenti a tutti i nodi allacciati
sono interrotti. Avviene allora una visualizzazione nei parametri d'uscita ERROR e STATUS
(ERROR = 1, STATUS = 1).

Interfaccia di errore per programma utente


Se nell'esecuzione di un SFB per la creazione di segnalazioni riferite ai blocchi si verifica un errore, il
parametro di uscita ERROR viene impostato a 1 e la relativa identificazione di errore viene registrata
nel parametro di uscita STATUS. Questa informazione di errore può essere analizzata nel
programma.
Esempi di errori possibili:
• Trasmissione non possibile per insufficienza di risorse
• Errore nell'accesso ad uno dei segnali da controllare.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


552 Manuale di riferimento, 04/2017, A5E41911986-AA
Creazione di segnalazioni riferite ai blocchi
25.12 Introduzione alla creazione di segnalazioni riferite ai blocchi con le SFC

25.12 Introduzione alla creazione di segnalazioni riferite ai blocchi con


le SFC

SFC per la creazione di segnalazioni riferite ai blocchi


Con le seguenti SFC è possibile creare una segnalazione riferita ai blocchi:
• SFC 17 "ALARM_SQ"
• SFC 18 "ALARM_S"
• SFC 107 "ALARM_DQ"
• SFC 108 "ALARM_D"
Queste SFC hanno le seguenti caratteristiche:
• le segnalazioni della SFC 17 "ALARM_SQ" e della SFC 107 "ALARM_DQ" trasmesse con stato
di segnale 1 si possono confermare tramite un controllore visualizzato attivato. Le segnalazioni
della SFC 18 "ALARM_S" e della SFC 108 "ALARM_D" sono sempre confermate
implicitamente.
• Una segnalazione non viene creata da un cambio di fronte riconosciuto, bensì da ogni richiamo
di SFC. Consultare in questo caso i paragrafi Creazione di segnalazioni confermabili riferite ai
blocchi con la SFC 17 "ALARM_SQ" e di segnalazioni riferite ai blocchi e Creazione di
segnalazioni confermabili e sempre confermate riferite ai blocchi con le SFC 107 "ALARM_DQ"
e 108 "ALARM_D".
• Una volta che è stato elaborato il blocco, la variabile SD è stata completamente rilevata ed è
stata attribuita alla segnalazione.
Per ciò che riguarda la coerenza rispetto alle classi di priorità superiore, per le variabili si applicano i
criteri seguenti: coerenti sono
• i tipi di dati semplici (bit, byte, parola e doppia parola)
• un array del tipo di dati byte fino ad una lunghezza massima specifica della CPU. (vedere /71/,
/101/).

SFC 19 "ALARM_SC"
Con l'aiuto della SFC 19 "ALARM_SC" è possibile rilevare:
• lo stato di conferma dell'ultima "segnalazione arrivata" e lo stato di segnale all'ultimo richiamo
della SFC 17/SFC 107, oppure
• lo stato di segnale all'ultimo richiamo della SFC 18/SFC 108.

Collegamento di controllori visualizzati


Premessa per la trasmissione di una segnalazione quando vengono richiamate le SFC per la
creazione di segnalazioni riferite ai blocchi è che si sia collegato almeno un controllore visualizzato
per segnalazioni riferite ai blocchi.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 553
Creazione di segnalazioni riferite ai blocchi
25.12 Introduzione alla creazione di segnalazioni riferite ai blocchi con le SFC

Bufferizzazione delle segnalazioni


Affinché non vada persa alcuna segnalazione anche in presenza di un alto carico del sistema di
comunicazione, le SFC 17, 18, 107 e 108 possono memorizzare temporaneamente due
segnalazioni ciascuna.
Se nonostante ciò dovessero andare perse delle segnalazioni se ne riceve comunicazione tramite
RET_VAL. Con la successiva segnalazione trasmessa anche i controllori visualizzati collegati ne
vengono informati.

Conferma della segnalazione con la SFC 17 "ALARM_SQ" e la SFC 107 "ALARM_DQ"


Se su un controllore visualizzato viene confermata una "segnalazione arrivata", questa informazione
di conferma viene trasmessa in un primo momento alla CPU che ha causato la segnalazione. Da qui
l'informazione di conferma viene distribuita a tutti i nodi allacciati.

Inibizione e abilitazione delle segnalazioni


Le segnalazioni riferite ai blocchi create con la SFC 17 "ALARM_SQ", la SFC 18 "ALARM_S", la
SFC 107 "ALARM_DQ" o la SFC 108 "ALARM_D" non possono essere inibite per essere poi
successivamente abilitate.

Modifiche al programma che contiene richiami di SFC 17/SFC 18

Avvertenza
Caricando un blocco già presente nella CPU con richiami delle SFC 17 e SFC 18 è possibile che il
blocco esistente abbia già trasferito una segnalazione entrante e che il nuovo blocco non trasferisca
la relativa segnalazione uscente. In questo modo la segnalazione rimane nella memoria delle
segnalazioni interna della CPU. Tale situazione si può verificare anche quando si cancellano dei
blocchi con richiami delle SFC 17 e SFC 18.
Queste segnalazioni possono essere eliminate dalla memoria delle segnalazioni interna della CPU
commutando la CPU nello stato di funzionamento STOP ed eseguendo poi un nuovo avviamento
(avviamento a caldo) o un avviamento a freddo.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


554 Manuale di riferimento, 04/2017, A5E41911986-AA
Creazione di segnalazioni riferite ai blocchi
25.12 Introduzione alla creazione di segnalazioni riferite ai blocchi con le SFC

Modifiche del programma utente che contiene richiami SFC 107/SFC 108
Anche se il programma dell'utente contiene richiami di SFC 107 e/o SFC 108, con le modifiche del
programma sopra descritte le segnalazioni possono restare nella memoria interna delle segnalazioni
e quindi occupare risorse del sistema in modo permanente.
Al contrario delle risorse di sistema occupate da richiami di SFC 17/SFC 18, quelle occupate dai
richiami delle SFC 107/SFC 108 possono essere riabilitate dall'utente senza dover portare la CPU in
stato di STOP. Ciò succede impiegando la SFC 106 "DEL_SI", vedere Abilitazione di risorse di
sistema a occupazione dinamica con la SFC 106 "DEL_SI". Prima di abilitare le risorse di sistema a
occupazione dinamica richiamando la SFC 106 "DEL_SI", può essere opportuno leggere con l'aiuto
della SFC 105 "READ_SI" le informazioni sulle risorse del sistema attualmente occupate
dinamicamente della propria CPU; vedere Lettura di risorse di sistema a occupazione dinamica con
la SFC 105 "READ_SI".

Numero dei dati da trasmettere


Il numero dei dati che si possono trasmettere tramite le variabili SD delle SFC ALARM_S,
ALARM_SQ, ALARM_D e ALARM_DQ non deve superare una lunghezza massima.
Questa lunghezza dati massima viene calcolata nel modo seguente:
maxleng = min (pdu_lokal, pdu_remote) - 48
Dove:
• pdu_lokal la lunghezza massima dei blocchi dati della propria CPU
(SZL_ID W#16#0131, INDEX 1, pdu)
• pdu_remote la lunghezza massima dei blocchi dati del controllore visualizzato
Esempio:
Una CPU 414-2 trasmette messaggi ad un PG 760 (tramite MPI).
pdu_lokal = 480 byte, pdu_remote = 480 byte.
Utilizzando la formula:
maxleng = min (480, 480) - 48 = 480 - 48 = 432
La lunghezza dati massima che si può trasmettere ammonta dunque per ogni SFB a 432 byte.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 555
Creazione di segnalazioni riferite ai blocchi
25.13 Creazione di segnalazioni confermabili riferite ai blocchi con la SFC 17 "ALARM_SQ" e di segnalazioni
riferite ai blocchi sempre confermate con la SFC 18 "ALARM_S"

25.13 Creazione di segnalazioni confermabili riferite ai blocchi con la


SFC 17 "ALARM_SQ" e di segnalazioni riferite ai blocchi sempre
confermate con la SFC 18 "ALARM_S"

Avvertenza
Nei programmi nuovi è opportuno utilizzare solo le SFC 107 e 108 (a condizione che la CPU supporti
le SFC 107 e 108), perché offrono migliori funzioni di gestione delle risorse del sistema.

Descrizione
Le SFC 17 "ALARM_SQ" e SFC 18 "ALARM_S" generano ad ogni richiamo una segnalazione alla
quale è possibile aggiungere una variabile. La segnalazione viene trasmessa a tutti i nodi allacciati.
La SFC 17 e la SFC 18 mettono dunque a disposizione un semplice meccanismo di segnalazione. Si
deve fare attenzione a richiamare le SFC 17/SFC 18 solo quando il valore del segnale SIG, che
attiva le segnalazioni, è in negativo rispetto all'ultimo richiamo. Se ciò non avviene, se ne riceve
comunicazione tramite RET_VAL e non viene trasmessa alcuna segnalazione. Fare anche
attenzione che al primissimo richiamo delle SFC 17/SFC 18 all'ingresso SIG sia presente 1.
Altrimenti RET_VAL fornisce un'informazione di errore e non viene trasmessa alcuna segnalazione.

Avvertenza
Richiamare la SFC 17 e la SFC 18 da un FB al quale sono stati prima assegnati gli attributi di
sistema! Informazioni dettagliate per l'assegnazione di attributi di sistema ai blocchi si trovano in
/234/

Occupazione delle risorse del sistema


Durante la generazione delle segnalazioni con le SFC 17 "ALARM_SQ" e 18 "ALARM_S" il sistema
operativo occupa una risorsa del sistema per la durata del ciclo del segnale.
Nell'SFC 180 "ALARM_S" il ciclo del segnale dura dal richiamo dell'SFC con SIG=1 fino al nuovo
richiamo con SIG=0. Nell'SFC 17 "ALARM_SQ" a questo tempo viene eventualmente aggiunto il
tempo fino alla conferma del segnale entrante da parte di uno dei controllori visualizzati.
Se all'interno del ciclo del segnale si verifica un sovraccarico o una cancellazione del blocco che
genera le segnalazioni, la relativa risorsa di sistema resta occupata fino al successivo nuovo avvio
(avvio a caldo).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


556 Manuale di riferimento, 04/2017, A5E41911986-AA
Creazione di segnalazioni riferite ai blocchi
25.13 Creazione di segnalazioni confermabili riferite ai blocchi con la SFC 17 "ALARM_SQ" e di segnalazioni riferite ai blo

Conferma delle segnalazioni


Le segnalazioni trasmesse dalla SFC 17 "ALARM_RQ" con lo stato di segnale 1 possono essere
confermate su un controllore visualizzato collegato. Lo stato di conferma dell'ultima "segnalazione
arrivata" e lo stato di segnale all'ultimo richiamo della SFC 17 possono essere rilevati con l'aiuto della
SFC 19 "ALARM_SC".
Le segnalazioni trasmesse con la SFC 18 "ALARM_S" sono sempre confermate implicitamente. Lo
stato di segnale all'ultimo richiamo di SFC 18 può essere rilevato con l'aiuto della SFC 19
"ALARM_SC".

Memorizzazione intermedia di stati di segnale


La SFC 17 "ALARM_SQ" e la SFC 18 "ALARM_S" occupano momentaneamente delloe risorse del
sistema. Qui vengono memorizzati temporaneamente tra l'altro entrambi gli ultimi stati di segnale,
incluso la registrazione del tempo e la variabile. Se un richiamo della SFC 17/SFC 18 avviene in un
momento in cui gli stati di segnale di entrambi gli ultimi richiami della SFC "validi" non sono ancora
stati trasmessi (overflow di segnale), l'ultimo stato di segnale e quello attuale vengono annullati e
viene impostata un'identificazione di overflow nella memoria intermedia. Non appena possibile sia il
penultimo segnale che l'identificazione di overflow vengono trasmessi.
Esempio:

t
t0 t1 t2

t0, t1 e t2 sono i punti di tempo di richiamo delle SFC 17/SFC 18. Se al punto di tempo t2 gli stati di
segnale di t0 e t1 non sono ancora stati trasmessi, gli stati di segnale di t1 e t2 vengono annullati e
allo stato di segnale di t0 viene impostata l'identificazione di overflow.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 557
Creazione di segnalazioni riferite ai blocchi
25.13 Creazione di segnalazioni confermabili riferite ai blocchi con la SFC 17 "ALARM_SQ" e di segnalazioni
riferite ai blocchi sempre confermate con la SFC 18 "ALARM_S"

Overflow di istanza
Se il numero dei richiami di SFC 17/SFC 18 è maggiore del numero massimo di risorse di sistema
della CPU, si può arrivare ad una mancanza di risorse (overflow di istanze). Ciò viene comunicato sia
tramite un'informazione di errore in RET_VAL, sia nei controllori visualizzati collegati.
Il numero massimo di richiami delle SFC 17/SFC 18 dipende dalla CPU.
Queste informazioni si trovano in /70/ e /101/

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
SIG INPUT BOOL E, A, M, D, L Segnale che attiva il messaggio
ID INPUT WORD E, A, M, D, L cost. Canale dati per segnalazioni: W#16#EEEE
EV_ID INPUT DWORD Cost. (E, A, M, D, L) Numero della segnalazione (non
consentito: 0).
SD INPUT ANY E, A, M, D, T, Z Variabile
Lunghezza massima: 12 byte
Sono ammessi solo i tipi di dati: BOOL (non
consentito: campo di bit), BYTE, CHAR,
WORD, INT, DWORD, DINT, REAL, DATE,
TOD, TIME, S5TIME, DATE_AND_TIME.
RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore

Informazioni d'errore

Codice errore Spiegazione


(W#16#...)
0000 Nessun errore
0001 • La variabile supera la lunghezza massima consentita oppure
• L'accesso alla memoria utente non è possibile (p. es. accesso a DB cancellati). Il
messaggio viene inviato
• La variabile indica un valore nell'area dati locale. Il messaggio viene inviato.
0002 Avviso: È stata occupata l'ultima memoria libera di conferma segnalazione (soltanto nell'
S7-400) .
8081 La EV_ID specificata è posta al di fuori dell'area ammessa.
8082 Perdita della segnalazione perché la CPU non ha più alcuna risorsa libera per la creazione di
segnalazioni riferite ai blocchi attraverso le SFC.
8083 Perdita della segnalazione perché è già presente lo stesso cambio di segnale, ma non è
stato ancora possibile trasmetterlo (overflow di segnale).
8084 Al richiamo attuale delle SFC 17/SFC 18 e a quello precedente il segnale SIG che attiva la
segnalazione ha lo stesso valore.
8085 Per la EV_ID specificata non è presente alcun collegamento.
8086 Un richiamo di SFC per la EV_ID specificata è già in elaborazione in una classe di priorità
con priorità minore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


558 Manuale di riferimento, 04/2017, A5E41911986-AA
Creazione di segnalazioni riferite ai blocchi
25.13 Creazione di segnalazioni confermabili riferite ai blocchi con la SFC 17 "ALARM_SQ" e di segnalazioni riferite ai blo

Codice errore Spiegazione


(W#16#...)
8087 Al primo richiamo delle SFC 17/SFC 18 il segnale che ha attivato la segnalazione aveva
valore 0.
8088 La EV_ID specificata viene già utilizzata da un altro risorsa di sistema (per SFC 17, 18, 107,
108).
8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 559
Creazione di segnalazioni riferite ai blocchi
25.14 Rilevamento dello stato di conferma dell'ultima segnalazione ALARM_SQ/ALARM_DQ arrivata con la SFC
19 "ALARM_SC"

25.14 Rilevamento dello stato di conferma dell'ultima segnalazione


ALARM_SQ/ALARM_DQ arrivata con la SFC 19 "ALARM_SC"

Descrizione
Con l'aiuto della SFC 19"ALARM_SC" è possibile rilevare
• lo stato di conferma dell'ultima segnalazione ALARM_SQ/ALARM_DQ arrivata e lo stato del
segnale che attiva la segnalazione all'ultimo richiamo della SFC 17 "ALARM_SQ"/SFC 107
"ALARM_DQ" oppure
• lo stato del segnale che attiva la segnalazione all'ultimo richiamo della SFC 18
"ALARM_S"/SFC 108 "ALARM_D".
La segnalazione, oppure il segnale, è identificato in modo univoco tramite il numero della
segnalazione assegnato, se sono stati attribuiti numeri delle segnalazioni con l'aiuto della
progettazione delle segnalazioni.
La SFC 19 "ALARM_SC" accede alla memoria delle SFC 17/SFC 18/SFC 107/SFC 108
temporaneamente occupata.

Parametri Dichiaraz- Tipo di Area di memoria Descrizione


ione dati
EV_ID INPUT DWORD E, A, M, D, L, cost. Numero della segnalazione della quale si
desidera rilevare lo stato di segnale all'ultimo
richiamo di SFC, oppure lo stato di conferma
dell'ultima segnalazione arrivata (solo per
SFC 17 e SFC 107)
RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore
STATE OUTPUT BOOL E, A, M, D, L Stato del segnale che attiva la segnalazione
all'ultimo richiamo della SFC
Q_STATE OUTPUT BOOL E, A, M, D, L Se il parametro specificato EV_ID appartiene a
un richiamo di SFC 18/SFC 108: 1
Se il parametro specificato EV_ID appartiene a
un richiamo di SFC 17/SFC 107: stato di
conferma dell'ultimo messaggio arrivato:
• 0: non confermato
• 1: confermato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


560 Manuale di riferimento, 04/2017, A5E41911986-AA
Creazione di segnalazioni riferite ai blocchi
25.14 Rilevamento dello stato di conferma dell'ultima segnalazione ALARM_SQ/ALARM_DQ arrivata con la SFC 19 "ALAR

Informazioni d'errore

Codice errore Spiegazione


(W#16#...)
0000 Nessun errore
8081 La EV_ID specificata è posta al di fuori dell'area ammessa.
8082 Nessuna area di memoria momentaneamente assegnata a questa EV_ID (possibile causa: il
relativo segnale non ha mai avuto lo stato 1, oppure ha nuovamente assunto lo stato 0).
8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 561
Creazione di segnalazioni riferite ai blocchi
25.15 Creazione di segnalazioni confermabili e sempre confermate riferite ai blocchi con le SFC 107
"ALARM_DQ" e 108 "ALARM_D"

25.15 Creazione di segnalazioni confermabili e sempre confermate


riferite ai blocchi con le SFC 107 "ALARM_DQ" e 108 "ALARM_D"

Descrizione
Le SFC 107 "ALARM_DQ" e 108 "ALARM_D" generano, a ogni richiamo, una segnalazione alla
quale l'utente può annettere una variabile. Sotto questo aspetto esse coincidono con le SFC 17
"ALARM_SQ" e 18 "ALARM_S".
Al momento della creazione delle segnalazioni con le SFC 107 "ALARM_DQ" e 108 "ALARM_D" il
sistema operativo occupa una risorsa di sistema per la durata del ciclo del segnale.
Nell'SFC 180 "ALARM_S" il ciclo del segnale dura dal richiamo dell'SFC con SIG=1 fino al nuovo
richiamo con SIG=0. Nell'SFC 17 "ALARM_SQ" a questo tempo viene eventualmente aggiunto il
tempo fino alla conferma del segnale entrante da parte di uno dei controllori visualizzati.
Se all'interno del ciclo del segnale si verifica un sovraccarico o una cancellazione del blocco che
genera le segnalazioni, la relativa risorsa di sistema resta occupata fino al successivo nuovo avvio
(avvio a caldo).
La migliore funzionalità delle SFC 107 "ALARM_DQ" e 108 "ALARM_D" rispetto alle SFC 17 e 18
consiste nel fatto che l'utente può gestire le risorse del sistema occupate:
• con l'aiuto della SFC 105 "READ_SI" è possibile leggere informazioni sulle risorse del sistema
occupate
• con la SFC 106 "DEL_SI" è possibile abilitare nuovamente le risorse del sistema occupate.
Questo aspetto è particolarmente importante nel caso di risorse del sistema occupate in modo
duraturo. Una risorsa di sistema momentaneamente occupata, p. es., resta occupata in modo
duraturo se l'utente, modificando il programma, cancella un richiamo di FB che contiene richiami
di SFC107 o SFC108. Se nel modificare il programma si ricarica un FB con richiami di SFC 107
o SFC 108, può succedere che le SFC 107 e 108 non creino più le segnalazioni.
Le SFC 107 e 108 hanno un parametro in più rispetto alle SFC 17 e 18, vale a dire l'ingresso
CMP_ID. Questo permette di assegnare le segnalazioni create con le SFC 107 e 108 ad aree
logiche, p. es. a impianti parziali. Se si richiamano le SFC 107/SFC 108 in un FB, è possibile
occupare l'ingresso CMP_ID con il numero del relativo DB di istanza.

Parametri Dichiarazione Tipo di Area di memoria Descrizione


dati
SIG INPUT BOOL E, A, M, D, L Segnale che attiva la segnalazione
ID INPUT WORD E, A, M, D, L, cost. Canale dati per segnalazioni: W#16#EEEE
EV_ID INPUT DWORD Cost. (E, A, M, D, Numero della segnalazione (non
L) consentito: 0)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


562 Manuale di riferimento, 04/2017, A5E41911986-AA
Creazione di segnalazioni riferite ai blocchi
25.15 Creazione di segnalazioni confermabili e sempre confermate riferite ai blocchi con le SFC 107 "ALARM_DQ" e 108

Parametri Dichiarazione Tipo di Area di memoria Descrizione


dati
CMP_ID INPUT DWORD E, A, M, D, L, cost. Component identifier (non consentito: 0)
Identificazione del sistema parziale al quale
è assegnata la segnalazione.
Valori consigliati:
• low word: 1 - 65535
• high word: 0
Seguendo queste raccomandazioni, si
evita qualunque conflitto con pacchetti di
programmazione Siemens
SD INPUT ANY E, A, M, D, T, Z Variabile
Lunghezza massima: 12 byte
Sono ammessi solo i tipi di dati BOOL (non
ammesso: campo bit), BYTE, CHAR,
WORD, INT, DWORD, DINT, REAL, DATE,
TOD, TIME, S5TIME, DATE_AND_TIME

RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 563
Creazione di segnalazioni riferite ai blocchi
25.15 Creazione di segnalazioni confermabili e sempre confermate riferite ai blocchi con le SFC 107
"ALARM_DQ" e 108 "ALARM_D"

Informazioni di errore

Codice errore Spiegazione


(W#16#...)
0000 Non si è verificato nessun errore.
0001 (soltanto nell'S7-400)
• La variabile supera la lunghezza massima consentita oppure
• L'accesso alla memoria utente non è possibile (p. es. accesso a un DB
cancellato). Il messaggio viene inviato.
• La variabile indica un valore nell'area dati locali. Il messaggio viene inviato
0002 Avviso: l'ultimo spazio di memoria disponibile per le segnalazioni è occupato (soltanto
nell'S7-400).
8081 L'EV_ID indicata non è compresa nell'area consentita.
8082 Perdita della segnalazione perché la CPU non ha più risorse disponibili per creare
segnalazioni riferite ai blocchi tramite SFC.
8083 Perdita della segnalazione perché lo stesso cambio di segnale è presente ma non ha
ancora potuto essere inviato (overflow di segnale).
8084 Nel richiamo attuale delle SFC 107/SFC 108 e in quello precedente, il segnale di
attivazione SIG ha lo stesso valore.
8085 Per l'EV_ID manca la registrazione utente.
8086 Un richiamo di SFC per l'EV_ID indicata è già in elaborazione in una classe di priorità
inferiore.
8087 Con il primo richiamo delle SFC 107/SFC 108 il segnale di attivazione della
segnalazione aveva il valore 0.
8088 L'EV_ID indicata viene già utilizzata da un'altra risorsa di sistema (con SFC 17, 18,
107, 108).
8089 L'utente ha assegnato a CMP_ID il valore 0.
808A CMP_ID non compatibile con EV_ID
8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


564 Manuale di riferimento, 04/2017, A5E41911986-AA
Creazione di segnalazioni riferite ai blocchi
25.16 Lettura di risorse di sistema a occupazione dinamica con la SFC 105 "READ_SI"

25.16 Lettura di risorse di sistema a occupazione dinamica con la


SFC 105 "READ_SI"

Generazione di risorse di sistema a occupazione dinamica durante la creazione di segnalazioni


con le SFC 107 e 108
Quando si creano segnalazioni con le SFC 107 "ALARM_DQ" e 108 "ALARM_D", il sistema
operativo occupa momentaneamente uno spazio nella memoria del sistema.
Se l'utente p. es. cancella dalla CPU un FB con richiami SFC 107 o SFC 108, può succedere che le
relative risorse di sistema restino occupate in modo duraturo. Quando si ricarica l'FB con i richiami
SFC 107 o SFC 108, quindi, può succedere che le SFC 107 e 108 non possano più essere elaborate
correttamente.

Descrizione
Con la SFC 105 "READ_SI" è possibile leggere risorse di sistema occupate al momento della
creazione di segnalazioni con le SFC 107 e 108, grazie ai valori qui utilizzati di EV_ID e CMP_ID.
Questi vengono assegnati alla SFC 105 "READ_SI" nel parametro SI_ID.
La SFC 105 "READ_SI" dispone di 4 tipi di funzionamento possibili, descritti nella tabella seguente. Il
tipo di funzionamento desiderato si può impostare con il parametro MODE.

MODE Quali risorse di sistema occupate dalle SFC 107/SFC 108 vengono lette?
1 Tutte (richiamo della SFC 105 eseguito con SI_ID:=0)
2 La risorsa di sistema occupata da EV_ID:=ev_id al momento del richiamo delle
SFC 107/SFC 108 (richiamo della SFC 105 eseguito con SI_ID:=ev_id)
3 Tutte le risorse di sistema occupate da CMP_ID:=cmp_id al momento del richiamo delle
SFC 107/SFC 108 (richiamo della SFC 105 eseguito con SI_ID:=cmp_id)
0 Ulteriori risorse di sistema che nel richiamo precedente non hanno potuto essere lette con
MODE=1 o MODE=3 perché l'area di destinazione selezionata SYS_INST era troppo piccola

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 565
Creazione di segnalazioni riferite ai blocchi
25.16 Lettura di risorse di sistema a occupazione dinamica con la SFC 105 "READ_SI"

Procedimento
Se al momento del richiamo della SFC 105 con MODE=1 o MODE=3 si sceglie un'area di
destinazione SYS_INST sufficientemente grande, dopo il richiamo essa riporta il contenuto di tutte le
risorse di sistema selezionate tramite il parametro MODE attualmente occupate.
Se il numero delle risorse occupate al momento è molto elevato, il tempo di esecuzione della SFC è
proporzionalmente lungo. In caso di carico elevato della CPU è possibile che venga superato il
tempo massimo progettato per il controllo del ciclo.
Questo problema di tempo di esecuzione si può evitare nella maniera seguente: selezionare un'area
di destinazione SYS_INST abbastanza piccola. Se la SFC non è in grado di registrare in SYS_INST
tutte le risorse di sistema da leggere, il problema viene comunicato all'utente tramite
RET_VAL=W#16#0001. Richiamare quindi la SFC 105 con MODE=0 e la stessa SI_ID del richiamo
precedente finché RET_VAL non avrà il valore W#16#0000.

Avvertenza
Poiché il sistema operativo non coordina i richiami di SFC 105 relativi a un job di lettura, è opportuno
eseguire tutti i richiami di SFC 105 in una stessa classe di priorità.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


566 Manuale di riferimento, 04/2017, A5E41911986-AA
Creazione di segnalazioni riferite ai blocchi
25.16 Lettura di risorse di sistema a occupazione dinamica con la SFC 105 "READ_SI"

Struttura dell'area di destinazione SYS_INST


L'area di destinazione per le risorse di sistema occupate lette deve trovarsi in un DB. È opportuno
definire l'area di destinazione come campo di strutture nel quale ogni struttura sia configurata nel
modo seguente:

Elemento Tipo di Descrizione


struttura dati
SFC_NO WORD N. della SFC che ha occupato tutte le risorse di sistema
LEN BYTE Lunghezza della struttura in byte, incl. SFC_NO e LEN: B#16#0C
SIG_STAT BOOL Stato del segnale
ACK_STAT BOOL Stato della conferma dell'evento entrante (fronte di salita)
EV_ID DWORD Numero della segnalazione
CMP_ID DWORD Identificazione del sistema parziale

Parametri Dichiarazione Tipo di Area di memoria Descrizione


dati
MODE INPUT INT E, A, M, D, L, cost. Identificazione del job
Valori consentiti:
• 1: lettura di tutte le risorse del sistema
• 2: lettura della risorsa di sistema
occupata da EV_ID = ev_id al
momento del richiamo delle
SFC 107/SFC 108
• 3: lettura delle risorse di sistema
occupate da CMP_ID = cmp_id al
momento del richiamo delle
SFC 107/SFC 108
• 0: richiamo successivo
SI_ID INPUT DWOR E, A, M, D, L, cost. Identificazione della risorsa o delle risorse
D di sistema da leggere
Valori consentiti:
• 0, se MODE=1
• N. della segnalazione ev_id, se
MODE= 2
• Identificazione cmp_id del sistema
parziale con MODE=3
RET_VAL OUTPUT INT E, A, M, D, L Valore di ritorno (informazione di errore o
stato del job)
N_SI OUTPUT INT E, A, M, D, L Numero delle risorse di sistema emesse in
SYS_INT
SYS_INT OUTPUT ANY D Area di destinazione per le risorse di
sistema lette

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 567
Creazione di segnalazioni riferite ai blocchi
25.16 Lettura di risorse di sistema a occupazione dinamica con la SFC 105 "READ_SI"

Informazioni di errore

Codice errore Spiegazione


(W#16#...)
0000 Non si è verificato nessun errore.
0001 Non è stato possibile leggere tutte le risorse di sistema poiché l'area di destinazione
SYS_INST scelta è troppo piccola.
8081 (Solo con MODE=2 o 03): è stato assegnato il valore 0 a SI_ID.
8082 (Solo con MODE= 1): a SI_ID è stato assegnato un valore diverso da 0.
8083 (Solo con MODE= 0): a SI_ID è stato assegnato un valore diverso da quello del richiamo
SFC precedente con MODE= 1 o 3.
8084 È stato assegnato un valore non consentito a MODE.
8085 La SFC 105 viene momentaneamente elaborata in un altro OB.
8086 L'area di destinazione SYS_INST è troppo piccola per una risorsa di sistema.
8087 L'area di destinazione SYS_INST non si trova in un DB.
8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


568 Manuale di riferimento, 04/2017, A5E41911986-AA
Creazione di segnalazioni riferite ai blocchi
25.17 Abilitazione di risorse di sistema a occupazione dinamica con la SFC 106 "DEL_SI"

25.17 Abilitazione di risorse di sistema a occupazione dinamica con la


SFC 106 "DEL_SI"

Generazione di risorse di sistema a occupazione dinamica durante la creazione di segnalazioni


con le SFC 107 e 108
Quando si creano segnalazioni con le SFC 107 "ALARM_DQ" e 108 "ALARM_D", il sistema
operativo occupa momentaneamente uno spazio nella memoria del sistema
Se l'utente p. es. cancella dalla CPU un FB con richiami SFC 107 o SFC 108, può succedere che le
relative risorse di sistema restino occupate in modo duraturo. Quando si ricarica l'FB con i richiami
SFC 107 o SFC 108, quindi, può succedere che le SFC 107 e 108 non possano più essere elaborate
correttamente.

Descrizione
Con la SFC 106 "DEL_SI" è possibile cancellare risorse di sistema momentaneamente occupate.
La SFC 106 "DEL_SI" dispone di 3 tipi di funzionamento possibili, descritti nella tabella seguente. Il
tipo di funzionamento desiderato si può impostare con il parametro MODE.

MODE Quali risorse di sistema occupate dalle SFC 107/SFC 108 vengono cancellate?
1 Tutte (richiamo della SFC 106 eseguito con SI_ID:=0)
2 La risorsa di sistema occupata da EV_ID:=ev_id al momento del richiamo delle
SFC 107/SFC 108 (richiamo della SFC 106 eseguito con SI_ID:=ev_id)
3 Tutte le risorse di sistema occupate da CMP_ID:=cmp_id al momento del richiamo delle
SFC 107/SFC 108 (richiamo della SFC 106 eseguito con SI_ID:=cmp_id)

Parametri Dichiarazione Tipo di Area di memoria Descrizione


dati
MODE INPUT INT E, A, M, D, L, cost. Identificazione del job
Valori consentiti:
• 1: cancellazione di tutte le risorse di
sistema
• 2: cancellazione della risorsa di
sistema occupata da EV_ID = ev_id
al momento del richiamo delle
SFC 107/SFC 108
• 3: cancellazione delle risorse di
sistema occupate da
CMP_ID = cmp_id al momento del
richiamo delle SFC 107/SFC 108

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 569
Creazione di segnalazioni riferite ai blocchi
25.17 Abilitazione di risorse di sistema a occupazione dinamica con la SFC 106 "DEL_SI"

Parametri Dichiarazione Tipo di Area di memoria Descrizione


dati
SI_ID INPUT DWOR E, A, M, D, L, cost. Identificazione della risorsa o delle risorse
D di sistema da cancellare
Valori consentiti:
• 0, se MODE=1
• N. della segnalazione ev_id, se
MODE=2
• Identificazione cmp_id del sistema
parziale con MODE=3
RET_VAL OUTPUT INT E, A, M, D, L Informazione di errore

Informazioni di errore

Codice errore Spiegazione


(W#16#...)
0000 Non si è verificato nessun errore.
8081 (Solo con MODE= 2 o 3): è stato assegnato il valore 0 a SI_ID.
8082 (Solo con MODE=1): a SI_ID è stato assegnato un valore diverso da 0.
8084 È stato assegnato un valore non consentito a MODE.
8085 La SFC 106 viene momentaneamente elaborata in un altro OB.
8086 Non è stato possibile cancellare tutte le risorse di sistema selezionate poiché almeno
una di queste era in elaborazione al momento del richiamo della SFC 106.
8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


570 Manuale di riferimento, 04/2017, A5E41911986-AA
26 Temporizzatore IEC e contatore IEC

26.1 Creazione di un impulso con l'SFB 3 "TP"

Descrizione
L'SFB 3 "TP" crea un impulso di lunghezza PT. Il tempo trascorre solo negli stati di funzionamento
AVVIAMENTO e RUN.
Un fronte di salita all'ingresso IN causa l'avviamento dell'impulso.
L'uscita Q rimane impostata per la durata di tempo PT, indipendentemente dalla successiva
esecuzione del segnale di ingresso (cioè anche se l'ingresso IN cambia nuovamente da 0 a 1, prima
che il tempo PT sia trascorso).
L'uscita ET fornisce il tempo, mentre l'uscita Q è già impostata. Essa può assumere al massimo il
valore dell'ingresso PT e viene resettata se l'ingresso IN cambia in 0, tuttavia non prima che il tempo
PT sia trascorso.
L'SFB 3 "TP" è conforme alla norma IEC 1131-3.
Il sistema operativo resetta le istanze dell'SFB 3 "TP" all'avviamento a freddo. Nel caso le istanze di
questo SFB 3 "TP" debbano essere inizializzate dopo il nuovo avviamento (avviamento a caldo), è
necessario richiamare nell'OB 100 le istanze da inizializzare con PT = 0 ms. Se le istanze di questo
SFB sono contenute in un altro blocco, queste istanze vengono resettate p. es. inizializzando il
blocco sovraordinato.

Diagramma di tempo

IN

PT PT PT

ET

PT

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 571
Temporizzatore IEC e contatore IEC
26.1 Creazione di un impulso con l'SFB 3 "TP"

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
IN INPUT BOOL E, A, M, D, L, cost. Ingresso di avviamento
PT INPUT TIME E, A, M, D, L, cost. Durata dell'impulso. PT deve essere positivo
(avvertenza: il campo di valori è definito dal
tipo dati TIME).
Q OUTPUT BOOL E, A, M, D, L Stato del tempo
ET OUTPUT TIME E, A, M, D, L Tempo trascorso

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


572 Manuale di riferimento, 04/2017, A5E41911986-AA
Temporizzatore IEC e contatore IEC
26.2 Creazione di ritardo all'inserzione con l'SFB 4 "TON"

26.2 Creazione di ritardo all'inserzione con l'SFB 4 "TON"

Descrizione
L'SFB 4 "TON" ritarda un fronte di salita di un tempo PT. Il tempo trascorre solo negli stati di
funzionamento AVVIAMENTO e RUN.
Un fronte di salita all'ingresso IN ha come conseguenza un fronte di salita all'uscita Q dopo che è
trascorsa la durata di tempo PT. Q rimane impostato fino a che l'ingresso IN cambia in 0. Se
l'ingresso IN cambia in 0, prima che sia trascorso il tempo PT, l'uscita Q rimane su 0.
L'uscita ET fornisce il tempo che è trascorso all'ingresso IN dall'ultimo fronte di salita, tuttavia al
massimo fino al valore dell'ingresso PT. ET viene resettato se l'ingresso IN cambia in 0.
L'SFB 4 "TON" è conforme alla norma IEC 1131-3.
Il sistema operativo resetta le istanze dell'SFB 4 "TON" all'avviamento a freddo. Nel caso le istanze
di questo SFB debbano essere inizializzate dopo il nuovo avviamento (avviamento a caldo), le
istanze da inizializzare devono essere richiamate nell'OB 100 con PT = 0 ms. Se le istanze di questo
SFB sono contenute in un altro blocco, queste istanze vengono resettate p. es. inizializzando il
blocco sovraordinato.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 573
Temporizzatore IEC e contatore IEC
26.2 Creazione di ritardo all'inserzione con l'SFB 4 "TON"

Diagramma di tempo

IN

Q
PT PT

ET
PT

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
IN INPUT BOOL E, A, M, D, L, cost. Ingresso di avviamento
PT INPUT TIME E, A, M, D, L, cost. Durata del tempo di ritardo del fronte di
salita all'ingresso IN. PT deve essere
positivo (avvertenza: il campo di valori è
definito dal tipo di dati TIME).
Q OUTPUT BOOL E, A, M, D, L Stato del tempo
ET OUTPUT TIME E, A, M, D, L Tempo trascorso

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


574 Manuale di riferimento, 04/2017, A5E41911986-AA
Temporizzatore IEC e contatore IEC
26.3 Creazione di ritardo alla disinserzione con l'SFB 5 "TOF"

26.3 Creazione di ritardo alla disinserzione con l'SFB 5 "TOF"

Descrizione
L'SFB 5 "TOF" ritarda un fronte di discesa di un tempo PT. Il tempo trascorre solo negli stati di
funzionamento AVVIAMENTO e RUN.
Un fronte di salita all'ingresso IN causa un fronte di salita all'uscita Q. Un fronte di discesa
all'ingresso IN ha come conseguenza un fronte di discesa all'uscita Q dopo che è trascorsa la durata
di tempo PT. Se l'ingresso IN cambia nuovamente in 1 prima che il tempo PT sia trascorso, l'uscita Q
rimane su 1.
L'uscita ET fornisce il tempo, che è trascorso all'ingresso IN dall'ultimo fronte di discesa, tuttavia al
massimo fino al valore dell'ingresso PT. ET viene resettato se l'ingresso IN cambia in 1.
L'SFB 5 "TOF" è conforme alla norma IEC 1131-3.
Il sistema operativo resetta le istanze dell'SFB 5 "TOF" all'avviamento a freddo. Nel caso le istanze di
questo SFB debbano essere inizializzate dopo il nuovo avviamento (avviamento a caldo), le istanze
da inizializzare devono essere richiamate nell'OB 100 con PT = 0 ms. Se le istanze di questo
SFB sono contenute in un altro blocco, queste istanze vengono resettate p. es. inizializzando il
blocco sovraordinato.

Diagramma di tempo

IN

PT PT

ET
PT

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 575
Temporizzatore IEC e contatore IEC
26.3 Creazione di ritardo alla disinserzione con l'SFB 5 "TOF"

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
IN INPUT BOOL E, A, M, D, L, cost. Ingresso di avviamento
PT INPUT TIME E, A, M, D, L, cost. Durata del tempo di ritardo del fronte di
discesa all'ingresso IN. PT deve essere
positivo (avvertenza: il campo di valori è
definito dal tipo di dati TIME).
Q OUTPUT BOOL E, A, M, D, L Stato del tempo
ET OUTPUT TIME E, A, M, D, L Tempo trascorso

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


576 Manuale di riferimento, 04/2017, A5E41911986-AA
Temporizzatore IEC e contatore IEC
26.4 Conteggio in avanti con l'SFB 0 "CTU"

26.4 Conteggio in avanti con l'SFB 0 "CTU"

Descrizione
Con l'SFB 0 "CTU" è possibile contare in avanti. In presenza di un fronte di salita all'ingresso CU (di
fronte all'ultimo richiamo SFB) il contatore viene aumentato di 1. Quando il valore di conteggio
raggiunge il limite massimo di 32.767 non può essere più aumentato. Ogni ulteriore fronte di salita
all'ingresso CU rimane senza alcun effetto.
Il livello 1 all'ingresso R causa il resettaggio del contatore sul valore 0 indipendentemente da quale
valore sia presente all'ingresso CU.
All'uscita Q viene visualizzato se il valore di conteggio attuale è maggiore o se è uguale al valore
predefinito PV.
L'SFB 0 "CTU" è conforme alla norma IEC 1131-3.
Il sistema operativo resetta le istanze dell'SFB 0 "CTU" all'avviamento a freddo. Nel caso le istanze
di questo SFB debbano essere inizializzate dopo il nuovo avviamento (avviamento a caldo), le
istanze da inizializzare devono essere richiamate nell'OB 100 con PT = 0 ms. Se le istanze di questo
SFB sono contenute in un altro blocco, queste istanze vengono resettate p. es. inizializzando il
blocco sovraordinato.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
CU INPUT BOOL E, A, M, D, L, cost. Ingresso di conteggio
R INPUT BOOL E, A, M, D, L, cost. Ingresso di resettaggio. R prevale su CU
PV INPUT INT E, A, M, D, L, cost. Valore predefinito. Per gli effetti di PV
vedere parametro Q.
Q OUTPUT BOOL E, A, M, D, L Stato del contatore: Q ha valore
1, se CV ≥ PV
0 diversamente
CV OUTPUT INT E, A, M, D, L Valore di conteggio attuale
(valori possibili: da 0 a 32.767)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 577
Temporizzatore IEC e contatore IEC
26.5 Conteggio all'indietro con l'SFB 1 "CTD"

26.5 Conteggio all'indietro con l'SFB 1 "CTD"

Descrizione
Con l'SFB 1 "CTD" è possibile contare all'indietro. In presenza di un fronte di salita all'ingresso CD (di
fronte all'ultimo richiamo SFB) il contatore viene diminuito di 1. Quando il valore di conteggio
raggiunge il limite minimo di -32.768 non può essere più diminuito. Ogni ulteriore fronte di salita
all'ingresso CD rimane senza alcun effetto.
Il livello 1 all'ingresso LOAD fa in modo che il contatore venga preimpostato sul valore prestabilito
PV, indipendentemente da quale valore sia presente all'ingresso CD.
All'uscita Q viene visualizzato se il valore di conteggio attuale è minore o se è uguale a zero.
L'SFB 1 "CTD" è conforme alla norma IEC 1131-3.
Il sistema operativo resetta le istanze dell'SFB 1 "CTD" all'avviamento a freddo. Se le istanze di
questo SFB devono essere inizializzate dopo il nuovo avviamento (avviamento a caldo), le istanze
da inizializzare 1 devono essere richiamate nell'OB 100 con LOAD = 1 e PV = valore di partenza
desiderato per CV. Nel caso le istanze di questo SFB sono contenute in un altro blocco, queste
istanze vengono resettate p. es. inizializzando il blocco sovraordinato.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
CD INPUT BOOL E, A, M, D, L, cost. Ingresso di conteggio
LOAD INPUT BOOL E, A, M, D, L, cost. Ingresso di caricamento. LOAD prevale su
CD.
PV INPUT INT E, A, M, D, L, cost. Valore predefinito. Il contatore viene
preimpostato su PV se all'ingresso LOAD è
presente il livello 1.
Q OUTPUT BOOL E, A, M, D, L Stato del contatore: Q ha valore
1, se CV ≤ 0
0 diversamente
CV OUTPUT INT E, A, M, D, L Valore di conteggio attuale
(valori possibili: da - 32.768 a 32.767)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


578 Manuale di riferimento, 04/2017, A5E41911986-AA
Temporizzatore IEC e contatore IEC
26.6 Conteggio in avanti e all'indietro con l'SFB 2 "CTUD"

26.6 Conteggio in avanti e all'indietro con l'SFB 2 "CTUD"

Descrizione
Con l'SFB 2 "CTUD" è possibile contare in avanti e all'indietro. Il contatore in presenza di un fronte di
salita (di fronte all'ultimo richiamo SFB)
• viene aumentato di 1 all'ingresso CU
• viene diminuito di 1 all'ingresso CD.
Se il valore di conteggio raggiunge
• il limite minimo di -32.768 non può più essere diminuito;
• il limite massimo di 32.767 non può più essere aumentato.
Se in un ciclo è presente un fronte di salita sia all'ingresso CU che all'ingresso CD il contatore
manterrà il suo valore attuale. Questo comportamento si discosta dalla norma IEC 1131-3, dove, se
i segnali CU e CD sono contemporanei, prevale l'ingresso CU. Questa proposta di modifica è stata
presentata alla IEC.
Il livello 1 all'ingresso LOAD fa in modo che il contatore venga preimpostato sul valore predefinito PV,
indipendentemente da quali valori siano presenti agli ingressi CU e CD.
Il livello 1 all'ingresso R causa il resettaggio del contatore sul valore 0, indipendentemente da quali
valori siano presenti agli ingressi CU, CD e LOAD. All'uscita QU viene visualizzato se il valore di
conteggio attuale è maggiore o uguale al valore predefinito PV: all'uscita QD viene visualizzato se è
minore o uguale a zero.
Il sistema operativo resetta le istanze dell'SFB 2 "CTUD" all'avviamento a freddo. Se le istanze di
questo SFB devono essere inizializzate dopo il nuovo avviamento (avviamento a caldo), le istanze
da inizializzare devono essere richiamate nell'OB 100 come segue:
• utilizzando come contatore in avanti con R = 1
• utilizzando come contatore all'indietro con R = 0 e LOAD = 1 e PV = valore di partenza
desiderato per CV.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 579
Temporizzatore IEC e contatore IEC
26.6 Conteggio in avanti e all'indietro con l'SFB 2 "CTUD"

Nel caso le istanze di questo SFB sono contenute in un altro blocco, queste istanze vengono
resettate p. es. inizializzando il blocco sovraordinato.

Parametri Dichiaraz- Tipo di dati Area di memoria Descrizione


ione
CU INPUT BOOL E, A, M, D, L, cost. Ingresso di conteggio in avanti.
CD INPUT BOOL E, A, M, D, L, cost. Ingresso di conteggio all'indietro.
R INPUT BOOL E, A, M, D, L, cost. Ingresso di resettaggio. R prevale su LOAD.
LOAD INPUT BOOL E, A, M, D, L, cost. Ingresso di caricamento. LOAD prevale su
CU e CD.
PV INPUT INT E, A, M, D, L, cost. Valore predefinito. Il contatore viene
preimpostato su PV se all'ingresso LOAD è
presente il livello 1.
QU OUTPUT BOOL E, A, M, D, L Stato di conteggio in avanti
QU ha valore
1, se CV ≥ PV
0 diversamente
QD OUTPUT BOOL E, A, M, D, L Stato di conteggio all'indietro:
QD ha valore
1, se CV ≤ 0
0 diversamente
CV OUTPUT INT E, A, M, D, L Valore di conteggio attuale
(valori possibili: da -32.768 a 32.767)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


580 Manuale di riferimento, 04/2017, A5E41911986-AA
27 Funzioni IEC

27.1 Sommario
È possibile copiare le funzioni IEC elencate qui di seguito (IEC: International Electrotechnical
Commission) dalla biblioteca di STEP 7 "S7libs\Stdlib30" nella directory di programma.

Nome Famiglia Funzione


di blocco IEC
FC 3 D_TOD_DT Convert Conversione di DATE e TIME_OF_DAY in DT
FC 6 DT_DATE Convert Dissociazione di DATE da DT
FC 7 DT_DAY Convert Dissociazione del giorno della settimana da DT
FC 8 DT_TOD Convert Dissociazione di TIME_OF_DAY da DT
FC 33 S5TI_TIM Convert Conversione del formato S5TIME in TIME
FC 40 TIM_S5TI Convert Conversione del formato TIME in S5TIME
FC 16 I_STRNG Convert Conversione del formato INT in STRING
FC 5 DI_STRNG Convert Conversione del formato DINT in STRING
FC 30 R_STRNG Convert Conversione del formato REAL in STRING
FC 38 STRNG_I Convert Conversione del formato STRING in INT
FC 37 STRNG_DI Convert Conversione del formato STRING in DINT
FC 39 STRNG_R Convert Conversione del formato STRING in REAL
FC 9 EQ_DT DT Confronto di DT se uguale
FC 12 GE_DT DT Confronto di DT se maggiore o uguale
FC 14 GT_DT DT Confronto di DT se maggiore
FC 18 LE_DT DT Confronto di DT se minore o uguale
FC 23 LT_DT DT Confronto di DT se minore
FC 28 NE_DT DT Confronto di DT se diverso
FC 10 EQ_STRNG String Confronto di STRING se uguale
FC 13 GE_STRNG String Confronto di STRING se maggiore o uguale
FC 15 GT_STRNG String Confronto di STRING se maggiore
FC 19 LE_STRNG String Confronto di STRING se minore o uguale
FC 24 LT_STRNG String Confronto di STRING se minore
FC 29 NE_STRNG String Confronto di STRING se diverso
FC 21 LEN String Lunghezza di una variabile STRING
FC 20 LEFT String Parte sinistra di una variabile STRING
FC 32 RIGHT String Parte destra di una variabile STRING
FC 26 MID String Parte centrale di una variabile STRING
FC 2 CONCAT String Combinazione di due variabili STRING
FC 17 INSERT String Inserimento in una variabile STRING

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 581
Funzioni IEC
27.1 Sommario

Nome Famiglia Funzione


di blocco IEC
FC 4 DELETE String Cancellazione in una variabile STRING
FC 31 REPLACE String Sostituzione in una variabile STRING
FC 11 FIND String Ricerca in una variabile STRING
FC 1 AD_DT_TM Floating Point Addizione di una durata di tempo ad un istante
Math
FC 35 SB_DT_TM Floating Point Sottrazione di una durata di tempo da un istante
Math
FC 34 SB_DT_DT Floating Point Sottrazione di due istanti
Math
FC 22 LIMIT Floating Point Limitatore
Math
FC 25 MAX Floating Point Selezione massimo
Math
FC 27 MIN Floating Point Selezione minimo
Math
FC 36 SEL Floating Point Selezione binaria
Math

Informazioni sui blocchi di comunicazione conformi a IEC si trovano nella guida contestuale relativa
agli SFB/SFC (vedere: Differenze fra i blocchi di comunicazione S7 e i blocchi di comunicazione di
base S7)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


582 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni IEC
27.2 Dati tecnici relativi alle funzioni IEC

27.2 Dati tecnici relativi alle funzioni IEC

Requisiti della memoria

La tabella seguente mostra la quantità di memoria di lavoro e di memoria di carico nonché la quantità
di byte di dati locali necessarie per le singole funzioni IEC.

N° FC Nome Assegnazione (quantità byte) in Dati locali (byte)


Memoria lavoro Memoria carico

FC 3 D_TOD_DT 634 810 12


FC 6 DT_DATE 340 466 10
FC 7 DT_DAY 346 472 10
FC 8 DT_TOD 114 210 6
FC 33 S5TI_TIM 94 208 2
FC 40 TIM_S5TI 104 208 6
FC 16 I_STRNG 226 340 10
FC 5 DI_STRNG 314 440 18
FC 30 R_STRNG 528 684 28
FC 38 STRNG_I 292 420 12
FC 37 STRNG_DI 310 442 12
FC 39 STRNG_R 828 1038 30
FC 9 EQ_DT 96 194 2
FC 12 GE_DT 174 288 4
FC 14 GT_DT 192 310 4
FC 18 LE_DT 168 280 4
FC 23 LT_DT 192 310 4
FC 28 NE_DT 96 194 2
FC 10 EQ_STRNG 114 220 4
FC 13 GE_STRNG 162 282 8
FC 15 GT_STRNG 158 278 8
FC 19 LE_STRNG 162 282 8
FC 24 LT_STRNG 158 278 8
FC 29 NE_STRNG 150 266 8
FC 21 LEN 38 132 2
FC 20 LEFT 200 320 8
FC 32 RIGHT 230 350 8
FC 26 MID 302 390 8
FC 2 CONCAT 358 452 14

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 583
Funzioni IEC
27.2 Dati tecnici relativi alle funzioni IEC

N° FC Nome Assegnazione (quantità byte) in Dati locali (byte)


Memoria lavoro Memoria carico
FC 17 INSERT 488 644 20
FC 4 DELETE 376 512 8
FC 31 REPLACE 562 726 20
FC 11 FIND 236 360 14
FC 1 AD_DT_TM 1350 1590 22
FC 35 SB_DT_TM 1356 1596 22
FC 34 SB_DT_DT 992 1178 30
FC 22 LIMIT 426 600 12
FC 25 MAX 374 532 8
FC 27 MIN 374 532 8
FC 36 SEL 374 560 8

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


584 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni IEC
27.3 Data e ora come tipi di dati composti

27.3 Data e ora come tipi di dati composti

Parametri attuali per DATE_AND_TIME

DATE_AND_TIME è un tipo di dato composto come ARRAY, STRING e STRUCT. Le aree di


memoria ammissibili per i tipi di dati composti sono il blocco dati (DB) e l´area di memoria dei dati
locali (L­Stack).
Se si impiega il tipo di dati DATE_AND_TIME come parametro formale in un´istruzione, allora è
possibile, dato che si tratta di un tipo di dato composto, specificare i parametri attuali solo in uno dei
formati seguenti :
• Come simbolo locale al blocco dalla tabella di Dichiarazione variabili per un determinato blocco
• Come nome simbolico per un blocco dati, ad es. "DB_sys_info.Systemzeit", costituito dalle
seguenti parti:
- Un nome che è definito nella tabella dei simboli per il numero del blocco dati (ad es.
"DB_sys_info" für DB5)
- Un nome che è definito nel blocco dati per l´elemento DATE_AND_TIME (ad es. "Tempo di
sistema" per una variabile del tipo di dati DATE_AND_TIME contenuta in DB5)
Non è possibile impiegare costanti come parametri attuali per parametri formali di tipi di dati
composti, incluso DATE_AND_TIME. Non è neppure possibile trasferire indirizzi assoluti come
parametri attuali a DATE_AND_TIME.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 585
Funzioni IEC
27.4 Funzioni orologio

27.4 Funzioni orologio

Descrizione FC 1 AD_DT_TM
Con la funzione FC 1 è possibile aggiungere una durata di tempo (formato TIME) ad un istante
(formato DT) e fornire come risultato un nuovo istante (formato DT). L´istante (parametro T) deve
essere compreso tra DT#1990-01-01-00:00:00.000 e DT#2089-12-31-23:59:59.999. Con la funzione
non è possibile eseguire una verifica dell´ingresso. Se il risultato dell´addizione non si trova nel
campo specificato sopra, il risultato viene limitato al valore corrispondente e il risultato binario BIE
viene azzerato.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


T INPUT DATE_AND_TIME D, L Istante nel formato DT
D INPUT TIME E, A, M, D, L, Cost. Durata di tempo nel
formato TIME
RET_VAL OUTPUT DATE_AND_TIME D, L Somma nel formato DT

Per il parametro di ingresso T ed il parametro di uscita è possibile assegnare solo una variabile
definita in modo simbolico.

Descrizione FC 3 D_TOD_DT
Con la funzione FC 3 è possibile combinare i formati di dati DATE e TIME_OF_DAY (TOD) e
convertirli nel formato di dati DATE_AND_TIME (DT). Il valore di ingresso IN1 deve essere compreso
entro i limiti DATE#1990-01-01 e DATE#2089-12-31 (non si hanno verifiche). La funzione non
segnala errori.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


IN1 INPUT DATE E, A, M, D, L, Cost. Variabile di ingresso
nel formato DATE
IN2 INPUT TIME_OF_DAY E, A, M, D, L, Cost. Variabile di ingresso
nel formato TOD
RET_VAL OUTPUT DATE_AND_TIME D, L Valore di ritorno nel
formato DT

Per il valore di ritorno è possibile assegnare solo una variabile definita in modo simbolico.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


586 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni IEC
27.4 Funzioni orologio

Descrizione FC 6 DT_DATE
Con la funzione FC 6 è possibile dissociare il formato di dati DATE dal formato DATE_AND_TIME.
DATE è compreso entro i limiti DATE#1990-1-1 e DATE#2089-12-31. La funzione non segnala
errori.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


IN INPUT DATE_AND_TIME D, L Variabile di ingresso
con formato DT
RET_VAL OUTPUT DATE E, A, M, D, L Valore di ritorno nel
formato DATE

Per il valore di ingresso è possibile assegnare solo una variabile definita in modo simbolico.

Descrizione FC 7 DT_DAY
Con la funzione FC 7 è possibile dissociare il giorno della settimana dal formato DATE_AND_TIME.
Il giorno della settimana è presente nel formato di dati INTEGER:
1. Domenica
2. Lunedì
3. Martedì
4. Mercoledì
5. Giovedì
6. Venerdì
7. Sabato
La funzione non segnala errori.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


IN INPUT DATE_AND_TIME D, L Variabile di
ingresso nel
formato DT
RET_VAL OUTPUT INT E, A, M, D, L Valore di ritorno nel
formato INT

Per il valore di ingresso è possibile assegnare solo una variabile definita in modo simbolico.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 587
Funzioni IEC
27.4 Funzioni orologio

Descrizione FC 8 DT_TOD
Con la funzione FC 8 è possibile dissociare il formato di dati TIME_OF_DAY dal formato
DATE_AND_TIME. La funzione non segnala errori.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


IN INPUT DATE_AND_TIME D, L Variabile di ingresso nel
formato DT
RET_VAL OUTPUT TIME_OF_DAY E, A, M, D, L Valore di ritorno nel
formato TOD

Per il valore di ingresso è possibile assegnare solo una variabile definita in modo simbolico.

Descrizione FC 33 S5TI_TIM
Con la funzione FC 33 è possibile convertire il formato di dati S5TIME nel formato TIME. Se il
risultato della conversione si trova fuori del campo numerico TIME il risultato viene limitato al valore
corrispondente e il risultato binario BIE viene azzerato.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


IN INPUT S5TIME E, A, M, D, L, Cost. Variabile di ingresso nel
formato S5TIME
RET_VAL OUTPUT TIME E, A, M, D, L Valore di ritorno nel
formato TIME

Descrizione FC 34 SB_DT_DT
Con la funzione FC 34 è possibile sottrarre due istanti (formato DT) e fornire come risultato una
durata di tempo (formato TIME). Gli istanti devono trovarsi in un campo compreso tra
DT#1990-01-01-00:00:00.000 e DT#2089-12-31-23:59:59.999. Con la funzione non è possibile
eseguire una verifica dell’ingresso. Quando il primo istante (parametro DT1) è maggiore (più
recente) del secondo (parametro T2), il risultato è positivo; quando il primo istante è minore (meno
recente) del secondo, il risultato è negativo. Se il risultato della sottrazione si trova fuori del campo
numerico di TIME, il risultato viene limitato al valore corrispondente ed il risultato binario BIE viene
azzerato.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


DT1 INPUT DATE_AND_TIME D, L Primo istante nel formato
DT
DT2 INPUT DATE_AND_TIME D, L Secondo istante nel
formato DT
RET_VAL OUTPUT TIME E, A, M, D, L Differenza nel formato
TIME

Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


588 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni IEC
27.4 Funzioni orologio

Descrizione FC 35 SB_DT_TM
Con la funzione FC 35 è possibile sottrarre una durata di tempo (formato TIME) da un istante
(formato DT) e fornire come risultato un nuovo istante (formato DT). L’istante (parametro T) deve
trovarsi nel campo compreso tra DT#1990-01-01-00:00:00.000 e DT#2089-12-31-23:59:59.999.
Con la funzione non è possibile eseguire una verifica dell’ingresso. Se il risultato della sottrazione
non si trova nel campo specificato sopra, il risultato viene limitato al valore corrispondente ed il
risultato binario BIE viene azzerato.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


T INPUT DATE_AND_TIME D, L Istante nel formato DT
D INPUT TIME E, A, M, D, L, Cost. Durata di tempo nel
formato TIME
RET_VAL OUTPUT DATE_AND_TIME D, L Differenza nel formato
DT

Per il parametro di ingresso T ed il parametro di uscita è possibile assegnare solo una variabile
definita in modo simbolico .

Descrizione FC 40 TIM_S5TI
Con la funzione FC 40 è possibile convertire il formato di dati TIME nel formato S5TIME. Durante la
conversione si arrotonda per difetto. Se il parametro di ingresso è maggiore del formato S5TIME
rappresentabile (maggiore di TIME#02:46:30.000), viene emesso come risultato S5TIME#999.3 ed il
risultato binario BIE viene azzerato.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


IN INPUT TIME E, A, M, D, L, Cost. Variabile di ingresso nel
formato TIME
RET_VAL OUTPUT S5TIME E, A, M, D, L Variabile di ritorno nel
formato S5TIME

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 589
Funzioni IEC
27.5 Confronto tra variabili DATE_AND_TIME

27.5 Confronto tra variabili DATE_AND_TIME

Descrizione FC 9 EQ_DT
Con la funzione FC 9 è possibile determinare se i contenuti di due variabili nel formato
DATE_AND_TIME sono uguali ed emettere come valore di ritorno il risultato del confronto. Il valore
di ritorno ha lo stato di segnale "1", quando l´istante nel parametro DT1 è uguale all´istante nel
parametro DT2. La funzione non segnala errori.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


DT1 INPUT DATE_AND_TIME D, L Variabile di ingresso nel
formato DT
DT2 INPUT DATE_AND_TIME D, L Variabile di ingresso nel
formato DT
RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto

Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico.

Descrizione FC 12 GE_DT
Con la funzione FC 12 è possibile determinare quale dei contenuti di due variabili nel formato
DATE_AND_TIME è maggiore o se sono uguali ed emettere come valore di ritorno il risultato del
confronto. Il valore di ritorno ha lo stato di segnale "1", quando l´istante nel parametro DT1 è
maggiore (più recente) dell´istante nel parametro DT2 oppure i due istanti sono uguali. La funzione
non segnala errori.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


DT1 INPUT DATE_AND_TIME D, L Variabile di ingresso nel
formato DT
DT2 INPUT DATE_AND_TIME D, L Variabile di ingresso nel
formato DT
RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto

Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


590 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni IEC
27.5 Confronto tra variabili DATE_AND_TIME

Descrizione FC 14 GT_DT
Con la funzione FC 14 è possibile determinare quale dei contenuti di due variabili nel formato
DATE_AND_TIME è maggiore ed emettere come valore di ritorno il risultato del confronto. Il valore di
ritorno ha uno stato di segnale "1", quando l´istante nel parametro DT1 è maggiore (più recente)
dell´istante nel parametro DT2. La funzione non segnala errori.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


DT1 INPUT DATE_AND_TIME D, L, Cost. Variabile di ingresso nel
formato DT
DT2 INPUT DATE_AND_TIME D, L, Cost. Variabile di ingresso nel
formato DT
RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto

Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico .

Descrizione FC 18 LE_DT
Con la funzione FC 18 è possibile determinare quale dei contenuti di due variabili nel formato
DATE_AND_TIME è minore o se sono uguali ed emettere come valore di ritorno il risultato del
confronto. Il valore di ritorno ha lo stato di segnale "1", quando l´istante nel parametro DT1 è minore
(meno recente) dell´istante nel parametro DT2 oppure entrambi gli istanti sono uguali. La funzione
non segnala errori.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


DT1 INPUT DATE_AND_TIME D, L Variabile di ingresso
con formato DT
DT2 INPUT DATE_AND_TIME D, L Variabile di ingresso
con formato DT
RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto

Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 591
Funzioni IEC
27.5 Confronto tra variabili DATE_AND_TIME

Descrizione FC 23 LT_DT
Con la funzione FC 23 è possibile determinare quale dei contenuti di due variabili nel formato
DATE_AND_TIME è minore ed emettere come valore di ritorno il risultato del confronto. Il valore di
ritorno ha lo stato di segnale "1", quando l´istante nel parametro DT1 è minore (meno recente)
dell´istante nel parametro DT2. La funzione non segnala errori.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


DT1 INPUT DATE_AND_TIME D, L Variabile di ingresso nel
formato DT
DT2 INPUT DATE_AND_TIME D, L Variabile di ingresso nel
formato DT
RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto

Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico .

Descrizione FC 28 NE_DT
Con la funzione FC 28 è possibile determinare se i contenuti di due variabili nel formato
DATE_AND_TIME sono diversi ed emettere come valore di ritorno il risultato del confronto. Il valore
di ritorno ha lo stato di segnale "1", quando l´istante nel parametro DT1 è diverso dall´istante nel
parametro DT2 . La funzione non segnala errori.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


DT1 INPUT DATE_AND_TIME D, L Variabile di ingresso nel
formato DT
DT2 INPUT DATE_AND_TIME D, L Variabile di ingresso nel
formato DT
RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto

Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


592 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni IEC
27.6 Modifica della variabile STRING

27.6 Modifica della variabile STRING

Descrizione FC 2 CONCAT
Con la funzione FC 2 è possibile combinare due variabili STRING in una stringa di caratteri. Se la
stringa di caratteri risultante è più lunga delle variabili definite nel parametro di uscita, la stringa di
caratteri risultante viene limitata alla lunghezza massima impostata e il bit BIE viene azzerato.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


IN1 INPUT STRING D, L Variabile di ingresso nel formato
STRING
IN2 INPUT STRING D, L Variabile di ingresso nel formato
STRING
RET_VAL OUTPUT STRING D, L Stringa di caratteri combinata

Per i parametri è possibile assegnare solo una variabile definita in modo simbolico.

Descrizione FC 4 DELETE
Con la funzione FC 4 è possibile cancellare caratteri L in una stringa di caratteri a partire dal carattere
P (incluso). Se L e/o P sono uguali a zero o se P è maggiore della lunghezza attuale della stringa di
caratteri di ingresso, viene fornita la stringa di caratteri di ingresso. Se la somma di L e P è maggiore
della stringa di caratteri di ingresso, verrà cancellato fino alla fine della stringa di caratteri. Se L e/o P
sono negativi, viene emessa una stringa vuota e il bit BIE viene azzerato.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


IN INPUT STRING D, L Variabile STRING in cui
avviene la cancellazione
L INPUT INT E, A, M, D, L, Cost. Quantità dei caratteri da
cancellare
P INPUT INT E, A, M, D, L, Cost. Posizione del primo carattere
da cancellare
RET_VAL OUTPUT STRING D, L Stringa di caratteri risultante

Per il parametro di ingresso IN e il parametro di uscita è possibile assegnare solo una variabile
definita in modo simbolico.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 593
Funzioni IEC
27.6 Modifica della variabile STRING

Descrizione FC 11 FIND
Con la funzione FC 11 è possibile fornire la posizione della seconda stringa di caratteri (IN2)
all´interno della prima stringa di caratteri (IN1). La ricerca comincia a sinistra; viene segnalata la
comparsa della prima stringa di caratteri. Se la seconda stringa di caratteri non è presente nella
prima stringa, verrà segnalato zero. La funzione non segnala errori.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


IN1 INPUT STRING D, L Variabile STRING in cui
avviene la ricerca
IN2 INPUT STRING D, L Variabile STRING da cercare
RET_VAL OUTPUT INT E, A, M, D, L Posizione della stringa di
caratteri trovata

Per i parametri di ingresso IN1 e IN2 è possibile assegnare solo una variabile definita in modo
simbolico.

Descrizione FC 17 INSERT
Con la funzione FC 17 è possibile inserire la stringa di caratteri del parametro IN2 nella stringa di
caratteri del parametro IN1 dopo il carattere P. Se P è uguale a zero, la seconda stringa di caratteri
viene inserita prima della prima stringa. Se P è maggiore della lunghezza attuale della prima stringa
di caratteri, la seconda stringa di caratteri viene aggiunta alla prima. Se P è negativo viene emessa
una stringa vuota ed il bit BIE viene azzerato. Il bit BIE viene azzerato anche quando la stringa di
caratteri risultante è più lunga della variabile indicata nel parametro di uscita; in questo caso la
stringa di caratteri risultante viene limitata alla lunghezza massima impostata.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


IN1 INPUT STRING D, L Variabile STRING che viene
inserita
IN2 INPUT STRING D, L Variabile STRING da inserire
P INPUT INT E, A, M, D, L, Cost. Posizione di inserimento
RET_VAL OUTPUT STRING D, L Stringa di caratteri risultante

Per i parametri di ingresso IN1 e IN2 e i parametri di uscita è possibile assegnare solo una variabile
definita in modo simbolico.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


594 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni IEC
27.6 Modifica della variabile STRING

Descrizione FC 20 LEFT
Con la funzione FC 20 vengono forniti i primi caratteri L di una stringa di caratteri. Se L è maggiore
della lunghezza attuale delle variabili STRING, viene fornito il valore di ingresso. In presenza di L = 0
e di una stringa vuota, come valore di ingresso viene fornita una stringa vuota. Se L è negativo viene
emessa una stringa vuota e il bit BIE viene azzerato.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


IN INPUT STRING D, L Variabile di ingresso nel
formato STRING
L INPUT INT E, A, M, D, L, Cost. Lunghezza della parte
sinistra della stringa
RET_VAL OUTPUT STRING D, L Variabile di uscita nel formato
STRING

Per il parametro IN e il valore di ritorno è possibile assegnare solo una variabile definita in modo
simbolico.

Descrizione FC 21 LEN
Una variabile STRING contiene due lunghezze: la lunghezza massima (che viene indicata in
parentesi quadre durante la definizione delle variabili) e la lunghezza attuale (che è la quantità di
caratteri validi momentaneamente). La lunghezza attuale è minore o uguale alla lunghezza
massima. La quantità dei byte occupati da una stringa di caratteri è maggiore di 2 della lunghezza
massima.
Con la funzione FC 21 è possibile emettere come valore di ritorno la lunghezza attuale di una stringa
di caratteri (quantità dei caratteri validi). Una stringa vuota (`') ha lunghezza zero. La lunghezza
massima ammonta a 254. La funzione non segnala errori.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


S INPUT STRING D, L Variabile di ingresso nel
formato STRING
RET_VAL OUTPUT INT E, A, M, D, L Quantità dei caratteri attuali

Per il parametro di ingresso è possibile assegnare solo una variabile definita in modo simbolico.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 595
Funzioni IEC
27.6 Modifica della variabile STRING

Descrizione FC 26 MID
Con la funzione FC 26 è possibile fornire la parte centrale di una stringa di caratteri (caratteri L a
partire dal carattere P incluso). Se la somma di L e P supera la lunghezza attuale delle variabili
STRING, viene fornita una stringa di caratteri partendo dal carattere P fino alla fine del valore di
ingresso. In tutti gli altri casi (se P si trova fuori della lunghezza attuale, se P e/o L sono uguali a zero
o negativi) viene emessa una stringa vuota e il bit BIE viene azzerato.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


IN INPUT STRING D, L Variabile di ingresso nel
formato STRING
L INPUT INT E, A, M, D, L, Cost. Lunghezza della parte
centrale della stringa
P INPUT INT E, A, M, D, L, Cost. Posizione del primo carattere
RET_VAL OUTPUT STRING D, L Variabile di uscita nel formato
STRING

Per il parametro IN e il valore di ritorno è possibile assegnare solo una variabile definita in modo
simbolico.

Descrizione FC 31 REPLACE
Con la funzione FC 31 è possibile sostituire il numero di caratteri L della prima stringa di caratteri
(IN1) con la seconda stringa di caratteri (IN2) completa partendo dal carattere P (incluso). Se L e P
sono rispettivamente uguale e diverso da zero, viene fornita la prima stringa di caratteri. Se L e N
sono uguali a zero, la seconda stringa di carattere viene collocata davanti alla prima. Se L è diverso
da zero e P è uguale a zero o a uno, la sostituzione si ha a partire dal primo carattere (incluso). Se P
si trova fuori della prima stringa di caratteri, la seconda stringa di caratteri viene aggiunta alla prima.
Se L e/o P sono negativi viene emessa una stringa vuota e il bit BIE viene azzerato. Il bit BIE viene
azzerato anche quando la stringa di caratteri risultante è più lunga della variabile indicata nel
parametro di uscita; in questo caso la stringa di caratteri risultante viene limitata alla lunghezza
massima impostata.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


IN1 INPUT STRING D, L Variabile STRING in cui
avviene l´inserimento
IN2 INPUT STRING D, L Variabile STRING da inserire
L INPUT INT E, A, M, D, L, Cost. Quantità dei caratteri da
sostituire
P INPUT INT E, A, M, D, L, Cost. Posizione del primo carattere
sostituito
RET_VAL OUTPUT STRING D, L Stringa di caratteri risultante

Per i parametri di ingresso IN1 e IN2 e il parametro di uscita è possibile assegnare solo una variabile
definita in modo simbolico.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


596 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni IEC
27.6 Modifica della variabile STRING

Descrizione FC 32 RIGHT
Con la funzione FC 32 è possibile fornire gli ultimi caratteri L di una stringa di caratteri. Se L è
maggiore della lunghezza attuale delle variabili STRING, viene fornito il valore di ritorno. Nel caso di
L = 0 e di una stringa vuota, come valore di ingresso viene fornita una stringa vuota. Se L è negativo
viene emessa una stringa vuota e il risultato binario BIE viene azzerato.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


IN INPUT STRING D, L Variabile di ingresso nel
formato STRING
L INPUT INT E, A, M, D, L, Cost. Lunghezza della parte destra
della stringa
RET_VAL OUTPUT STRING D, L Variabile di uscita nel formato
STRING

Per il parametro IN e il valore di ritorno è possibile assegnare solo una variabile definita in modo
simbolico.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 597
Funzioni IEC
27.7 Confronto tra variabili STRING

27.7 Confronto tra variabili STRING

Descrizione FC 10 EQ_STRNG
Con la funzione FC 10 è possibile determinare se sono uguali i contenuti di due variabili nel formato
STRING ed emettere come valore di ritorno il risultato di confronto. Il valore di ritorno ha lo stato di
segnale "1", quando la stringa di caratteri nel parametro S1 è uguale alla stringa di caratteri nel
parametro S2 . La funzione non segnala errori.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


S1 INPUT STRING D, L Variabile di ingresso nel
formato STRING
S2 INPUT STRING D, L Variabile di ingresso nel
formato STRING
RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto

Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico.

Descrizione FC 13 GE_STRNG
Con la funzione FC 13 è possibile determinare quale dei contenuti di due variabili nel formato
STRING è maggiore o se sono uguali ed emettere come valore di ritorno il risultato del confronto. Il
valore di ritorno ha lo stato di segnale "1", quando la stringa di caratteri nel parametro S1 è maggiore
o uguale alla stringa di caratteri nel parametro S2. I caratteri vengono confrontati, partendo da
sinistra, sulla base del loro codice ASCII (ad es. è `a' maggiore di`A'). Il primo carattere diverso è
decisivo per il risultato del confronto. In caso di uguaglianza dei primi caratteri, viene considerata
maggiore la stringa di caratteri più lunga. La funzione non segnala errori.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


S1 INPUT STRING D, L Variabile di ingresso nel
formato STRING
S2 INPUT STRING D, L Variabile di ingresso nel
formato STRING
RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto

Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


598 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni IEC
27.7 Confronto tra variabili STRING

Descrizione FC 15 GT_STRNG
Con la funzione FC 15 è possibile determinare quale dei contenuti di due variabili nel formato
STRING è maggiore ed emettere come valore di ritorno il risultato del confronto. Il valore di ritorno ha
lo stato di segnale "1", quando la stringa di caratteri nel parametro S1 è maggiore della stringa di
caratteri nel parametro S2. I caratteri vengono confrontati, partendo da sinistra, sulla base del loro
codice ASCII (ad es. è `a' maggiore di `A'). Il primo carattere diverso è decisivo per il risultato del
confronto. In caso di uguaglianza dei primi caratteri, viene considerata maggiore la stringa di caratteri
più lunga. La funzione non segnala errori.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


S1 INPUT STRING D, L Variabile di ingresso nel
formato STRING
S2 INPUT STRING D, L Variabile di ingresso nel
formato STRING
RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto

Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico.

Descrizione FC 19 LE_STRNG
Con la funzione FC 19 è possibile determinare quale dei contenuti di due variabili nel formato
STRING è minore o se sono uguali ed emettere come valore di ritorno il risultato del confronto. Il
valore di ritorno ha lo stato di segnale "1", quando la stringa di caratteri nel parametro S1 è minore o
uguale alla stringa di caratteri nel parametro S2. I caratteri vengono confrontati, partendo da sinistra,
sulla base del loro codice ASCII (ad es. è `A' minore di `a'). Il primo carattere diverso è decisivo per
il risultato del confronto. In caso di uguaglianza dei primi caratteri, viene considerata minore la stringa
di caratteri più corta. La funzione non segnala errori.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


S1 INPUT STRING D, L Variabile di ingresso nel
formato STRING
S2 INPUT STRING D, L Variabile di ingresso nel
formato STRING
RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto

Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 599
Funzioni IEC
27.7 Confronto tra variabili STRING

Descrizione FC 24 LT_STRNG
Con la funzione FC 24 è possibile determinare quale dei contenuti di due variabili nel formato
STRING è minore ed emettere come valore di ritorno il risultato del confronto. Il valore di ritorno ha lo
stato di segnale "1", quando la stringa di caratteri nel parametro S1 è minore della stringa di caratteri
nel parametro S2. I caratteri vengono confrontati, partendo da sinistra, sulla base del loro codice
ASCII (ad es. è `A' minore di `a'). Il primo carattere diverso è decisivo per il risultato del confronto. Se
la parte sinistra della stringa più lunga è identica alla stringa più corta, viene considerata minore la
stringa di caratteri più corta. La funzione non segnala errori.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


S1 INPUT STRING D, L Variabile di ingresso nel
formato STRING
S2 INPUT STRING D, L Variabile di ingresso nel
formato STRING
RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto

Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico.

Descrizione FC 29 NE_STRNG
Con la funzione FC 29 è possibile determinare se i contenuti di due variabili nel formato STRING
sono diversi ed emettere come valore di ritorno il risultato del confronto. Il valore di ritorno ha lo stato
di segnale "1", quando la stringa di caratteri nel parametro S1 è diversa dalla stringa di caratteri nel
parametro S2. La funzione non segnala errori.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


S1 INPUT STRING D, L Variabile di ingresso nel
formato STRING
S2 INPUT STRING D, L Variabile di ingresso nel
formato STRING
RET_VAL OUTPUT BOOL E, A, M, D, L Risultato del confronto

Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo simbolico.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


600 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni IEC
27.8 Conversione dei formati

27.8 Conversione dei formati

Descrizione FC 5 DI_STRNG
Con la funzione FC 5 è possibile convertire in una stringa di caratteri una variabile con formato DINT.
La stringa di caratteri viene rappresentata con un segno iniziale. Se la variabile indicata nel
parametro di ritorno è troppo corta, non avviene alcuna conversione ed il bit BIE viene azzerato.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


I INPUT DINT E, A, M, D, L, Cost. Valore di ingresso
RET_VAL OUTPUT STRING D, L Stringa di caratteri risultante

Per il parametro di uscita è possibile assegnare solo una variabile definita in modo simbolico.

Descrizione FC 16 I_STRNG
Con la funzione FC 16 è possibile convertire in una stringa di caratteri una variabile con formato INT.
La stringa di caratteri viene rappresentata con un segno iniziale. Se la variabile indicata nel
parametro di ritorno è troppo corta, non avviene alcuna conversione ed il bit BIE viene azzerato.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


I INPUT INT E, A, M, D, L, Cost. Valore di ingresso
RET_VAL OUTPUT STRING D, L Stringa di caratteri risultante

Per il parametro di uscita è possibile assegnare solo una variabile definita in modo simbolico.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 601
Funzioni IEC
27.8 Conversione dei formati

Descrizione FC 30 R_STRNG
Con la funzione FC 30 è possibile convertire in una stringa di caratteri una variabile nel formato
REAL. La stringa di caratteri viene rappresentata con 14 posizioni:

±v.nnnnnnnE±xx ± segno
v 1 posizione prima della virgola
n 7 posizioni dopo la virgola
x 2 posizioni esponenti

Se la variabile indicata nel parametro di ritorno è troppo corta oppure se nel parametro IN non vi è
alcun numero in punto mobile valido, non avviene alcuna conversione e il bit BIE viene azzerato.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


IN INPUT REAL E, A, M, D, L, Cost. Valore di ingresso
RET_VAL OUTPUT STRING D, L Stringa di caratteri risultante

Per il parametro di uscita è possibile assegnare solo una variabile definita in modo simbolico.

Descrizione FC 37 STRNG_DI
Con la funzione FC 37 è possibile convertire una stringa di caratteri in una variabile con formato
DINT. Il primo carattere nella stringa di caratteri può essere un segno o una cifra, i caratteri
successivi devono essere costituiti da cifre. Se la lunghezza della stringa di caratteri è zero o
maggiore di 11 oppure si trovano caratteri inammissibili nella stringa di caratteri, non avviene alcuna
conversione ed il bit BIE viene azzerato. Se il risultato della conversione si trova fuori del campo
numerico DINT, il risultato viene limitato al valore corrispondente ed il risultato binario BIE viene
azzerato.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


S INPUT STRING D, L Stringa di caratteri di ingresso
RET_VAL OUTPUT DINT E, A, M, D, L Risultato

Per il parametro di ingresso è possibile assegnare solo una variabile definita in modo simbolico .

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


602 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni IEC
27.9 Modifica dei valori numerici

Descrizione FC 38 STRNG_I
Con la funzione FC 38 è possibile convertire una stringa di caratteri in una variabile con formato INT.
Il primo carattere nella stringa di caratteri può essere un segno o una cifra, i caratteri successivi
devono essere costituiti da cifre. Se la lunghezza della stringa di caratteri è zero o maggiore di 6
oppure si trovano caratteri inammissibili nella stringa di caratteri, non avviene alcuna conversione e il
bit BIE viene azzerato. Se il risultato della conversione si trova fuori del campo numerico INT, il
risultato viene limitato al valore corrispondente e il risultato binario BIE viene azzerato.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


S INPUT STRING D, L Stringa di caratteri risultante
RET_VAL OUTPUT INT E, A, M, D, L Risultato

Per il parametro di ingresso è possibile assegnare solo una variabile definita in modo simbolico.

Descrizione FC 39 STRNG_R
Con la funzione FC 39 è possibile convertire una stringa di caratteri in una variabile con formato
REAL. La stringa di caratteri deve essere presente nel seguente formato:

±v.nnnnnnnE±xx ± Segno
v 1 Posizione prima della virgola
n 7 Posizioni dopo la virgola
x 2 Posizioni esponenti

Se la lunghezza della stringa di caratteri è minore di 14, oppure se non è strutturata come descritto
sopra, allora non avviene alcuna conversione ed il bit BIE viene azzerato. Se il risultato della
conversione è fuori del campo numerico REAL, il risultato viene limitato al valore corrispondente ed il
risultato binario BIE viene azzerato.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


S INPUT STRING D, L Stringa di caratteri di ingresso
RET_VAL OUTPUT REAL E, A, M, D, L Risultato

Per il parametro di ingresso è possibile assegnare solo una variabile definita in modo simbolico.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 603
Funzioni IEC
27.9 Modifica dei valori numerici

27.9 Modifica dei valori numerici

Descrizione FC 22 LIMIT
Con la funzione FC 22 è possibile limitare il valore numerico di una variabile a valori limite
parametrizzabili. Come valori di ingresso sono consentite variabili del tipo di dati INT, DINT e REAL .
Tutte le variabili parametrizzate devono presentare lo stesso tipo di dati. Il tipo di variabile viene
riconosciuto dal puntatore ANY. Il valore limite inferiore (parametro MN) deve essere minore del o
uguale al valore limite superiore (parametro MX).
Il valore di uscita rimane immutato ed il bit BIE viene azzerato, quando:
• una variabile parametrizzata ha un tipo di dati inammissibile,
• tutte le variabili parametrizzate non hanno tra loro lo stesso tipo di dati,
• il valore limite inferiore non è maggiore del valore limite superiore,
• una variabile REAL non rappresenta alcun numero in punto mobile valido.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


MN INPUT ANY E, A, M, D, L Limite inferiore
IN INPUT ANY E, A, M, D, L Variabile di ingresso
MX INPUT ANY E, A, M, D, L Limite superiore
RET_VAL OUTPUT ANY E, A, M, D, L Variabile di uscita limitata

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


604 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni IEC
27.9 Modifica dei valori numerici

Descrizione FC 25 MAX
Con la funzione FC 25 è possibile selezionare il maggiore di tre valori numerici di variabile. Come
valori di ingresso sono consentite variabili del tipo INT, DINT e REAL. Tutte le variabili
parametrizzate devono presentare lo stesso tipo di dati. Il tipo di variabile viene riconosciuto dal
puntatore ANY.
Il valore di uscita rimane immutato ed il bit BIE viene azzerato, quando:
• una variabile parametrizzata ha un tipo di dato inammissibile,
• tutte le variabili parametrizzate non hanno tra loro lo stesso tipo di dato,
• una variabile REAL non rappresenta alcun numero in punto mobile valido.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


IN1 INPUT ANY E, A, M, D, L Primo valore di ingresso
IN2 INPUT ANY E, A, M, D, L Secondo valore di ingresso
IN3 INPUT ANY E, A, M, D, L Terzo valore di ingresso
RET_VAL OUTPUT ANY E, A, M, D, L Il maggiore dei valori di
ingresso

Esempio in AWL

CALL FC 25
IN1 := P#M 10.0 DINT 1
IN2 := MD20
IN3 := P#DB1.DBX 0.0 DINT 1
RET_VAL := P#M 40.0 DINT 1
= M 0.0

Avvertenza
I tipi di dati ammessi INT, DINT e REAL devono essere riportati nel puntatore ANY. Sono anche
ammessi parametri come ”MD20”; a tal fine ”MD20” deve tuttavia essere definito in ”Simbolo” con il
tipo di dati corrispondente.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 605
Funzioni IEC
27.9 Modifica dei valori numerici

Descrizione FC 27 MIN
Con la funzione FC 27 è possibile selezionare il minore di tre valori numerici di variabile. Come valori
di ingresso sono consentite variabili del tipo INT, DINT e REAL. Tutte le variabili parametrizzabili
devono presentare lo stesso tipo di dati. Il tipo di variabile viene riconosciuto dal puntatore ANY.
Il valore di uscita rimane immutato ed il bit BIE viene azzerato, quando:
• una variabile parametrizzata ha un tipo di dati inammissibile,
• tutte le variabili parametrizzate non hanno tra loro lo stesso tipo di dati,
• una variabile REAL non rappresenta alcun numero in punto mobile valido.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


IN1 INPUT ANY E, A, M, D, L Primo valore di ingresso
IN2 INPUT ANY E, A, M, D, L Secondo valore di ingresso
IN3 INPUT ANY E, A, M, D, L Terzo valore di ingresso
RET_VAL OUTPUT ANY E, A, M, D, L Il minore dei valori di ingresso

Esempio in AWL

CALL FC 27
IN1 := P#M 10.0 DINT 1
IN2 := MD20
IN3 := P#DB1.DBX 0.0 DINT 1
RET_VAL = P#M 40.0 DINT 1
= M 0.0

Avvertenza
I tipi di dati ammessi INT, DINT e REAL devono essere riportati nel puntatore ANY. Sono anche
ammessi parametri come ”MD20”; a tal fine ”MD20” deve tuttavia essere definito in ”Simbolo” con il
tipo di dati corrispondente.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


606 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni IEC
27.9 Modifica dei valori numerici

Descrizione FC 36 SEL
Con la funzione FC 36 è possibile selezionare uno di due valori di variabile tramite un interruttore
(parametro G). Come valori di ingresso sui parametri IN0 e IN1 sono consentite variabili con tutti i tipi
di dati, corrispondenti alla larghezza di dati bit, byte, parola e doppia parola (non il tipo di dati DT e
STRING). Le due variabili di ingresso e la variabile di uscita devono presentare lo stesso tipo di dati.
Il valore di uscita rimane immutato e il bit BIE viene azzerato quando:
• una variabile parametrizzata ha un tipo di dati inammissibile,
• tutte le variabili parametrizzate tra loro non hanno lo stesso tipo di dati ,
• una variabile REAL non rappresenta un numero in punto mobile valido.

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


G INPUT BOOL E, A, M, D, L Selettore
IN0 INPUT ANY E, A, M, D, L Primo valore di ingresso
IN1 INPUT ANY E, A, M, D, L Secondo valore di ingresso
RET_VAL OUTPUT ANY E, A, M, D, L Valori di ingresso selezionati

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 607
Funzioni IEC
27.9 Modifica dei valori numerici

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


608 Manuale di riferimento, 04/2017, A5E41911986-AA
28 SFB per la regolazione integrata

28.1 Regolazione continua con l'SFB 41/FB 41 "CONT_C"

Introduzione
L'SFB/FB 41 "CONT_C" (continuous controller) consente di regolare processi tecnici con grandezze
di ingresso ed uscita continue per il sistema di automazione SIMATIC S7. Tramite la
parametrizzazione è possibile inserire o disinserire funzioni parziali del regolatore PID e adattarlo
così ai requisiti del sistema regolato. Quest’operazione può essere eseguita agevolmente con
l’ausilio del tool di parametrizzazione (richiamabile ad es. in Windows XP: da Start > Simatic > STEP
7 > Parametrizza PID Control). Il manuale elettronico di Windows XP, ad es. è accessibile da Start >
Simatic > Manuali S7 > PID Control tedesco.

Uso
Il regolatore può essere utilizzato come regolatore PID con setpoint fisso in regolazioni singole o a
più corse ripetute come regolatore in cascata, di miscela o di rapporto. Il modo di funzionamento si
basa sull'algoritmo di regolazione PID del regolatore digitale con segnale di uscita analogico,
eventualmente completato da un generatore di impulsi per la generazione di segnali di uscita
modulati alla durata dell'impulso per controlli a 2 o 3 punti con organi attuatori proporzionali.

Avvertenza
Il calcolo dei valori nei blocchi di regolazione è corretto solamente se il blocco viene richiamato a
intervalli regolari. Per questo motivo i blocchi di regolazione andrebbero richiamati in un OB di
allarme dall'orologio (OB 30 … OB 38). Il tempo di campionamento va indicato nel parametro
CYCLE.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 609
SFB per la regolazione integrata
28.1 Regolazione continua con l'SFB 41/FB 41 "CONT_C"

Descrizione
Oltre alle funzioni nel ramo del valore di riferimento e nel ramo del valore attuale, l'SFB realizza un
regolatore PID completo con uscita continua per grandezze controllanti e possibilità di
influenzamento manuale del valore controllante.
Segue la descrizione delle funzioni parziali:
Ramo del valore di riferimento
Il valore di riferimento viene introdotto sull'ingresso SP_INT in formato di virgola mobile.
Ramo del valore attuale
Il valore attuale può essere letto nel formato della periferia o in virgola mobile. La funzione CRP_IN
converte il valore di periferia PV_PER in un formato di virgola mobile da -100 ... +100 % secondo la
regola seguente:

100
Uscita di CPR_IN = PV_PER ∗
27648

La funzione PV_NORM normalizza l'uscita di CRP_IN secondo la regola seguente:

Uscita di PV_NORM = (uscita di CPR_IN) ∗ PV_FAC + PV_OFF

A PV_FAC è preassegnato 1 e a PV_OFF 0.

Formazione della deviazione di regolazione


Il risultato della differenza tra il valore di riferimento e il valore attuale è rappresentato dalla
deviazione di regolazione. Per sopprimere una piccola oscillazione continua causata da una
quantizzazione della grandezza controllante (ad es. con una modulazione di durata degli impulsi con
PULSEGEN) la deviazione di regolazione viene condotta attraverso una zona morta (DEADBAND).
Se DEADB_W = 0, la zona morta è disinserita.
Algoritmo PID
L'algoritmo PID opera con un algoritmo di posizione. Il componente proporzionale, integrale (INT) e
differenziale (DIF) sono collegati in parallelo e possono essere inseriti o disinseriti singolarmente. In
questo modo è possibile parametrizzare i regolatori P, PI, PD e PID. Anche i regolatori solo per I
sono possibili.
Elaborazione manuale dei valori
È possibile commutare tra il funzionamento manuale e quello automatico. Con il funzionamento
manuale, la grandezza controllante viene inseguita con un valore manuale.
L'integratore (INT) viene impostato internamente a LMN - LMN_P - DISV e il derivatore (DIF) a 0 e
quindi aggiustato internamente. La commutazione sul funzionamento automatico avviene quindi
senza urti.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


610 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per la regolazione integrata
28.1 Regolazione continua con l'SFB 41/FB 41 "CONT_C"

Elaborazione del valore controllante


Il valore controllante viene limitato con la funzione LMNLIMIT a valori preassegnabili. Il superamento
dei limiti da parte della dimensione di ingresso viene indicato in bit di segnalazione.
La funzione LMN_NORM normalizza l'uscita di LMNLIMIT secondo la regola seguente:

LMN = (uscita di LMNLIMIT) ∗ LMN_FAC + LMN_OFF

A LMN_FAC è preassegnato 1, a LMN_OFF 0.

Il valore controllante è anche disponibile in formato di periferia. La funzione CRP_OUT trasforma il


valore in virgola mobile LMN in un valore di periferia in base alla regola seguente:

27648
LMN_PER = LMN ∗
100

Inserzione segnale disturbo


All'ingresso DISV può essere inserito in modo aggiuntivo un segnale di disturbo.

Inizializzazione
L'SFB "CONT_C" dispone di una routine di inizializzazione che verrà eseguita quando il parametro di
ingresso COM_RST = TRUE è impostato.
Con l'inizializzazione, l'integratore viene impostato internamente sul valore di inizializzazione
I_ITVAL. Con un richiamo a livello di schedulazione orologio, esso continua ad operare a partire da
questo valore.
Tutte le altre uscite vengono impostate sui valori preassegnati corrispondenti.

Informazioni di errore
La parola di segnalazione di errore RET_VAL non viene utilizzata.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 611
SFB per la regolazione integrata
28.1 Regolazione continua con l'SFB 41/FB 41 "CONT_C"

Schema a blocchi

SP_INT

PVPER_ON
GAIN
PV_IN DEADBAND
0
+ X
CRP_IN PV_NORM
-
1
PV_PER DEADB_W
%
ER
PV_FAC, PV
PV_OFF

1 P_SEL
LMN_P

0.0
INT 0
I_SEL DISV
1
_
0.0 _
0
+ +
TI, INT_HOLD,
I_ITL_ON,
I_ITLVAL LMN_I

DIF 1

0.0
0
TD, TM_LAG LMN_D
D_SEL

QLMN_HLM
QLMN_LLM
MAN_ON LMN
MAN 1 LMNLIMIT LMN_NORM
CRP_OUT

% LMN_PER
0

LMN_HLM, LMN_FAC,
LMN_LLM LMN_OFF

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


612 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per la regolazione integrata
28.1 Regolazione continua con l'SFB 41/FB 41 "CONT_C"

Parametri di ingresso
La tabella seguente contiene i parametri di ingresso dell'SFB 41 "CONT_C".

Parametri Tipo di Campo dei valori Preasse- Descrizione


dati gnazione
COM_RST BOOL FALSE COMPLETE RESTART
Il blocco ha una routine di inizializzazione che viene
elaborata se l'ingresso COM_RST" è impostato.
MAN_ON BOOL TRUE MANUAL VALUE ON / Attiva funzionamento
manuale
Se l'ingresso "Attiva funzionamento manuale" è
impostato, il circuito di regolazione è interrotto.
Come valore controllante è predefinito un valore
manuale.
PVPER_ON BOOL FALSE PROCESS VARIABLE PERIPHERY ON / Attiva
valore attuale della periferia
Se il valore istantaneo deve essere letto dalla
periferia, l'ingresso PV_VER deve essere collegato
con la periferia e l'ingresso "Attiva valore attuale
della periferia" deve essere impostato.
P_SEL BOOL TRUE PROPORTIONAL ACTION ON / Attivare
componente P
Nell'algoritmo PID è possibile inserire e disinserire
singolarmente i componenti PID. Il componente P è
inserito se l'ingresso "Attivare componente P" è
impostato.
I_SEL BOOL TRUE INTEGRAL ACTION ON / Attiva componente I
Nell'algoritmo PID è possibile inserire e disinserire
singolarmente le parti PID. Il componente I è
inserito se l'ingresso "Attiva componente I" è
impostato.
INT_HOLD BOOL FALSE INTEGRAL ACTION HOLD / Congela
componente I
L'uscita dell'integratore può essere congelata. A
questo scopo, l'ingresso "Congela componente I"
deve essere impostato.
I_ITL_ON BOOL FALSE INITIALIZATION OF THE INTEGRAL ACTION /
Impostare componente I
L'uscita dell'integratore può essere settata
sull'ingresso I_ITL_VAL. A questo scopo, l'ingresso
"Impostare componente I" deve essere impostato.
D_SEL BOOL FALSE DERIVATIVE ACTION ON / Attiva componente D
Nell'algoritmo PID è possibile inserire e disinserire
singolarmente i componenti PID. Il componente D è
inserito se l'ingresso "Attiva componente D" è
impostato.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 613
SFB per la regolazione integrata
28.1 Regolazione continua con l'SFB 41/FB 41 "CONT_C"

Parametri Tipo di Campo dei valori Preasse- Descrizione


dati gnazione
CYCLE TIME >= 1ms T#1s SAMPLE TIME / Tempo di campionamento
Il tempo tra i richiami di blocco deve essere
costante. L'ingresso "Tempo di campionamento"
indica il tempo tra i richiami di blocco.
SP_INT REAL -100.0...100.0 (%) 0.0 INTERNAL SETPOINT / Valore prefissato interno
o grandezza fisica 1) L'ingresso "Valore prefissato interno" serve per la
preimpostazione di un valore prefissato.
PV_IN REAL -100.0...100.0 (%) 0.0 PROCESS VARIABLE IN / Ingresso valore attuale
o grandezza fisica 1) All'ingresso "Ingresso valore attuale" può essere
parametrizzato un valore di messa in servizio o può
essere collegato un valore attuale esterno in
formato di virgola mobile.
PV_PER WORD W#16#0000 PROCESS VARIABLE PERIPHERIE / Valore
attuale periferia
Il valore attuale nel formato della periferia viene
collegato con il regolatore all'ingresso "Valore
attuale periferia".
MAN REAL -100.0...100.0 (%) 0.0 MANUAL VALUE / Valore manuale
o grandezza fisica 2) L'ingresso "Valore manuale" serve per la
preimpostazione di un valore manuale tramite la
funzione di servizio e supervisione.
GAIN REAL 2.0 PROPORTIONAL GAIN / Coefficiente
proporzionale
L'ingresso "Coefficiente proporzionale" indica
l'amplificazione della regolazione.
TI TIME >= CYCLE T#20s RESET TIME / Tempo di integrazione
L'ingresso "Tempo di integrazione" determina il
comportamento temporale dell'integratore.
TD TIME >= CYCLE T#10s DERIVATIVE TIME / Tempo del derivatore
L'ingresso "Tempo del derivatore" determina il
comportamento temporale del derivatore.
TM_LAG TIME >= CYCLE/2 T#2s TIME LAG OF THE DERIVATE ACTION / Tempo
di ritardo del componente D
L'algoritmo del componente D contiene un ritardo
che può essere parametrizzato all'ingresso "Tempo
di ritardo del componente D".
DEADB_W REAL >= 0.0 (%) 0.0 DEAD BAND WIDTH / Ampiezza zona morta
o grandezza fisica 1) La deviazione di regolazione viene condotta
attraverso una zona morta. L'ingresso "Ampiezza
zona morta" determina la grandezza della zona
morta.
LMN_HLM REAL LMN_LLM ...100.0 100.0 MANIPULATED VALUE HIGH LIMIT / Valore
(%) controllante, limite superiore
o grandezza fisica 2) Il valore controllante viene sempre limitato da un
limite superiore e da uno inferiore. L'ingresso
"Valore controllante, limite superiore" indica il limite
superiore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


614 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per la regolazione integrata
28.1 Regolazione continua con l'SFB 41/FB 41 "CONT_C"

Parametri Tipo di Campo dei valori Preasse- Descrizione


dati gnazione
LMN_LLM REAL -100.0... LMN_HLM 0.0 MANIPULATED VALUE LOW LIMIT / Valore
(%) controllante, limite inferiore
o grandezza fisica 2) Il valore controllante viene sempre limitato da un
limite superiore e da uno inferiore. L'ingresso
"Valore controllante, limite inferiore" indica il limite
inferiore.
PV_FAC REAL 1.0 PROCESS VARIABLE FACTOR / Fattore del
valore attuale
L'ingresso "Fattore del valore attuale" viene
moltiplicato con il valore attuale. L'ingresso serve
per l'adattamento dell'area del valore attuale.
PV_OFF REAL 0.0 PROCESS VARIABLE OFFSET / Offset del valore
attuale
L'ingresso "Offset del valore attuale" viene
addizionato al valore attuale. L'ingresso serve per
l'adattamento dell'area del valore attuale.
LMN_FAC REAL 1.0 MANIPULATED VALUE FACTOR / Fattore del
valore controllante
L'ingresso "Fattore del valore controllante" viene
moltiplicato con il valore controllante. L'ingresso
serve per l'adattamento dell'area del valore
controllante.
LMN_OFF REAL 0.0 MANIPULATED VALUE OFFSET / Offset del
valore controllante
L'ingresso "Offset del valore controllante" viene
addizionato al valore controllante. L'ingresso serve
per l'adattamento dell'area del valore controllante.
I_ITLVAL REAL -100.0...100.0 (%) 0.0 INITIALIZATION VALUE OF THE INTEGRAL
o grandezza fisica 2) ACTION / Valore di inizializzazione per il
componente I
L'uscita dell'integratore può essere impostata
all'ingresso I_ITL_ON. All'ingresso "Valore di
inizializzazione per il componente I" c'è il valore di
inizializzazione.
DISV REAL -100.0...100.0 (%) 0.0 DISTURBANCE VARIABLE / Segnale di disturbo
o grandezza fisica 2) Per l'inserzione di un segnale di disturbo, il segnale
di disturbo viene collegato all'ingresso "Segnale di
disturbo".
1)
Parametro nel ramo del valore di riferimento, del valore attuale con la stessa unità
2)
Parametro nel ramo del valore di riferimento con la stessa unità

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 615
SFB per la regolazione integrata
28.1 Regolazione continua con l'SFB 41/FB 41 "CONT_C"

Parametri di uscita
La tabella seguente contiene i parametri di uscita dell'SFB 41 "CONT_C".

Parametri Tipo di Campo dei valori Preasse- Descrizione


dati gnazione
LMN REAL 0.0 MANIPULATED VALUE / Valore controllante
All'uscita "Valore controllante" viene emesso il
valore controllante effettivo nel formato in virgola
mobile.
LMN_PER WORD W#16#0000 MANIPULATED VALUE PERIPHERY / Valore
controllante periferia
Il valore controllante nel formato periferia viene
collegato con il regolatore all'uscita "Valore
controllante periferia".
QLMN BOOL FALSE HIGH LIMIT OF MANIPULATED VALUE
_HLM REACHED / Intervento limite superiore del valore
controllante
Il valore controllante viene sempre limitato da un
limite superiore e da uno inferiore. L'uscita
"Intervento del limite superiore del valore
controllante" segnala che è stato superato il limite
superiore.
QLMN_LLM BOOL FALSE LOW LIMIT OF MANIPULATED VALUE
REACHED /Intervento limite inferiore del valore
controllante
Il valore controllante viene sempre limitato da un
limite superiore e da uno inferiore. L'uscita
"Intervento del limite inferiore del valore
controllante" segnala che si è al di sotto del limite
inferiore.
LMN_P REAL 0.0 PROPORTIONALITY COMPONENT /
Componente P
L'uscita "Componente P" contiene la quota
proporzionale della grandezza controllante.
LMN_I REAL 0.0 INTEGRAL COMPONENT / Componente I
L'uscita "Componente I" contiene la quota integrale
della grandezza controllante.
LMN_D REAL 0.0 DERIVATIVE COMPONENT / Componente D
L'uscita "Componente D" contiene la quota
differenziale della grandezza controllante.
PV REAL 0.0 PROCESS VARIABLE / Valore attuale
Il valore attuale effettivo viene emesso all'uscita
"Valore attuale".
ER REAL 0.0 ERROR SIGNAL / Deviazione di regolazione
Il valore efficace della deviazione di regolazione
viene emesso all'uscita "Deviazione di
regolazione".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


616 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per la regolazione integrata
28.2 Regolazione a passi con l'SFB 42/FB 42 "CONT_S"

28.2 Regolazione a passi con l'SFB 42/FB 42 "CONT_S"

Introduzione
L'SFB/FB 42 "CONT_S" (step controller) serve per il controllo di processi tecnici con segnali di uscita
per valori controllanti binari per organi attuatori integranti del sistema di automazione SIMATIC S7.
Tramite la parametrizzazione è possibile inserire o disinserire funzioni parziali del regolatore a passi
PI e adattarlo così ai requisiti del sistema regolato.

Uso
Il regolatore può essere utilizzato singolarmente come regolatore PI con setpoint fisso o in loop di
sottoregolazione come regolatore in cascata, di miscela o di rapporto, ma non come regolatore
pilota. Il modo di funzionamento si basa sull'algoritmo di regolazione PI del regolatore digitale a
campionamento e viene completato dagli organi di funzione per la generazione del segnale di uscita
binario dal segnale di regolazione analogico.
Dalla V1.5 dell'FB e dalla V1.1.0 della CPU 314 IFM vale quanto segue:
Con TI = T#0ms è possibile disattivare il componente I del regolatore. In questo modo il blocco può
essere utilizzato come regolatore P.
Poiché il regolatore lavora senza segnalazione di risposta di posizione, la grandezza di regolazione
impostata internamente non coincide esattamente con la posizione del regolatore. Viene effettuato
un confronto quando la grandezza (ER * GAIN) diventa negativa. Quindi il regolatore imposta
l'uscita QLMNDN (segnale del valore di regolazione basso) finché viene impostato LMNR_LS
(segnale di arresto inferiore della segnalazione di risposta di posizione).
Il regolatore può anche essere impiegato in una struttura a cascata come regolatore sottoordinato.
Attraverso l'ingresso del valore di riferimento SP_INT viene predefinita la posizione del regolatore. In
questo caso l'ingresso del valore attuale e il parametro TI (tempo di integrazione) vengono azzerati.
Un esempio di applicazione pratica è p. es. la regolazione della temperatura con regolazione della
potenza calorifica tramite comando impulso-pausa e regolazione della potenza di raffreddamento
tramite una valvola a farfalla. Per chiudere completamente la valvola, la grandezza di regolazione
(ER * GAIN) dovrebbe diventare negativa.

Avvertenza
Il calcolo dei valori nei blocchi di regolazione è corretto solamente se il blocco viene richiamato a
intervalli regolari. Per questo motivo i blocchi di regolazione andrebbero richiamati in un OB di
allarme dall'orologio (OB 30 … OB 38). Il tempo di campionamento va indicato nel parametro
CYCLE.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 617
SFB per la regolazione integrata
28.2 Regolazione a passi con l'SFB 42/FB 42 "CONT_S"

Descrizione
Oltre alle funzioni nel ramo del valore attuale, l'SFB realizza un regolatore PI completo con uscita
binaria per valori controllanti e possibilità di influenzamento manuale del valore controllante. Il
regolatore a passi opera senza segnalazione di risposta di posizione.
Sono disponibili le seguenti funzioni parziali:
Ramo del valore di riferimento
Il valore di riferimento viene introdotto sull'ingresso SP_INT nel formato in virgola mobile.
Ramo del valore attuale
Il valore attuale può essere letto nel formato della periferia o in virgola mobile. La funzione CRP_IN
converte il valore di periferia PV_PER in un formato di virgola mobile da -100 ... +100 % secondo la
regola seguente:

100
Uscita di CPR_IN = PV_PER ∗
27648

La funzione PV_NORM normalizza l'uscita di CRP_IN secondo la regola seguente:

Uscita di PV_NORM = (uscita di CPR_IN) ∗ PV_FAC + PV_OFF

A PV_FAC è preassegnato 1 e a PV_OFF 0.


Formazione della deviazione di regolazione
Il risultato della differenza tra il valore di riferimento e il valore attuale è rappresentato dalla
deviazione di regolazione. Per sopprimere una piccola oscillazione continua causata da una
quantizzazione della grandezza controllante una risoluzione limitata del valore controllante tramite la
valvola di regolazione) la deviazione di regolazione viene condotta attraverso una zona morta
(DEADBAND). Se DEADB_W = 0, la zona morta è disinserita.
Algoritmo di passo PI
L'SFB lavora senza segnalazione di risposta di posizione. Il componente I dell'algoritmo PI e la
segnalazione di risposta di posizione prevista vengono calcolati in un unico integratore (INT) e
confrontati sotto forma di valore di ritorno con il componente P rimasto. La differenza va ad un
regolatore a tre punti (THREE_ST) e un generatore di impulsi (PULSEOUT) che genera gli impulsi
per la valvola di regolazione. La frequenza delle manovre del regolatore viene ridotta mediante un
adattamento della soglia di risposta del regolatore a 3 punti.
Inserzione segnale disturbo
All'ingresso DISV può essere inserito in modo aggiuntivo un segnale di disturbo.

Inizializzazione
L'SFB "CONT_S" dispone di una routine di inizializzazione che verrà eseguita quando il parametro di
ingresso COM_RST = TRUE è impostato.
Tutte le uscite vengono impostate ai valori preassegnati corrispondenti.

Informazioni di errore
La parola di segnalazione di errore RET_VAL non viene utilizzata.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


618 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per la regolazione integrata
28.2 Regolazione a passi con l'SFB 42/FB 42 "CONT_S"

Schema a blocchi

SP_INT

PVPER_ON
GAIN
PV_IN DEADBAND
0 + X
CRP_IN PV_NORM
-
1
PV_PER DEADB_W
%
ER
PV_FAC PV
PV_OFF

INT LMNLIMIT
LMNR_HS
LMNR_SIM
LMNR_LS

LMNRS_ON, 100.0 ,
LMNUP LMNRSVAL 0.0
LMNDN
LMNS_ON
1 PULSEOUT QLMNUP
DISV THREE_ST AND
0 AND
adapt

+ 1 QLMNDN
AND AND
-
1
MTR_TM 0 PULSE_TM, 100.0
BREAK_TM 0
0.0
1 +
-100.0
0
0.0
OR 1/MTR_TM X
LMNS_ON
1 INT +
0.0

1/TI 0
1 -
0.0
X 0

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 619
SFB per la regolazione integrata
28.2 Regolazione a passi con l'SFB 42/FB 42 "CONT_S"

Parametri di ingresso
La tabella seguente contiene i parametri di ingresso dell'SFB 42 "CONT_S".

Parametri Tipo di Campo dei valori Preasse- Descrizione


dati gnazione
COM_RST BOOL FALSE COMPLETE RESTART
Il blocco ha una routine di inizializzazione che viene
elaborata se l'ingresso "Nuovo avviamento" è
impostato.
LMNR_HS BOOL FALSE HIGH LIMIT SIGNAL OF REPEATED
MANIPULATED VALUE / Segnale di arresto
superiore della segnalazione di risposta di
posizione
Il segnale "Valvola di regolazione al limite
superiore" viene collegato all'ingresso "Segnale di
arresto superiore della segnalazione di risposta di
posizione". LMNR_HS = TRUE vuol dire: la valvola
di regolazione si trova al limite superiore.
LMNR_LS BOOL FALSE LOW LIMIT SIGNAL OF REPEATED
MANIPULATED VALUE / Segnale di arresto
inferiore della segnalazione di risposta di posizione
Il segnale "Valvola di regolazione al limite inferiore"
viene collegato all'ingresso "Segnale di arresto
inferiore della segnalazione di risposta di
posizione". LMNR_LS = TRUE vuol dire: la valvola
di regolazione si trova al limite inferiore.
LMNS_ON BOOL FALSE MANIPULATED SIGNALS ON / Inserire
funzionamento manuale dei segnali del valori
controllante
All'ingresso "Funzionamento manuale dei segnali
del valore controllante" l'elaborazione dei segnali
del valore controllante viene commutata sul
funzionamento manuale.
LMNUP BOOL FALSE MANIPULATED SIGNALS UP / Segnale del valore
controllante, alto
Nel funzionamento manuale dei segnali del valore
controllante, il segnale di uscita QLMNUP viene
comandato all'ingresso "Segnale del valore
controllante, alto".
LMNDN BOOL FALSE MANIPULATED SIGNALS DOWN / Segnale del
valore controllante, basso
Nel funzionamento manuale dei segnali del valore
controllante, il segnale di uscita QLMNDN viene
comandato all'ingresso "Segnale del valore
controllante, basso".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


620 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per la regolazione integrata
28.2 Regolazione a passi con l'SFB 42/FB 42 "CONT_S"

Parametri Tipo di Campo dei valori Preasse- Descrizione


dati gnazione
PVPER_ON BOOL FALSE PROCESS VARIABLE PERIPHERY ON / Attivare
valore attuale della periferia
Se il valore attuale deve essere letto dalla periferia,
l'ingresso PV_VER deve essere collegato con la
periferia e l'ingresso "Attiva valore attuale della
periferia" deve essere impostato.
CYCLE TIME >= 1ms T#1s SAMPLE TIME / Tempo di campionamento
Il tempo tra i richiami di blocco deve essere
costante. L'ingresso "Tempo di campionamento"
indica il tempo tra i richiami di blocco.
SP_INT REAL -100.0...100.0 (%) 0.0 INTERNAL SETPOINT / Valore di riferimento
o grandezza fisica 1) interno
L'ingresso "Valore di riferimento interno" serve per
la preimpostazione di un valore di riferimento.
PV_IN REAL -100.0...100.0 (%) 0.0 PROCESS VARIABLE IN / Ingresso valore attuale
o grandezza fisica 1 All'ingresso "Ingresso valore attuale" può essere
parametrizzato un valore di messa in servizio o può
essere collegato un valore attuale esterno in
formato di virgola mobile.
PV_PER WORD W#16#0000 PROCESS VARIABLE PERIPHERIE / Valore
attuale periferia
Il valore attuale nel formato della periferia viene
collegato con il regolatore all'ingresso "Valore
attuale periferia".
GAIN REAL 2.0 PROPORTIONAL GAIN / Coefficiente
proporzionale
L'ingresso "Coefficiente proporzionale" indica
l'amplificazione della regolazione.
TI TIME >= CYCLE T#20s RESET TIME / Tempo di integrazione
L'ingresso "Tempo di integrazione" determina il
comportamento temporale dell'integratore.
DEADB_W REAL 0.0...100.0 (%) 1.0 DEAD BAND WIDTH / Ampiezza zona morta
o grandezza fisica 1 La deviazione di regolazione viene condotta
attraverso una zona morta. L'ingresso "Ampiezza
zona morta" determina la grandezza della zona
morta.
PV_FAC REAL 1.0 PROCESS VARIABLE FACTOR / Fattore del
valore attuale
L'ingresso "Fattore del valore attuale" viene
moltiplicato con il valore attuale. L'ingresso serve
per l'adattamento dell'area del valore attuale.
PV_OFF REAL 0.0 PROCESS VARIABLE OFFSET / Offset del valore
attuale
L'ingresso "Offset del valore attuale" viene
addizionato al valore attuale. L'ingresso serve per
l'adattamento dell'area del valore attuale.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 621
SFB per la regolazione integrata
28.2 Regolazione a passi con l'SFB 42/FB 42 "CONT_S"

Parametri Tipo di Campo dei valori Preasse- Descrizione


dati gnazione
PULSE_TM TIME >= CYCLE T#3s MINIMUM PULSE TIME / Durata minima
dell'impulso
Sul parametro "Durata minima dell'impulso" può
essere parametrizzata una lunghezza minima
dell'impulso.
BREAK_TM TIME >= CYCLE T#3s MINIMUM BREAK TIME / Durata minima della
pausa
Sul parametro "Durata minima della pausa" può
essere parametrizzata una lunghezza minima per
una pausa.
MTR_TM TIME >= CYCLE T#30s MOTOR MANIPULATED VALUE / Tempo di
regolazione motore
Al parametro "Tempo di regolazione motore" viene
registrato il tempo di esecuzione della valvola di
regolazione da picco a picco.
DISV REAL -100.0...100.0 (%) 0.0 DISTURBANCE VARIABLE / Segnale di disturbo
o grandezza fisica 2 Per l'inserzione di un segnale di disturbo, il segnale
di disturbo viene collegato all'ingresso "Segnale di
disturbo".
1)
Parametro nel ramo del valore di riferimento, del valore attuale con la stessa unità
2)
Parametro nel ramo del valore controllante con la stessa unità

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


622 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per la regolazione integrata
28.2 Regolazione a passi con l'SFB 42/FB 42 "CONT_S"

Parametri di uscita
La tabella seguente contiene i parametri di uscita dell'SFB 42 "CONT_S".

Parametri Tipo di Campo dei valori Preasse- Descrizione


dati gnazione
QLMNUP BOOL FALSE MANIPULATED SIGNAL UP / Segnale del valore
controllante, alto
Se l'uscita "Segnale controllante, alto" è impostata,
la valvola di regolazione deve essere aperta.
QLMNDN BOOL FALSE MANIPULATED SIGNAL DOWN / Segnale del
valore controllante, basso
Se l'uscita "Segnale controllante, basso" è
impostata, la valvola di regolazione deve essere
chiusa.
PV REAL 0.0 PROCESS VARIABLE / Valore attuale
Il valore efficace attuale viene emesso all'uscita
"Valore attuale".
ER REAL 0.0 ERROR SIGNAL / Deviazione di regolazione
Il valore efficace della deviazione di regolazione
viene emesso all'uscita "Deviazione di
regolazione".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 623
SFB per la regolazione integrata
28.3 Formazione di impulsi con l'SFB 43/FB 43 "PULSEGEN"

28.3 Formazione di impulsi con l'SFB 43/FB 43 "PULSEGEN"

Introduzione
L'SFB/FB 43 "PULSEGEN" (pulse generator) serve per la creazione di un regolatore PID con uscita
a impulsi per organi attuatori proporzionali.
Il manuale elettronico è disponibile in Avvio > Simatic > Documentazione > Italiano > STEP7-PID
Control

Uso
Con l'SFB "PULSEGEN" è possibile creare regolatori PID a 2 o 3 punti con modulazione della durata
di impulso. La funzione viene usata di solito in collegamento con il regolatore continuo "CONT_C".

CONT_C PULSEGEN
LMN INV

Avvertenza
Il calcolo dei valori nei blocchi di regolazione è corretto solamente se il blocco viene richiamato a
intervalli regolari. Per questo motivo i blocchi di regolazione andrebbero richiamati in un OB di
allarme dall'orologio (OB 30 … OB 38). Il tempo di campionamento va indicato nel parametro
CYCLE.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


624 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per la regolazione integrata
28.3 Formazione di impulsi con l'SFB 43/FB 43 "PULSEGEN"

Descrizione
La funzione PULSEGEN trasforma la grandezza di ingresso INV (= LMN del regolatore PID) tramite
modulazione della durata degli impulsi in una sequenza di impulsi con periodo costante che
corrisponde al tempo di ciclo con cui viene aggiornata la grandezza di ingresso e che deve essere
parametrizzata in PER_TM.
La durata di un impulso per periodo è proporzionale alla grandezza di ingresso. Il ciclo
parametrizzato tramite PER_TM non è uguale al ciclo di elaborazione dell'SFB "PULSEGEN". Infatti,
un ciclo PER_TM è formato da più cicli di elaborazione dell'SFB "PULSEGEN" e il numero dei
richiami dell'SFB "PULSEGEN" per ciclo PER_TM rappresenta il grado di precisione della
modulazione della durata dell'impulso.

INV 100
(LMN) 80

50
50
30

0 t

QPOS_P
1

0 t
Ciclo PULSEGEN
PER_TM (=Ciclo CONT_C)

Una grandezza di ingresso 30% e 10 richiami SFB "PULSEGEN" per ogni PER_TM significano
perciò:
• "uno" sull'uscita QPOS per i primi tre richiami dell'SFB "PULSEGEN (30% di 10 richiami)
• "zero" sull'uscita QPOS per sette altri richiami dell'SFB "PULSEGEN" (70% di 10 richiami)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 625
SFB per la regolazione integrata
28.3 Formazione di impulsi con l'SFB 43/FB 43 "PULSEGEN"

Schema a blocchi

POS_P_ON
NEG_P_ON
SYN_ON
STEP3_ON
MAN_ON
ST2BI_ON
1
# _
_
_ QPOS_P
INV _ QNEG_P
_
_
0

PER_TM,
P_B_TM,
RATIOFAC

Precisione del valore controllante


In questo esempio, a causa di un "rapporto di campionamento" di 1:10 (richiami CONT_C rispetto
richiami PULSEGEN) la precisione del valore controllante è limitata al 10%, cioè, i valori di ingresso
preassegnati INV possono essere riportati all'uscita QPOS a griglia del 10% rispetto alla lunghezza
dell'impulso.
In maniera conforme, il grado di precisione aumenta con il numero dei richiami SFB "PULSEGEN"
per ogni richiamo CONT_C.
Se ad esempio, PULSEGEN viene richiamato 100 volte più spesso di CONT_C, si raggiunge una
risoluzione dell'1% dell'area del valore controllante.

Avvertenza
La scansione della frequenza di richiamo deve essere programmata dall'utente.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


626 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per la regolazione integrata
28.3 Formazione di impulsi con l'SFB 43/FB 43 "PULSEGEN"

Sincronizzazione automatica
Sussiste la possibilità di sincronizzare automaticamente l'emissione degli impulsi con il blocco che
aggiorna la grandezza di ingresso INV (ad esempio CONT_C). In questo modo si garantisce il fatto
che una grandezza di ingresso che cambia venga emessa al più presto possibile come impulso.
Il generatore di impulsi valuta sempre nell'intervallo di tempo del periodo PER_TM la grandezza di
ingresso INV e converte il valore in un segnale di impulso della lunghezza corrispondente.
Dato però che INV di solito viene calcolato in un livello di schedulazione orologio più lento, il
generatore di impulsi dovrebbe cominciare al più presto dopo l'aggiornamento di INV con la
conversione del valore digitale in un segnale di impulso.
Il blocco può sincronizzare l'inizio del periodo secondo il seguente procedimento:
se INV è modificato e il richiamo di blocco non si trova né nel primo né negli ultimi due cicli di richiamo
di un periodo, la sincronizzazione viene eseguita. La durata dell'impulso viene calcolata di nuovo e si
comincia con l'emissione al prossimo ciclo con un nuovo periodo.

LMN = INV = 30.0 LMN = INV = 80.0 LMN = INV = 50.0


L'elaborazione di CONT_C ....
t

Ciclo di CONT_C

Start periodo

1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1
....
t

PER_TM PER_TM
CICLO di
PULSEGEN Sincronizzazione dello Nessuna sincronizzazione
start periodo necessaria

PULSEGEN identifica: INV è cam PULSEGEN identifica: INV è cambiato in


biato e il richiamo non si trova nel 80.0 o 50.0 e il richiamo si trova nel primo
primo o negli ultimi due cicli del pe o negli ultimi due cicli del periodo
riodo

Elaborazione di PULSEGEN Elaborazione di PULSEGEN nel primo o negli ultimi


due cicli del periodo

La sincronizzazione automatica può essere disinserita all'ingresso "SYN_ON" (=FALSE).

Avvertenza
Con l'inizio del nuovo periodo, il vecchio valore di INV (cioè di LMN) viene riportato a
sincronizzazione terminata più o meno esattamente al segnale di impulso.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 627
SFB per la regolazione integrata
28.3 Formazione di impulsi con l'SFB 43/FB 43 "PULSEGEN"

Tipi di funzionamento
A seconda della parametrizzazione del generatore di impulsi, i regolatori PID possono essere
configurati a tre punti o con un'uscita a due punti bipolare o unipolare. La tabella seguente illustra
l'impostazione delle combinazioni degli interruttori per i vari tipi di funzionamento possibili.

Tipo di funzionamento MAN_ON STEP3_ON ST2BI_ON


Regolazione a tre punti FALSE TRUE a scelta
Regolazione a due punti con area di FALSE FALSE TRUE
regolazione bipolare (-100% ... +100%)
Regolazione a due punti con area di FALSE FALSE FALSE
regolazione unipolare (0% ... +100%)
Funzionamento manuale TRUE a scelta a scelta

Regolazione a tre punti


Nel tipo di funzionamento "Regolazione a tre punti", possono essere creati tre stati del segnale di
regolazione. A questo scopo, i valori di stato dei segnali binari di uscita QPOS_P e QNEG_P
vengono attribuiti ai relativi stati di funzionamento dell'organo attuatore: la tabella illustra l'esempio di
una regolazione di temperatura:

Segnali di uscita Riscaldamento off Raffreddamento


QPOS_P TRUE FALSE FALSE
QNEG_P FALSE FALSE TRUE

Dalla grandezza di ingresso viene calcolata la durata dell'impulso mediante una curva caratteristica.
La forma di questa curva caratteristica viene definita dalla durata minima dell'impulso ovvero dalla
durata della pausa e dal fattore di rapporto.
Il valore normale per il fattore di rapporto è 1.
Le flessioni sulle curve caratteristiche sono causate dalla durata minima dell'impulso o della pausa.
Durata minima dell'impulso o della pausa
Se la durata minima dell'impulso o della pausa P_B_TM è parametrizzata in modo corretto, è
possibile evitare tempi di attivazione e disattivazione brevi, i quali compromettono la durata di attività
di organi comando e dispositivi di regolazione.

Avvertenza
I valori assoluti di piccola entità della grandezza di ingresso LMN, i quali potrebbero generare una
durata dell'impulso minore di P_B_TM vengono soppressi. I valori di ingresso di grande entità
invece, che potrebbero generare una durata dell'impulso maggiore di PER_TM - P_B_TM), vengono
impostati a 100% o -100%.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


628 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per la regolazione integrata
28.3 Formazione di impulsi con l'SFB 43/FB 43 "PULSEGEN"

La durata degli impulsi positivi o negativi si calcola dalla grandezza di ingresso (in %) moltiplicata
per il periodo:

Dur. dell'impulso INV ∗ PER_TM


= 100

La figura sottostante illustra una linea caratteristica simmetrica del regolatore a tre punti
(fattore proporzionale = 1).

Durata dell'im- On permanente


pulso positivo
PER_TM
PER_TM - P_B_TM

P_B_TM
-100 %

100 %
Off permanente

Durata dell'impulso negativo

Regolazione a tre punti, asimmetrica


Il rapporto della durata degli impulsi positivi rispetto a quelli negativi può essere modificata tramite il
fattore di rapporto RATIOFAC. In caso di un processo termico ad esempio, è possibile tener conto di
costanti di tempo del sistema regolato differenti per il riscaldamento e il raffreddamento.
Il fattore di rapporto influenza anche la durata minima dell'impulso e della pausa. Un fattore di
rapporto < 1 significa che il valore di intervento per gli impulsi negativi viene moltiplicato con il fattore
di rapporto.
Fattore di rapporto < 1
La durata dell'impulso all'uscita negativa calcolata dalla grandezza di ingresso moltiplicata per il
periodo viene ridotta del fattore di rapporto (vedere figura seguente).

INV
Dur. dell'impulso pos. = ∗ PER_TM
100

INV
Dur. dell'impulso neg. = ∗ PER_TM ∗ RATIOFAC
100

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 629
SFB per la regolazione integrata
28.3 Formazione di impulsi con l'SFB 43/FB 43 "PULSEGEN"

La figura sottostante illustra una linea caratteristica asimmetrica del regolatore a tre punti
(fattore proporzionale = 0.5).

Durata dell'im-
pulso positivo
PER_TM
PER_TM – P_B_TM

-200% P_B_TM

P_B_TM 100%

PER_TM – P_B_TM
PER_TM
Durata dell'impulso negativo

Fattore di rapporto > 1


La durata dell'impulso all'uscita positiva calcolata dalla grandezza di ingresso moltiplicata per il
periodo viene ridotta del fattore di rapporto:

INV
Dur. dell'impulso neg. = ∗ PER_TM
100

INV PER_TM
Dur. dell'impulso pos. = ∗
100 RATIOFAC

Regolazione a due punti


Con la regolazione a due punti viene collegata solo l'uscita a impulso QPOS_P di PULSEGEN con il
relativo l'organo attuatore di accensione/spegnimento. A seconda dell'area del valore controllante
utilizzata, il regolatore a due punti ha un'area del valore controllante bipolare o unipolare.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


630 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per la regolazione integrata
28.3 Formazione di impulsi con l'SFB 43/FB 43 "PULSEGEN"

Regolazione a due punti con area del valore controllante bipolare (-100%...100%)

Durata dell'impulso positivo On permanente


PER_TM
PER_TM - P_B_TM

Off permanente
P_B_TM

-100.0 % 0.0 % 100.0 %

Regolazione a due punti con area del valore controllante unipolare (0%...100%)

Durata dell'impulso positivo

PER_TM
PER_TM - P_B_TM

P_B_TM

0.0 % 100.0 %

QNEG_P ha a disposizione il segnale di uscita negato, se il collegamento del regolatore a due punti
nel loop di regolazione richiede un segnale binario logico inverso per gli impulsi di regolazione.

Impulso Organo attuatore Off


On
QPOS_P TRUE FALSE
QNEG_P FALSE TRUE

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 631
SFB per la regolazione integrata
28.3 Formazione di impulsi con l'SFB 43/FB 43 "PULSEGEN"

Funzionamento manuale per la regolazione a due o tre punti


Con il funzionamento manuale (MAN_ON = TRUE), è possibile impostare le uscite binarie del
regolatore a due o tre punti mediante i segnali POS_P_ON e NEG_P_ON indipendentemente da
INV.

Regolazione POS_P_ON NEG_P_ON QPOS_P QNEG_P


Regolazione a tre punti FALSE FALSE FALSE FALSE
TRUE FALSE TRUE FALSE
FALSE TRUE FALSE TRUE
TRUE TRUE FALSE FALSE
Regolazione a due punti FALSE a scelta FALSE TRUE
TRUE a scelta TRUE FALSE

Inizializzazione
L'SFB "PULSEGEN" dispone di una routine di inizializzazione che verrà eseguita quando il
parametro di ingresso COM_RST = TRUE è impostato.
Tutte le uscite di segnale vengono impostate a zero.

Informazioni di errore
La parola di segnalazione di errore RET_VAL non viene utilizzata.

Parametri di ingresso

Parametri Tipo di Campo dei valori Preasse- Descrizione


dati gnazione
INV REAL -100.0...100.0 (%) 0.0 INPUT VARIABLE / Variabile di ingresso
Al parametro di ingresso "Variabile di ingresso"
viene inserita una grandezza analogica del valore
controllante.
PER_TM TIME >=20*CYCLE T#1s PERIOD TIME / Periodo
Al parametro di ingresso "Periodo" viene introdotto
il periodo costante della modulazione di durata
dell'impulso. Questa corrisponde al tempo di
campionamento del regolatore. Il rapporto tra il
tempo di campionamento del generatore di impulsi
e il tempo di campionamento del regolatore
determina la precisione della modulazione di
durata dell'impulso.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


632 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per la regolazione integrata
28.3 Formazione di impulsi con l'SFB 43/FB 43 "PULSEGEN"

Parametri Tipo di Campo dei valori Preasse- Descrizione


dati gnazione
P_B_TM TIME >= CYCLE T#0ms MINIMUM PULSE/BREAK TIME / Durata minima
dell'impulso o della pausa
Sul parametro di ingresso "Durata minima
dell'impulso o della pausa" può essere
parametrizzata una lunghezza minima di impulso o
di pausa.
RATIOFAC REAL 0.1 ...10.0 1.0 RATIO FACTOR / fattore di rapporto
Con il parametro di ingresso "Fattore di rapporto" è
possibile modificare il rapporto della durata di
impulsi negativi in impulsi positivi. In un processo
termico è possibile compensare differenti costanti
di tempo per uso riscaldamento o raffreddamento
(ad esempio, un processo con riscaldamento
elettrico e raffreddamento ad acqua).
STEP3_ON BOOL TRUE THREE STEP CONTROL ON / Inserire
regolazione a tre punti
Sul parametro di ingresso "Inserire regolazione a
tre punti" viene attivato il tipo di funzionamento
corrispondente. Con la regolazione a tre punti sono
operativi entrambi i segnali di uscita.
ST2BI_ON BOOL FALSE TWO STEP CONTROL FOR BIPOLAR
MANIPULATED VALUE RANGE ON / Inserire
regolazione a due punti per area bipolare del valore
controllante
Al parametro di ingresso "Inserire regolazione a
due punti per area bipolare del valore controllante"
si può scegliere tra il tipo di funzionamento
"Regolazione a due punti per area bipolare del
valore controllante" e "Regolazione a due punti per
area unipolare del valore controllante". Qui deve
essere STEP3_ON = FALSE.
MAN_ON BOOL FALSE MANUAL MODE ON / Inserire funzionamento
manuale
Con l'impostazione del parametro di ingresso
"Inserire funzionamento manuale" è possibile
impostare manualmente i segnali di uscita.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 633
SFB per la regolazione integrata
28.3 Formazione di impulsi con l'SFB 43/FB 43 "PULSEGEN"

Parametri Tipo di Campo dei valori Preasse- Descrizione


dati gnazione
POS_P_ON BOOL FALSE POSITIVE PULSE ON / Inserimento impulso
positivo
Con il funzionamento manuale regolazione a tre
punti, è possibile controllare sul parametro di
ingresso "Inserimento impulso positivo" il segnale
di uscita QPOS_P . Con il funzionamento manuale
regolazione a due punti, QNEG_P viene impostato
sempre inverso a QPOS_P.
NEG_P_ON BOOL FALSE NEGATIVE PULSE ON / Inserimento impulso
negativo
Con il funzionamento manuale regolazione a tre
punti, è possibile controllare sul parametro di
ingresso "Inserimento impulso negativo" il segnale
di uscita QNEG_P. Con il funzionamento manuale
regolazione a due punti, QNEG_P viene impostato
sempre inverso a QPOS_P.
SYN_ON BOOL TRUE SYNCHRONISATION ON / Inserire
sincronizzazione
Con l'impostazione del parametro di ingresso
"Inserire sincronizzazione", sussiste la possibilità di
sincronizzare automaticamente l'emissione degli
impulsi con il blocco che aggiorna la grandezza di
ingresso INV. In questo modo si garantisce che una
grandezza di ingresso che cambia venga emessa
al più presto possibile come impulso.
COM_RST BOOL FALSE COMPLETE RESTART
Il blocco ha una routine di inizializzazione che viene
elaborata se l'ingresso COM_RST è impostato.
CYCLE TIME >= 1ms T#10ms SAMPLE TIME / Tempo di campionamento
Il tempo tra i richiami di blocco deve essere
costante. L'ingresso "Tempo di campionamento"
indica il tempo tra i richiami di blocco.

Avvertenza
Nel blocco, i valori dei parametri di ingresso non vengono limitati. Non ha luogo una verifica dei
parametri.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


634 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per la regolazione integrata
28.3 Formazione di impulsi con l'SFB 43/FB 43 "PULSEGEN"

Parametri di uscita

Parametri Tipo di Campo dei valori Preasse- Descrizione


dati gnazione
QPOS_P BOOL FALSE OUTPUT POSITIVE PULSE / Segnale di uscita
impulso positivo
Se deve essere emesso un impulso, il parametro di
uscita "Segnale di uscita impulso positivo" è
impostato. Con la regolazione a tre punti si tratta
dell'impulso positivo. Con la regolazione a due
punti, QNEG_P viene impostato sempre inverso a
QPOS_P.
QNEG_P BOOL FALSE OUTPUT NEGATIVE PULSE / Segnale di uscita
impulso negativo
Se deve essere emesso un impulso, il parametro di
uscita "Segnale di uscita impulso negativo" è
impostato. Con la regolazione a tre punti si tratta
dell'impulso negativo. Con la regolazione a due
punti, QNEG_P viene impostato sempre inverso a
QPOS_P.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 635
SFB per la regolazione integrata
28.4 Esempio con un blocco PULSEGEN

28.4 Esempio con un blocco PULSEGEN

Loop di regolazione
Con il regolatore continuo CONT_C ed il generatore di impulsi PULSEGEN può essere realizzato un
regolatore con setpoint fisso con uscita a commutazione per organi attuatori proporzionali. La figura
seguente descrive lo svolgimento principale del segnale del loop di regolazione.

CONT_C PULSEGEN
LMN INV QPOS_P
QNEG_P

PV_PER

Percorso con
uscita a commu-
tazione

Il regolatore continuo CONT_C costituisce il valore controllante LMN che viene convertito dal
generatore di impulsi PULSEGEN in segnali di impulso e di pausa QPSO_P oppure QNEG_P.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


636 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per la regolazione integrata
28.4 Esempio con un blocco PULSEGEN

Richiami di blocco e collegamento


Il regolatore con setpoint fisso con uscita a commutazione per organi attuatori proporzionali
PULS_CTR è costituito dai blocchi CONT_C e PULSEGEN. Il richiamo del blocco è realizzato in
modo che CONT_C venga richiamato ogni 2 s (=CYCLE*RED_FAC) e PULSEGEN ogni 10 ms
(=CYCLE). Il tempo del ciclo dell'OB 35 è impostato su 10 ms. È possibile osservare il collegamento
nella figura seguente.
Al nuovo avviamento (avviamento a caldo) il blocco PULS_CTR viene richiamato nell'OB 100 e
l'ingresso COM_RST viene impostato su TRUE.

OB 100 (Nuovo avviamento)


OB 35 (10ms)

PULS_CTR, DPULS_CTR
TRUE (OB 100) FB 50, DB 50
FALSE (OB35) COM_RST
T#10 CYCLE
200 RED_FAC

PULS_CTR, DPULS_CTR
FB 50, DB 50

COM_RST

CYCLE

RED_FAC

CONT_C PULSEGEN
COM_RST
COM_RST QPOS_P
SP_INT CYCLE CYCLE
QPOS_P
SP_INT PER_TM
PV_PER PV_PER
LMN
INV

Al richiamo di CONT_C
ridotto di RED_FAC

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 637
SFB per la regolazione integrata
28.4 Esempio con un blocco PULSEGEN

Programma AWL dell'FB PULS_CTR

Indirizzo Dichiaraz- Nome Tipo di dati Commento


ione
0.0 in SP_INT REAL Valore di riferimento
4.0 in PV_PER WORD Periferia valore attuale
6.0 in RED_FAC INT Fattore di riduzione richiamo
8.0 in COM_RST BOOL Nuovo avviamento
10.0 in CYCLE TIME Tempo di campionamento
14.0 out QPOS_P BOOL Segnale di regolazione
16.0 stat DI_CONT_C FB-CONT_C Contatore
142.0 stat DI_PULSEGE FB-PULSEGEN Contatore
N
176.0 stat sCount INT Contatore
0.0 temp tCycCtr TIME Tempo di campionamento del regolatore

AWL Spiegazione
U #COM_RST //Routine di inizializzazione
SPBN M001
L 0
T #sCount
M001: L #CYCLE //Calcolo del tempo di campionamento
L #RED_FAC //della regolazione
*D
T #tCycCtr
L #sCount //Diminuzione del contatore e confronto con zero
L 1
-I
T #sCount
L 0
<=I

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


638 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per la regolazione integrata
28.4 Esempio con un blocco PULSEGEN

AWL Spiegazione
SPBN M002 /Richiamo di blocco condizionato e impostazione
CALL //del contatore
#DI_CONT_C
COM_RST
:=#COM_RST
CYCLE
:=#tCycCtr
SP_INT
:=#SP_INT
PV_PER
:=#PV_PER
L #RED_FAC
T #sCount
M002: L #DI_CONT_C.LMN
T
#DI_PULSEGEN.INV
CALL
#DI_PULSEGEN
PER_TM
:=#tCycCtr
COM_RST
:=#COM_RST
CYCLE
:=#CYCLE
QPOS_P
:=#QPOS_P
BE

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 639
SFB per la regolazione integrata
28.4 Esempio con un blocco PULSEGEN

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


640 Manuale di riferimento, 04/2017, A5E41911986-AA
29 SFB per CPU compatte

29.1 Posizionamento con uscita analogica con l'SFB 44 "Analogico"

Descrizione
Per il comando delle funzioni di posizionamento del programma utente, utilizzare l'SFB ANALOG
(SFB 44).
Un'uscita analogica assegnata in modo fisso comanda la parte di potenza con una tensione
(segnale di tensione) di +10 V o con una corrente (segnale di corrente) di +20 mA.
• Una volta conclusa la fase di accelerazione (RAM_UP), il traguardo viene avvicinato dapprima
con la velocità (VRif).
• Nel punto di inizio frenatura calcolato dalla CPU, il ritardo (RAMP_DN) viene introdotto fino al
punto di commutazione.
• Appena raggiunto il punto di commutazione, il movimento prosegue con l'avanzamento lento
(VLenta).
• Nel punto di disinserzione l'azionamento viene disattivato.
• Punto di commutazione e punto di disinserzione vengono definiti, per ogni traguardo da
avvicinare, attraverso i valori differenza di commutazione e differenza di disinserzione
predefiniti dall'utente nei parametri. La differenza di commutazione e quella di disinserzione
possono essere definite diversamente per la corsa in avanti (direzione +) e all'indietro
(direzione -).
• La corsa si conclude (WORKING = FALSE) una volta raggiunto il punto di disinserzione. A
partire da questo momento può iniziare una nuova corsa.
• Il traguardo predefinito è raggiunto (POS_RCD = TRUE) quando la quota reale della posizione
ha raggiunto la zona del traguardo. Se la quota reale della posizione lascia nuovamente la zona
del traguardo senza avvio di una nuova corsa, il segnale "Posizione raggiunta" non viene
nuovamente resettato.
Se la differenza di commutazione è minore della differenza di disinserzione, a partire dal punto di
inizio frenatura, il ritardo sarà lineare fino al valore di riferimento 0 della velocità.

Parametri di base:
Qui di seguito vengono descritti i parametri dell'SFB identici per tutti i modi di funzionamento. I
parametri specifici per modo di funzionamento sono descritti nei singoli modi di funzionamento.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 641
SFB per CPU compatte
29.1 Posizionamento con uscita analogica con l'SFB 44 "Analogico"

Parametri:

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
LADDR INPUT WORD 0 Specifico della W#16#0310 Indirizzo E/A del
CPU proprio sotto-modulo,
definito dall'utente in
"Configurazione HW".
Se gli indirizzi E e A
non sono uguali,
indicare il più piccolo
dei due.
CHANNEL INPUT INT 2 0 0 Numero di canale

STOP INPUT BOOL 4.4 TRUE/FALSE FALSE Arresto della corsa


Con STOP = TRUE è
possibile
terminare/interromper
e la corsa
anticipatamente.
ERR_A INPUT BOOL 4.5 TRUE/FALSE FALSE Conferma cumulativa
errore esterno
Con ERR_A = TRUE
vengono confermati
errori esterni.
SPEED INPUT DINT 12 Avanzamento 1000 L'asse viene
lento fino a accelerato fino alla
1 000 000 velocità "VRif".
impulsi/s Non è possibile
Al massimo modificare la velocità
fino alla durante la corsa.
velocità
massima
parametrizzata
WORKING OUTPUT BOOL 16.0 TRUE/FALSE FALSE Corsa in atto
ACT_POS OUTPUT DINT 18 8 0 Attuale quota reale
Da -5x10 a
8 della posizione
+5x10
impulsi
MODE_OUT OUTPUT INT 22 0, 1, 3, 4, 5 0 Modo di
funzionamento
attivo/impostato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


642 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.1 Posizionamento con uscita analogica con l'SFB 44 "Analogico"

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
ERR OUTPUT WORD 24 Ogni bit 0 Errori esterni:
0o1 Bit 2: controllo tacca di
zero
Bit 11: controllo del
campo corsa (sempre
1)
Bit 12: controllo del
campo di lavoro
Bit 13: controllo della
quota reale
Bit 14: controllo
dell'approssimazione
al traguardo
Bit 15: controllo della
zona del traguardo
Restanti bit riservati
ST_ENBLD OUTPUT BOOL 26.0 TRUE/FALSE TRUE La CPU imposta
l'abilitazione all'avvio
se vengono soddisfatti
tutti i seguenti
presupposti:
Non vi è uno STOP
(STOP = FALSE)
Non vi sono errori
esterni (ERR = 0)
È impostata
l'abilitazione
dell'azionamento
(DRV_EN = TRU
E
Non vi sono
posizionamenti in
corso
(WORKING = FA
LSE)
ERROR OUTPUT BOOL 26.1 TRUE/FALSE FALSE Errore di
avvio/continuazione di
una corsa
STATUS OUTPUT WORD 28.0 Da W#16#0000 Numero di errore
W#16#0000 a
W#16#FFFF

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 643
SFB per CPU compatte
29.1 Posizionamento con uscita analogica con l'SFB 44 "Analogico"

Parametri non collegati al blocco (dati locali statici):

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
ACCEL STATIC DINT 30 Da 1 a 100 000 100 Accelerazione
2
impulsi/s Impossibile da
modificare durante la
corsa.

DECEL STATIC DINT 34 Da 1 a 100 000 100 Ritardo


2
impulsi/s Impossibile da
modificare durante la
corsa.
CHGDIFF_P STATIC DINT 38 8 1000 Differenza di
Da 0 a +10
commutazione +:
impulsi
La "differenza di
commutazione +"
definisce il punto di
commutazione nel
quale l'azionamento si
muove in avanti con
marcia lenta.
CUTOFF- STATIC DINT 42 8 100 Differenza di
Da 0 a +10
DIFF_P disinserzione +:
impulsi
La "differenza di
disinserzione +"
definisce il punto di
disinserzione nel
quale l'azionamento si
muove in avanti con
marcia lenta.
CHGDIFF STATIC DINT 46 8 1000 Differenza di
Da 0 a +10
_M commutazione -:
impulsi
La "differenza di
commutazione -"
definisce il punto di
commutazione nel
quale l'azionamento si
muove all'indietro con
marcia lenta.
CUTOFF- STATIC DINT 50 8 100 Differenza di
Da 0 a +10
DIFF_M disinserzione -:
impulsi
La "differenza di
disinserzione -"
definisce il punto di
disinserzione nel
quale l'azionamento si
muove all'indietro con
marcia lenta.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


644 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.1 Posizionamento con uscita analogica con l'SFB 44 "Analogico"

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
PARA STATIC BOOL 54.0 TRUE/FALSE FALSE Asse parametrizzato
DIR STATIC BOOL 54.1 TRUE/FALSE FALSE Attuale/ultima
direzione dello
spostamento
FALSE = in avanti
(direzione +)
TRUE = all'indietro
(direzione -)
CUTOFF STATIC BOOL 54.2 TRUE/FALSE FALSE Azionamento nella
zona di disinserzione
(dal punto di
disinserzione fino
all'avvio della corsa
successiva)
CHGOVER STATIC BOOL 54.3 TRUE/FALSE FALSE Azionamento nella
zona di commutazione
(dal raggiungimento
dell'avanzamento
lento fino all'avvio
della corsa
successiva)
RAMP_DN STATIC BOOL 54.4 TRUE/FALSE FALSE L'azionamento viene
ritardato (dal punto di
inizio frenatura fino al
punto di
commutazione)
RAMP_UP STATIC BOOL 54.5 TRUE/FALSE FALSE L'azionamento viene
accelerato (dall'avvio
al raggiungimento
della velocità SPEED
(VRif))
DIST_TO STATIC DINT 56 8 0 Attuale percorso
Da -5x10 a
_ 8 restante
GO +5x10
impulsi

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 645
SFB per CPU compatte
29.1 Posizionamento con uscita analogica con l'SFB 44 "Analogico"

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
LAST_TRG STATIC DINT 60 8 0 Ultimo/attuale
Da -5x10 a
8 traguardo
+5x10 Spostamento
impulsi incrementale
assoluto:
con l'avvio della
corsa,
LST_TRG = tragu
ardo attuale
assoluto
(TARGET).
Spostamento
incrementale
relativo:
con l'avvio della
corsa,
LST_TRG = LAS
T_TRG della
corsa precedente
+/- percorso
indicato
(TARGET).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


646 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.1 Posizionamento con uscita analogica con l'SFB 44 "Analogico"

Parametri per il modo di funzionamento "A impulsi"

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
DRV_EN INPUT BOOL 4.0 TRUE/FALSE FALSE Abilitazione
azionamento
DIR_P INPUT BOOL 4.2 TRUE/FALSE FALSE A impulsi, direzione +
(fronte di salita)
DIR_M INPUT BOOL 4.3 TRUE/FALSE FALSE A impulsi, direzione -
(fronte di salita)
MODE_IN INPUT INT 6 0, 1, 3, 4, 5 1 Modo di
funzionamento, 1 = a
impulsi
WORKING OUTPUT BOOL 16.0 TRUE/FALSE FALSE Corsa in atto
ACT_POS OUTPUT DINT 18 8 0 Attuale quota reale
Da -5x10 a
8 della posizione
+5x10
impulsi
MODE_OUT OUTPUT INT 22 0, 1, 3, 4, 5 0 Modo di
funzionamento
attivo/impostato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 647
SFB per CPU compatte
29.1 Posizionamento con uscita analogica con l'SFB 44 "Analogico"

Parametri per il modo di funzionamento "Ricerca del punto di zero"

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
DRV_EN INPUT BOOL 4.0 TRUE/FALSE FALSE Abilitazione
azionamento
DIR_P INPUT BOOL 4.2 TRUE/FALSE FALSE Ricerca del punto di
zero in direzione +
(fronte di salita)
DIR_M INPUT BOOL 4.3 TRUE/FALSE FALSE Ricerca del punto di
zero in direzione -
(fronte di salita)
MODE_IN INPUT INT 6 0, 1, 3, 4, 5 1 Modo di
funzionamento,
3 = "Ricerca del punto
di zero"
WORKING OUTPUT BOOL 16.0 TRUE/FALSE FALSE Corsa in atto
SYNC OUTPUT BOOL 16.3 TRUE/FALSE FALSE SYNC = TRUE: asse
sincronizzato
ACT_POS OUTPUT DINT 18
8 0 Attuale quota reale
Da -5x10 a
8 della posizione
+5x10
impulsi
MODE_OUT OUTPUT INT 22 0, 1, 3, 4, 5 0 Modo di
funzionamento
attivo/impostato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


648 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.1 Posizionamento con uscita analogica con l'SFB 44 "Analogico"

Parametri per il modo di funzionamento "Spostamento incrementale relativo"

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
DRV_EN INPUT BOOL 4.0 TRUE/FALSE FALSE Abilitazione
azionamento
DIR_P INPUT BOOL 4.2 TRUE/FALSE FALSE Corsa in direzione +
(fronte di salita)
DIR_M INPUT BOOL 4.3 TRUE/FALSE FALSE Corsa in direzione -
(fronte di salita)
MODE_IN INPUT INT 6 0, 1, 3, 4, 5 1 Modo di
funzionamento,
4 = spostamento
incrementale relativo
TARGET INPUT DINT 8 9 1000 Percorso in impulsi
Da 0 a 10
(sono ammessi solo
impulsi
valori positivi)
WORKING OUTPUT BOOL 16.0 TRUE/FALSE FALSE Corsa in atto
POS_RCD OUTPUT BOOL 16.1 TRUE/FALSE FALSE Posizione raggiunta
ACT_POS OUTPUT DINT 18 8 0 Attuale quota reale
Da -5x10 a
8 della posizione
+5x10
impulsi
MODE_OUT OUTPUT INT 22 0, 1, 3, 4, 5 0 Modo di
funzionamento
attivo/impostato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 649
SFB per CPU compatte
29.1 Posizionamento con uscita analogica con l'SFB 44 "Analogico"

Parametri per il modo di funzionamento "Spostamento incrementale assoluto"

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
DRV_EN INPUT BOOL 4.0 TRUE/FALSE FALSE Abilitazione
azionamento
START INPUT BOOL 4.1 TRUE/FALSE FALSE Avvio corsa (fronte di
salita)
DIR_P INPUT BOOL 4.2 TRUE/FALSE FALSE Corsa in direzione +
(fronte di salita)
DIR_M INPUT BOOL 4.3 TRUE/FALSE FALSE Corsa in direzione -
(fronte di salita)
MODE_IN INPUT INT 6 0, 1, 3, 4, 5 1 Modo di
funzionamento,
5 = spostamento
incrementale assoluto
TARGET INPUT DINT 8 Asse lineare: 1000 Traguardo in impulsi
8
da -5x10 a
8
+5x10
Asse rotante:
da 0 a fine asse
rotante - 1
WORKING OUTPUT BOOL 16.0 TRUE/FALSE FALSE Corsa in atto
POS_RCD OUTPUT BOOL 16.1 TRUE/FALSE FALSE Posizione raggiunta
ACT_POS OUTPUT DINT 18 8 0 Attuale quota reale
Da -5x10 a
della posizione
8
+5x10
impulsi
MODE_OUT OUTPUT INT 22 0, 1, 3, 4, 5 0 Modo di
funzionamento
attivo/impostato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


650 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.1 Posizionamento con uscita analogica con l'SFB 44 "Analogico"

Parametri per il job "Imposta punto di zero"

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
SYNC OUTPUT BOOL 16.3 TRUE/FALSE FALSE Asse sincronizzato

Parametri non collegati al blocco (dati locali statici):

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
JOB_REQ STATIC BOOL 76.0 TRUE/FALSE FALSE Avvio del job (fronte
di salita)
JOB_DONE STATIC BOOL 76.1 TRUE/FALSE TRUE Il nuovo job può
essere avviato
JOB_ERR STATIC BOOL 76.2 TRUE/FALSE FALSE JOB errato
JOB_ID STATIC INT 78 1, 2 0 Job, 1 = "Imposta
punto di zero"
JOB_STAT STATIC WORD 80 Da W#16#0000 Numero di errore nel
W#16#0000 a job
W#16#FFFF
JOB_VAL STATIC DINT 82 8 0 Parametri del job,
Da 5x10 a
8 coordinate del punto
+5x10 di zero
impulsi

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 651
SFB per CPU compatte
29.1 Posizionamento con uscita analogica con l'SFB 44 "Analogico"

Parametri per il job "Cancella percorso restante"


Parametri non collegati al blocco (dati locali statici):

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
JOB_REQ STATIC BOOL 76.0 TRUE/FALSE FALSE Avvio del job (fronte di
salita)
JOB_DONE STATIC BOOL 76.1 TRUE/FALSE TRUE Il nuovo job può
essere avviato
JOB_ERR STATIC BOOL 76.2 TRUE/FALSE FALSE JOB errato
JOB_ID STATIC INT 78 1, 2 0 Job, 2 = "Cancella
percorso restante"
JOB_STAT STATIC WORD 80 Da W#16#0000 Numero di errore nel
W#16#0000 a job
W#16#FFFF
JOB_VAL STATIC DINT 82 - 0 Impostazione
qualunque

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


652 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.1 Posizionamento con uscita analogica con l'SFB 44 "Analogico"

Parametri per la funzione "Misura lunghezza"


Questa funzione viene avviata da un fronte dell'ingresso digitale. Non vi sono parametri di ingresso
specifici.

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
MSR_DONE OUTPUT BOOL 16.2 TRUE/FALSE FALSE Misura della
lunghezza conclusa

Parametri non collegati al blocco (dati locali statici):

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
BEG_VAL STATIC DINT 64 8 0 Quota reale della
Da -5x10 a
8 posizione di inizio
+5x10 della misura della
impulsi lunghezza
END_VAL STATIC DINT 68 8 0 Quota reale della
Da -5x10 a
8 posizione di fine della
+5x10 misura lunghezza
impulsi
LEN_VAL STATIC DINT 72 9 0 Lunghezza misurata
Da 0 a 10
impulsi

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 653
SFB per CPU compatte
29.1 Posizionamento con uscita analogica con l'SFB 44 "Analogico"

Informazioni sugli errori


Errori del modo di funzionamento (ERROR = TRUE)
Al riconoscimento di questi errori, il parametro di uscita ERROR viene impostato su TRUE. La causa
dell'errore viene visualizzata nel parametro STATUS.

Codice di Spiegazione
errore classe
evento
W#16#2002 SFB scorretto, utilizzare l'SFB 44
W#16#2004 Numero di canale scorretto (CHANNEL). Impostare "0" come numero di canale
W#16#3001 Il job di corsa non è stato accettato poiché il job nello stesso richiamo SFB è errato.
Correggere i parametri del job corrispondente
W#16#3002 Non è consentito modificare MODE_IN mentre l'azionamento è ancora in funzione. Attendere
la fine del posizionamento in corso.
W#16#3003 Modo di funzionamento sconosciuto (MODE_IN). Sono consentiti 1 (a impulsi), 3 (ricerca del
punto di zero), 4 (spostamento incrementale relativo) e 5 (spostamento incrementale
assoluto).
W#16#3004 È consentito impostare sempre solo una richiesta di avvio per volta. Le richieste di avvio
consentite sono DIR_P o DIR_M o START.
W#16#3005 Il job START è consentito solo con il modo di funzionamento "Spostamento incrementale
assoluto". Avviare la corsa con DIR_P o DIR_M
W#16#3006 DIR_P o DIR_M con asse lineare e modo di funzionamento "Spostamento incrementale
assoluto" non consentiti. Avviare la corsa con START
W#16#3007 Asse non sincronizzato. "Spostamento incrementale assoluto" possibile solo con asse
sincronizzato.
W#16#3008 Uscire dal campo di lavoro. La corsa è consentita all'indietro solo a impulsi in direzione del
campo di lavoro.
W#16#3101 Avvio non abilitato poiché l'asse non è stato parametrizzato. Parametrizzare il sotto-modulo
"Posizionamento" nella "Configurazione HW"
W#16#3102 Avvio non abilitato poiché manca l'abilitazione dell'azionamento. Impostare l'"Abilitazione
azionamento" nell'SFB (DRV_EN=TRUE)
W#16#3103 Avvio non abilitato poiché è impostato lo STOP. Cancellare lo STOP
nell'SFB (STOP=FALSE)
W#16#3104 Avvio non abilitato poiché l'asse è momentaneamente in posizione (WORKING=TRUE).
Attendere la fine del posizionamento in corso.
W#16#3105 Avvio non abilitato poiché è ancora presente almeno un errore esterno non confermato.
Eliminare e confermare prima tutti gli errori esterni e quindi riavviare la corsa.
W#16#3202 La preassegnazione della velocità SPEED è scorretta. La preassegnazione della velocità non
è compresa nel campo consentito dell'avanzamento lento fino a 1000000 impulsi/s. Ma al
massimo fino alla velocità massima parametrizzata.
W#16#3203 La preassegnazione dell'accelerazione ACCEL non è compresa nel campo consentito da 1 a
2
100000 impulsi/s .
W#16#3204 La preassegnazione del ritardo DECEL non è compresa nel campo consentito da 1 a 100000
2
impulsi/s .
W#16#3206 La preassegnazione della velocità SPEED deve essere maggiore/uguale alla frequenza di
riferimento parametrizzata.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


654 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.1 Posizionamento con uscita analogica con l'SFB 44 "Analogico"

Codice di Spiegazione
errore classe
evento
W#16#3301 Differenza di commutazione/disinserzione eccessiva. Predefinire la differenza di
8
commutazione/disinserzione max con 10
W#16#3304 Differenza di disinserzione insufficiente. La differenza di disinserzione deve essere almeno
uguale a metà della zona del traguardo.
W#16#3305 Differenza di commutazione insufficiente. La differenza di commutazione deve essere almeno
uguale a metà zona del traguardo.
W#16#3401 Preassegnazione del traguardo non compresa nel campo di lavoro. Con un asse lineare e uno
spostamento incrementale assoluto, la preassegnazione del traguardo deve essere
compresa nel finecorsa software (incluso).
W#16#3402 Preassegnazione del traguardo scorretta. Con un asse rotante, la preassegnazione del
traguardo deve essere maggiore di 0 e minore della fine dell'asse rotante.
W#16#3403 Indicazione scorretta del percorso. Con lo spostamento incrementale relativo, il tragitto da
percorrere deve essere positivo.
W#16#3404 Indicazione scorretta del percorso. Le coordinate assolute risultanti del traguardo devono
8
essere maggiori di -5x10 .
W#16#3405 Indicazione scorretta del percorso. Le coordinate assolute risultanti del traguardo devono
8
essere minori di 5x10 .
W#16#3406 Indicazione scorretta del percorso. Le coordinate assolute risultanti del traguardo devono
essere comprese nel campo di lavoro (+/- metà zona del traguardo)
W#16#3501 Campo corsa eccessivo. Coordinate traguardo + attuale percorso restante devono essere
8
maggiori/uguali a -5x10
W#16#3502 Campo corsa eccessivo. Coordinate traguardo + attuale percorso restante devono essere
8
minori/uguali a 5x10
W#16#3503 Campo corsa insufficiente. La corsa in direzione + deve essere maggiore della differenza di
disinserzione indicata per la direzione +
W#16#3504 Campo corsa insufficiente. La corsa in direzione - deve essere maggiore della differenza di
disinserzione indicata per la direzione -
W#16#3505 Campo corsa insufficiente o finecorsa già superato in direzione +. L'ultimo traguardo
raggiungibile in direzione + (campo di lavoro o limite del campo corsa) è troppo vicino alla
posizione attuale
W#16#3506 Campo corsa insufficiente o finecorsa già superato in direzione -. L'ultimo traguardo
raggiungibile in direzione - (campo di lavoro o limite del campo corsa) è troppo vicino alla
posizione attuale

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 655
SFB per CPU compatte
29.1 Posizionamento con uscita analogica con l'SFB 44 "Analogico"

Errori nei job (JOB_ERR = TRUE)


Al riconoscimento di questi errori, il parametro di uscita JOB_ERR viene impostato su TRUE. La
causa dell'errore viene visualizzata nel parametro JOB_STAT.

Codice di Spiegazione
errore classe
evento
W#16#4001 Asse non parametrizzato. Parametrizzare il sotto-modulo "Posizionamento" nella
"Configurazione HW".
W#16#4002 JOB impossibile poiché vi è ancora un posizionamento in corso. Attendere finché WORKING
diventa = FALSE, quindi ripetere il job.
W#16#4004 JOB sconosciuto. Controllarne il numero e quindi ripetere il job.
W#16#4101 Con un asse lineare, le coordinate del punto di zero indicate non devono trovarsi fuori dei limiti
del campo di lavoro.
W#16#4102 Con un asse lineare, le coordinate del punto di zero indicate + attuale percorso restante
8
devono essere ancora maggiori/uguali a -5x10 .
W#16#4103 Con un asse lineare, le coordinate del punto di zero indicate + attuale percorso restante
8
devono essere ancora minori/uguali a 5x10 .
W#16#4104 Con un asse lineare, le coordinate del punto di zero indicate + attuale differenza rispetto al
8
punto di avvio della corsa devono essere ancora maggiori/uguali a -5x10 .
W#16#4105 Con un asse lineare, le coordinate del punto di zero indicate + attuale differenza rispetto al
8
punto di avvio della corsa devono essere ancora minori/uguali a 5x10 .
W#16#4106 Con un asse rotante, le coordinate del punto di zero non devono essere minore di 0 e
maggiori/uguali alla fine dell'asse rotante.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


656 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.1 Posizionamento con uscita analogica con l'SFB 44 "Analogico"

Errori esterni (ERR)


La funzione controlla la corsa, il campo della corsa e la periferia collegata, a condizione che l'utente
abbia prima attivato questi controlli nelle maschere di parametrizzazione "Azionamento", "Asse" e
"Encoder".
Quando i controlli reagiscono, viene segnalato un errore esterno. Si possono verificare errori esterni
in qualsiasi momento, a prescindere dalle funzioni avviate. Gli errori esterni vanno sempre
confermati con ERR_A = TRUE.
Gli errori esterni vengono visualizzati nel paramtero dell'SFB ERR (WORD) con l'impostazione di un
bit.

Controllo Codice errore Bit in ERR-WORD


Impulsi errati (tacca di zero) W#16#0004 2
Campo corsa W#16#0800 11
Campo di lavoro W#16#1000 12
Quota reale W#16#2000 13
Approssimazione al W#16#4000 14
traguardo
Zona del traguardo W#16#8000 15

Errori di sistema
Un errore di sistema viene visualizzato con BIE = FALSE. Un errore di sistema viene causato da un
errore di scrittura/lettura del DB di istanza o dal richiamo multiplo dell'SFB.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 657
SFB per CPU compatte
29.2 Posizionamento con uscita digitale con l'SFB 46 "Digitale"

29.2 Posizionamento con uscita digitale con l'SFB 46 "Digitale"

Descrizione
Per il comando delle funzioni di posizionamento del programma utente, utilizzare l'SFB DIGITAL
(SFB46).
Quattro uscite digitali a 24 V assegnate in modo fisso all'azionamento comandano la parte di
potenza. Le uscite digitali comandano, a seconda del tipo di azionamento parametrizzato, la
direzione e i livelli di velocità (marcia veloce/lenta).
Il rilevamento del percorso avviene per mezzo di un trasduttore incrementale asincrono a 24 V con
due segnali sfasati di 90 gradi.
• Il traguardo viene avvicinato dapprima con la velocità (VVel)
• Nel punto di commutazione, la velocità viene commutata su un avanzamento lento (VLenta).
• Nel punto di disinserzione l'azionamento viene disattivato.
• Punto di commutazione e punto di disinserzione vengono definiti, per ogni traguardo da
avvicinare, attraverso i valori differenza di commutazione e differenza di disinserzione
predefiniti dall'utente nei parametri. La differenza di commutazione e quella di disinserzione
possono essere definite diversamente per la corsa in avanti (direzione +) e all'indietro
(direzione -).
• La corsa si conclude (WORKING = FALSE) una volta raggiunto il punto di disinserzione. A
partire da questo momento può iniziare una nuova corsa.
• Il traguardo predefinito è raggiunto (POS_RCD = TRUE) quando la quota reale della posizione
ha raggiunto la zona del traguardo. Se la quota reale della posizione lascia nuovamente la zona
del traguardo senza avvio di una nuova corsa, il segnale "Posizione raggiunta" non viene
nuovamente resettato.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


658 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.2 Posizionamento con uscita digitale con l'SFB 46 "Digitale"

Parametri di base:
Qui di seguito vengono descritti i parametri dell'SFB identici per tutti i modi di funzionamento. I
parametri specifici per modo di funzionamento sono descritti nei singoli modi di funzionamento.

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
LADDR INPUT WORD 0 Specifico della W#16#0310 Indirizzo E/A del
CPU proprio sotto-modulo,
definito dall'utente in
"Configurazione HW".
Se gli indirizzi E e A
non sono uguali,
indicare il più piccolo
dei due.
CHANNEL INPUT INT 2 0 0 Numero di canale
STOP INPUT BOOL 4.4 TRUE/FALSE FALSE Arresto della corsa
Con STOP = TRUE è
possibile
terminare/interromper
e la corsa
anticipatamente.
ERR_A INPUT BOOL 4.5 TRUE/FALSE FALSE Conferma cumulativa
errore esterno
Con ERR_A = TRUE
vengono confermati
errori esterni.
SPEED INPUT BOOL 12.0 TRUE/FALSE FALSE Due livelli di velocità
per marcia veloce o
lenta
TRUE=marcia veloce
FALSE=marcia lenta
WORKING OUTPUT BOOL 14.0 TRUE/FALSE FALSE Corsa in atto
ACT_POS OUTPUT DINT 16 8 0 Attuale quota reale
Da -5x10 a
8 della posizione
+5x10
impulsi
MODE_OUT OUTPUT INT 20 0, 1, 3, 4, 5 0 Modo di
funzionamento
attivo/impostato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 659
SFB per CPU compatte
29.2 Posizionamento con uscita digitale con l'SFB 46 "Digitale"

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
ERR OUTPUT WORD 22 Ogni bit 0 Errori esterni
0o1 Bit2: controllo tacca di
zero
Bit11: controllo del
campo corsa (sempre
1)
Bit12: controllo del
campo di lavoro
Bit13: controllo della
quota reale
Bit14: controllo
dell'approssimazione
al traguardo
Bit15: controllo della
zona del traguardo
Restanti bit riservati
ST_ENBLD OUTPUT BOOL 24.0 TRUE/FALSE TRUE La CPU imposta
l'abilitazione all'avvio
se vengono soddisfatti
tutti i seguenti
presupposti:
• Non vi è uno
STOP
(STOP = FALSE)
• Non vi sono errori
esterni (ERR = 0)
• È impostata
l'abilitazione
dell'azionamento
(DRV_EN =
TRUE
• Non vi sono
posizionamenti in
corso
(WORKING =
FALSE)
ERROR OUTPUT BOOL 24.1 TRUE/FALSE FALSE Errore di
avvio/continuazione di
una corsa
STATUS OUTPUT WORD 26.0 Da W#16#0000 Numero di errore
W#16#0000 a
W#16#FFFF

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


660 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.2 Posizionamento con uscita digitale con l'SFB 46 "Digitale"

Parametri non collegati al blocco (dati locali statici):

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
CHGDIFF_P STATIC DINT 28 8 1000 Differenza di
Da 0 a +10
commutazione +:
impulsi
La "differenza di
commutazione +"
definisce il punto di
commutazione nel
quale l'azionamento si
muove in avanti
passando dalla marcia
veloce alla marcia
lenta.
CUTOFF- STATIC DINT 32 8 100 Differenza di
Da 0 a +10
DIFF_P disinserzione +:
impulsi
La "differenza di
disinserzione +"
definisce il punto di
disinserzione nel
quale l'azionamento
viene disinserito dalla
marcia lenta in avanti.
CHGDIFF STATIC DINT 36 8 1000 Differenza di
Da 0 a +10
_M commutazione -:
impulsi
La "differenza di
commutazione -"
definisce il punto di
commutazione nel
quale l'azionamento si
muove all'indietro
passando dalla marcia
veloce alla marcia
lenta.
CUTOFF- STATIC DINT 40 8 100 Differenza di
Da 0 a +10
DIFF_M disinserzione -:
impulsi
La "differenza di
disinserzione -"
definisce il punto di
disinserzione nel
quale l'azionamento
viene disinserito dalla
marcia lenta
all'indietro.
PARA STATIC BOOL 44.0 TRUE/FALSE FALSE Asse parametrizzato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 661
SFB per CPU compatte
29.2 Posizionamento con uscita digitale con l'SFB 46 "Digitale"

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
DIR STATIC BOOL 44.1 TRUE/FALSE FALSE Attuale/ultima
direzione dello
spostamento
FALSE = in avanti
(direzione +)
TRUE = all'indietro
(direzione -)
CUTOFF STATIC BOOL 44.2 TRUE/FALSE FALSE Azionamento nella
zona di disinserzione
(dal punto di
disinserzione fino
all'avvio della corsa
successiva)
CHGOVER STATIC BOOL 44.3 TRUE/FALSE FALSE Azionamento nella
zona di commutazione
(dal raggiungimento
dell'avanzamento
lento fino all'avvio
della corsa
successiva)
DIST_TO_G STATIC DINT 46 8 0 Attuale percorso
Da -5x10
O 8 restante
a +5x10
impulsi
LAST_TRG STATIC DINT 50 8 0 Ultimo/attuale
Da -5x10
8 traguardo
a +5x10 Spostamento
impulsi incrementale
assoluto:
con l'avvio della corsa,
LST_TRG = traguardo
attuale assoluto
(TARGET).
Spostamento
incrementale relativo:
con l'avvio della corsa,
LST_TRG = LAST_T
RG della corsa
precedente +/-
percorso indicato
(TARGET).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


662 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.2 Posizionamento con uscita digitale con l'SFB 46 "Digitale"

Parametri per il modo di funzionamento "A impulsi"

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
DRV_EN INPUT BOOL 4.0 TRUE/FALSE FALSE Abilitazione
azionamento
DIR_P INPUT BOOL 4.2 TRUE/FALSE FALSE A impulsi, direzione +
(fronte di salita)
DIR_M INPUT BOOL 4.3 TRUE/FALSE FALSE A impulsi, direzione -
(fronte di salita)
MODE_IN INPUT INT 6 0, 1, 3, 4, 5 1 Modo di
funzionamento, 1 = a
impulsi
WORKING OUTPUT BOOL 14.0 TRUE/FALSE FALSE Corsa in atto
ACT_POS OUTPUT DINT 16 8 0 Attuale quota reale
Da -5x10 a
8 della posizione
+5x10
impulsi
MODE_OUT OUTPUT INT 20 0, 1, 3, 4, 5 0 Modo di
funzionamento
attivo/impostato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 663
SFB per CPU compatte
29.2 Posizionamento con uscita digitale con l'SFB 46 "Digitale"

Parametri per il modo di funzionamento "Ricerca del punto di zero"

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
DRV_EN INPUT BOOL 4.0 TRUE/FALSE FALSE Abilitazione
azionamento
DIR_P INPUT BOOL 4.2 TRUE/FALSE FALSE Ricerca del punto di
zero in direzione +
(fronte di salita)
DIR_M INPUT BOOL 4.3 TRUE/FALSE FALSE Ricerca del punto di
zero in direzione -
(fronte di salita)
MODE_IN INPUT INT 6 0, 1, 3, 4, 5 1 Modo di
funzionamento,
3 = "Ricerca del punto
di zero"
WORKING OUTPUT BOOL 14.0 TRUE/FALSE FALSE Corsa in atto
SYNC OUTPUT BOOL 14.3 TRUE/FALSE FALSE SYNC = TRUE: asse
sincronizzato
ACT_POS OUTPUT DINT 16 8 0 Attuale quota reale
Da -5x10 a
8 della posizione
+5x10
impulsi
MODE_OUT OUTPUT INT 20 0, 1, 3, 4, 5 0 Modo di
funzionamento
attivo/impostato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


664 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.2 Posizionamento con uscita digitale con l'SFB 46 "Digitale"

Parametri per il modo di funzionamento "Spostamento incrementale relativo"

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
DRV_EN INPUT BOOL 4.0 TRUE/FALSE FALSE Abilitazione
azionamento
DIR_P INPUT BOOL 4.2 TRUE/FALSE FALSE Corsa in direzione +
(fronte di salita)
DIR_M INPUT BOOL 4.3 TRUE/FALSE FALSE Corsa in direzione -
(fronte di salita)
MODE_IN INPUT INT 6 0, 1, 3, 4, 5 1 Modo di
funzionamento,
4 = spostamento
incrementale relativo
TARGET INPUT DINT 8 9 1000 Percorso in impulsi
Da 0 a 10
(sono ammessi solo
impulsi valori positivi)
WORKING OUTPUT BOOL 14.0 TRUE/FALSE FALSE Corsa in atto
POS_RCD OUTPUT BOOL 14.1 TRUE/FALSE FALSE Posizione raggiunta
ACT_POS OUTPUT DINT 16 8 0 Attuale quota reale
Da -5x10
8 della posizione
a +5x10
impulsi
MODE_OUT OUTPUT INT 20 0, 1, 3, 4, 5 0 Modo di
funzionamento
attivo/impostato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 665
SFB per CPU compatte
29.2 Posizionamento con uscita digitale con l'SFB 46 "Digitale"

Parametri per il modo di funzionamento "Spostamento incrementale assoluto"

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
DRV_EN INPUT BOOL 4.0 TRUE/FALSE FALSE Abilitazione
azionamento
START INPUT BOOL 4.1 TRUE/FALSE FALSE Avvio corsa (fronte di
salita)
DIR_P INPUT BOOL 4.2 TRUE/FALSE FALSE Corsa in direzione +
(fronte di salita)
DIR_M INPUT BOOL 4.3 TRUE/FALSE FALSE Corsa in direzione -
(fronte di salita)
MODE_IN INPUT INT 6 0, 1, 3, 4, 5 1 Modo di
funzionamento,
5 = spostamento
incrementale assoluto
TARGET INPUT DINT 8 Asse lineare: 1000 Traguardo in impulsi
8
da -5x10
8
a +5x10
Asse rotante:
da 0 a fine asse
rotante -1
WORKING OUTPUT BOOL 14.0 TRUE/FALSE FALSE Corsa in atto
POS_RCD OUTPUT BOOL 14.1 TRUE/FALSE FALSE Posizione raggiunta
ACT_POS OUTPUT DINT 16 8 0 Attuale quota reale
Da -5x10 a
8 della posizione
+5x10
impulsi
MODE_OUT OUTPUT INT 20 0, 1, 3, 4, 5 0 Modo di
funzionamento
attivo/impostato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


666 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.2 Posizionamento con uscita digitale con l'SFB 46 "Digitale"

Parametri per il job "Imposta punto di zero"

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
SYNC OUTPUT BOOL 14.3 TRUE/FALSE FALSE Asse sincronizzato

Parametri non collegati al blocco (dati locali statici):

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
JOB_REQ STATIC BOOL 66.0 TRUE/FALSE FALSE Avvio del job (fronte di
salita)
JOB_DONE STATIC BOOL 66.1 TRUE/FALSE TRUE Il nuovo job può
essere avviato
JOB_ERR STATIC BOOL 66.2 TRUE/FALSE FALSE JOB errato
JOB_ID STATIC INT 68 1, 2 0 Job, 1 = "Imposta
punto di zero"
JOB_STAT STATIC WORD 70 Da W#16#0000 Numero di errore nel
W#16#0000 a job
W#16#FFFF
JOB_VAL STATIC DINT 72 8 0 Parametri del job,
Da -5x10 a
8 coordinate del punto
+5x10 di zero
impulsi

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 667
SFB per CPU compatte
29.2 Posizionamento con uscita digitale con l'SFB 46 "Digitale"

Parametri per il job "Cancella percorso restante"


Parametri non collegati al blocco (dati locali statici):

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
JOB_REQ STATIC BOOL 66.0 TRUE/FALSE FALSE Avvio del job (fronte di
salita)
JOB_DONE STATIC BOOL 66.1 TRUE/FALSE TRUE Il nuovo job può
essere avviato
JOB_ERR STATIC BOOL 66.2 TRUE/FALSE FALSE JOB errato
JOB_ID STATIC INT 68 1, 2 0 Job, 2 = "Cancella
percorso restante"
JOB_STAT STATIC WORD 70 Da 0 a FFFF 0 Numero di errore nel
esadecimale job
JOB_VAL STATIC DINT 72 - 0 Nessuna

Parametri per la funzione "Misura lunghezza"


Questa funzione viene avviata da un fronte dell'ingresso digitale. Non vi sono parametri di ingresso
specifici.

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
MSR_DONE OUTPUT BOOL 14.2 TRUE/FALSE FALSE Misura della
lunghezza conclusa

Parametri non collegati al blocco (dati locali statici):

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
BEG_VAL STATIC DINT 54 8 0 Quota reale della
Da -5x10
8 posizione di inizio
a +5x10 della misura della
impulsi lunghezza
END_VAL STATIC DINT 58 8 0 Quota reale della
Da -5x10
8 posizione di fine della
a +5x10 misura lunghezza
impulsi
LEN_VAL STATIC DINT 62 9 0 Lunghezza misurata
Da 0 a 10
impulsi

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


668 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.2 Posizionamento con uscita digitale con l'SFB 46 "Digitale"

Informazioni sugli errori


Errori del modo di funzionamento (ERROR = TRUE)
Al riconoscimento di questi errori, il parametro di uscita ERROR viene impostato su TRUE. La causa
dell'errore viene visualizzata nel parametro STATUS.

Codice di Spiegazione
errore classe
evento
W#16#2001 SFB scorretto, utilizzare l'SFB 46
W#16#2004 Numero di canale scorretto (CHANNEL). Impostare "0" come numero di canale
W#16#3001 Il job di corsa non è stato accettato poiché il job nello stesso richiamo SFB è errato.
Correggere i parametri del job corrispondente
W#16#3002 Non è consentito modificare MODE_IN mentre l'azionamento è ancora in funzione.
Attendere la fine del posizionamento in corso.
W#16#3003 Modo di funzionamento sconosciuto (MODE_IN). Sono consentiti 1 (a impulsi), 3 (ricerca del
punto di zero), 4 (spostamento incrementale relativo) e 5 (spostamento incrementale
assoluto).
W#16#3004 È consentito impostare sempre solo una richiesta di avvio per volta. Le richieste di avvio
consentite sono DIR_P o DIR_M o START
W#16#3005 Il job START è consentito solo con il modo di funzionamento "Spostamento incrementale
assoluto". Avviare la corsa con DIR_P o DIR_M.
W#16#3006 DIR_P o DIR_M con asse lineare e modo di funzionamento "Spostamento incrementale
assoluto" non consentiti. Avviare la corsa con START.
W#16#3007 Asse non sincronizzato. "Spostamento incrementale assoluto" possibile solo con asse
sincronizzato.
W#16#3008 Uscire dal campo di lavoro. La corsa è consentita all'indietro solo a impulsi in direzione del
campo di lavoro.
W#16#3101 Avvio non abilitato poiché l'asse non è stato parametrizzato. Parametrizzare il sotto-modulo
"Posizionamento" nella "Configurazione HW".
W#16#3102 Avvio non abilitato poiché manca l'abilitazione dell'azionamento. Impostare l'"Abilitazione
azionamento" nell'SFB (DRV_EN=TRUE).
W#16#3103 Avvio non abilitato poiché è impostato lo STOP. Cancellare lo STOP
nell'SFB (STOP=FALSE).
W#16#3104 Avvio non abilitato poiché l'asse è momentaneamente in posizione (WORKING=TRUE).
Attendere la fine del posizionamento in corso.
W#16#3105 Avvio non abilitato poiché è ancora presente almeno un errore esterno non confermato.
Eliminare e confermare prima tutti gli errori esterni e quindi riavviare la corsa.
W#16#3201 La preassegnazione della velocità SPEED è scorretta. Il posizionamento con uscite digitali
consente soltanto la "Marcia lenta" (0) e la "Marcia veloce" (1).
W#16#3301 Differenza di commutazione/disinserzione eccessiva. Predefinire la differenza di
8
commutazione/disinserzione max uguale a 10
W#16#3303 Differenza di commutazione insufficiente. La differenza di commutazione deve essere
maggiore/uguale alla differenza di disinserzione.
W#16#3304 Differenza di disinserzione insufficiente. La differenza di disinserzione deve essere almeno
uguale a metà della zona del traguardo.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 669
SFB per CPU compatte
29.2 Posizionamento con uscita digitale con l'SFB 46 "Digitale"

Codice di Spiegazione
errore classe
evento
W#16#3401 Preassegnazione del traguardo non compresa nel campo di lavoro. Con un asse lineare e
uno spostamento incrementale assoluto, la preassegnazione del traguardo deve essere
compresa nel finecorsa software (incluso).
W#16#3402 Preassegnazione del traguardo scorretta. Con un asse rotante, la preassegnazione del
traguardo deve essere maggiore di 0 e minore della fine dell'asse rotante.
W#16#3403 Indicazione scorretta del percorso. Con lo spostamento incrementale relativo, il tragitto da
percorrere deve essere positivo.
W#16#3404 Indicazione scorretta del percorso. Le coordinate assolute risultanti del traguardo devono
8
essere maggiori di -5x10 .
W#16#3405 Indicazione scorretta del percorso. Le coordinate assolute risultanti del traguardo devono
8
essere minori di 5x10 .
W#16#3406 Indicazione scorretta del percorso. Le coordinate assolute risultanti del traguardo devono
essere comprese nel campo di lavoro (+/- metà zona del traguardo)
W#16#3501 Campo corsa eccessivo. Coordinate traguardo + attuale percorso restante devono essere
8
maggiori/uguali a -5x10
W#16#3502 Campo corsa eccessivo. Coordinate traguardo + attuale percorso restante devono essere
8
minori/uguali a 5x10
W#16#3503 Campo corsa insufficiente. La corsa in direzione + deve essere maggiore della differenza di
disinserzione indicata per la direzione +
W#16#3504 Campo corsa insufficiente. La corsa in direzione - deve essere maggiore della differenza di
disinserzione indicata per la direzione -
W#16#3505 Campo corsa insufficiente o finecorsa già superato in direzione +. L'ultimo traguardo
raggiungibile in direzione + (campo di lavoro o limite del campo corsa) è troppo vicino alla
posizione attuale
W#16#3506 Campo corsa insufficiente o finecorsa già superato in direzione -. L'ultimo traguardo
raggiungibile in direzione - (campo di lavoro o limite del campo corsa) è troppo vicino alla
posizione attuale

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


670 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.2 Posizionamento con uscita digitale con l'SFB 46 "Digitale"

Errori nei job (JOB_ERR = TRUE)


Al riconoscimento di questi errori, il parametro di uscita JOB_ERR viene impostato su TRUE. La
causa dell'errore viene visualizzata nel parametro JOB_STAT

Codice di Spiegazione
errore classe
evento
W#16#4001 Asse non parametrizzato. Parametrizzare il sotto-modulo "Posizionamento" nella
"Configurazione HW".
W#16#4002 JOB impossibile poiché vi è ancora un posizionamento in corso. I job sono eseguibili solo
quando non vi sono posizionamenti in corso. Attendere finché WORKING diventa = FALSE,
quindi ripetere il job.
W#16#4004 JOB sconosciuto. Controllarne il numero e quindi ripetere il job.
W#16#4101 Con un asse lineare, le coordinate del punto di zero indicate non devono trovarsi fuori dei
limiti del campo di lavoro.
W#16#4102 Con un asse lineare, le coordinate del punto di zero indicate + attuale percorso restante
8
devono essere ancora maggiori/uguali a -5x10 .
W#16#4103 Con un asse lineare, le coordinate del punto di zero indicate + attuale percorso restante
8
devono essere ancora minori/uguali a 5x10 .
W#16#4104 Con un asse lineare, le coordinate del punto di zero indicate + attuale differenza rispetto al
8
punto di avvio della corsa devono essere ancora maggiori/uguali a -5x10 .
W#16#4105 Con un asse lineare, le coordinate del punto di zero indicate + attuale differenza rispetto al
8
punto di avvio della corsa devono essere ancora minori/uguali a 5x10 .
W#16#4106 Con un asse rotante, le coordinate del punto di zero non devono essere minore di 0 e
maggiori/uguali alla fine dell'asse rotante.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 671
SFB per CPU compatte
29.2 Posizionamento con uscita digitale con l'SFB 46 "Digitale"

Errori esterni (ERR)


La funzione controlla la corsa, il campo della corsa e la periferia collegata, a condizione che l'utente
abbia prima attivato questi controlli nelle maschere di parametrizzazione "Azionamento", "Asse" e
"Encoder".
Quando i controlli reagiscono, viene segnalato un errore esterno. Si possono verificare errori esterni
in qualsiasi momento, a prescindere dalle funzioni avviate. Gli errori esterni vanno sempre
confermati con ERR_A = TRUE.
Gli errori esterni vengono visualizzati nel paramtero dell'SFB ERR (WORD) con l'impostazione di un
bit.

Controllo Codice errore Bit in ERR-WORD


Impulsi errati (tacca di zero) W#16#0004 2
Campo corsa W#16#0800 11
Campo di lavoro W#16#1000 12
Quota reale W#16#2000 13
Approssimazione al traguardo W#16#4000 14
Zona del traguardo W#16#8000 15

Errori di sistema
Un errore di sistema viene visualizzato con BIE = FALSE. Un errore di sistema viene causato da un
errore di scrittura/lettura del DB di istanza o dal richiamo multiplo dell'SFB.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


672 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.3 Comando del contatore con l'SFB 47 "COUNT"

29.3 Comando del contatore con l'SFB 47 "COUNT"

Descrizione
Per il comando del contatore dal programma utente utilizzare l'SFB COUNT (SFB47).
Sono disponibili le seguenti funzioni:
• Avvio/arresto del contatore con il gate software SW_GATE
• Abilitazione/comando dell'uscita DO
• Lettura dei bit di stato STS_CMP, STS_OFLW, STS_UFLW e STS_ZP
• Lettura dello stato attuale del contatore COUNTVAL
• JOB di lettura e scrittura dei registri interni del contatore
• Lettura della durata periodo attuale TIMEVAL

Parametri

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
LADDR INPUT WORD 0 Specifico della W#16#0300 Indirizzo E/A del
CPU proprio sotto-modulo,
definito dall'utente in
"Configurazione HW".
Se gli indirizzi E e A
non sono uguali,
indicare il più piccolo
dei due.
CHANNEL INPUT INT 2 CPU 312C: 0 Numero di canale
da 0 a 1
CPU 313C:
da 0 a 2
CPU 314C:
da 0 a 3
SW_GATE INPUT BOOL 4.0 TRUE/FALSE FALSE Gate software per
avvio/arresto del
contatore
CTRL_DO INPUT BOOL 4.1 TRUE/FALSE FALSE Abilitazione uscita
SET_DO INPUT BOOL 4.2 TRUE/FALSE FALSE Comando uscita
JOB_REQ INPUT BOOL 4.3 TRUE/FALSE FALSE Avvio del job (fronte di
salita)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 673
SFB per CPU compatte
29.3 Comando del contatore con l'SFB 47 "COUNT"

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
JOB_ID INPUT WORD 6 W#16#0000 W#16#0000 Numero job
JOB senza
funzione
W#16#0001
Scrivi valore di
conteggio
W#16#0002
Scrivi valore di
caricamento
W#16#0004
Scrivi valore di
confronto
W#16#0008
Scrivi isteresi
W#16#0010
Scrivi durata
impulso
W#16#0082
Leggi valore di
caricamento
W#16#0084
Leggi valore di
confronto
W#16#0088
Leggi isteresi
W#16#0090
Leggi durata
impulso
JOB_VAL INPUT DINT 8 31 0 Valore per job in
Da -2
31 scrittura.
a +2 -1
STS_GATE OUTPUT BOOL 12.0 TRUE/FALSE FALSE Stato gate interno
STS_STRT OUTPUT BOOL 12.1 TRUE/FALSE FALSE Stato gate hardware
(ingresso avvio)
STS_LTCH OUTPUT BOOL 12.2 TRUE/FALSE FALSE Stato ingresso latch
STS_DO OUTPUT BOOL 12.3 TRUE/FALSE FALSE Stato uscita
STS_C_DN OUTPUT BOOL 12.4 TRUE/FALSE FALSE Stato direzione
all'indietro.
Viene sempre
visualizzata l'ultima
direzione di conteggio.
Dopo il primo richiamo
dell'SFB, STS_C_DN
ha il valore FALSE.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


674 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.3 Comando del contatore con l'SFB 47 "COUNT"

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
STS_C_UP OUTPUT BOOL 12.5 TRUE/FALSE FALSE Stato direzione in
avanti
Viene sempre
visualizzata l'ultima
direzione di conteggio.
Dopo il primo richiamo
dell'SFB, STS_C_UP
ha il valore TRUE
COUNTVAL OUTPUT DINT 14 31 0 Valore attuale di
Da -2
31 conteggio
a +2 -1
LATCHVAL OUTPUT DINT 18 31 0 Valore attuale latch
Da -2
31
a +2 -1
JOB_DONE OUTPUT BOOL 22.0 TRUE/FALSE TRUE Il nuovo job può
essere avviato
JOB_ERR OUTPUT BOOL 22.1 TRUE/FALSE FALSE JOB errato
JOB_STAT OUTPUT WORD 24 Da 0 a 0 Numero di errore nel
W#16#FFFF job

Avvertenza
Se nella superficie di parametrizzazione è stato impostato il parametro "Comportamento dell'uscita"
su "Senza valore di confronto", vale quanto segue:
• l'uscita viene attivata come un'uscita normale
• i parametri di ingresso dell'SFB CTRL_DO e SET_DO non sono attivi
• i bit di stato STS_DO e STS_CMP (stato del comparatore nell'IDB) rimangono resettati.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 675
SFB per CPU compatte
29.3 Comando del contatore con l'SFB 47 "COUNT"

Parametri non collegati al blocco (dati locali statici):

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
STS_CMP STATIC BOOL 26.3 TRUE/FALSE FALSE Stato comparatore.
Viene resettato con
RES_STS.
Il bit di stato
STS_CMP indica che
la condizione di
confronto del
comparatore è o era
soddisfatta.
STS_CMP mostra
inoltre che l'uscita era
impostata
(STS_DO = TRUE)
STS_OFLW STATIC BOOL 26.5 TRUE/FALSE FALSE Stato di overflow
Viene resettato con
RES_STS.
STS_UFLW STATIC BOOL 26.6 TRUE/FALSE FALSE Stato di underflow
Viene resettato con
RES_STS.
STS_ZP STATIC BOOL 26.7 TRUE/FALSE FALSE Stato passaggio per lo
zero
Viene resettato con
RES_STS.
Viene impostato solo
per i conteggi senza
direzione principale di
conteggio.
Mostra il passaggio
per lo zero. Viene
impostato anche
quando si imposta il
contatore a 0 o
quando il contatore
conta a partire dal
valore di
caricamento=0.
JOB_OVAL STATIC DINT 28 31 0 Valore di uscita per
Da -2
31 job di lettura.
a +2 -1

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


676 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.3 Comando del contatore con l'SFB 47 "COUNT"

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
RES_STS STATIC BOOL 32.2 TRUE/FALSE FALSE Resettaggio bit di
stato.
Resetta i bit di stato
STS_CMP,
STS_OFLW,
STS_UFLW e
STS_ZP.
Per il resettaggio dei
bit di stato sono
necessari due richiami
dell'SFB.

Avvertenza
Ulteriori particolari sull'applicazione dell'SFB 47 sono contenute nel manuale Sistemi di automazione
S7-300 CPU 31xC, Funzioni tecnologiche.

Informazioni di errore

Errori nei job


Quando si verifica un errore di job, viene impostato JOB_ERR = TRUE. La causa esatta dell'errore
viene visualizzata in JOB_STAT.

Codice di Spiegazione
errore classe
evento
W#16#0121 Valore di confronto troppo piccolo.
W#16#0122 Valore di confronto troppo grande.
W#16#0131 Isteresi troppo piccola.
W#16#0132 Isteresi troppo grande.
W#16#0141 Durata impulso troppo piccole.
W#16#0142 Durata impulso troppo grande.
W#16#0151 Valore di caricamento troppo piccolo.
W#16#0152 Valore di caricamento troppo grande.
W#16#0161 Stato del conteggio troppo piccolo.
W#16#0162 Stato del conteggio troppo grande.
W#16#01FF Numero job non valido.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 677
SFB per CPU compatte
29.3 Comando del contatore con l'SFB 47 "COUNT"

Errori di sistema
Quando si verifica un errore di sistema, viene impostato il BIE = False.

Codice di Spiegazione
errore classe
evento
W#16#8001 Modo di funzionamento scorretto o errore di parametrizzazione. Impostare il modo di
funzionamento corretto nella "Configurazione HW" oppure utilizzare l'SFB adeguato al
modo di funzionamento impostato
W#16#8009 Numero di canale non valido. Impostare un numero di canale 3 (valore specifico della
CPU).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


678 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.4 Comando della misurazione della frequenza con l'SFB 48 "FREQUENC"

29.4 Comando della misurazione della frequenza con l'SFB 48


"FREQUENC"

Descrizione
Il misuratore di frequenza può essere comandato dal programma utente utilizzando
l'SFB FREQUENC (SFB48).
Sono disponibili le seguenti funzioni:
• Avvio/arresto con il gate software SW_GATE
• Abilitazione/comando dell'uscita DO
• Lettura dei bit di stato STS_CMP, STS_OFLW e STS_UFLW
• Lettura del valore attuale della frequenza MEAS_VAL
• JOB di lettura e scrittura dei registri interni della misurazione di frequenza

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 679
SFB per CPU compatte
29.4 Comando della misurazione della frequenza con l'SFB 48 "FREQUENC"

Parametri

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
LADDR INPUT WORD 0 Specifico della W#16#0300 Indirizzo E/A del
CPU proprio sotto-modulo,
definito dall'utente in
"Configurazione HW".
Se gli indirizzi E e A
non sono uguali,
indicare il più piccolo
dei due.
CHANNEL INPUT INT 2 CPU 312C: 0 Numero di canale
da 0 a 1
CPU 313C:
da 0 a 2
CPU 314C:
da 0 a 3
SW_GATE INPUT BOOL 4.0 TRUE/FALSE FALSE Gate software per
l'avvio/arresto della
misurazione di
frequenza
MAN_DO INPUT BOOL 4.1 TRUE/FALSE FALSE Abilitazione comando
manuale dell'uscita
SET_DO INPUT BOOL 4.2 TRUE/FALSE FALSE Comando uscita
JOB_REQ INPUT BOOL 4.3 TRUE/FALSE FALSE Avvio del job (fronte di
salita)
JOB_ID INPUT WORD 6 W#16#0000 = 0 Numero job
JOB senza
funzione
W#16#0001 =
Scrivi limite
inferiore
W#16#0002 =
Scrivi limite
superiore
W#16#0004 =
Scrivi tempo di
integrazione
W#16#0081 =
Leggi limite
inferiore
W#16#0082 =
Leggi limite
superiore
W#16#0084 =
Leggi tempo di
integrazione

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


680 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.4 Comando della misurazione della frequenza con l'SFB 48 "FREQUENC"

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
JOB_VAL INPUT DINT 8 31 0 Valore per job in
Da -2
31 scrittura
a +2 -1
STS_GATE OUTPUT BOOL 12.0 TRUE/FALSE FALSE Stato gate interno
STS_STRT OUTPUT BOOL 12.1 TRUE/FALSE FALSE Stato gate hardware
(ingresso avvio)
STS_DO OUTPUT BOOL 12.2 TRUE/FALSE FALSE Stato uscita
STS_C_DN OUTPUT BOOL 12.3 TRUE/FALSE FALSE Stato direzione
all'indietro
Viene sempre
visualizzata l'ultima
direzione di conteggio.
Dopo il primo richiamo
dell'SFB, STS_C_DN
ha il valore FALSE.
STS_C_UP OUTPUT BOOL 12.4 TRUE/FALSE FALSE Stato direzione in
avanti
Viene sempre
visualizzata l'ultima
direzione di conteggio.
Dopo il primo richiamo
dell'SFB, STS_C_UP
ha il valore TRUE.
MEAS_VAL OUTPUT DINT 14 Da 0 a 0 Valore attuale della
31 frequenza
+2 -1
COUNTVAL OUTPUT DINT 18 31 0 Valore attuale di
Da -2
31 conteggio (si avvia ad
a +2 -1 ogni apertura del gate
con segnale 0)
JOB_DONE OUTPUT BOOL 22.0 TRUE/FALSE TRUE Il nuovo job può
essere avviato
JOB_ERR OUTPUT BOOL 22.1 TRUE/FALSE FALSE JOB errato
JOB_STAT OUTPUT WORD 24 Da W#16#0000 W#16#0000 Numero di errore nel
a W#16#FFFF job

Avvertenza
Se il parametro "Comportamento dell'uscita" nella superficie di parametrizzazione è stato impostato
su "Senza valore di confronto", vale quanto segue:
• l'uscita viene attivata come unùscita normale;
• i parametri d'ingresso SFB CTRL_DO e SET_DO sono disattivati;
• il bit di stato STS_DO rimane resettato.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 681
SFB per CPU compatte
29.4 Comando della misurazione della frequenza con l'SFB 48 "FREQUENC"

Parametri non collegati al blocco (dati locali statici):

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
STS_CMP STATIC BOOL 26.3 TRUE/FALSE FALSE Stato fine della
misurazione
Viene resettato con
RES_STS.
Trascorso un
intervallo di tempo, il
valore di misura viene
sempre aggiornato. La
fine della misurazione
viene sempre
segnalata con il bit di
stato STS_CMP
STS_OFLW STATIC BOOL 26.5 TRUE/FALSE FALSE Stato di overflow
Viene resettato con
RES_STS.
STS_UFLW STATIC BOOL 26.6 TRUE/FALSE FALSE Stato di underflow
Viene resettato con
RES_STS.
JOB_OVAL STATIC DINT 28 31 0 Valore di uscita per
Da -2
31 job di lettura
a2 -1
RES_STS STATIC BOOL 32.2 TRUE/FALSE FALSE Resettaggio bit di
stato.
Resetta i bit di stato
STS_CMP,
STS_OFLW e
STS_UFLW.
Per il resettaggio dei
bit di stato sono
necessari due richiami
dell'SFB.

Avvertenza
Ulteriori particolari sull'applicazione dell'SFB 48 sono contenute nel manuale Sistemi di automazione
S7-300 CPU 31xC, Funzioni tecnologiche.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


682 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.4 Comando della misurazione della frequenza con l'SFB 48 "FREQUENC"

Errori nei job


Quando si verifica un errore di job, viene impostato JOB_ERR = TRUE. La causa esatta dell'errore
viene visualizzata in JOB_STAT.

Codice di Spiegazione
errore classe
evento
W#16#0221 Tempo di integrazione insufficiente.
W#16#0222 Tempo di integrazione eccessivo.
W#16#0231 Limite inferiore della frequenza troppo piccolo.
W#16#0232 Limite inferiore della frequenza troppo grande.
W#16#0241 Limite superiore della frequenza troppo piccolo.
W#16#0242 Limite superiore della frequenza troppo grande.
W#16#02FF Numero job non valido.

Errori di sistema
Quando si verifica un errore di sistema, viene impostato il BIE = False.

Codice di Spiegazione
errore classe
evento
W#16#8001 Modo di funzionamento scorretto o errore di parametrizzazione. Impostare il modo di
funzionamento corretto nella "Configurazione HW" oppure utilizzare l'SFB adeguato al modo
di funzionamento impostato
W#16#8009 Numero di canale non valido. Impostare un numero di canale ≤ 3 (valore specifico della CPU).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 683
SFB per CPU compatte
29.5 Comando della modulazione dell'ampiezza degli impulsi con l'SFB 49 "PULSE"

29.5 Comando della modulazione dell'ampiezza degli impulsi con


l'SFB 49 "PULSE"

Descrizione
Per il comando della modulazione di ampiezza degli impulsi dal programma utente utilizzare
l'SFB PULSE (SFB 49).
Sono disponibili le seguenti funzioni:
• Avvio/arresto con il gate software SW_EN
• Abilitazione/comando dell'uscita DO
• Lettura dei bit di stato STS_EN, STS_STRT e STS_DO
• Immissione del valore di uscita
• JOB di lettura e scrittura dei registri

Parametri

Parametri Dichiarazione Tipo di Indirizzo Campo di Preassegnaz- Descrizione


dati (DB di valori ione
istanza)
LADDR INPUT WORD 0 Specifico della W#16#0300 Indirizzo E/A del
CPU proprio sotto-modulo,
definito dall'utente in
"Configurazione HW".
Se gli indirizzi E e A
non sono uguali,
indicare il più piccolo
dei due.
CHANNEL INPUT INT 2 CPU 312C: 0 Numero di canale
da 0 a 1
CPU 313C:
da 0 a 2
CPU 314C:
da 0 a 3
SW_EN INPUT BOOL 4.0 TRUE/FALSE FALSE Gate software per
l'avvio/arresto
dell'uscita
MAN_DO INPUT BOOL 4.1 TRUE/FALSE FALSE Abilitazione comando
manuale dell'uscita
SET_DO INPUT BOOL 4.2 TRUE/FALSE FALSE Comando uscita

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


684 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.5 Comando della modulazione dell'ampiezza degli impulsi con l'SFB 49 "PULSE"

Parametri Dichiarazione Tipo di Indirizzo Campo di Preassegnaz- Descrizione


dati (DB di valori ione
istanza)
OUTP INPUT INT 6.0 Per mille: 0 Standard del valore di
_VAL da 0 a 1000 uscita
Uscita Definendo un valore di
analogica S7: uscita > 1 000 o
da 0 a 27648 27648, la CPU lo
limiterà a 1 000 o
27648
JOB_REQ INPUT BOOL 8.0 TRUE/FALSE FALSE Avvio del job (fronte di
salita)
JOB_ID INPUT WORD 10 W#16#0000 = W#16#0000 Numero job
JOB senza
funzione
W#16#0001 =
Scrivi durata
periodo
W#16#0002 =
Scrivi ritardo di
inserzione
W#16#0004 =
Scrivi durata
minima
impulso
W#16#0081 =
Leggi durata
periodo
W#16#0082 =
Leggi ritardo di
inserzione
W#16#0084 =
Leggi durata
minima
impulso
JOB_VAL INPUT DINT 12 31 0 Valore per job in
Da -2
31 scrittura.
a +2 -1
STS_EN OUTPUT BOOL 16.0 TRUE/FALSE FALSE Stato abilitazione
STS OUTPUT BOOL 16.1 TRUE/FALSE FALSE Stato gate hardware
_STRT (ingresso avvio)
STS_DO OUTPUT BOOL 16.2 TRUE/FALSE FALSE Stato uscita
JOB OUTPUT BOOL 16.3 TRUE/FALSE TRUE Il nuovo job può
_DONE essere avviato
JOB_ERR OUTPUT BOOL 16.4 TRUE/FALSE FALSE JOB errato
JOB OUTPUT WORD 18 Da W#16#0000 Numero di errore nel
_STAT W#16#0000 a job
W#16#FFFF

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 685
SFB per CPU compatte
29.5 Comando della modulazione dell'ampiezza degli impulsi con l'SFB 49 "PULSE"

Parametri non collegati al blocco (dati locali statici):

Parametri Dichiaraz- Tipo di Indirizzo Campo di Preassegnaz- Descrizione


ione dati (DB di valori ione
istanza)
JOB_OVAL OUTPUT DINT 20 31 0 Valore di uscita per
Da -2
31 job di lettura
a2 -1

Avvertenza
Ulteriori particolari sull'applicazione dell'SFB 49 sono contenute nel manuale Sistemi di automazione
S7-300 CPU 31xC, Funzioni tecnologiche.

Errori nei job


Quando si verifica un errore di job, viene impostato JOB_ERR = TRUE. La causa esatta dell'errore
viene visualizzata in JOB_STAT.

Codice di Spiegazione
errore classe
evento
W#16#0411 Durata periodo troppo breve.
W#16#0412 Durata periodo troppo lunga.
W#16#0421 Ritardo di inserzione troppo piccolo.
W#16#0422 Ritardo di inserzione troppo grande.
W#16#0431 Durata minima impulso troppo breve.
W#16#0432 Durata minima impulso troppo lunga.
W#16#04FF Numero job non valido.

Errori di sistema
Quando si verifica un errore di sistema, viene impostato il BIE = False.

Codice di Spiegazione
errore classe
evento
W#16#8001 Modo di funzionamento scorretto o errore di parametrizzazione. Impostare il modo di
funzionamento corretto nella "Configurazione HW" oppure utilizzare l'SFB adeguato al modo
di funzionamento impostato
W#16#8009 Numero di canale non valido. Impostare un numero di canale ≤ 3 (valore specifico della CPU).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


686 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.6 Invio di dati (ASCII, 3964(R)) con l'SFB 60 "SEND_PTP"

29.6 Invio di dati (ASCII, 3964(R)) con l'SFB 60 "SEND_PTP"

Descrizione
Con l'SFB SEND_PTP (SFB 60) si invia un blocco di dati da un DB.
L'operazione di invio si attiva dopo il richiamo del blocco e un fronte di salita all'ingresso di comando
REQ.
L'area dei dati da inviare è predefinita da SD_1 (numero di DB e indirizzo iniziale), la lunghezza del
blocco dati da LEN.
Perché l'SFB possa elaborare il job, l'utente deve richiamare quest'ultimo con R(Reset)=FALSE.
Con un fronte di salita all'ingresso di comando R, l'operazione di invio in corso viene interrotta e
l'SFB viene riportato allo stato di base. I job interrotti si concludono con un messaggio di errore
(uscita STATUS).
LADDR consente di indicare l'indirizzo E/A del sotto-modulo definito dall'utente nella
"Configurazione HW".
O DONE viene impostato su TRUE, se il job si è concluso senza errori, oppure viene impostato
ERROR su TRUE, se il job si è concluso con errori.
Se il job è stato eseguito con DONE=TRUE, significa che:
• Con l'impiego del driver ASCII: i dati sono stati inviati al partner della comunicazione. Non è
sicuro che i dati siano anche stati ricevuti dal partner della comunicazione.
• Con l'impiego della procedura 3964(R): i dati sono stati inviati al partner della comunicazione e
confermati positivamente da questo. Non è sicuro che i dati siano anche stati trasmessi alla CPU
partner.
In caso di errore o di avviso, la CPU mostra in STATUS il numero dell'evento corrispondente.
DONE ed ERROR/STATUS vengono visualizzati anche in caso di RESET dell'SFB (R=TRUE).
Quando si verifica un errore, viene resettato il risultato binario BIE. Se il blocco si conclude senza
errori, il risultato binario ha lo stato TRUE.
Nota
L'SFB non ha controllo dei parametri: in caso di errori di parametrizzazione, la CPU può entrare in
stato di STOP.

DB di istanza
L'SFB SEND_PTP opera in combinazione con un DB di istanza. Il numero di DB viene indicato al
momento del richiamo. L'accesso ai dati del DB di istanza non è consentito.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 687
SFB per CPU compatte
29.6 Invio di dati (ASCII, 3964(R)) con l'SFB 60 "SEND_PTP"

Parametri

Parametri Dichiaraz- Tipo di Campo di Preassegnaz- Descrizione


ione dati valori ione
REQ INPUT BOOL TRUE/FALSE FALSE Parametro di comando "Request":
attiva lo scambio di dati con fronte di
salita.
R INPUT BOOL TRUE/FALSE FALSE Parametro di comando "Reset". Il
job viene interrotto. L'invio è inibito.
LADDR INPUT WORD Specifico della W#16#03FF Indirizzo E/A del sotto-modulo
CPU definito dall'utente nella
"Configurazione HW".
DONE OUTPUT BOOL TRUE/FALSE FALSE Parametro di stato (il parametro è
impostato solo per la durata di un
richiamo):
FALSE: job non ancora avviato o
ancora in esecuzione.
TRUE: job concluso senza errori.
ERROR OUTPUT BOOL TRUE/FALSE FALSE Parametro di stato (il parametro è
impostato solo per la durata di un
richiamo):
job eseguito con errori
STATUS OUTPUT WORD Da W#16#0000 Parametro di stato (il parametro è
W#16#0000 a impostato solo per la durata di un
W#16#FFFF richiamo. Per visualizzare lo stato,
occorre pertanto copiare il parametro
STATUS in un'area dati libera)
A seconda del bit ERROR, STATUS
ha il seguente significato:
ERROR=FALSE:
STATUS ha il valore W#16#0000: né
avviso né errore
STATUS ha il valore<> W#16#0000:
avviso, STATUS fornisce
informazioni dettagliate.
ERROR=TRUE:
si è verificato un errore, STATUS
fornisce informazioni dettagliate sul
tipo di errore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


688 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.6 Invio di dati (ASCII, 3964(R)) con l'SFB 60 "SEND_PTP"

Parametri Dichiaraz- Tipo di Campo di Preassegnaz- Descrizione


ione dati valori ione
SD_1 INPUT/ ANY Specifico della 0 Parametro di trasmissione:
OUTPUT CPU Indicare qui i seguenti valori:
• Numero del DB dal quale inviare
i dati.
• Numero del byte di dati a partire
dal quale inviare i dati (valori
possibili: 0 ... 8190).
Ad es.: DB 10 dal byte 2 ->
DB10.DBB2
Avvertenza: osservare che nelle CPU
S7-300 il parametro SD_1 richiede
sempre l'indicazione completa dei
parametri DB (ad es.:
P#DB13.DBX0.0 byte 100).
Tralasciare un n. di DB esplicito non
è consentito per le CPU S7-300 e
genera un messaggio di errore nel
programma utente.
LEN INPUT/ INT Da 1 a 1024 1 Indicare qui la lunghezza in byte del
OUTPUT blocco dati da inviare. (La lunghezza
viene indicata indirettamente.)

Coerenza dei dati


La coerenza dei dati è limitata a 206 byte. Per una trasmissione coerente dei dati con oltre 206 byte,
osservare quanto segue.
Scrivere nuovamente l'area di invio SD_1 attualmente utilizzata solo quando l'operazione di invio si è
conclusa. Ciò vale quando il parametro di stato DONE assume il valore TRUE.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 689
SFB per CPU compatte
29.7 Ricezione di dati (ASCII, 3964(R)) con l'SFB 61 "RCV_PTP"

29.7 Ricezione di dati (ASCII, 3964(R)) con l'SFB 61 "RCV_PTP"

Descrizione
L'SFB RCV_PTP (SFB 61) permette di ricevere dati memorizzandoli in un blocco dati.
Dopo il richiamo, il blocco è pronto per la ricezione con il valore TRUE nell'uscita di comando EN_R.
Una trasmissione in corso può essere interrotta con lo stato di segnale FALSE nel parametro EN_R.
I job interrotti si concludono con un messaggio di errore (uscita STATUS). La ricezione resta
disattivata finché il parametro EN_R ha lo stato di segnale FALSE.
L'area di ricezione viene predefinita da RD_1 (numero DB e indirizzo iniziale), la lunghezza del
blocco di dati da LEN.
Perché l'SFB possa elaborare il job, l'utente deve richiamare quest'ultimo con R(Reset)=FALSE.
Con un fronte di salita all'ingresso di comando R, la trasmissione in corso viene interrotta e
l'SFB viene riportato allo stato di base. Un job di ricezione interrotto si conclude con un messaggio di
errore (uscita STATUS).
LADDR consente di indicare l'indirizzo E/A del sotto-modulo definito dall'utente nella
"Configurazione HW".
Viene impostato NDR su TRUE, se il job si è concluso senza errori, oppure ERROR su TRUE, se il
job si è concluso con errori.
In caso di errore o di avviso, la CPU mostra in STATUS il numero dell'evento corrispondente.
NDR ed ERROR/STATUS vengono visualizzati anche in caso di RESET dell'SFB (R=TRUE)
(parametro LEN == 16#00).
Quando si verifica un errore, viene resettato il risultato binario BIE. Se il blocco si conclude senza
errori, il risultato binario ha lo stato TRUE.
Nota
L'SFB non ha controllo dei parametri: in caso di errori di parametrizzazione, la CPU può entrare in
stato di STOP.

DB di istanza
L'SFB RCV_PTP opera in combinazione con un DB di istanza. Il numero di DB viene indicato al
momento del richiamo. L'accesso ai dati del DB di istanza non è consentito.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


690 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.7 Ricezione di dati (ASCII, 3964(R)) con l'SFB 61 "RCV_PTP"

Parametri

Parametri Dichiaraz- Tipo di Campo di Preassegnaz- Descrizione


ione dati valori ione
EN_R INPUT BOOL TRUE/FALSE FALSE Parametro di comando "Enable to
receive":
ricezione abilitata
R INPUT BOOL TRUE/FALSE FALSE Parametro di comando "Reset":
il job viene interrotto.
LADDR INPUT WORD Specifico della W#16#03FF Indirizzo E/A del sotto-modulo
CPU definito dall'utente nella
"Configurazione HW".
NDR OUTPUT BOOL TRUE/FALSE FALSE JOB concluso senza errori, dati
applicati
• FALSE: job non ancora avviato
o ancora in corso.
• TRUE: job concluso senza
errori.
ERROR OUTPUT BOOL TRUE/FALSE FALSE Parametro di stato (il parametro è
impostato solo per la durata di un
richiamo):
job eseguito con errori
STATUS OUTPUT WORD Da W#16#0000 Parametro di stato (il parametro è
W#16#0000 a impostato solo per la durata di un
W#16#FFFF richiamo. Per visualizzare lo stato,
occorre pertanto copiare il
parametro STATUS in un'area dati
libera)
A seconda del bit ERROR, STATUS
ha il seguente significato:
• ERROR=FALSE:
STATUS ha il valore
W#16#0000: né avviso né
errore
STATUS ha il valore<>
W#16#0000: avviso, STATUS
fornisce informazioni
dettagliate.
• ERROR=TRUE:
si è verificato un errore,
STATUS fornisce informazioni
dettagliate sul tipo di errore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 691
SFB per CPU compatte
29.7 Ricezione di dati (ASCII, 3964(R)) con l'SFB 61 "RCV_PTP"

Parametri Dichiaraz- Tipo di Campo di Preassegnaz- Descrizione


ione dati valori ione
RD_1 INPUT/ ANY Specifico della 0 Parametro di ricezione:
OUTPUT CPU Indicare qui i seguenti valori:
• Numero del DB nel quale
salvare i dati.
• Numero del byte di dati a partire
dal quale salvare i dati ricevuti
(valori possibili: 0 ... 8190).
Ad es.: DB 20 dal byte 5 ->
DB20.DBB5
Avvertenza: osservare che nelle
CPU S7-300 il parametro RD_1
richiede sempre l'indicazione
completa dei parametri DB (ad es.:
P#DB13.DBX0.0 byte 100).
Tralasciare un n. di DB esplicito non
è consentito per le CPU S7-300 e
genera un messaggio di errore nel
programma utente.
LEN INPUT/ INT Da 0 a 1024 0 Emissione della lunghezza dei dati
OUTPUT (numero di byte)

Coerenza dei dati


La coerenza dei dati è limitata a 206 byte. Per una trasmissione coerente dei dati con oltre 206 byte,
osservare quanto segue.
Accedere nuovamente al DB di ricezione solo quando la ricezione dei dati è completa
(NDR = TRUE). Quindi inibire il DB di ricezione (EN_R = FALSE) finché non si sono elaborati i dati.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


692 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.8 Cancellazione del buffer ricevente (ASCII, 3964(R)) con l'SFB 62 "RES_RCVB"

29.8 Cancellazione del buffer ricevente (ASCII, 3964(R)) con l'SFB 62


"RES_RCVB"

Descrizione
L'SFB RES_RECV (SFB 62) permette di cancellare l'intero buffer ricevente dell'unità. Tutti i
telegrammi memorizzati vengono respinti. Un telegramma in entrata al momento del richiamo
dell'SFB RES_RCVB viene memorizzato.
Il job viene attivato dopo il richiamo del blocco e un fronte di salita nell'ingresso di comando REQ. Il
job può essere eseguito con più richiami (cicli di programma).
Perché l'SFB possa elaborare il job, l'utente deve richiamare quest'ultimo con R(Reset)=FALSE.
Con un fronte di salita all'ingresso di comando R la cancellazione viene interrotta e l'SFB viene
riportato allo stato di base. I job interrotti si concludono con un messaggio di errore (uscita STATUS).
LADDR consente di indicare l'indirizzo E/A del sotto-modulo definito dall'utente nella
"Configurazione HW".
O DONE viene impostato su TRUE, se il job si è concluso senza errori, oppure viene impostato
ERROR su TRUE, se il job si è concluso con errori.
In caso di errore o di avviso, la CPU mostra in STATUS il numero dell'evento corrispondente.
DONE ed ERROR/STATUS vengono visualizzati anche in caso di RESET dell'SFB (R=TRUE).
Quando si verifica un errore, viene resettato il risultato binario BIE. Se il blocco si conclude senza
errori, il risultato binario ha lo stato TRUE.

Nota
L'SFB non ha controllo dei parametri: in caso di errori di parametrizzazione, la CPU può entrare in
stato di STOP.

DB di istanza
L'SFB RES_RCVB opera in combinazione con un DB di istanza. Il numero di DB viene indicato al
momento del richiamo. L'accesso ai dati del DB di istanza non è consentito.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 693
SFB per CPU compatte
29.9 Invio di dati (RK 512) con l'SFB 63 "SEND_RK"

Parametri

Parametri Dichiaraz- Tipo di Campo di Preassegnaz- Descrizione


ione dati valori ione
REQ INPUT BOOL TRUE/FALSE FALSE Parametro di comando "Request":
attiva il job con fronte di salita
R INPUT BOOL TRUE/FALSE FALSE Parametro di comando "Reset":
il job viene interrotto.
LADDR INPUT WORD Specifico della W#16#03FF Indirizzo E/A del sotto-modulo
CPU definito dall'utente nella
"Configurazione HW".
DONE OUTPUT BOOL TRUE/FALSE FALSE Parametro di stato (il parametro è
impostato solo per la durata di un
richiamo):
• FALSE: job non ancora
avviato o ancora in
esecuzione.
• TRUE: job concluso senza
errori.
ERROR OUTPUT BOOL TRUE/FALSE FALSE Parametro di stato (il parametro è
impostato solo per la durata di un
richiamo):
job eseguito con errori
STATUS OUTPUT WORD Da W#16#0000 Parametro di stato (il parametro è
W#16#0000 a impostato solo per la durata di un
W#16#FFFF richiamo. Per visualizzare lo stato,
occorre pertanto copiare il
parametro STATUS in un'area dati
libera)
A seconda del bit ERROR, STATUS
ha il seguente significato:
• ERROR=FALSE:
STATUS ha il valore
W#16#0000: né avviso né
errore
STATUS ha il valore<>
W#16#0000: avviso, STATUS
fornisce informazioni
dettagliate.
• ERROR=TRUE:
si è verificato un errore,
STATUS fornisce informazioni
dettagliate sul tipo di errore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


694 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.9 Invio di dati (RK 512) con l'SFB 63 "SEND_RK"

29.9 Invio di dati (RK 512) con l'SFB 63 "SEND_RK"

Descrizione
Con l'SFB SEND_RK (SFB 63) si invia un blocco di dati da un DB.
L'operazione di invio si attiva dopo il richiamo del blocco e un fronte di salita all'ingresso di comando
REQ.
L'area dei dati da inviare è predefinita da SD_1 (numero di DB e indirizzo iniziale), la lunghezza del
blocco dati da LEN.
Indicare eventualmente nell'SFB l'area di ricezione del partner. Questa informazione viene riportata
dalla CPU nell'intestazione del telegramma e trasmessa al partner.
La destinazione viene indicata dal numero della CPU R_CPU (rilevante solo nella comunicazione
multiprocessore), dal tipo di dati R_TYPE (blocchi dati (DB) e blocchi dati ampliati (DX)), dal numero
di blocco dati R_DBNO e dall'offset R_OFFSET nel quale va scritto il primo byte.
Con R_CF_BYT e R_CF_BIT è possibile definire il byte e il bit del merker d'accoppiamento nella
CPU partner.
Il parametro SYNC_DB permette di determinare il DB in cui memorizzare i dati comuni a tutti gli
SFB utilizzati dall'utente per l'inizializzazione all'avviamento e la sincronizzazione. Il numero del DB
deve essere identico per tutti gli SFB utilizzati nel programma utente.
Perché l'SFB possa elaborare il job, l'utente deve richiamare quest'ultimo con R(Reset)=FALSE.
Con un fronte di salita all'ingresso di comando R l'operazione di invio in corso viene interrotta e
l'SFB viene riportato allo stato di base. I job interrotti si concludono con un messaggio di errore
(uscita STATUS).
LADDR consente di indicare l'indirizzo E/A del sotto-modulo definito dall'utente nella
"Configurazione HW".
O DONE viene impostato su TRUE, se il job si è concluso senza errori, oppure viene impostato
ERROR su TRUE, se il job si è concluso con errori.
Se il job è stato esguito con DONE = TRUE, i dati sono stati inviati al partner della comunicazione,
confermati positivamente da quest'ultimo e trasmessi alla CPU partner.
In caso di errore o di avviso, la CPU mostra in STATUS il numero dell'evento corrispondente.
DONE ed ERROR/STATUS vengono visualizzati anche in caso di RESET dell'SFB (R=TRUE).
Quando si verifica un errore, viene resettato il risultato binario BIE. Se il blocco si conclude senza
errori, il risultato binario ha lo stato TRUE.
Nota
L'SFB non ha controllo dei parametri: in caso di errori di parametrizzazione, la CPU può entrare in
stato di STOP.

DB di istanza
L'SFB SEND_RK opera in combinazione con un DB di istanza. Il numero di DB viene indicato al
momento del richiamo. L'accesso ai dati del DB di istanza non è consentito.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 695
SFB per CPU compatte
29.9 Invio di dati (RK 512) con l'SFB 63 "SEND_RK"

Particolarità dell'invio di dati


Per il job "Invio di dati", osservare quanto segue:
• Con RK 512 si può inviare soltanto un numero pari di dati. Indicando come lunghezza (LEN) un
numero di dati dispari, viene trasmesso un ulteriore byte di riempimento con il valore "0" alla fine
dei dati.
• Con RK 512 si può indicare soltanto un offset pari. Indicando un offset dispari, i dati vengono
memorizzati dal partner a partire dal più piccolo offset pari successivo.
Esempio: l'offset è 7, vengono memorizzati i dati dal byte 6 in poi.

Parametri

Parametri Dichiarazione Tipo di Campo di Preassegnaz- Descrizione


dati valori ione
SYNC_DB INPUT INT Specifico della 0 Numero del DB nel quale
CPU vengono memorizzati i dati
comuni per la sincronizzazione
dell'SFB RK (lunghezza minima
240 byte).
REQ INPUT BOOL TRUE/FALSE FALSE Parametro di comando "Request":
attiva il job con fronte di salita
R INPUT BOOL TRUE/FALSE FALSE Parametro di comando "Reset":
il job viene interrotto.
LADDR INPUT WORD Specifico della W#16#03FF Indirizzo E/A del sotto-modulo
CPU definito dall'utente nella
"Configurazione HW".
R_CPU INPUT INT Da 0 a 4 1 Numero della CPU partner
(solo con funzionamento
multiprocessore)
R_TYPE INPUT CHAR ’D’, ’X’ ’D’ Tipo di indirizzo nella CPU
partner (sono ammesse solo
lettere maiuscole)
’D’: blocco dati
’X’: blocco dati ampliato
R_DBNO INPUT INT Da 0 a 255 0 Numero di blocco dati nella CPU
partner
R_OFFSET INPUT INT Da 0 a 510 0 Numero byte di dati nella CPU
(solo valori pari) partner
R_CF_BYT INPUT INT Da 0 a 255 255 Byte del merker d'accoppiamento
nella CPU partner
(255: significa: senza merker
d'accoppiamento)
R_CF_BIT INPUT INT Da 0 a 7 0 Bit del merker d'accoppiamento
nella CPU partner

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


696 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.9 Invio di dati (RK 512) con l'SFB 63 "SEND_RK"

Parametri Dichiarazione Tipo di Campo di Preassegnaz- Descrizione


dati valori ione
DONE OUTPUT BOOL TRUE/FALSE FALSE Parametro di stato (il parametro è
impostato solo per la durata di un
richiamo):
FALSE: job non ancora avviato o
ancora in esecuzione.
TRUE: job concluso senza errori.
ERROR OUTPUT BOOL TRUE/FALSE FALSE Parametro di stato (il parametro è
impostato solo per la durata di un
richiamo):
job eseguito con errori
STATUS OUTPUT WORD Da W#16#0000 W#16#0000 Parametro di stato (il parametro è
a W#16#FFFF impostato solo per la durata di un
richiamo. Per visualizzare lo
stato, occorre pertanto copiare il
parametro STATUS in un'area
dati libera)
A seconda del bit ERROR,
STATUS ha il seguente
significato:
ERROR=FALSE:
STATUS ha il valore
W#16#0000: né avviso né
errore
STATUS ha il valore<>
W#16#0000: avviso,
STATUS fornisce
informazioni dettagliate.
ERROR=TRUE:
si è verificato un errore,
STATUS fornisce
informazioni dettagliate sul
tipo di errore.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 697
SFB per CPU compatte
29.9 Invio di dati (RK 512) con l'SFB 63 "SEND_RK"

Parametri Dichiarazione Tipo di Campo di Preassegnaz- Descrizione


dati valori ione
SD_1 INPUT/ ANY Specifico della 0 Parametro di trasmissione:
OUTPUT CPU Indicare qui i seguenti valori:
• Numero del DB dal quale
inviare i dati.
• Numero del byte di dati a
partire dal quale inviare i dati
(valori possibili: 0 ... 8190).
Ad es.: DB 10 dal byte 2 ->
DB10.DBB2
Avvertenza: osservare che nelle
CPU S7-300 il parametro SD_1
richiede sempre l'indicazione
completa dei parametri DB (ad
es.: P#DB13.DBX0.0 byte 100).
Tralasciare un n. di DB esplicito
non è consentito per le CPU
S7-300 e genera un messaggio di
errore nel programma utente.
LEN INPUT/ INT Da 1 a 1024 1 Indicare qui la lunghezza in byte
OUTPUT del blocco dati da inviare. (La
lunghezza viene indicata
indirettamente.)

Dati nell'intestazione del telegramma


Nella tabella seguente sono riportati i dati nell'intestazione del telegramma RK 512.

Sorgente nel sistema A destinazione, CPU Intestazione del telegramma, byte


di automazione S7 partner
dell'utente (CPU
locale)
3/4 tipo di 5/6 offset 7/8 numero in
comando Z-DBNR/Z
Blocco dati Blocco dati AD DB/DW parole
Blocco dati Blocco dati ampliato AD DB/DW parole

Spiegazione delle abbreviazioni:

Z-DBNR Numero del blocco dati di destinazione


Z-Offset Indirizzo iniziale della destinazione
DW Offset in parole

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


698 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.9 Invio di dati (RK 512) con l'SFB 63 "SEND_RK"

Coerenza dei dati


La coerenza dei dati è limitata a 128 byte. Per una trasmissione coerente dei dati con oltre 128 byte,
osservare quanto segue.
Scrivere nuovamente l'area di invio SD_1 attualmente utilizzata solo quando l'operazione di invio si è
conclusa. Ciò vale quando il parametro di stato DONE assume il valore TRUE.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 699
SFB per CPU compatte
29.10 Prelievo di dati (RK 512) con l'SFB 64 "FETCH RK"

29.10 Prelievo di dati (RK 512) con l'SFB 64 "FETCH RK"

Descrizione
L'SFB FETCH_RK (SFB 64) permetet di prelevare un blocco di dati dal partner memorizzandoli in
un blocco dati.
L'operazione di invio si attiva dopo il richiamo del blocco e un fronte di salita all'ingresso di comando
REQ.
L'area in cui memorizzare i dati prelevati è predefinita da RD_1 (numero di DB e indirizzo iniziale), la
lunghezza del blocco dati da LEN.
Indicare eventualmente nell'SFB l'area del partner dalla quale vengono prelevati i dati. Questa
informazione viene riportata dalla CPU nell'intestazione del telegramma RK512 (vedere anche
allegato F) e trasmessa al partner.
L'area del partner viene indicata dal numero della CPU R_CPU (rilevante solo nella comunicazione
multiprocessore), dal tipo di dati R_TYPE (blocchi dati, blocchi dati ampliati, merker, ingressi, uscite,
contatori e temporizzatori), dal numero di blocco dati R_DBNO (rilevante solo per blocchi dati e
blocchi dati ampliati) e dall'offset R_OFFSET nel quale va prelevato il primo byte.
Con R_CF_BYT e R_CF_BIT è possibile definire il byte e il bit del merker d'accoppiamento nella
CPU partner.
Il parametro SYNC_DB permette di determinare il DB in cui memorizzare i dati comuni a tutti gli
SFB utilizzati dall'utente per l'inizializzazione all'avviamento e la sincronizzazione. Il numero del DB
deve essere identico per tutti gli SFB utilizzati nel programma utente.
Perché l'SFB possa elaborare il job, l'utente deve richiamare quest'ultimo con R(Reset)=FALSE.
Con un fronte di salita all'ingresso di comando R la trasmissione in corso viene interrotta e
l'SFB viene riportato allo stato di base. I job interrotti si concludono con un messaggio di errore
(uscita STATUS).
LADDR consente di indicare l'indirizzo E/A del sotto-modulo definito dall'utente nella
"Configurazione HW".
O DONE viene impostato su TRUE, se il job si è concluso senza errori, oppure viene impostato
ERROR su TRUE, se il job si è concluso con errori.
In caso di errore o di avviso, la CPU mostra in STATUS il numero dell'evento corrispondente.
DONE ed ERROR/STATUS vengono visualizzati anche in caso di RESET dell'SFB (R=TRUE).
Quando si verifica un errore, viene resettato il risultato binario BIE. Se il blocco si conclude senza
errori, il risultato binario ha lo stato TRUE.
Nota
L'SFB non ha controllo dei parametri: in caso di errori di parametrizzazione, la CPU può entrare in
stato di STOP.
Nota
In caso di prelievo di dati dalla propria CPU, occorre programmare nella propria CPU un
SFB "SERVE_RK".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


700 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.10 Prelievo di dati (RK 512) con l'SFB 64 "FETCH RK"

DB di istanza
L'SFB FETCH_RK opera in combinazione con un DB di istanza. Il numero di DB viene indicato al
momento del richiamo. L'accesso ai dati del DB di istanza non è consentito.

Particolarità dei blocchi dati (ampliati)


Per il job "Prelievo di dati" da blocchi dati e blocchi dati ampliati, osservare quanto segue:
• Con RK 512 si può prelevare soltanto un numero pari di dati. Indicando come lunghezza (LEN)
un numero di dati dispari, viene sempre trasmesso un byte in più. Nel DB di destinazione viene
tuttavia registrato il numero di dati corretto.
• Con RK 512 si può indicare soltanto un offset pari. Indicando un offset dispari, i dati vengono
prelevati dal partner a partire dal più piccolo offset pari successivo.
Esempio: l'offset è 7, vengono prelevati i dati dal byte 6 in poi.

Particolarità dei contatori e temporizzatori


In caso di prelievo di temporizzatori o contatori dal partner della comunicazione, occorre osservare
che per ogni temporizzatore o contatore vengono prelevati 2 byte. Se si desidera prelevare ad es. 10
contatori, occorre indicare la lunghezza 20.

Parametri
In questo SFB i campi dei valori sono indicati con mnemonico tedesco.

Parametri Dichiaraz- Tipo di Campo di Preassegnaz- Descrizione


ione dati valori ione
SYNC_DB INPUT INT Specifico della 0 Numero del DB nel quale
CPU vengono memorizzati i dati
comuni per la sincronizzazione
dell'SFB RK (lunghezza
minima 240 byte).
REQ INPUT BOOL TRUE/FALSE FALSE Parametro di comando
"Request":
attiva il job con fronte di salita
R INPUT BOOL TRUE/FALSE FALSE Parametro di comando
"Reset":
il job viene interrotto.
LADDR INPUT WORD Specifico della W#16#03FF Indirizzo E/A del sotto-modulo
CPU definito dall'utente nella
"Configurazione HW".
R_CPU INPUT INT Da 0 a 4 1 Numero della CPU partner
(solo con funzionamento
multiprocessore)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 701
SFB per CPU compatte
29.10 Prelievo di dati (RK 512) con l'SFB 64 "FETCH RK"

Parametri Dichiaraz- Tipo di Campo di Preassegnaz- Descrizione


ione dati valori ione
R_TYPE INPUT CHAR ’D’, ’X’, ’M’, ’D’ Tipo di indirizzo nella CPU
’E’, ’A’, ’Z’, ’T’ partner
’D’: blocco dati
’X’: blocco dati ampliato
’M’: merker
’E’: ingressi
’A’: uscite
’Z’: contatori
’T’: temporizzatori
R_DBNO INPUT INT Da 0 a 255 0 Numero di blocco dati nella
CPU partner
R_OFFSET INPUT INT Vedere 0 Numero byte di dati nella CPU
tabella: partner
"Parametri FB
per sorgente
dati (CPU
partner)"
R_CF_BYT INPUT INT Da 0 a 255 255 Byte del merker
d'accoppiamento nella CPU
partner
(255: significa: senza merker
d'accoppiamento)
R_CF_BIT INPUT INT Da 0 a 7 0 Bit del merker
d'accoppiamento nella CPU
partner
DONE OUTPUT BOOL TRUE/FALSE FALSE Parametro di stato (il
parametro è impostato solo
per la durata di un richiamo):
• FALSE: job non ancora
avviato o ancora in
esecuzione.
• TRUE: job concluso
senza errori.
ERROR OUTPUT BOOL TRUE/FALSE FALSE Parametro di stato (il
parametro è impostato solo
per la durata di un richiamo):
job eseguito con errori

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


702 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.10 Prelievo di dati (RK 512) con l'SFB 64 "FETCH RK"

Parametri Dichiaraz- Tipo di Campo di Preassegnaz- Descrizione


ione dati valori ione
STATUS OUTPUT WORD Da W#16#0000 Parametro di stato (il
W#16#0000 a parametro è impostato solo
W#16#FFFF per la durata di un richiamo.
Per visualizzare lo stato,
occorre pertanto copiare il
parametro STATUS in un'area
dati libera)
A seconda del bit ERROR,
STATUS ha il seguente
significato:
• ERROR=FALSE:
STATUS ha il valore
W#16#0000: né avviso né
errore
STATUS ha il valore<>
W#16#0000: avviso,
STATUS fornisce
informazioni dettagliate.
• ERROR=TRUE:
si è verificato un errore,
STATUS fornisce
informazioni dettagliate
sul tipo di errore.
RD_1 INPUT/ ANY Specifico della 0 Parametro di ricezione:
OUTPUT CPU Indicare qui i seguenti valori:
• Numero del DB nel quale
salvare i dati prelevati.
• Numero del byte di dati a
partire dal quale salvare i
dati prelevati (valori
possibili: 0 ... 8190).
Ad es.: DB 10 dal byte 2 ->
DB10.DBB2
Avvertenza: osservare che
nelle CPU S7-300 il parametro
RD_1 richiede sempre
l'indicazione completa dei
parametri DB (ad es.:
P#DB13.DBX0.0 byte 100).
Tralasciare un n. di DB
esplicito non è consentito per
le CPU S7-300 e genera un
messaggio di errore nel
programma utente.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 703
SFB per CPU compatte
29.10 Prelievo di dati (RK 512) con l'SFB 64 "FETCH RK"

Parametri Dichiaraz- Tipo di Campo di Preassegnaz- Descrizione


ione dati valori ione
LEN INPUT/ INT Da 1 a 1024 1 Indicare qui la lunghezza in
OUTPUT byte del blocco di dati da
prelevare. (La lunghezza viene
indicata indirettamente.)
Per ciascun temporizzatore e
contatore occorre indicare una
lunghezza di 2 byte.

Parametri dell'SFB per sorgente di dati (CPU partner)


Nella tabella seguente sono riportati i tipi di dati trasmessi.
Il valore R_OFFSET è predefinito dalla CPU partner.

Sorgente nella CPU partner R_TYP R_NO R_OFFSET (in byte)


,
Blocco dati ’D’ 0 - 255 0 - 510 sono opportuni solo valori pari
,
Blocco dati ampliato ’X’ 0 - 255 0 - 510 sono opportuni solo valori pari
Merker ’M’ irrilevante 0 - 255
Ingressi ’E’ irrilevante 0 - 255
Uscite ’A’ irrilevante 0 - 255
Contatori ’Z’ irrilevante 0 - 255
Temporizzatori ’T’ irrilevante 0 - 255

Dati nell'intestazione del telegramma


Nella tabella seguente sono riportati i dati nell'intestazione del telegramma RK 512.

Sorgente nella A destinazione, sistema di Intestazione del telegramma, byte


CPU partner automazione S7 dell'utente
(CPU locale)
3/4 tipo di 5/6 offset 7/8 numero
comando Q-DBNR/Q in
Blocco dati Blocco dati ED DB/DW Parole
Blocco dati Blocco dati EX DB/DW Parole
ampliato
Merker Blocco dati EM Indirizzo byte Byte
Ingressi Blocco dati EE Indirizzo byte Byte
Uscite Blocco dati EA Indirizzo byte Byte
Contatori Blocco dati EZ N. contatore Parole
Temporizzatori Blocco dati ET N. temporizzatore Parole

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


704 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.10 Prelievo di dati (RK 512) con l'SFB 64 "FETCH RK"

Spiegazione delle abbreviazioni:

Q-DBNR Numero del blocco dati della sorgente


Q-Offset Indirizzo iniziale della sorgente

Coerenza dei dati


La coerenza dei dati è limitata a 128 byte. Per una trasmissione coerente dei dati con oltre 128 byte,
osservare quanto segue.
Scrivere nuovamente la parte attualmente utilizzata dell'area di ricezione RD_1 solo quando la
trasmissione si è conclusa. Ciò vale quando il parametro di stato DONE assume il valore TRUE.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 705
SFB per CPU compatte
29.11 Ricezione e messa a disposizione di dati (RK 512) con l'SFB 65 "SERVE_RK"

29.11 Ricezione e messa a disposizione di dati (RK 512) con l'SFB 65


"SERVE_RK"

Descrizione
L'SFB SERVE_RK (SFB 65) permette di ricevere e rendere disponibili dati.
• Ricezione di dati: i dati vengono memorizzati nell'area dati specificata dal partner
nell'intestazione del telegramma RK 512. Il richiamo dell'SFB è necessario se il partner della
comunicazione esegue un job "Invio dati" (job SEND).
• Messa a disposizione dei dati: i dati vengono prelevati dall'area dati specificata dal partner
nell'intestazione del telegramma RK 512. Il richiamo dell'SFB è necessario se il partner della
comunicazione esegue un job "Prelievo dati" (job FETCH).
L'SFB è pronto dopo il richiamo con il valore TRUE nell'ingresso di comando EN_R. Una
trasmissione in corso può essere interrotta con lo stato di segnale FALSE nel parametro EN_R. I
job interrotti si concludono con un messaggio di errore (uscita STATUS). La ricezione resta
disattivata finché il parametro EN_R ha lo stato di segnale FALSE.
Il parametro SYNC_DB permette di determinare il DB in cui memorizzare i dati comuni a tutti gli
SFB utilizzati dall'utente per l'inizializzazione all'avviamento e la sincronizzazione. Il numero del DB
deve essere identico per tutti gli SFB utilizzati nel programma utente.
Perché l'SFB possa elaborare il job, l'utente deve richiamare quest'ultimo con R(Reset)=FALSE.
Con un fronte di salita all'ingresso di comando R, la trasmissione in corso viene interrotta e
l'SFB viene riportato allo stato di base. I job interrotti si concludono con un messaggio di errore
(uscita STATUS).
LADDR consente di indicare l'indirizzo E/A del sotto-modulo definito dall'utente nella
"Configurazione HW".
Viene impostato NDR su TRUE, se il job si è concluso senza errori, oppure ERROR su TRUE, se il
job si è concluso con errori.
Con NDR=TRUE in un richiamo dell'SFB nei parametri L_TYPE, L_DBNO e L_OFFSET, la CPU
indica la posizione in cui sono stati memorizzati i dati o quella dalla quale sono stati prelevati. Per il
richiamo, inoltre, vengono visualizzati i parametri L_CF_BYT e L_CF_BIT e la lunghezza LEN del
job corrispondente.
In caso di errore o di avviso, la CPU mostra in STATUS il numero dell'evento corrispondente (vedere
allegato).
NDR ed ERROR/STATUS vengono visualizzati anche in caso di RESET dell'SFB (R=TRUE)
(parametro LEN == 16#00).
• Quando si verifica un errore, viene resettato il risultato binario BIE. Se il blocco si conclude senza
errori, il risultato binario ha lo stato TRUE.
Nota
L'SFB non ha controllo dei parametri: in caso di errori di parametrizzazione, la CPU può entrare in
stato di STOP.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


706 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.11 Ricezione e messa a disposizione di dati (RK 512) con l'SFB 65 "SERVE_RK"

DB di istanza
L'SFB SERVE_RK opera in combinazione con un DB di istanza. Il numero di DB viene indicato al
momento del richiamo. L'accesso ai dati del DB di istanza non è consentito.

Impiego del merker d'accoppiamento


Grazie a un merker d'accoppiamento, l'utente ha la possibilità di inibire e abilitare i job SEND e
FETCH del partner della comunicazione, evitando così che i dati non ancora elaborati vengano
sovrascritti o letti.
È possibile definire un merker d'accoppiamento per ciascun job.

Partner della comunicazione CPU dell'utente

SEND_RK
Gli accessi ai dati possono
Utilizza il bit di merker per la scrittura del DB
essere inibiti dai bit del
R_CF_BYT merker d'accoppiamento
R_CF_BIT TRUE/FALSE
R_TYPE = DB SERVE_RK
R_DBNO Merker d'accoppiamento
R_OFFSET MB100 7 6 5 4 3 2 1 0
L_CF_BYT
L_CF_BIT Assegnazione
L_TYPE = DB bit di merker
FETCH_RK L_DBNO a DB
L_OFFSET
R_CF_BYT
R_CF_BIT
R_TYPE = DB DB100
R_DBNO DB101
R_OFFSET Utilizza il bit di merker per la lettura del DB DB102
DB103

Merker d'accoppiamento
MB200

Esempio: SEND_RK con merker d'accoppiamento:


In questo esempio, il partner della comunicazione invia dati nel DB 101 nella CPU dell'utente.
1. Impostare nella propria CPU il merker d'accoppiamento 100.6 su FALSE.
2. Indicare nel partner della comunicazione, nel job SEND, il merker d'accoppiamento 100.6
(parametri R_CF_BYT, R_CF_BIT).
Il merker d'accoppiamento viene trasmesso alla propria CPU nell'intestazione del telegramma
RK 512.
Prima di elaborare il job, la CPU verifica il merker d'accoppiamento indicato nell'intestazione del
telegramma RK 512. Il job viene elaborato soltanto se il merker d'accoppiamento nella CPU
dell'utente ha il valore FALSE. Se il merker d'accoppiamento ha il valore TRUE, nel telegramma
di conferma viene inviato al partner della comunicazione il messaggio d'errore "32 esadecimale".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 707
SFB per CPU compatte
29.11 Ricezione e messa a disposizione di dati (RK 512) con l'SFB 65 "SERVE_RK"

Una volta trasferiti i dati nel DB101, il merker d'accoppiamento 100.6 nella CPU dell'utente viene
impostato dall'SFB SERVE sul valore TRUE, mentre il byte e il bit del merker d'accoppiamento
nell'SFB SERVE vengono visualizzati (se NDR =TRUE) per un richiamo.
3. Analizzando il merker d'accoppiamento (merker d'accoppiamento 100.6 =TRUE) nel programma
utente è possibile riconoscere che il job si è concluso e che i dati trasmessi possono essere
elaborati.
4. Una volta elaborati i dati nel programma utente, occorre reimpostare il merker d'accoppiamento
100.6 su FALSE. Solo in seguito il partner del collegamento potrà rieseguire il job senza errori.

Parametri
In questo SFB i campi dei valori vengono indicati con mnemonico tedesco.

Parametri Dichiarazione Tipo Campo di Preassegnaz- Descrizione


di dati valori ione
SYNC_DB INPUT INT Specifico 0 Numero del DB nel quale
della CPU vengono memorizzati i dati
comuni per la sincronizzazione
degli SFB RK (lunghezza minima
240 byte).
EN_R INPUT BOOL TRUE/FALSE FALSE Parametro di comando "Enable to
receive"
Abilitazione job
R INPUT BOOL TRUE/FALSE FALSE Parametro di comando "Reset":
il job viene interrotto.
LADDR INPUT WORD Specifico della W#16#03FF Indirizzo E/A del sotto-modulo
CPU definito dall'utente nella
"Configurazione HW".
NDR OUTPUT BOOL TRUE/FALSE FALSE Parametro di stato "New Data
Ready" (il parametro è impostato
solo per la durata di un richiamo):
FALSE: job non ancora avviato o
ancora in esecuzione.
TRUE: job eseguito senza errori
ERROR OUTPUT BOOL TRUE/FALSE FALSE Parametro di stato (il parametro è
impostato solo per la durata di un
richiamo):
job eseguito con errori

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


708 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.11 Ricezione e messa a disposizione di dati (RK 512) con l'SFB 65 "SERVE_RK"

Parametri Dichiarazione Tipo Campo di Preassegnaz- Descrizione


di dati valori ione
STATUS OUTPUT WORD Da W#16#0000 Parametro di stato (il parametro è
W#16#0000 a impostato solo per la durata di un
W#16#FFFF richiamo. Per visualizzare lo stato,
occorre pertanto copiare il
parametro STATUS in un'area dati
libera)
A seconda del bit ERROR,
STATUS ha il seguente
significato:
• ERROR=FALSE:
STATUS ha il valore
W#16#0000: né avviso né
errore
STATUS ha il valore<>
W#16#0000: avviso,
STATUS fornisce
informazioni dettagliate.
• ERROR=TRUE:
si è verificato un errore,
STATUS fornisce
informazioni dettagliate sul
tipo di errore.
L_TYPE OUTPUT CHAR ’D’ ’ ’
Ricezione dati:
tipo di zona del traguardo nella
CPU locale (sono ammesse solo
lettere maiuscole):
’D’: blocco dati
Messa a disposizione dei dati:
’D’, ’M’, ’E’, tipo di area sorgente nella CPU
’A’, ’Z’, ’T’, locale (sono ammesse solo lettere
maiuscole):
’D’: blocco dati
’M’: merker
’E’: ingressi
’A’: uscite
’Z’: contatori
’T’: temporizzatori
Il parametro è impostato solo per
la durata di un richiamo.
L_DBNO OUTPUT INT Specifico 0 Numero del blocco dati nella CPU
della CPU locale. Il parametro è impostato
solo per la durata di un richiamo.
L_OFFSET OUTPUT INT 0 – 510 0 Numero del byte di dati nella CPU
locale. Il parametro è impostato
solo per la durata di un richiamo.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 709
SFB per CPU compatte
29.11 Ricezione e messa a disposizione di dati (RK 512) con l'SFB 65 "SERVE_RK"

Parametri Dichiarazione Tipo Campo di Preassegnaz- Descrizione


di dati valori ione
L_CF_BYT OUTPUT INT Da 0 a 255 0 Byte del merker d'accoppiamento
nella CPU locale. Il parametro è
impostato solo per la durata di un
richiamo.
(255: significa: senza merker
d'accoppiamento)
L_CF_BIT OUTPUT INT Da 0 a 7 0 Bit del merker d'accoppiamento
nella CPU locale. Il parametro è
impostato solo per la durata di un
richiamo.
LEN INPUT/ INT Da 0 a 1024 0 Lunghezza del telegramma,
OUTPUT numero in byte (il parametro è
impostato solo per la durata di un
richiamo.)

Coerenza dei dati


La coerenza dei dati è limitata a 128 byte. Per una trasmissione coerente dei dati con oltre 128 byte,
osservare quanto segue.
Utilizzare la funzione del merker d'accoppiamento. Accedere nuovamente ai dati soltanto se sono
stati trasmessi completamente (analisi del merker d'accoppiamento definito per questo; il merker
d'accoppiamento è disponibile per il richiamo nell'SFB se NDR = TRUE). Reimpostare il merker
d'accoppiamento sul valore FALSE solo dopo aver elaborato i dati.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


710 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.12 Ulteriori informazioni di errore degli SFB da 60 a 65

29.12 Ulteriori informazioni di errore degli SFB da 60 a 65

Informazioni sugli errori


La tabella seguente contiene una descrizione delle diverse classi e dei diversi numeri degli eventi.

"Errori di parametrizzazione degli SFB"


Codice di Evento Rimedio
errore classe
evento
W#16#0301 Tipo di dati sorgente/destinazione non Controllare la parametrizzazione ed eventualmente
consentito o inesistente. correggerla.
Area (indirizzo iniziale, lunghezza) non Il partner fornisce parametri non consentiti nell'intestazione
consentita. del telegramma.
DB inesistente o non ammesso. Controllare la parametrizzazione, eventualmente impostare il
Altro tipo di dati inesistente o non blocco.
consentito. Consultare le tabelle dei job per il tipo di dati valido.
Numero del byte o del bit del merker Il partner fornisce parametri scorretti nell'intestazione del
d'accoppiamento non valido. telegramma.
W#16#0303 Accesso all'area impossibile Controllare la parametrizzazione. Consultare le tabelle dei
job per gli indirizzi iniziali e le lunghezze consentiti oppure il
partner fornisce parametri scorretti nell'intestazione del
telegramma.
"Errori di elaborazione di un job"
Codice di Evento Rimedio
errore classe
evento
W#16#0501 Il job in corso è stato interrotto da un nuovo Con RETE-ON è impossibile intervenire. Per la
avviamento. riparametrizzazione dal PG, prima di scrivere un'interfaccia, è
necessario che non vi siano job in corso.
W#16#0502 JOB non consentito con questo stato di Parametrizzare l'interfaccia del dispositivo.
funzionamento (ad es. interfaccia
dispositivo non parametrizzata).
W#16#050E • Lunghezza telegramma non valida • La lunghezza del telegramma è > 1024 byte.
• I codici finali parametrizzati non Selezionare una lunghezza minore
compaiono all'interno della lunghezza • Completare i codici finali nel buffer di invio nella
massima consentita. posizione desiderata.
W#16#0513 Errore nel tipo di dati (DB ...): Consultare le tabelle dei job per i tipi di dati e le loro
Tipo di dati sconosciuto o non consentito combinazioni.
(ad es. DE)
I tipi di dati per sorgente e destinazione
indicati nell'SFB non sono compatibili.
W#16#0515 Il numero di bit indicato per il merker di N. bit consentiti: 0 - 7
coordinamento è scorretto.
W#16#0516 Il numero della CPU indicato è troppo alto. N. CPU consentiti: 0, 1, 2, 3 o 4
W#16#0517 Lunghezza di trasmissione > 1024 byte Suddividere il job in job più piccoli di lunghezza inferiore.
sono eccessivi

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 711
SFB per CPU compatte
29.12 Ulteriori informazioni di errore degli SFB da 60 a 65

"Errori di elaborazione di un job"


Codice di Evento Rimedio
errore classe
evento
W#16#051D JOB di invio/ricezione interrotto a causa di Ripetere il richiamo del blocco di comunicazione.
• Resettaggio del blocco di
comunicazione
• Riparametrizzazione
W#16#0522 È stato avviato un nuovo job SEND Riavviare un nuovo SEND solo dopo che il job precedente è
benché quello precedente non fosse stato terminato con DONE o ERROR.
ancora terminato.
"Errori di elaborazione di un job del partner" solo con RK512
Codice di Evento Rimedio
errore classe
evento
W#16#0601 Errore nel byte di comando 1 (non è 00 o Errore di fondo nella struttura dell'intestazione nel partner.
FFH) Verificare eventualmente il comportamento scorretto del
dispositivo del partner con un dispositivo di interfaccia inserito
nella linea di trasmissione.
W#16#0602 Errore nel byte di comando 3 (non è A, 0 o Errore di fondo nella struttura dell'intestazione nel partner.
E) Verificare eventualmente il comportamento scorretto del
dispositivo del partner con un dispositivo di interfaccia inserito
nella linea di trasmissione.
W#16#0603 Errore nel byte di comando 3 nei Errore di fondo nella struttura dell'intestazione nel partner.
telegrammi successivi (comando non Verificare eventualmente il comportamento scorretto del
come nel 1° telegramma) dispositivo del partner con un dispositivo di interfaccia inserito
nella linea di trasmissione.
W#16#0604 Errore nel byte di comando 4 (lettera del Errore di fondo nella struttura dell'intestazione nel partner,
comando scorretta) oppure è stata richiesta un combinazione di comandi non
consentita. Verificare i comandi consentiti. Verificare
eventualmente il comportamento scorretto del dispositivo del
partner con un dispositivo di interfaccia inserito nella linea di
trasmissione.
W#16#0606 Errore nel byte di comando 5 (numero del Consultare le tabelle dei job per i numeri dei DB, gli indirizzi
DB non consentito) iniziali o le lunghezze consentiti.
W#16#0607 Errore nel byte di comando 5 o 6 (indirizzo Consultare le tabelle dei job per i numeri dei DB, gli indirizzi
iniziale troppo alto) iniziali o le lunghezze consentiti.
W#16#0609 Errore nei byte di comando 9 e 10 (merker Errore di fondo nella struttura dell'intestazione nel partner.
di coordinamento non ammesso con Consultare le tabelle dei job per verificare quando è ammesso
questo tipo di dati o numero bit troppo un merker di coordinamento.
alto).
W#16#060A Errore nel byte di comando 10 (numero Errore di fondo nella struttura dell'intestazione nel partner.
della CPU non consentito)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


712 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.12 Ulteriori informazioni di errore degli SFB da 60 a 65

"Errori di invio"
Codice di Evento Rimedio
errore classe
evento
W#16#0701 Solo con 3964(R): La ripetizione non è un errore, tuttavia può essere indicativa di
Invio della prima ripetizione: disturbi sulla linea di trasmissione o di un comportamento
• Durante l'invio di un telegramma è errato del dispositivo partner. Se dopo il numero massimo di
stato rilevato un errore ripetizioni resta impossibile trasmettere il telegramma, viene
segnalato un numero di errore che descrive il primo errore che
• Il partner ha richiesto una ripetizione si è verificato.
attraverso un segnale negativo di
conferma (NAK).
W#16#0702 Solo con 3964(R): Verificare eventualmente il comportamento scorretto del
Errore di creazione del collegamento: dispositivo del partner con un dispositivo di interfaccia inserito
dopo l'invio di STX, sono stati ricevuti NAK nella linea di trasmissione.
o un qualunque altro segnale (eccetto
DLE o STX).
W#16#0703 Solo con 3964(R): Il dispositivo del partner è troppo lento o non è pronto per la
Tempo di ritardo conferma (QVZ) ricezione, oppure vi è ad es. una rottura del cavo di
superato: trasmissione. Verificare eventualmente il comportamento
dopo l'invio di STX, non è arrivata una scorretto del dispositivo del partner con un dispositivo di
risposta del partner entro il tempo di interfaccia inserito nella linea di trasmissione.
ritardo conferma.
W#16#0704 Solo con 3964(R): Verificare che non vengano visualizzati errori anche dal
Interruzione da parte del partner: partner poiché probabilmente non tutti i dati inviati sono
nel corso dell'invio il partner ha ricevuto arrivati (ad es. rottura del cavo di trasmissione), oppure vi
uno o più segnali. sono gravi disturbi o il comportamento del dispositivo del
partner non è corretto. Verificare eventualmente il
comportamento scorretto del dispositivo del partner con un
dispositivo di interfaccia inserito nella linea di trasmissione.
W#16#0705 Solo con 3964(R): Verificare che non vengano visualizzati errori anche dal
Conferma negativa durante l'invio partner poiché probabilmente non tutti i dati inviati sono
arrivati (ad es. rottura del cavo di trasmissione), oppure vi
sono gravi disturbi o il comportamento del dispositivo del
partner non è corretto. Verificare eventualmente il
comportamento scorretto del dispositivo del partner con un
dispositivo di interfaccia inserito nella linea di trasmissione.
W#16#0706 Solo con 3964(R): Verificare che non vengano visualizzati errori anche dal
Errore alla fine del collegamento: partner poiché probabilmente non tutti i dati inviati sono
• Il telegramma è stato respinto dal arrivati (ad es. rottura del cavo di trasmissione), oppure vi
partner alla fine con NAK o con un sono gravi disturbi o il comportamento del dispositivo del
segnale qualunque (eccetto DLE) partner non è corretto. Verificare eventualmente il
comportamento scorretto del dispositivo del partner con un
• Il segnale di conferma (DLE) è stato dispositivo di interfaccia inserito nella linea di trasmissione.
ricevuto troppo presto.
W#16#0707 Solo con 3964(R): Il dispositivo del partner è troppo lento o non è pronto per la
Il tempo di ritardo conferma è stato ricezione, oppure vi è ad es. una rottura nel cavo di
superato alla fine del collegamento / trasmissione. Verificare eventualmente con un dispositivo di
tempo di controllo risposta dopo il interfaccia inserito nella linea di trasmissione.
telegramma di invio:
dopo la creazione del collegamento con
DLE ETX non è arrivata una risposta dal
partner entro il QVZ.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 713
SFB per CPU compatte
29.12 Ulteriori informazioni di errore degli SFB da 60 a 65

"Errori di invio"
Codice di Evento Rimedio
errore classe
evento
W#16#0708 Solo con ASCII-Treiber: Il partner della comunicazione è disturbato, troppo lento o è
Il tempo di attesa per XON è scaduto. passato al modo offline. Controllare il partner della
comunicazione o eventualmente modificare la
parametrizzazione.
W#16#0709 Solo con 3964(R): Controllare il cavo dell'interfaccia o i parametri di
Non è possibile creare il collegamento: il trasmissione.
numero dei tentativi ammessi è stato Controllare anche nel partner che la funzione di ricezione tra
superato. CPU e CP sia parametrizzata correttamente.
W#16#070A Solo con 3964(R): Controllare il cavo dell'interfaccia o i parametri di
Non è stato possibile trasmettere i dati: il trasmissione.
numero dei tentativi ammessi è stato
superato.
W#16#070B Solo con 3964(R): Modificare la parametrizzazione.
Non è possibile risolvere il conflitto di
inizializzazione poiché entrambi i partner
hanno impostato la massima priorità.
W#16#070C Solo con 3964(R): Modificare la parametrizzazione.
Non è possibile ricolvere il conflitto di
inizializzazione poiché entrambi i partner
hanno impostato una priorità bassa.
"Errori di ricezione"
Codice di Evento Rimedio
errore classe
evento
W#16#0801 Solo con 3964(R): La ripetizione non è un errore, tuttavia può essere indicativa di
Attesa della prima ripetizione: disturbi sulla linea di trasmissione o di un comportamento
Durante la ricezione di un telegramma è errato del dispositivo partner. Se dopo il numero massimo di
stato rilevato un errore e la CPU ha ripetizioni resta impossibile trasmettere il telegramma, viene
richiesto una ripetizione da parte del segnalato un numero di errore che descrive il primo errore che
partner attraverso un segnale si è verificato.
negativo di conferma (NAK).
W#16#0802 Solo con 3964(R): Verificare eventualmente il comportamento scorretto del
Errore di creazione del collegamento: dispositivo del partner con un dispositivo di interfaccia inserito
• In posizione di riposo sono stati nella linea di trasmissione.
ricevuti uno o più segnali qualunque
(eccetto NAK o STX)
• Dopo aver ricevuto un STX, il partner
ha inviato altri segnali senza
attendere la risposta DLE.
Dopo RETE-ON del partner:
• Mentre viene attivato il partner, la
CPU riceve un segnale non definito.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


714 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.12 Ulteriori informazioni di errore degli SFB da 60 a 65

"Errori di ricezione"
Codice di Evento Rimedio
errore classe
evento
W#16#0805 Solo con 3964(R): Controllare che il partner DLE nell'intestazione del
Errore logico nel corso della ricezione: telegramma e nella stringa di dati venga sempre raddoppiato
dopo la ricezione di DLE è stato ricevuto e che la creazione del collegamento venga sempre eseguita
un altro segnale qualunque (eccetto DLE, con DLE ETX. Verificare eventualmente il comportamento
ETX). scorretto del dispositivo del partner con un dispositivo di
interfaccia inserito nella linea di trasmissione.
W#16#0806 Tempo di ritardo carattere (ZVZ) superato: Il dispositivo del partner è troppo lento o disturbato. Verificare
• Due caratteri direttamente successivi eventualmente con un dispositivo di interfaccia inserito nella
non sono stati ricevuti entro il ZVZ. linea di trasmissione.
Solo con 3964(R):
• Il primo carattere dopo l'invio di DLE
alla creazione del collegamento non è
stato ricevuto entro il ZVZ.
W#16#0807 Lunghezza del telegramma non La ricezione di un telegramma con lunghezza 0 non è un
ammessa: errore.
È stato ricevuto un telegramma con Controllare per quale motivo il partner della comunicazione
lunghezza 0. invia telegrammi senza dati utili.
W#16#0808 Solo con 3964(R): Controllare l'entità del disturbo sulla linea; in questo caso sarà
errore nel carattere di controllo blocco eventualmente necessario osservare anche il codice errore.
BCC: Verificare eventualmente il comportamento scorretto del
Il valore formato internamente del BCC dispositivo del partner con un dispositivo di interfaccia inserito
non coincide con quello del partner alla nella linea di trasmissione.
fine del collegamento con il BCC ricevuto.
W#16#0809 Solo con 3964(R): Parametrizzare nel partner della comunicazione lo stesso
Tempo di attesa della ripetizione del tempo di attesa del blocco della propria unità. Verificare
blocco scaduto eventualmente il comportamento scorretto del dispositivo del
partner con un dispositivo di interfaccia inserito nella linea di
trasmissione.
W#16#080A Non vi è un buffer di ricezione libero: L'SFB RCV deve essere richiamato più spesso.
al momento della ricezione non era
disponibile nessun buffer di ricezione
vuoto.
W#16#080C Errore di trasmissione: I disturbi sulla linea di trasmissione causano ripetizioni dei
• È stato rilevato un errore di telegrammi, riducendo così la capacità di trasporto dei dati
trasmissione (errore di parità, bit di utili. Il pericolo di un errore non riconosciuto è maggiore.
stop, overflow). Modificare la propria configurazione nel sistema o la
Solo con 3964(R): definizione della lunghezza.
Controllare la linea di collegamento tra i partner della
• Se in posizione di riposo viene
comunicazione e che per entrambi i dispositivi siano stati
ricevuto un segnale disturbato,
impostati la stessa velocità di trasmissione, la stessa parità e
l'errore viene segnalato
lo stesso numero di bit di stop.
immediatamente in modo da poter
riconoscere tempestivamente i
disturbi sulla linea di trasmissione.
Solo con 3964(R):
• Se ciò si verifica in fase di invio o
ricezione, vengono attivate le
ripetizioni.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 715
SFB per CPU compatte
29.12 Ulteriori informazioni di errore degli SFB da 60 a 65

"Errori di ricezione"
Codice di Evento Rimedio
errore classe
evento
W#16#080D BREAK: Ricreare il collegamento o avviare il partner.
linea di ricezione verso il partner interrotta.
W#16#080E Overflow del buffer di ricezione con L'SFB di ricezione deve essere richiamato più spesso nel
controllo di flusso non abilitato. programma utente oppure occorre parametrizzare una
comunicazione con controllo di flusso.
W#16#0810 Errore di parità Controllare la linea di collegamento tra i partner della
comunicazione e che per entrambi i dispositivi siano stati
impostati la stessa velocità di trasmissione, la stessa parità e
lo stesso numero di bit di stop.
W#16#0811 Errore nella griglia Controllare la linea di collegamento tra i partner della
comunicazione e che per entrambi i dispositivi siano stati
impostati la stessa velocità di trasmissione, la stessa parità e
lo stesso numero di bit di stop.
Modificare la propria configurazione nel sistema o la
definizione della lunghezza.
W#16#0812 Solo con driver ASCII: Riparametrizzare il partner della comunicazione oppure
dopo che la CPU ha inviato XOFF, sono smaltire i dati più rapidamente.
stati ricevuti altri segnali.
W#16#0814 Solo con driver ASCII: Utilizzare per quanto possibile il controllo di flusso. Utilizzare
uno o più telegrammi sono andati persi l'intero buffer di ricezione. Nei parametri di base, impostare la
poiché non è stato impiegato il controllo di "Reazione allo stop della CPU" su "Continua".
flusso.
W#16#0816 La lunghezza di un telegramma ricevuto È necessario eseguire la correzione nel partner.
supera quella massima stabilita.
"Telegramma di conferma con errori o telegramma con errori ricevuti dal partner di collegamento"
Codice di Evento Rimedio
errore classe
evento
W#16#0902 Solo con RK 512: Controllare che l'area dati desiderata sia disponibile nel
Errore di accesso alla memoria da parte partner e che sia sufficientemente grande, oppure verificare i
del partner (memoria non disponibile) parametri del blocco funzionale di sistema richiamato.
Con SIMATIC S5 come partner: Controllare la lunghezza indicata nel blocco funzionale di
sistema.
• area errata nella parola di
visualizzazione
• area dati non disponibile (eccetto
DB/DX)
• area dati troppo breve (eccetto
DB/DX)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


716 Manuale di riferimento, 04/2017, A5E41911986-AA
SFB per CPU compatte
29.12 Ulteriori informazioni di errore degli SFB da 60 a 65

"Telegramma di conferma con errori o telegramma con errori ricevuti dal partner di collegamento"
Codice di Evento Rimedio
errore classe
evento
W#16#0903 Solo con RK 512: Controllare che l'area dati desiderata sia disponibile nel
Errore di accesso al DB/DX da parte del partner e che sia sufficientemente grande, oppure verificare i
partner (DB/DX non disponibile o troppo parametri del blocco funzionale di sistema richiamato.
breve) Controllare la lunghezza indicata nel blocco funzionale di
Con SIMATIC S5 come partner: sistema.
• DB/DX non disponibile
• DB/DX troppo breve
• N. DB/DX non ammesso
È stata superata l'area sorgente con il
job FETCH.
W#16#0904 Solo con RK 512: Comportamento errato da parte del partner in quanto dalla
Il partner segnala un "tipo di job non CPU non viene mai emesso un comando di sistema.
consentito".
W#16#0905 Solo con RK 512: Controllare che il partner possa trasmettere il tipo di dati
Errore nel partner/nel partner SIMATIC indicato.
S5: Controllare la configurazione dell'hardware nel partner.
• Tipo di sorgente/destinazione non Posizionare il selettore del PLC partner in posizione RUN.
ammesso
• Errore nella memoria del PLC del
partner
• Errore di comprensione tra CP/CPU
nel partner
• PLC del partner in stato di STOP
W#16#0908 Solo con RK 512: Questo errore si verifica al nuovo avviamento del proprio PLC
Il partner riconosce un errore di o di quello del partner. Si tratta di un normale comportamento
sincronizzazione: all'avviamento dell'impianto, e in questo caso non è un errore
da eliminare. In fase di funzionamento, questo errore
la sequenza dei telegrammi è disturbata.
potrebbe verificarsi invece in conseguenza di errori
precedenti. In caso contrario, è probabile che si tratti di un
comportamento errato da parte del partner.
W#16#0909 Solo con RK 512: Nel programma partner: dopo aver elaborato gli ultimi dati
DB/DX nel partner inibito da un merker di della trasmissione, resettare il merker di coordinamento.
coordinamento. Nel programma: ripetere il job.

W#16#090A Solo con RK 512: Controllare che l'errore non sia causato da disturbi o da un
Errori nell'intestazione del telegramma comportamento errato del partner. Verificare eventualmente
che vengono rilevati dal partner: il byte di con un dispositivo di interfaccia inserito nella linea di
comando 3 nell'intestazione è sbagliato trasmissione.

W#16#090C Solo con RK 512: Controllare che l'errore non sia causato da disturbi o da un
Il partner riconosce una lunghezza comportamento errato del partner. Verificare eventualmente
scorretta del telegramma (lunghezza con un dispositivo di interfaccia inserito nella linea di
totale). trasmissione.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 717
SFB per CPU compatte
29.12 Ulteriori informazioni di errore degli SFB da 60 a 65

"Telegramma di conferma con errori o telegramma con errori ricevuti dal partner di collegamento"
Codice di Evento Rimedio
errore classe
evento
W#16#090D Solo con RK 512: Eseguire il nuovo avviamento del PLC del partner o
Finora non è stato eseguito un nuovo posizionare il selettore dei modi di funzionamento in posizione
avviamento del partner. RUN.

W#16#090E Solo con RK 512: Controllare che l'errore non sia causato da disturbi o da un
Numero di errore sconosciuto nel comportamento errato del partner. Verificare eventualmente
telegramma di conferma ricevuto. con un dispositivo di interfaccia inserito nella linea di
trasmissione.

"Errori nel telegramma di conferma del partner riconosciuti dalla CPU"


Codice di Evento Rimedio
errore classe
evento
W#16#0A02 Solo con RK 512: Verificare eventualmente il comportamento scorretto del
Errore nella struttura del telegramma di dispositivo del partner con un dispositivo di interfaccia inserito
conferma ricevuto nella linea di trasmissione.
(il 1° byte non è 00 o FF)
W#16#0A03 Solo con RK 512: Verificare eventualmente il comportamento scorretto del
Il telegramma di conferma ricevuto dispositivo del partner con un dispositivo di interfaccia inserito
contiene troppi dati o troppo pochi. nella linea di trasmissione.
W#16#0A05 Solo con RK 512: Il partner è un dispositivo molto lento?
Non è arrivato un telegramma di conferma Spesso questo errore viene visualizzato anche in
dal partner entro il tempo di controllo. conseguenza di un errore precedente. È possibile ad es. che
vengano visualizzati errori della procedura di ricezione (classe
dell'evento 8) dopo che è stato inviato un telegramma FETCH.
Motivo: il telegramma di conferma non ha potuto essere
ricevuto a causa di disturbi e il tempo di controllo scade.
Questo errore si può verificare anche se nel partner è stato
eseguito un nuovo avviamento prima che esso potesse
rispondere all'ultimo telegramma FETCH ricevuto.
"Avvisi"
Codice di Evento Rimedio
errore classe
evento
W#16#0B01 Buffer di ricezione pieno per oltre i 2/3 Richiamare più spesso il blocco di ricezione per evitare un
overflow del buffer di ricezione.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


718 Manuale di riferimento, 04/2017, A5E41911986-AA
30 SFC per le CPU H

30.1 Influenza delle sequenze nei sistemi H con la SFC 90 "H_CTRL"

Descrizione
Con la SFC 90 "H_CTRL" si possono influenzare i sistemi H nel modo seguente:
• È possibile disabilitare l'accoppiamento nella CPU master. La disabilitazione dura finché non
viene di nuovo annullata con la SFC 90 "H_CTRL" o finché il sistema H non entra in stato di
funzionamento STOP.
Viene memorizzata una richiesta di accoppiamento dalla CPU di riserva che sopraggiunge
durante la disabilitazione.
• È possibile disabilitare l'aggiornamento nella CPU master. La disabilitazione dura finché non
viene di nuovo annullata con la SFC 90 "H_CTRL" o finché il sistema H non entra in stato di
funzionamento STOP.
Viene memorizzata una richiesta di aggiornamento dalla CPU di riserva che sopraggiunge
durante la disabilitazione.

! Attenzione
Se si blocca solo l'aggiornamento e non l'accoppiamento, il sistema H potrebbe assumere lo stato di
accoppiamento. Si noti che quando è attivo l'accoppiamento la CPU master non elabora allarmi di
estrazione/inserimento, allarmi di guasto e ripristino stazione e allarmi di guasto e ripristino dei telai
di montaggio.

• È possibile rimuovere un componente di prova dall'autotest ciclico, ripristinarlo o avviarlo


immediatamente. Se sono stati bloccati uno o più componenti dell'autotest ciclico, l'inibizione
sarà valida finché non viene annullato nuovamente con la SFC 90 "H_CTRL" o finché il sistema
H non entra in stato di funzionamento STOP.

Avvertenza:
Se si impiega una CPU 414-4H o 417-4H in un sistema sicuro, è opportuno tener conto di quanto
segue: se si blocca una componente dell'autotest ciclico per più di 24 h, la CPU va in STOP. Nei
sistemi sicuri infatti alcuni test devono essere elaborati una volta nell'arco delle 24 h.
• E‘ possibile eseguire una commutazione master-riserva programmata. Sono possibili le seguenti
commutazioni:
- La CPU di riserva attuale diventa CPU master.
- La CPU nel telaio di montaggio 0 diventa CPU master.
- La CPU nel telaio di montaggio 1 diventa CPU master.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 719
SFC per le CPU H
30.1 Influenza delle sequenze nei sistemi H con la SFC 90 "H_CTRL"

Nella tabella seguente sono riportate le combinazioni dei parametri di ingresso MODE e SUBMODE
ammesse.

Job Ingresso MODE Ingresso SUBMODE


Disabilita accoppiamento 3 0
Riabilita accoppiamento 4 0
Disabilita aggiornamento 1 0
Riabilita aggiornamento 2 0
Rimuovere dall'autotest ciclico i componenti di prova 20 0,1,...5
specificati in SUBMODE (Avvertenza: un componente di
prova può essere rimosso una volta sola.)
Ripristinare i componenti di prova specificati in 21 0,1,...5
SUBMODE di nuovo nell'autotest ciclico. (Avvertenza: è
possibile ripristinare un componente di prova solo se è
stato precedentemente rimosso.)
Avviare immediatamente i componenti di prova specificati 22 0,1,...5
in SUBMODE. (Avvertenza:
Il componente di prova non deve essere rimosso.)
La CPU di riserva attuale diventa CPU master. 5 0

La CPU nel telaio di montaggio 0 diventa CPU master. 30 0

La CPU nel telaio di montaggio 1 diventa CPU master. 31 0

Nella tabella seguente è riportata l'assegnazione dei singoli componenti di prova dell'autotest ciclico
relativi ai valori dell'ingresso SUBMODE (rilevante solo per i valori 20, 21 e 22 dell'ingresso MODE).

Valore di Relativi componenti di prova


SUBMODE
0 SP7 - ASIC – Test
1 Test della memoria di codice
2 Test della memoria dati
3 Test della somma di controllo tramite codice sistema operativo
4 Test della somma di controllo tramite blocchi di codice
5 Confronto di contatori, temporizzatori, merker e blocchi dati in funzionamento ridondato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


720 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per le CPU H
30.1 Influenza delle sequenze nei sistemi H con la SFC 90 "H_CTRL"

Procedimento
La SFC 90 "H_CTRL" è una SFC che lavora in modo asincrono, ovvero l'elaborazione può
estendersi per numerosi richiami SFC.
Il job viene avviato richiamando la SFC 90 con REQ=1.
Se il job ha potuto essere eseguito subito, la SFC sul parametro di uscita BUSY rende il valore 0.
L'avvio di una funzione di test di lunga durata si conclude dopo il primo richiamo dell'SFC (BUSY=0),
e in particolare anche quando il test si estende per più cicli (RET_VAL=W#16#0001 con MODE=22).
Se BUSY ha il valore 1, il job è ancora in corso di esecuzione (vedi anche Significato dei parametri
REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono )

Identificazione di un job
I parametri di ingresso MODE e SUBMODE definiscono un job. Se questi coincidono con un job che
non è stato ancora concluso, il richiamo SFC vale come richiamo successivo.

Parametri

Parametri Dichiarazione Tipo di dati Area di memoria Descrizione


REQ INPUT BOOL E, A, M, D, L, cost. Parametro di comando attivato da
segnale
REQ=1: avvio del job
MODE INPUT BYTE E, A, M, D, L, cost. Job
SUBMODE INPUT WORD E, A, M, D, L, cost. JOB parziale
RET_VAL OUTPUT INT E, A, M, D, L Se si verifica un errore durante
l'elaborazione della funzione, il valore di
ritorno contiene un codice.
RET_VAL deve essere analizzato dopo
ogni esecuzione del blocco.
BUSY OUTPUT BOOL E, A, M, D, L BUSY=1:
Il job non è ancora terminato.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 721
SFC per le CPU H
30.1 Influenza delle sequenze nei sistemi H con la SFC 90 "H_CTRL"

Informazioni di errore

Codice di Spiegazione
errore
(W#16#...)
0000 Il job è stato eseguito senza errori.
7000 Primo richiamo con REQ=0. Il job non è stato eseguito. BUSY ha il valore 0.
7001 Primo richiamo con REQ=1. Il job è stato avviato; BUSY ha il valore 1.
7002 Richiamo intermedio (REQ irrilevante). Il job attivato è ancora in funzione; BUSY ha il valore
1.
0001 • con MODE=1: L'aggiornamento è già stato disabilitato.
• con MODE=3: L'accoppiamento è già stato disabilitato.
• con MODE=22: Il componente di prova è già in corso di esecuzione e non può essere
avviato di nuovo
• con MODE=30: impossibile eseguire la commutazione master-riserva programmata in
quanto la CPU 0 è già CPU master.
• con MODE=31: impossibile eseguire la commutazione master-riserva programmata in
quanto la CPU 1 è già CPU master.
8080 • Impossibile eseguire la commutazione master-riserva con lo stato attuale del sistema
H perché non sprovvisto di funzionamento di ridondanza.
8082 • con MODE=1: Il procedimento di aggiornamento è già attivo e pertanto non può più
essere disabilitato.
• con MODE=3: Il procedimento di accoppiamento è già attivo e pertanto non può più
essere disabilitato.
• con MODE=20: il componente di prova specificato è già stato rimosso dall'autotest
ciclico.
• con MODE=21: Il componente di prova specificato non è stato rimosso dall'autotest
ciclico
• con MODE=22: Il componente di prova specificato non può essere eseguito poiché è
stato rimosso dall'autotest ciclico
8090 Il parametro di ingresso MODE contiene un valore non valido.
8091 Il parametro di ingresso SUBMODE contiene un valore non valido.
8xyy Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


722 Manuale di riferimento, 04/2017, A5E41911986-AA
SFC per le CPU H
30.1 Influenza delle sequenze nei sistemi H con la SFC 90 "H_CTRL"

Esempio applicativo per la SFC 90


Con la SFC 90 "H_CTRL" è possibile garantire che negli intervalli di tempo in cui è opportuna o
necessaria la prestazione massima della CPU per l‘elaborazione del processo, non venga iniziato
alcun accoppiamento o aggiornamento.
Ciò si raggiunge integrando le seguenti parti del programma nella CPU master prima dell'inizio
dell'intervallo di tempo con maggiore attività del processo:
• Richiamo della SFC 90 con MODE = 3 e SUBMODE = 0 ( Disabilita accoppiamento)
• Richiamo della SFC 90 con MODE = 1 e SUBMODE = 0 ( Disabilita aggiornamento)
Una volta terminato l'intervallo di tempo con maggiore attività del processo nella CPU master viene
integrata la parte di programma seguente:
• Richiamo della SFC 90 con MODE = 4 e SUBMODE = 0 (Riabilita accoppiamento)
• Richiamo della SFC 90 con MODE = 2 e SUBMODE = 0 (Riabilita aggiornamento)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 723
SFC per le CPU H
30.1 Influenza delle sequenze nei sistemi H con la SFC 90 "H_CTRL"

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


724 Manuale di riferimento, 04/2017, A5E41911986-AA
31 Funzioni integrate (per CPU con ingressi/uscite
integrati)

31.1 SFB 29 (HS_COUNT)

Descrizione
Con l'SFB 29 (HS_COUNT) è possibile influenzare la funzione integrata Contatore di una CPU con
ingressi/uscite integrati:
• definire e confermare il valore di avvio
• definire e settare valori di confronto
• abilitare il contatore
• abilitare le uscite digitali
• leggere l'attuale valore di conteggio e gli attuali valori di confronto
• rilevare il valore di conteggio in riferimento al valore di confronto

Informazioni supplementari
Il significato dei singoli parametri di SFB 29 in relazione alla parametrizzazione della funzione
integrata Contatore nonché agli ingressi e alle uscite HW della CPU, è descritto in modo dettagliato
nel manuale Sistema di controllori programmabili S7-300, Funzioni integrate.

Parametri

Parametro Dichiarazione Tipo di Area di memoria Descrizione


dati
PRES_COUNT INPUT DINT E, A, M, D, L, cost. Valore iniziale per il contatore
PRES_COMP_A INPUT DINT E, A, M, D, L, cost. Nuovo valore di confronto
COMP_A
PRES_COMP_B INPUT DINT E, A, M, D, L, cost. Nuovo valore di confronto
COMP_B
EN_COUNT INPUT E, A, M, D, L Abilitazione del contatore
EN_DO INPUT BOOL E, A, M, D, L, cost. Abilitazione delle uscite digitali
SET_COUNT INPUT BOOL E, A, M, D, L, cost. Ingresso di settaggio del valore
iniziale PRES_COUNT
SET_COMP_A INPUT BOOL E, A, M, D, L, cost. Ingresso di settaggio del valore
di confronto COMP_A

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 725
Funzioni integrate (per CPU con ingressi/uscite integrati)
31.1 SFB 29 (HS_COUNT)

Parametro Dichiarazione Tipo di Area di memoria Descrizione


dati
SET_COMP_B INPUT BOOL E, A, M, D, L, cost. Ingresso di settaggio del valore
di confronto COMP_B

COUNT OUTPUT DINT E, A, M, D, L Valore di conteggio attuale


COMP_A OUTPUT DINT E, A, M, D, L Attuale valore di confronto
COMP_A
COMP_B OUTPUT DINT E, A, M, D, L Attuale valore di confronto
COMP_B
STATUS_A OUTPUT BOOL E, A, M, D, L Bit di stato STATUS_A
1: COUNT COMP_A
0: COUNT COMP_A
STATUS_B OUTPUT BOOL E, A, M, D, L Bit di stato STATUS_B
1: COUNT COMP_B
0: COUNT COMP_B

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


726 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni integrate (per CPU con ingressi/uscite integrati)
31.2 SFB 30 (FREQ_MES)

31.2 SFB 30 (FREQ_MES)

Descrizione
Con l'SFB 30 (FREQ_MES) è possibile influenzare la funzione integrata Misuratore di frequenza di
una CPU con ingressi/uscite integrati:
• definire e settare valori di confronto
• emettere una frequenza misurata
• leggere gli attuali valori di confronto
• rilevare la posizione della frequenza misurata in relazione al valore di confronto

Informazioni supplementari
Il significato dei singoli parametri di SFB 30 in relazione alla parametrizzazione della funzione
integrata Misuratore di frequenza nonché agli ingressi e uscite HW della CPU, è descritto in modo
dettagliato nel manuale Sistema di controllori programmabili S7-300, Funzioni integrate.

Parametri

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


PRES_U_LIMIT INPUT DINT E, A, M, D, L, cost. Nuovo valore di
confronto (superiore)
U_LIMIT
PRES_L_LIMIT INPUT DINT E, A, M, D, L, cost. Nuovo valore di
confronto (inferiore)
L_LIMIT
SET_U_LIMIT INPUT BOOL E, A, M, D, L, cost. Ingresso di settaggio
per nuovo valore di
confronto U_LIMIT
SET_L_LIMIT INPUT BOOL E, A, M, D, L, cost. Ingresso di settaggio
per nuovo valore di
confronto L_LIMIT

FREQ OUTPUT DINT E, A, M, D, L Frequenza misurata in


mHz
U_LIMIT OUTPUT DINT E, A, M, D, L, Attuale valore di
confronto (limite
superiore)
L_LIMIT OUTPUT DINT E, A, M, D, L, cost. Attuale valore di
confronto (limite
inferiore)
STATUS_U OUTPUT BOOL E, A, M, D, L Bit di stato
"1": FREQ > U_LIMIT
"0": FREQ U_LIMIT
STATUS_L OUTPUT BOOL E, A, M, D, L Bit di stato
"1": FREQ < L_LIMIT
"0": FREQ > L_LIMIT

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 727
Funzioni integrate (per CPU con ingressi/uscite integrati)
31.3 SFB 38 (HSC_A_B)

31.3 SFB 38 (HSC_A_B)

Descrizione
Con l'SFB 38 (HSC_A_B) si può agire sulla funzione integrata Contatori A/B di una CPU con
ingressi/uscite integrati:
• prestabilire e confermare il valore iniziale
• prestabilire e definire i valori di confronto
• abilitare contatori
• abilitare uscite digitali
• leggere il valore di conteggio attuale e i valori di confronto attuali
• rilevare la posizione del valore di conteggio rispetto al valore di confronto
L'SFB 38 (HSC_A_B) legge o scrive i dati dal programma utente nel DB di istanza della funzione
integrata. Il contatore A/B consta di 2 contatori A e B che possono contare in maniera indipendente
l'uno dall'altro e simultaneamente (è possibile contare sia in avanti che all'indietro).
Il modo di funzionamento di entrambi i contatori è identico, possono essere rilevati impulsi di
conteggio fino a una frequenza di 10 kHz.

Informazioni supplementari
Che significato abbiano i singoli parametri dell'SFB 38 in relazione alla parametrizzazione della
funzione integrata Contatori A/B e agli ingressi e alle uscite HW della CPU, viene descritto in
dettaglio nel manuale Sistema di automazione S7-300, Funzioni integrate CPU 312 IFM/314 IFM.

Parametri

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


PRES_COMP INPUT DINT E, A, M, D, L, cost. Nuovo valore di confronto
COMP
EN_COUNT INPUT BOOL E, A, M, D, L cost. Abilitazione del contatore
EN INPUT BOOL E, A, M, D, L, cost. Abilitazione delle uscite
digitali
SET_COMP INPUT BOOL E, A, M, D, L, cost. Ingresso di settaggio per il
valore di confronto COMP

COUNT OUTPUT DINT E, A, M, D, L Valore reale del contatore


COMP OUTPUT DINT E, A, M, D, L Valore di confronto attuale
COMP
ENO OUTPUT BOOL E, A, M, D, L Gestione errori:
1 : nessun errore durante
l'elaborazione
0 : errore durante
l'elaborazione

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


728 Manuale di riferimento, 04/2017, A5E41911986-AA
Funzioni integrate (per CPU con ingressi/uscite integrati)
31.4 SFB 39 (POS)

31.4 SFB 39 (POS)

Descrizione
Con l'SFB 39 (POS) è possibile influire sulla funzione integrata Posizionamento di una CPU con
ingressi/uscite integrati. L'SFB 39 (POS) offre le funzioni:
• Sincronizzazione
• Esecuzione funzionamento ad impulsi
Posizionamento

L'SFB 39 (POS) per la funzione integrata Posizionamento, legge o scrive dati dal programma utente
nel DB di istanza della funzione integrata. La funzione integrata Posizionamento rileva segnali da
sensori asimmetrici da 24V in maniera incrementale fino a una frequenza di 10 kHz. Essa comanda
un dispositivo a due velocità oppure un convertitore di frequenza tramite uscite integrate prestabilite
della CPU 314 IFM (Posizionamento comandato).

Informazioni supplementari
Che significato abbiano i singoli parametri dell'SFB 39 in relazione alla parametrizzazione della
funzione integrata Posizionamento e agli ingressi e alle uscite HW della CPU, viene descritto in
dettaglio nel manuale Sistema di automazione S7-300, Funzioni integrate CPU 312 IFM/314 IFM.

Parametri

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


EN INPUT BOOL E, A, M, D, L, cost. Abilitazione delle uscite
digitali
DEST_VAL INPUT DINT E, A, M, D, L, cost. Posizione di
destinazione per la
funzione integrata
Posizionamento
REF_VAL INPUT DINT E, A, M, D, L, cost. Punto di riferimento per
sincronizzazione
SWITCH_OFF_DIFF INPUT WORD E, A, M, D, L, cost. Differenza di
disinserzione (differenza
tra punto di
disinserzione e
posizione di
destinazione) in
incrementi dello spazio
PRES_COMP INPUT DINT E, A, M, D, L, cost. Nuovo valore di
confronto COMP

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 729
Funzioni integrate (per CPU con ingressi/uscite integrati)
31.4 SFB 39 (POS)

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


BREAK INPUT BYTE E, A, M, D, L, cost. Valore analogico
massimo con il quale
viene azionato il
movimento di corsa.
POS_MODE1, INPUT BOOL E, A, M, D, L, cost. Avvio ed esecuzione del
POS_MODE2 funzionamento ad
impulsi
POS_STRT INPUT BOOL E, A, M, D, L, cost. Avvio del processo di
posizionamento con
fronte di salita
SET_POS INPUT BOOL E, A, M, D, L, cost. Con fronte di salita il
valore sul parametro di
ingresso REF_VAL
viene applicato come
nuovo valore reale.

ENO OUTPUT BOOL E, A, M, D, L Gestione errori:


1 : nessun errore
durante l'elaborazione
0 : errore durante
l'elaborazione
ACTUAL_POS OUTPUT DINT E, A, M, D, L Valore reale attuale
POS_READY OUTPUT BOOL E, A, M, D, L Processo di
(Segnalazione di stato) posizionamento /
funzionamento a impulsi
concluso se
POS_READY=1
REF_VALID OUTPUT BOOL E, A, M, D, L Sensore del punto di
(Segnalazione di stato) riferimento raggiunto o
no
POS_VALID OUTPUT BOOL E, A, M, D, L Posizione reale
(Segnalazione di stato) dell'asse sincronizzata
con il valore reale della
funzione integrata

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


730 Manuale di riferimento, 04/2017, A5E41911986-AA
32 Tecnica delle materie plastiche

32.1 SFC 63 (AB_CALL)

Descrizione
La SFC 63 (AB_CALL) richiama un blocco assemblatore.
I blocchi assemblatori sono blocchi di codice che sono stati scritti nel linguaggio di programmazione
"C" o in Assembler e quindi compilati.

Applicazione
I blocchi assemblatori possono essere impiegati esclusivamente per la CPU 614.

Informazioni supplementari
Per la programmazione dei blocchi assemblatori sono disponibili apposite istruzioni di
programmazione.

Parametri

Parametro Dichiarazione Tipo di dati Area di memoria Descrizione


AB_NUMBER INPUT WORD E, A, M, D, L, cost. Stringa di bit per blocchi
assemblatori da
richiamare
CALL_REASON INPUT WORD E, A, M, D, L, cost. OB nel quale è stata
richiamata la
SFC oppure analisi del
puntatore di DB
(parametro
DB_NUMBER) oppure
attivazione del debugger
DB_NUMBER INPUT WORD E, A, M, D, L, cost. Numero del puntatore di
DB
RET_VAL OUTPUT WORD E, A, M, D, L Valore di ritorno della
SFC

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 731
Tecnica delle materie plastiche
32.1 SFC 63 (AB_CALL)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


732 Manuale di riferimento, 04/2017, A5E41911986-AA
33 Dati di diagnostica

33.1 Panoramica della struttura dei dati di diagnostica

Set di dati 0 e 1 dei dati di sistema


I dati di diagnostica di un'unità sono contenuti nei set di dati 0 e 1 del campo dati di sistema (vedere
capitolo Scrittura e lettura di set di dati):
• Il set di dati 0 contiene 4 byte di dati di diagnostica che descrivono lo stato attuale di una unità di
ingresso/uscita.
• Il set di dati 1 contiene
- i 4 byte di dati di diagnostica, contenuti anche nel set di dati 0 e
- i dati di diagnostica, specifici dell'unità.

Struttura e contenuto dei dati di diagnostica


Qui di seguito sono descritti la struttura e il contenuto dei singoli byte dei dati di diagnostica.
In generale vale la seguente regola: se ha luogo un errore, il bit corrispondente viene settato a "1".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 733
Dati di diagnostica
33.2 Dati di diagnostica

33.2 Dati di diagnostica


Struttura e contenuto dei dati di diagnostica

Byte Bit Significato Annotazione Set di dati


0 0 Guasto all'unità 0e1
1 Errore interno
2 Errore esterno
3 Errore di canale
4 Manca l'alimentazione esterna
ausiliaria
5 Manca il connettore frontale
6 Parametrizzazione non eseguita
7 Parametri errati nell'unità
1 0 Classe dell'unità 0101: unità analogica 0e1
… 0000: CPU
3 1000: unità funzionale
1100: CP
1111: unità digitale
0011: slave standard DP
1011: slave intelligente
0100: IM
4 Presenza di informazione di canale
5 Presenza di informazione utente
6 Allarme di diagnostica dell'unità
sostitutiva
7 Manutenzione necessaria (soltanto in
PROFINET IO)
2 0 Modulo di memoria errato o mancante 0e1
1 Anomalia nella comunicazione
2 Stato di funzionamento 0: RUN
1: STOP
3 Controllo del tempo di ciclo indirizzato
4 Guasto all'alimentazione interna
all'unità
5 Batteria scarica
6 Bufferizzazione completamente
guasta
7 Richiesta di manutenzione (soltanto in
PROFINET IO)
3 0 Avaria dell'apparecchiatura di 0e1
ampliamento
1 Guasto al processore
2 Errore di EPROM

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


734 Manuale di riferimento, 04/2017, A5E41911986-AA
Dati di diagnostica
33.2 Dati di diagnostica

Byte Bit Significato Annotazione Set di dati


3 Errore di RAM
4 Errore ADU/DAU
5 Guasto del fusibile
6 Interrupt di processo perduto
7 Riservato
4 0 Tipo di canale B#16#70: ingresso digitale 1
… B#16#72: uscita digitale
6 B#16#71: ingresso analogico
B#16#73: uscita analogica
B#16#74: FM-POS
B#16#75: FM-REG
B#16#76: FM-ZAEHL
B#16#77: FM-TECHNO
B#16#78: FM-NCU
B#16#79: fino a
B#16#7D: riservati
B#16#7E: US300
B#16#7F: riservato
7 Esiste un altro tipo di canale? 0: no
1: sì
5 0 Numero dei bit di diagnostica emessi Il numero dei bit di diagnostica per 1
… per canale da un'unità canale è arrotondato per eccesso ai
limiti del byte
7
6 0 Numero dei canali dello stesso tipo di Se in un'unità esistono differenti tipi di 1
… un'unità canali, per ogni tipo viene ripetuta nel
set di dati 1 la struttura dei byte dal 4
7
7 0 Errore di canale canale 0/ gruppo di Primo byte del vettore errore di canale 1
canali 0 (la lunghezza del vettore errore di
canale dipende dal numero di canale ed
è arrotondato per eccesso ai limiti dei
byte).
1 Errore di canale canale 1/ gruppo di
canali 1
2 Errore di canale canale 2/ gruppo di
canali 2
3 Errore di canale canale 3/ gruppo di
canali 3
4 Errore di canale canale 4/ gruppo di
canali 4
5 Errore di canale canale 5/ gruppo di
canali 5
6 Errore di canale canale 6/ gruppo di
canali 6

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 735
Dati di diagnostica
33.2 Dati di diagnostica

Byte Bit Significato Annotazione Set di dati


7 Errore di canale canale 7/ gruppo di
canali 7
... - Errori specifici di canale (vedere 1
Struttura dei dati di diagnostica
specifici del canale )

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


736 Manuale di riferimento, 04/2017, A5E41911986-AA
Dati di diagnostica
33.3 Struttura dei dati di diagnostica specifici del canale

33.3 Struttura dei dati di diagnostica specifici del canale

Errori specifici di canale


A partire dal byte che si trova immediatamente dietro il vettore dell'errore di canale, vengono indicati,
per ogni canale dell'unità, gli errori specifici di canale. In seguito viene mostrata la struttura della
diagnostica di canale per i differenti tipi di canale. Per quanto riguarda il valore dei bit, vale quanto
segue:
• 1 = errore
• 0 = nessun errore

Canale di ingresso analogico


Byte di diagnostica per un canale di ingresso analogico

Bit Significato Annotazione


0 Errore di progettazione/parametrizzazione Segnalabile con SFC 52 e
EVENTN = W#16#8x50
1 Errore di modo comune (errore common mode) Segnalabile con SFC 52 e
EVENTN = W#16#8x51
2 Cortocircuito P Segnalabile con SFC 52 e
EVENTN = W#16#8x52
3 Cortocircuito M Segnalabile con SFC 52 e
EVENTN = W#16#8x53
4 Interruzione del circuito Segnalabile con SFC 52 e
EVENTN = W#16#8x54
5 Errore canale di riferimento Segnalabile con SFC 52 e
EVENTN = W#16#8x55
6 Valore inferiore all'area di misura Segnalabile con SFC 52 e
EVENTN = W#16#8x56
7 Valore superiore all'area di misura Segnalabile con SFC 52 e
EVENTN = W#16#8x57

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 737
Dati di diagnostica
33.3 Struttura dei dati di diagnostica specifici del canale

Canale di uscita analogico


Byte di diagnostica per un canale di uscita analogico

Bit Significato Annotazione


0 Errore di progettazione/parametrizzazione Segnalabile con SFC 52 e
EVENTN = W#16#8x60
1 Errore di modo comune (errore common mode) Segnalabile con SFC 52 e
EVENTN = W#16#8x61
2 Cortocircuito P Segnalabile con SFC 52 e
EVENTN = W#16#8x62
3 Cortocircuito M Segnalabile con SFC 52 e
EVENTN = W#16#8x63
4 Interruzione del circuito Segnalabile con SFC 52 e
EVENTN = W#16#8x64
5 0 Riservato
6 Assenza dell'alimentazione di carico Segnalabile con SFC 52 e
EVENTN = W#16#8x66
7 0 Riservato

Canale di ingresso digitale


Byte di diagnostica per un canale di ingresso digitale

Bit Significato Annotazione


0 Errore di progettazione/parametrizzazione Segnalabile con SFC 52 e
EVENTN = W#16#8x70
1 Errore di massa Segnalabile con SFC 52 e
EVENTN = W#16#8x71
2 Cortocircuito P (trasduttore) Segnalabile con SFC 52 e
EVENTN = W#16#8x72
3 Cortocircuito M Segnalabile con SFC 52 e
EVENTN = W#16#8x73
4 Interruzione del circuito Segnalabile con SFC 52 e
EVENTN = W#16#8x74
5 Assenza dell'alimentazione trasduttori Segnalabile con SFC 52 e
EVENTN = W#16#8x75
6 0 Riservato
7 0 Riservato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


738 Manuale di riferimento, 04/2017, A5E41911986-AA
Dati di diagnostica
33.3 Struttura dei dati di diagnostica specifici del canale

Canale di uscita digitale


Byte di diagnostica per un canale di uscita digitale

Bit Significato Annotazione


0 Errore di progettazione/parametrizzazione Segnalabile con SFC 52 e
EVENTN = W#16#8x80
1 Errore di massa Segnalabile con SFC 52 e
EVENTN = W#16#8x81
2 Cortocircuito P Segnalabile con SFC 52 e
EVENTN = W#16#8x82
3 Cortocircuito M Segnalabile con SFC 52 e
EVENTN = W#16#8x83
4 Interruzione del circuito Segnalabile con SFC 52 e
EVENTN = W#16#8x84
5 Avaria dei fusibili Segnalabile con SFC 52 e
EVENTN = W#16#8x84
6 Assenza dell'alimentazione di carico Segnalabile con SFC 52 e
EVENT = W#16#8x85
7 Sovratemperatura Segnalabile con SFC 52 e
EVENTN = W#16#8x87

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 739
Dati di diagnostica
33.3 Struttura dei dati di diagnostica specifici del canale

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


740 Manuale di riferimento, 04/2017, A5E41911986-AA
34 Lista di stato di sistema SZL

34.1 Panoramica della lista di stato di sistema (SZL)


In questa appendice sono descritte le liste che possono essere lette nel programma utente tramite la
SFC 51 "RDSYSST" e le liste parziali della lista di stato di sistema, le cui informazioni si riferiscono a
• CPU o
• unità le cui liste parziali non sono specifiche
(ad es. ID SZL W#16#00B1, W#16#00B2, W#16#00B3).
Per le liste parziali specifiche delle unità, ad es. per CP e FM, si veda la descrizione della rispettiva
unità.

Definizione: lista di stato di sistema


La lista di stato di sistema descrive lo stato attuale di un sistema di automazione. Il contenuto della
SZL può essere solo letto, ma non modificato con le funzioni di informazione. Le liste di stato di
sistema sono liste virtuali. Esse vengono messe insieme su richiesta dal sistema operativo delle
unità centrali.
Mediante la SFC 51 "RDSYSST" è possibile consultare sempre solo una lista di stato di sistema.

Contenuto
Le liste di stato di sistema contengono informazioni relative a:
• dati di sistema
• informazione sullo stato dell'unità nella CPU
• dati di diagnostica nelle unità

Dati di sistema
I dati di sistema sono dati caratteristici fissi o parametrizzati di una CPU. Essi descrivono le seguenti
caratteristiche di potenzialità:
• struttura della CPU
• stato delle classi di priorità
• comunicazione.

Informazione sullo stato dell'unità


L'informazione sullo stato dell'unità descrive lo stato attuale dei componenti, che vengono controllati
dalla diagnostica di sistema.

Dati di diagnostica su unità


Le unità analizzabili con diagnostica e assegnate ad una CPU possiedono dati di diagnostica, che
sono depositati nelle unità stesse.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 741
Lista di stato di sistema SZL
34.2 Struttura di una lista parziale SZL

34.2 Struttura di una lista parziale SZL

Fondamenti
Una lista parziale o un estratto di lista possono essere letti con la SFC 51 "RDSYSST". Con i
parametri SZL_ID e INDEX si può definire che cosa si vuole leggere.

Struttura
Una lista parziale è composta da:
• intestazione
• set di dati

Intestazione
L'intestazione di una lista parziale è composta da:
• ID SZL
• indice
• lunghezza di un set di dati di questa lista parziale in byte
• numero dei set di dati che questa lista parziale contiene.

Indice
Per determinate liste parziali o estratti di liste parziali è necessario indicare una identificazione del
tipo di oggetto o un numero dell'oggetto. A tale scopo viene utilizzato l'indice. Se esso non è
necessario per una informazione, il suo contenuto è irrilevante.

Set di dati
Un set di dati di una SZL ha una certa lunghezza. Essa dipende dalle informazioni depositate nella
SZL stessa. Da quest'ultima dipende anche l'organizzazione delle parole di dati in un set di dati.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


742 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.3 ID SZL

34.3 ID SZL

ID SZL
Ogni lista parziale in una SZL possiede un numero. L'emissione di una lista parziale può essere
richiesta in modo completo o parziale. I possibili estratti di una lista parziale sono definiti in modo
fisso e vengono a loro volta contrassegnati da un numero. L'ID SZL è composto dal numero della
lista parziale e dal numero dell'estratto della lista parziale e della classe di unità.

Struttura
L'ID SZL è lungo una parola. Esso si compone come segue:

15 12 11 8 7 0

Identificazione tipo Numero dell'e- Numero della lista


di diagnostica stratto della parziale
Classe tipo di unità lista parziale

Classe di unità
Esempi di classi di unità:

Classe di unità Relativa codifica (binaria)


CPU 0000
IM 0100
FM 1000
CP 1100

Numero dell'estratto della lista parziale


I numeri degli estratti delle liste parziali e il loro significato dipendono dalla particolare lista parziale.
Mediante il numero dell'estratto della lista parziale si indica quale sottoinsieme di una lista parziale si
vuole leggere.

Numero della lista parziale


Mediante il numero della lista parziale si indica quale lista parziale SZL si vuole leggere.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 743
Lista di stato di sistema SZL
34.4 Liste parziali SZL possibili

34.4 Liste parziali SZL possibili

Sottoinsieme
In un'unità è sempre disponibile solo un sottoinsieme di tutte le liste parziali possibili. Quali liste
parziali siano disponibili dipende dall'unità.

Liste parziali SZL possibili


Nella tabella seguente sono rappresentate tutte le liste parziali possibili con il rispettivo numero
nell'ID SZL.

Liste parziali ID SZL


Identificazione delle unità W#16#xy11
Caratteristiche della CPU W#16#xy12
Aree di memoria utente W#16#xy13
Aree di sistema W#16#xy14
Tipi di blocchi W#16#xy15
Identificazione di un componente W#16#xy1C
Stato dell'allarme W#16#xy22
Associazione tra immagini di processo parziali e OB W#16#xy25
Comunicazione : dati di stato W#16#xy32
Informazione cumulativa della CPU H W#16#xy71
Stato dei LED dell'unità W#16#xy74
Slave DP connessi nel sistema H W#16#xy75
Informazione di stato dell'unità W#16#xy91
Informazione di stato del telaio e della stazione W#16#xy92
Informazione di stato del telaio e della stazione W#16#0x94
Informazioni supplementari sul sistema master DP / W#16#xy95
PROFINET IO
Informazione sullo stato dell'unità PROFINET IO e W#16#xy96
PROFIBUS DP
Informazioni sui commutatori (PROFINET IO) W#16#xy9C
Buffer di diagnostica nella CPU W#16#xyA0
Informazione di diagnostica unità (DS 0) W#16#00B1
Informazione di diagnostica unità (DS 1), indirizzo fisico W#16#00B2
Informazione di diagnostica unità (DS 1), indirizzo logico W#16#00B3
Dati di diagnostica di uno slave DP W#16#00B4

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


744 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.5 ID SZL W#16#xy11 - Identificazione di unità

34.5 ID SZL W#16#xy11 - Identificazione di unità

Scopo
Mediante la lista parziale con ID SZL W#16xy11 si ricava l'identificazione di una determinata unità.

Intestazione
L'intestazione della SZL con ID SZL W#16#xy11 è strutturata come segue:

Contenuto Significato
SZL_ID ID SZL dell'estratto della lista parziale
W#16#0111: un singolo set di dati di identificazione
INDEX Numero di un determinato set di dati
W#16#0001: Identificazione dell'unità
W#16#0004: Identificazione della System Expansion Card
W#16#0006: Identificazione dell'hardware di base
W#16#0007: Identificazione del firmware di base
LENTHDR W#16#001C:un set di dati è lungo 14 parole (28 byte)
N_DR Numero dei set di dati

Set di dati
Un set di dati della SZL con ID SZL W#16#xy11 ha la seguente struttura:

Nome Lunghezza Significato


Index 1 parola Indice di un set di dati di identificazione
MlfB 20 byte Con INDEX W#16#0001: n° di ordinazione dell’unità; stringa di 19
caratteri ed uno spazio (20H); ad es. per la CPU 314:
"6ES7 314-0AE01-0AB0 "
Con INDEX W#16#0004: n° di ordinazione della System Expansion
Card; stringa di 19 caratteri ed uno spazio (20H); ad es.
"6ES7 653-2CE00-0XB0 "
Con INDEX W#16#0006: n° di ordinazione dell’unità; stringa di 19
caratteri ed uno spazio (20H); ad es. per la CPU 314:
"6ES7 314-0AE01-0AB0 "
Con INDEX W#16#0007: riservatot
BGTyp 1 parola Riservato
Ausbg 1 1 parola Con INDEX W#16#0001: Versione dell'unità
Con INDEX W#16#0004: Versione dell’hardware, ad es.. "1"
Con INDEX W#16#0006 e W#16#0007: "V" e la prima cifra di
identificazione della versione
Ausbg 2 1 parola Con INDEX W#16#0001: Riservato
Con INDEX W#16#0004: versione del firmware ad es. "V1"
Con INDEX W#16#0006 e W#16#0007: cifre rimanenti
dell'identificazione della versione

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 745
Lista di stato di sistema SZL
34.6 ID SZL W#16#xy12 - Caratteristiche della CPU

34.6 ID SZL W#16#xy12 - Caratteristiche della CPU

Scopo
Unità del tipo CPU possiedono una serie di caratteristiche che dipendono dal relativo hardware. Ad
ognuna di queste caratteristiche è assegnato un codice. Mediante la SZL con ID SZL W#16#xy12 si
ricavano le caratteristiche dell'unità.

Intestazione
L'intestazione della SZL con ID SZL W#16#xy12 è strutturata come segue:

Contenuto Significato
SZL_ID ID SZL della lista parziale SZL:
W#16#0012: tutte le caratteristiche
W#16#0112: caratteristiche di un gruppo
Il gruppo si indica nel parametro INDEX
W#16#0F12: solo intestazione della lista parziale SZL
INDEX Gruppo
W#16#0000: unità di elaborazione MC7
W#16#0100: sistema temporale
W#16#0200: comportamento del sistema
W#16#0300: descrizione del linguaggio MC7 della CPU
W#16#0400: disponibilità di SFC 87 e SFC 88
LENTHDR W#16#0002: un set di dati è lungo 1 parola (2 byte)
N_DR Numero dei set di dati

Set di dati
Un set di dati della SZL con ID SZL W#16#xy12 è lungo una parola. Per ogni caratteristica presente
è assegnato un codice. Tale codice di caratteristica è lungo 1 parola.

Avvertenza
Tutti i set di dati rilevanti per la CPU vengono visualizzati in sequenza senza spazi vuoti.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


746 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.6 ID SZL W#16#xy12 - Caratteristiche della CPU

Codice della caratteristica


Nella tabella seguente sono riportati tutti i codici di caratteristica.

Codice Significato
W#16#0000 - 00FF Unità di elaborazione MC7 (gruppo con indice 0000)
W#16#0001 Elaborazione MC7 con generazione di linguaggio macchina
W#16#0002 Interprete del linguaggio MC7
W#16#0100 - 01FF Sistema temporale (gruppo con indice 0100)
W#16#0101 Scansione temporale di 1 ms
W#16#0102 Scansione temporale di 10 ms
W#16#0103 Nessun orologio hardware
W#16#0104 Formato dell'orario BCD
W#16#0105 Funzionalità completa dell’orologio (impostazione orologio, impostazione e
lettura stato dell’orologio, sincronizzazione dell’orologio: slave dell’orologio
e master dell’orologio)
W#16#0106 SFC 78 "OB_RT" disponibile
W#16#0200 - 02FF Comportamento del sistema (gruppo con indice 0200)
W#16#0201 Funzionalità multiprocessore
W#16#0202 Avviamento a freddo, nuovo avviamento (avviamento a caldo) e
riavviamento disponibili
W#16#0203 Avviamento a freddo e nuovo avviamento (avviamento a caldo) disponibili
W#16#0204 Nuovo avviamento (avviamento a caldo) e riavviamento disponibili
W#16#0205 Solo nuovo avviamento (avviamento a caldo) disponibile
W#16#0206 Possibilità di riconfigurazione in RUN per periferia decentrata con l’impiego
di riserve predefinite
W#16#0207 CPU H nel funzionamento singolo: riconfigurazione in RUN per periferia
decentrata con l’impiego di riserve predefinite
W#16#0208 In considerazione della funzionalità Motion Control
W#16#0300 - 03FF Descrizione del linguaggio MC7 della CPU (gruppo con indice 0300)
W#16#0301 Riservato
W#16#0302 Tutti i comandi con operandi interi a 32 bit
W#16#0303 Tutti i comandi per operazioni su numeri in virgola mobile
W#16#0304 Sin, asin, cos, acos, tan, atan, sqr, sqrt, ln, exp
W#16#0305 ACCU3/ACCU4 con i comandi corrispondenti (ENT,PUSH,POP,LEAVE)
W#16#0306 Comandi per il relè master control
W#16#0307 Registro di indirizzo 1 presente con i corrispondenti comandi
W#16#0308 Registro di indirizzo 2 presente con i corrispondenti comandi
W#16#0309 Comandi per indirizzamento oltre i limiti dell'area
W#16#030A Comandi per indirizzamento interno alla memoria
W#16#030B Tutti i comandi per indirizzamento indiretto di memoria tramite M
W#16#030C Tutti i comandi per indirizzamento indiretto di memoria tramite DB
W#16#030D Tutti i comandi per indirizzamento indiretto di memoria tramite DI
W#16#030E Tutti i comandi per indirizzamento indiretto di memoria tramite LD

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 747
Lista di stato di sistema SZL
34.6 ID SZL W#16#xy12 - Caratteristiche della CPU

Codice Significato
W#16#030F Tutti i comandi per il trasferimento di parametri in FC
W#16#0310 Comandi di merker di fronte tramite E
W#16#0311 Comandi di merker di fronte tramite A
W#16#0312 Comandi di merker di fronte tramite M
W#16#0313 Comandi di merker di fronte tramite DB
W#16#0314 Comandi di merker di fronte tramite DI
W#16#0315 Comandi di merker di fronte tramite LD
W#16#0316 Interrogazione dinamica del bit ERAB
W#16#0317 Campo dinamico dei dati locali con i corrispondenti comandi
W#16#0318 Riservato
W#16#0319 Riservato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


748 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.7 ID SZL W#16#xy13 - Aree di memoria utente

34.7 ID SZL W#16#xy13 - Aree di memoria utente

Scopo
Mediante la SZL con ID SZL W#16#xy13 si ricavano informazioni relative alle aree di memoria
dell'unità.

Intestazione
L'intestazione della lista parziale con ID SZL W#16#xy13 è strutturata come segue:

Contenuto Significato
SZL_ID ID SZL della lista parziale SZL
W#16#0113: set di dati per un'area di memoria
L'area di memoria si assegna mediante il parametro INDEX
INDEX Indicazione di un'area di memoria (solo per ID SZL W#16# 0113)
W#16#0001: Memoria di lavoro
LENTHDR W#16#0024: un set di dati è lungo 18 parola (36 byte)
N_DR Numero dei set di dati

Set di dati
Un set di dati della lista parziale SZL con ID SZL W#16#xy13 ha la seguente struttura:

Nome Lunghezza Significato


Index 1 parola Indice di un'area di memoria
W#16#0001: Memoria di lavoro
Codice 1 parola Tipo di memoria:
W#16#0001: Memoria volatile (RAM)
W#16#0002: Memoria non volatile (FEPROM)
W#16#0003: Memoria mista (RAM + FEPROM)
Grand. 2 parole Dimensione complessiva della memoria selezionata (totale di area 1
e area 2)
Modus 1 parola Modo logico della memoria
Bit 0: area di memoria volatile
Bit 1: area di memoria non volatile
Bit 2: area di memoria mista
Per la memoria di lavoro:
Bit 3: codice e dati separati
Bit 4: codice e dati insieme
Granu 1 parola Occupato sempre con 0
Ber1 2 parole Dimensione in byte dell'area di memoria volatile
Belegt1 2 parole Dimensione dell'area di memoria volatile occupata

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 749
Lista di stato di sistema SZL
34.7 ID SZL W#16#xy13 - Aree di memoria utente

Nome Lunghezza Significato


Block1 2 parole Più grande blocco libero nell'area di memoria volatile
Se 0: nessuna informazione disponibile o informazione non
determinabile.
Ber2 2 parole Dimensione in byte dell'area di memoria non volatile
Belegt2 2 parole Dimensione dell'area di memoria non volatile occupata
Block2 2 parole Più grande blocco libero nell'area di memoria non volatile
Se 0: nessuna informazione disponibile o informazione non
determinabile.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


750 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.8 ID SZL W#16#xy14 - Aree di sistema

34.8 ID SZL W#16#xy14 - Aree di sistema

Scopo
Mediante la SZL con ID SZL W#16#xy14 si ricavano informazioni relative alle aree di sistema
dell'unità.

Intestazione
L'intestazione della lista parziale con ID SZL W#16#xy14 è strutturata come segue:

Contenuto Significato
SZL_ID ID SZL dell'estratto della lista parziale
W#16#0014: Tutte le aree di sistema di un'unità
W#16#0F14: Solo intestazione della lista parziale SZL
INDEX Irrilevante:
LENTHDR W#16#0008: un set di dati è lungo 4 parole (8 byte)
N_DR Numero dei set di dati
Impostare il numero di record di dati almeno a 9. Se si sceglie un'area di destinazione
troppo piccola, la SFC 51 non fornisce alcun record di dati.

Set di dati
Un set di dati della SZL con ID SZL W#16#xy14 ha la seguente struttura:

Nome Lunghezza Significato


Index 1 parola Indice dell'area di sistema
W#16#0001: IPI (numero in byte)
W#16#0002: IPU (numero in byte)
W#16#0003: Merker (numero in bit)
Avvertenza:
Questo indice viene fornito solo dalle CPU nelle
quali il numero di merker può essere
rappresentato in una parola.
Se la propria CPU non fornisce tale valore,
si dovràvalutare l'indice W#16#0008.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 751
Lista di stato di sistema SZL
34.8 ID SZL W#16#xy14 - Aree di sistema

Nome Lunghezza Significato


Index 1 parola Indice dell'area di sistema
W#16#0004: Temporizzatori (numero)
W#16#0005: Contatori (numero)
W#16#0006: Numero dei byte nell'area di indirizzamento logica
W#16#0007: Dati locali (intera area dei dati locali della CPU in
byte)
Avvertenza:
Questo indice viene fornito solo dalle CPU nelle
quali il numero di merker può essere
rappresentato in una parola.
Se la propria CPU non fornisce tale valore,
si dovrà valutare l'indice W#16#0009.
W#16#0008: merker (numero in byte)
W#16#0009: Dati locali (intera area dati locali CPU in kbyte)
Code 1 parola Tipo di memoria
W#16#0001: Memoria volatile (RAM)
W#16#0002: Memoria non volatile (FEPROM)
W#16#0003: Memoria mista (RAM + FEPROM)
Anzahl 1 parola Numero degli elementi dell'area di sistema
Reman 1 parola Numero degli elementi retentivi

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


752 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.9 ID SZL W#16#xy15 - Tipi di blocchi

34.9 ID SZL W#16#xy15 - Tipi di blocchi

Scopo
Mediante la SZL con ID SZL W#16#xy15 si ricavano i tipi di blocchi presenti in un'unità.

Intestazione
L'intestazione della lista parziale con ID SZL W#16#xy15 è strutturata come segue:

Contenuto Significato
SZL_ID ID SZL dell'estratto della lista parziale
W#16#0015: Set di dati di tutti i tipi di blocchi di un'unità
INDEX Irrilevante
LENTHDR W#16#000A: un set di dati è lungo 5 parole (10 byte)
N_DR Numero dei set di dati

Set di dati
Un set di dati della SZL con ID SZL W#16#xy15 ha la seguente struttura:

Nome Lunghezza Significato


Index 1 parola Numero del tipo di blocco
W#16#0800: OB
W#16#0A00: DB
W#16#0B00: SDB
W#16#0C00: FC
W#16#0E00: FB
MaxAnz 1 parola Numero max. dei blocchi del tipo
Per OB: max. numero possibile di OB di una CPU
Per DB: max. numero possibile di DB, incluso DB0
Con SDB: max. numero possibile degli SDB, incluso SDB2
Con FC e FB: max. numero possibile di blocchi caricabili
MaxLng 1 parola Massima dimensione complessiva dell'entità da trasferire in kbyte
Maxabl 2 parole Massima lunghezza della percentuale della memoria di lavoro di un
blocco in byte

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 753
Lista di stato di sistema SZL
34.10 ID SZL W#16#xy1C - Identificazione di un componente

34.10 ID SZL W#16#xy1C - Identificazione di un componente

Scopo
Mediante la SZL con ID SZL W#16#xy1C è possibile identificare la CPU o il sistema di automazione.

Intestazione
L'intestazione della lista parziale con ID SZL W#16#xy1C è strutturata come segue:

Contenuto Significato
ID_SZL ID SZL dell'estratto della lista parziale
W#16#001C: Identificazione di tutti i componenti
W#16#011C: Identificazione di un componente
W#16#021C: Identificazione di tutti i componenti di una CPU di un sistema H
W#16#031C Identificazione di un componente di tutte le CPU ridondate di un
sistema H
W#16#0F1C: Solo informazione dell'intestazione della lista parziale SZL
INDEX • Identificazione del componente per estratto della lista parziale con ID SZL
W#16#011C e W#16#031C
- W#16#0001: Nome del sistema di automazione
- W#16#0002: Nome dell'unità
- W#16#0003: Sigla impianto dell'unità
- W#16#0004: Registrazione copyright
- W#16#0005: Numero di serie dell'unità
- W#16#0007: Nome del tipo di unità
- W#16#0008: Numero di serie della memory card
Le unità che non alloggiano memory card non vengono fornite
con set di dati
- W#16#0009: Produttore e profilo di un'unità CPU
- W#16#000A: Identificazione OEM di un'unità (solo S7-300)
- W#16#000B: Sigla topologica di un'unità
- W#16#000C: Numero di serie del modulo Sync 1
- W#16#000D: Numero di serie del modulo Sync 2
- W#16#000E: Numero di serie della scheda System Expansion Card
• N. di rack per l'estratto della lista parziale con ID SZL W#16#021C (byte0: n. rack,
byte1: B#16#00)
LENTHDR W#16#0022: Un set di dati è lungo 17 parole (34 byte)
N_DR Numero dei set di dati

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


754 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.10 ID SZL W#16#xy1C - Identificazione di un componente

Dati in dotazione
Negli elenchi parziali con gli ID SZL W#16#011C e W#16#031C, i dati in dotazione del set di dati, o
dei set di dati, sono formati esattamente da un INDEX.
Negli elenchi parziali con gli ID SZL W#16#001C e W#16#021C i dati in dotazione sono formati dalla
totalità di tutti i set di dati possibili.

Avvertenza
Con il richiamo dell‘SFC 51 con gli ID SZL W#16#001C e W#16#021C, il parametro di richiamo
INDEX ha un significato diverso da quello attribuitogli nei set di dati restituiti.
Con l‘ID SZL W#16#001C il parametro INDEX è irrilevante, con l‘ID SZL W#16#021C, nel
parametro di richiamo INDEX viene inoltrato il numero del rack (0 o 1).

Set di dati
Un set di dati della lista parziale con ID SZL W#16#xy1C ha la seguente struttura:

• INDEX = W#16#0001

Nome Lunghezza Significato


Index 1 parola • Con CPU standard ed estratto lista parziale W#16#011C: ID componente:
W#16#0001
• Con CPU H ed estratti lista parziale W#16#021C e W#16#031C:
Byte0: bit da 0 a 2: n. rack; bit3: 0 = CPU di riserva, 1 = CPU master; bit da
4 a 7: 1111
Byte 1: ID componente: B#16#01
Name 12 parole Nome del sistema di automazione
(max 24 caratteri; nei nomi corti viene occupato da B#16#00)
Res 4 parole Riservato

• INDEX = W#16#0002

Nome Lunghezza Significato


index 1 parola • Con CPU standard ed estratto lista parziale W#16#011C: ID componente:
W#16#0002
• Con CPU H ed estratti lista parziale W#16#021C e W#16#031C:
Byte0: bit da 0 a 2: n. rack; bit3: 0 = CPU di riserva, 1 = CPU master; bit da
4 a 7: 1111
Byte 1: ID componente: B#16#02
name 12 parole Nome dell'unità
(max. 24 caratteri; con i nomi brevi viene occupato da B#16#00)
res 4 parole Riservato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 755
Lista di stato di sistema SZL
34.10 ID SZL W#16#xy1C - Identificazione di un componente

• INDEX = W#16#0003

Nome Lunghezza Significato


index 1 parola • Con CPU standard ed estratto lista parziale W#16#011C: ID componente:
W#16#0003
• Con CPU H ed estratti lista parziale W#16#021C e W#16#031C:
Byte0: bit da 0 a 2: n. rack; bit3: 0 = CPU di riserva, 1 = CPU master; bit da
4 a 7: 1111
Byte 1: ID componente: B#16#03
tag 16 parole Sigla impianto dell'unità
(max. 32 caratteri; con le sigle brevi viene occupato da B#16#00)

• INDEX = W#16#0004

Nome Lunghezza Significato


Index 1 parola • Con CPU standard ed estratto lista parziale W#16#011C: ID componente:
W#16#0004
• Con CPU H ed estratti lista parziale W#16#021C e W#16#031C:
Byte0: bit da 0 a 2: n. rack; bit3: 0 = CPU di riserva, 1 = CPU master; bit da
4 a 7: 1111
Byte 1: ID componente: B#16#04
Copyright 13 parole Stringa di caratteri costante
"Original Siemens Equipment"
Res 3 parole Riservato

• INDEX = W#16#0005

Nome Lunghezza Significato


index 1 parola • Con CPU standard ed estratto lista parziale W#16#011C: ID componente:
W#16#0005
• Con CPU H ed estratti lista parziale W#16#021C e W#16#031C:
Byte0: bit da 0 a 2: n. rack; bit3: 0 = CPU di riserva, 1 = CPU master; bit da
4 a 7: 1111
Byte 1: ID componente: B#16#05
serialn 12 parole Numero di serie dell'unità come stringa di max. 24 caratteri. Con i numeri brevi
viene occupato da B#16#00.
Avvertenza: il numero di serie è univoco a livello mondiale per i componenti
SIMATIC. Esso è legato all'hardware della CPU e quindi resta invariato anche in
seguito all'aggiornamento del firmware.
res 4 parole Riservato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


756 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.10 ID SZL W#16#xy1C - Identificazione di un componente

• INDEX = W#16#0007

Nome Lunghezza Significato


index 1 parola • Con CPU standard ed estratto lista parziale W#16#011C: ID componente:
W#16#0007
• Con CPU H ed estratti lista parziale W#16#021C e W#16#031C:
Byte0: bit da 0 a 2: n. rack; bit3: 0 = CPU di riserva, 1 = CPU master; bit
da 4 a 7: 1111
Byte 1: ID componente: B#16#07
cputypname 16 parole Nome del tipo di unità come stringa di max. 32 caratteri. Con i nomi brevi viene
occupato da B#16#00.

• INDEX = W#16#0008

Nome Lunghezza Significato


index 1 parola • Con CPU standard ed estratto lista parziale W#16#011C: ID componente:
W#16#0008
• Con CPU H ed estratti lista parziale W#16#011C e W#16#021C e
W#16#031C:
Byte0: bit da 0 a 2: n. rack; bit3: 0 = CPU di riserva, 1 = CPU master; bit
da 4 a 7: 1111
Byte 1: ID componente: B#16#08
sn_mc/mmc 16 parole Numero di serie della memory card/Micro Memory Card come stringa di max.
32 caratteri. Nei numeri più corti viene occupato B#16#00.
• In un numero di serie Siemens: numero di serie senza estensione
• In un numero di serie di un prodotto (PSN) di una Micro Memory Card S7:
"MMC" più numero di serie (PSN)
• In un numero di serie di una memory card S7: "MC" più numero di serie
In assenza di una memory card inserita, la stringa di caratteri termina subito
dopo "MMC" o "MC".

• INDEX = W#16#0009

Nome Lunghezza Significato


index 1 parola • Con CPU standard ed estratto lista parziale W#16#011C: ID componente:
W#16#0009
• Con CPU H ed estratti lista parziale W#16#021C e W#16#031C:
Byte0: bit da 0 a 2: n. rack; bit3: 0 = CPU di riserva, 1 = CPU master; bit
da 4 a 7: 1111
Byte 1: ID componente: B#16#09
manufacturer 1 parola Vedere: PROFIBUS Profile Guidelines Part 1, Identification & Maintenance
_id Functions
profile_id 1 parola Vedere: PROFIBUS Profile Guidelines Part 1, Identification & Maintenance
Functions
Profile 1 parola Vedere: PROFIBUS Profile Guidelines Part 1, Identification & Maintenance
_specific_typ Functions
res 13 parole Riservato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 757
Lista di stato di sistema SZL
34.10 ID SZL W#16#xy1C - Identificazione di un componente

• INDEX = W#16#000A

Nome Lunghezza Significato


index 1 parola • Con CPU standard ed estratto lista parziale W#16#011C: ID componente:
W#16#000A
• Con CPU H ed estratti lista parziale W#16#021C e W#16#031C:
Byte0: bit da 0 a 2: n. rack; bit3: 0 = CPU di riserva, 1 = CPU master; bit da
4 a 7: 1111
Byte 1: ID componente: B#16#0A
Oem 13 parole Identificazione copyright OEM come stringa di max. 20 caratteri. Con i nomi brevi
_copyright è occupato da B#16#00.
_string
oem_id 1 parola ID OEM. Viene assegnata da Siemens.
Oem 2 parole ID supplementare OEM. Può essere preassegnata dall'utente.
_add_id

• INDEX = W#16#000B

Nome Lunghezza Significato


index 1 parola • Con CPU standard ed estratto lista parziale W#16#011C: ID componente:
W#16#000B
• Con CPU H ed estratti lista parziale W#16#021C e W#16#031C:
Byte0: bit da 0 a 2: n. rack; bit3: 0 = CPU di riserva, 1 = CPU master; bit da
4 a 7: 1111
Byte 1: ID componente: B#16#0B
loc_id 16 parole Sigla topologica come stringa di max. 32 caratteri. Nei nomi brevi viene occupato
da B#16#00.

• INDEX = W#16#000C

Nome Lunghezza Significato


index 1 parola • byte0: bit 0 … 2: n° telaio di montaggio; bit3: 0 = CPU di riserva, 1 = CPU
master; bit 4 … 7: 1111
• byte 1: ID del componente: B#16#0C
mlfb 5 parole 10. … 19. Caratteri del n° di ordinazione del modulo Sync 1
fill 1 parola Quattro spazi (ASCII)
es 1 parola Versione (ASCII), ad es. "01"
fill 1 byte Due spazi (ASCII)
vendor_sn 17 byte Numero di serie

Avvertenza
Se il modulo Sync 1 non è disponibile o non può essere identificato, al set di dati che segue la
variabile "Index" viene assegnato B#16#00.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


758 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.10 ID SZL W#16#xy1C - Identificazione di un componente

• INDEX = W#16#000D

Nome Lunghezza Significato


index 1 parola • byte0: bit 0 … 2: n° telaio di montaggio; bit3: 0 = CPU di riserva, 1 = CPU
master; bit 4 … 7: 1111
• byte 1: ID del componente: B#16#0D
mlfb 5 parole 10. … 19. Caratteri del n° di ordinazione del modulo Sync 2
fill 1 parola Quattro spazi (ASCII)
es 1 parola Versione (ASCII), ad es. "01"
fill 1 byte Due spazi (ASCII)
vendor_sn 17 byte Numero di serie

Avvertenza
Se il modulo Sync 2 non è disponibile o non può essere identificato, al set di dati che segue la
variabile "Index" viene assegnatot B#16#00.

• INDEX = W#16#000E

Nome Lunghezza Significato


index 1 parola • nella configurazione non ridondata e nell’estratto della lista parziale
W#16#011C: ID dei componenti: W#16#000E
• nella configurazione ridondata e negli estratti delle liste parziali
W#16#021C e W#16#031C:
byte 0: bit da 0 a 2: n° di rack; bit 3: 0 = CPU di riserva, 1 = CPU master;
bit da 4 a 7: 1111
byte 1: ID dei componenti: B#16#0E
serialn_se 9 parole Numero di serie della System Expansion Card: "SECSVP" + 12 caratteri ASCII
c
fill 7 parole 14 volte B#16#00

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 759
Lista di stato di sistema SZL
34.11 ID SZL W#16#xy22 – Stato degli allarmi

34.11 ID SZL W#16#xy22 – Stato degli allarmi

Scopo
La lista parziale con ID SZL W#16#xy22 fornisce informazioni sullo stato attuale di elaborazione e la
generazione degli allarmi dell'unità.

Intestazione
L'intestazione della lista parziale con ID SZL W#16#xy22 ha la struttura seguente:

Contenuto Significato
ID SZL ID SZL dell'estratto della lista parziale
W#16#0222 Set di dati dell'allarme indicato. L'allarme
(n° OB) va indicato nel parametro INDEX.
INDEX Classe di allarme o n° di OB (con ID SZL W#16#0222)
W#16#0000: Ciclo libero
W#16#000A: Allarme dall'orologio
W#16#0014: Allarme di ritardo
W#16#001E: Schedulazione orologio
W#16#0028: Interrupt di processo
W#16#0032 Allarme DP
W#16#003C Allarme di multicomputing o in sincronismo di clock
W#16#0048: Allarme di ridondanza (solo sistemi S7-400H)
W#16#0050: Allarme di errori di asincronismo
W#16#005A: Background
W#16#0064 Avviamento
W#16#0078: Allarme di errori di sincronismo

LENTHDR W#16#001C: Un set di dati ha una lunghezza di 14 parole (28 byte)


N_DR Numero die set di dati

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


760 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.11 ID SZL W#16#xy22 – Stato degli allarmi

Set di dati
Un set di dati della lista parziale con ID SZL W#16#xy22 ha la struttura seguente:

Nome Lunghezza Significato


info 10 parole • Informazione iniziale del rispettivo OB, con le seguenti eccezioni:
• Dall'OB 1 si ricavano il ciclo minimo attuale (byte 8 e 9) e quello massimo
(byte 10 e 11). (Base di tempo: ms, conteggio in byte iniziando da 0).
• Mentre è attivo un ordine per un allarme di ritardo, ai byte da 8 a 11
(conteggio in byte iniziando da 0) viene trasmesso il tempo restante in ms
del tempo di ritardo parametrizzato.
• Nell'OB 80 si possono leggere il tempo di ciclo minimo progettato (byte 8 e
9) e quello massimo (byte 10 e 11). (Base di tempo: ms, conteggio in byte
iniziando da 0).
• In caso di allarmi di errore senza le informazioni attuali
• Negli allarmi, l'informazione supplementare contiene la parametrizzazione
attuale della sorgente dell'allarme.
• Per gli errori di sincronismo viene registrata la classe di priorità B#16#7F se
gli OB non sono ancora stati elaborati, altrimenti la casse di priorità
dell'ultimo richiamo.
• Se un OB ha diversi eventi di avvio che al momento dell'informazione non si
sono ancora verificati, viene fornito il numero di evento W#16#xyzz con x:
classe di evento, zz: numero più piccolo definito per il gruppo, y: non
definito. In caso contrario viene utilizzato il numero dell'ultimo evento di
avvio che si è verificato.
al 1 1 parola ID di elaborazione:
Bit 0: evento di allarme causa parametrizzazione
= 0: abilitato
= 1: inibito
Bit 1: evento di allarme tramite SFC 39 "DIS_IRT"
= 0: non inibito
= 1: inibito
Bit 2 = 1: sorgente di allarme attiva (ordine di generazione
presente per allarmi orologio, OB di allarme dall'orologio
avviato, OB di allarme di ritardo avviato,
OB di schedulazione orologio progettato in STEP 7)
Bit 4: OB di allarme
= 0: non caricato
= 1: caricato
Bit 5: OB di allarme tramite TIS
= 1: inibito
Bit 6: registrazione nel buffer di diagnostica
= 1: inibita

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 761
Lista di stato di sistema SZL
34.11 ID SZL W#16#xy22 – Stato degli allarmi

Nome Lunghezza Significato


al 2 1 parola Reazione in caso di OB non caricati/inibiti
Bit 0 = 1: inibizione sorgente di allarme
Bit 1 = 1: generazione errori di evento di allarme
Bit 2 = 1: la CPU entra in stato di funzionamento STOP
Bit 3 = 1: allarme solo respinto
al 3 2 parole Evento respinto da funzioni TIS:
Il bit n. x impostato significa: il numero di evento maggiore di x rispetto al numero
di evento più basso dell'OB corrispondente è stato respinto da funzioni TIS.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


762 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.12 ID SZL W#16#xy25 - Associazione tra immagini di processo parziali e OB

34.12 ID SZL W#16#xy25 - Associazione tra immagini di processo


parziali e OB

Scopo
Mediante la lista parziale con ID SZL W#16#xy25 si ricava l’assegnazione tra immagini di processo
parziali e OB.
La lista parziale fornisce informazioni su
• Immagini di processo parziali assegnate a singoli OB per l’aggiornamento da parte del sistema
• Immagini di processo parziali assegnate a singoli OB di allarme in sincronismo di clock (da
OB 61 a 64). In questo caso le immagini di processo parziali vengono aggiornate richiamando le
SFC 126 "SYNC_PI" e 127 "SYNC_PO".
L’assegnazione tra sistemi master DP e gli OB di allarme in sincronismo di clock avviene per
mezzo della SZL W#16#xy95.

Intestazione
L'intestazione della SZL con ID SZL W#16#xy25 è strutturata come segue:

Contenuto Significato
ID SZL L’ID SZL dell’estratto della lista parziale
• W#16#0025: assegnazione tra tutte le immagini di processo parziali e gli OB all’interno
della CPU
• W#16#0125: assegnazione tra un immagine di processo parziale e il rispettivo OB
Il numero dell’immagine di processo parziale si indica nel parametro INDEX.
• W#16#0225: assegnazione tra un OB e le rispettive immagini di processo parziali
Il numero dell’OB si indica nel parametro INDEX.
Avvertenza: è possibile assegnare più immagini di processo parziali solamente agli
OB di allarme in sincronismo di clock (da OB 61 a 64).
• W#16#0F25: solo informazioni sull’intestazione della lista parziale SZL
INDEX • Per ID SZL W#16#0025: irrilevante
• Per ID SZL W#16#0125: n. di immagine di processo parziale
• Per ID SZL W#16#0225: n. OB
• PEr ID SZL W#16#0F25: irrilevante
LENTHDR W#16#0004: un set di dati è lungo 2 parole (4 byte)
N_DR Numero dei set di dati

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 763
Lista di stato di sistema SZL
34.12 ID SZL W#16#xy25 - Associazione tra immagini di processo parziali e OB

Set di dati
Un set di dati dell’estratto della lista parziale con ID SZL W#16#xy25 ha la seguente struttura:

Nome Lunghezza Significato


tpa_nr 1 byte N. immagine di processo parziale
tpa_use 1 byte Tipo di assegnazione tra immagine di processo parziale e OB:
• Bit 0 = 1: l’immagine di processo parziale di ingresso è assegnata
all’OB indicato per l’aggiornamento da parte del sistema.
• Bit 1 = 1: l’immagine di processo parziale di uscita è assegnata
all’OB indicato per l’aggiornamento da parte del sistema.
• Bit 2 = 1: l’immagine di processo parziale di ingresso è assegnata
all’OB di allarme in sincronismo di clock indicato e può essere
aggiornata richiamando l’SFC 126 "SYNC_PI" in questo OB.
• Bit 3 = 1: l’immagine di processo parziale di ingresso è assegnata
all’OB di allarme in sincronismo di clock indicato e può essere
aggiornata richiamando l’SFC 127 "SYNC_PO" in questo OB.
• Bit da 4 a 7: 0
ob_nr 1 byte N. OB
res 1 byte Riservato

Estratti delle liste parziali


• Estratto liste parziali con ID SZL = W#16#0025:
I set di dati di tutte le immagini di processo parziali assegnate ad un OB nella progettazione
vengono fornite in ordine crescente. Nel caso delle immagini di processo non assegnate ad OB,
ob_nr ha il valore zero. Le immagini di processo parziali vengono fornite senza set di dati.
• Estratto di lista parziale con ID SZL = W#16#0125:
Se nella progettazione all’immagine di processo parziale intervenuta non viene assegnato alcun
OB, non viene fornito alcun set di dati.

Avvertenza
All’immagine di processo 0 è assegnato in modo fisso l’OB 1. Con l’informazione sull’immagine di
processo parziale 0 si riceve sempre un set di dati.

• Estratto di lista parziale con ID SZL = W#16#0225:


Con ogni immagine di processo parziale assegnata all’OB intervenuto viene fornito un set di dati.
Se all’OB intervenuto non è stata assegnata alcuna immagine di processo parziale nella
progettazione, non viene fornito alcun set di dati.

Avvertenza
Agli OB di allarme in sincronismo di clock si possono assegnare più immagini di processo parziali. In
questo caso vengono forniti più set di dati.

• Estratto di lista parziale con ID SZL = W#16#0F25:


Come numero viene fornito il numero massimo possibile di set di dati.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


764 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.12 ID SZL W#16#xy25 - Associazione tra immagini di processo parziali e OB

Esempi di significati dei set di dati

Parametri di richiamo Variabili fornite Spiegazione


dell’SFC 51
SZL_ID = W#16#0125, tpa_nr = B#16#08, Viene fornito un set di dati.
INDEX = W#16#0008 tpa_use = B#16#03, Le immagini di processo di ingresso e di uscita 8 sono
ob_nr = B#16#15 assegnate all’OB 21 per l’aggiornamento delle
immagini di processo da parte del sistema.
SZL_ID = W#16#0125, - Non vengono forniti set di dati.
INDEX = W#16#0009 Quindi: l’immagine di processo parziale 9 non è
assegnata a nessun OB.
SZL_ID = W#16#0225, tpa_nr = B#16#0A, Vengono forniti due set di dati.
INDEX = W#16#003D tpa_use = B#16#C0, All’OB 61 sono assegnate le immagini di processo di
ob_nr = B#16#3D ingresso e di uscita 10 e 16. Queste possono essere
aggiornate nell’OB 61 richiamando le SFC 126 e 127.
tpa_nr = B#16#10,
tpa_use = B#16#C0,
ob_nr = B#16#3D
SZL_ID = W#16#0225, tpa_nr = B#16#00, Viene fornito un set di dati.
INDEX = W#16#0001 tpa_use = B#16#03, All’OB 1 sono assegnate le immagini di processo di
ob_nr = B#16#01 ingresso e di uscita 0, che vengono aggiornate da parte
del sistema.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 765
Lista di stato di sistema SZL
34.13 ID SZL W#16#xy32 - Dati di stato della comunicazione

34.13 ID SZL W#16#xy32 - Dati di stato della comunicazione

Scopo
Mediante la lista parziale con ID SZL W#16#xy32 si ricavano i dati di stato della comunicazione
dell'unità.

Intestazione
L'intestazione dell'estratto della lista parziale con ID SZL W#16#xy32 è strutturata come segue:

Contenuto Significato
SZL_ID ID SZL dell'estratto della lista parziale
• W#16#0132: tutti i dati sullo stato di una parte di comunicazione (sempre solo un set
di dati). La parte di comunicazione si indica nel parametro INDEX
• W#16#0232: dati sullo stato di una parte di comunicazione (con un sistema H nello
stato di funzionamento RUN-REDUNDANT o singolo vengono ritrasferiti 2 set di
dati). La parte di comunicazione si indica nel parametro INDEX
INDEX Parte di comunicazione
• Perr SZL-ID W#16#0132:
- W#16#0005 Diagnostica
- W#16#0008 Sistema temporale
- W#16#000B Sistema temporale
- W#16#000C Sistema temporale
• Per SZL-ID W#16#0232:
- W#16#0004 ivello di protezione CPU, posizioni del selettore di comando e
somme di controllo
LENTHDR W#16#0028: un set di dati è lungo 20 parole (40 byte)
N_DR Numero dei set di dati

Set di dati
Un set di dati della lista parziale con ID SZL W#16#xy32 è lungo sempre 20 parole. I set di dati sono
configurati in maniera differente. Tale configurazione dipende dal parametro INDEX, ossia varia a
seconda della parte di comunicazione alla quale appartiene il set di dati.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


766 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.14 Set di dati dell'estratto della lista parziale con ID SZL W#16#0132 Indice W#16#0005

34.14 Set di dati dell'estratto della lista parziale con ID SZL W#16#0132
Indice W#16#0005

Contenuto
L'estratto della lista parziale con ID SZL W#16#0132 e con Indice W#16#0005 contiene informazioni
sullo stato della diagnostica dell'unità.

Set di dati
Un set di dati della lista parziale con ID SZL W#16#0132 e con Indice W#16#0005 ha la seguente
struttura:

Nome Lunghezza Significato


Index 1 parola W#16#0005: diagnostica
erw 1 parola Spettro delle funzioni ampliato
0: no
1: sì
send 1 parola Trasmissione automatica
0: no
1: sì
moeg 1 parola Trasmissione di messaggi di diagnostica utente attualmente
possibile
0: no
1: sì
res 16 parole Riservato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 767
Lista di stato di sistema SZL
34.15 Set di dati dell'estratto della lista parziale con ID SZL W#16#0132 Indice W#16#0008

34.15 Set di dati dell'estratto della lista parziale con ID SZL W#16#0132
Indice W#16#0008

Contenuto
L'estratto della lista parziale con ID SZL W#16#0132 e con Indice W#16#0008 contiene informazioni
sullo stato del sistema temporale dell'unità.

Set di dati
Un set di dati della lista parziale con ID SZL W#16#0132 e con Indice W#16#0008 ha la seguente
struttura:

Nome Lunghezza Significato


Index 1 parola W#16#0008: stato del sistema temporale
zykl 1 parola Tempo di ciclo dei telegrammi di sincronizzazione
korr 1 parola Fattore di correzione dell'orologio
clock 0 1 parola Contatore del tempo di esercizio 0: tempo in ore
clock 1 1 parola Contatore del tempo di esercizio 1: tempo in ore
clock 2 1 parola Contatore del tempo di esercizio 2: tempo in ore
clock 3 1 parola Contatore del tempo di esercizio 3: tempo in ore
clock 4 1 parola Contatore del tempo di esercizio 4: tempo in ore
clock 5 1 parola Contatore del tempo di esercizio 5: tempo in ore
clock 6 1 parola Contatore del tempo di esercizio 6: tempo in ore
clock 7 1 parola Contatore del tempo di esercizio 7: tempo in ore
time 4 parole Data e ora attuali (formato date_and_time)
bszl_0 fino a 2 byte Contatore del tempo di esercizio in funzione (bit = 1: contatore delle
bszl_1 ore di esercizio in funzione)
bszl_0 1 byte Bit x: contatore delle ore di esercizio x, 0rx r7
bszl_1 1 byte Riservato
bszü_0 fino a 2 byte Overflow contatore delle ore di esercizio (bit 1: overflow)
bszü_1
bszü_0 1 byte Bit x: contatore delle ore di esercizio x, 0rx r7
bszü_1 1 byte Riservato
status 1 parola Stato dell'orologio (disposizione dei bit vedi sotto)
res 3 parole Riservato
status_valid 1 byte Validità dello stato variabili:
B#16#01: stato valido

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


768 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.15 Set di dati dell'estratto della lista parziale con ID SZL W#16#0132 Indice W#16#0008

stato

Bit Valore di default Descrizione


15 0 Segno del fattore di correzione
(0: positivo, 1: negativo)
14 … 10 00000 Fattore di correzione
questo parametro consente di correggere l'ora dell'unità ottenuta mediante
un telegramma e di impostarla ad es. sull'ora locale:
Ora locale = ora base fattore di correzione * 0,5 h
La correzione tiene conto del fuso orario e dell'ora solare/legale
9 0 Riservato
8 0 Riservato
7 0 Cambio dell'ora
Questo parametro indica se al successivo cambio dell'ora si passerà
dall'ora legale all'ora solare o viceversa.
(0: nessun cambio dell'ora, 1: cambio dell'ora)
6 0 Indicatore dell'ora legale/solare
Questo parametro indica se l'ora locale calcolata mediante il fattore di
correzione corrisponde all'ora legale o all'ora solare.
(0: ora solare, 1: ora legale)
5 0 Questo parametro non viene utilizzato in S7.
4…3 00 Risoluzione dell'ora
Questo parametro indica la precisione dell'ora trasmessa.
(00: 0.001 s, 01: 0.01 s, 10: 0.1 s, 11: 1 s)
2 0 Questo parametro non viene utilizzato in S7.
1 0 Questo parametro non viene utilizzato in S7.
0 0 Errore di sincronizzazione
Questo parametro indica se l'ora trasferita nel telegramma è sincronizzata
da un orologio master esterno, ad es. SICLOCK.
(0: sincronizzazione interrotta, 1: sincronizzazione eseguita)
Avvertenza:
La valutazione di questo bit in una CPU ha senso solo in presenza di una
costante sincronizzazione esterna dell'orologio.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 769
Lista di stato di sistema SZL
34.16 Set di dati dell’estratto della lista parziale con ID SZL W#16#0132 Indice W#16#000B

34.16 Set di dati dell’estratto della lista parziale con ID SZL W#16#0132
Indice W#16#000B

Contenuto
L’estratto della lista parziale con ID SZL W#16#0132 e con Indice W#16#000B contiene informazioni
sullo stato dei contatori del tempo di esercizio a 32 bit da 0 a 7 dell’unità.

Avvertenza
Nell’estratto della lista parziale con ID SZL W#16#0132 e con Indice W#16#0008 questi contatori del
tempo d’esercizio vengono indicati come contatori del tempo di esercizio a 16 bit.
Questo consente di continuare a utilizzare programmi concepiti per una CPU con contatori del tempo
d’esercizio a 16 bit, oltre a quelli per l’estratto della lista parziale con ID SZL W#16#0132 e con Indice
W#16#0008.

Set di dati
Un set di dati della lista parziale con ID SZL W#16#0132 e con Indice W#16#000B ha la seguente
struttura:

Nome Lunghezza Significato


Index 1 parola W#16#000B: stato del sistema temporale
bszl_0 1 byte Bit x: stato del contatore delle ore di esercizio x , 0 x 7 (bit = 1: contatore
delle ore di esercizio in funzione)
bszl_1 1 byte Riservato
bszü_0 1 byte Bit x: overflow contatore tempo d’esercizio x, 0 x 7 (bit = 1: overflow)
bszü_1 1 byte Riservato
clock 0 2 parole Contatore del tempo di esercizio 0: tempo in ore
clock 1 2 parole Contatore del tempo di esercizio 1: tempo in ore
clock 2 2 parole Contatore del tempo di esercizio 2: tempo in ore
clock 3 2 parole Contatore del tempo di esercizio 3: tempo in ore
clock 4 2 parole Contatore del tempo di esercizio 4: tempo in ore
clock 5 2 parole Contatore del tempo di esercizio 5: tempo in ore
clock 6 2 parole Contatore del tempo di esercizio 6: tempo in ore
clock 7 2 parole Contatore del tempo di esercizio 7: tempo in ore
res 1 parola Riservato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


770 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.17 Set di dati dell’estratto della lista parziale con ID SZL W#16#0132 Indice W#16#000C

34.17 Set di dati dell’estratto della lista parziale con ID SZL W#16#0132
Indice W#16#000C

Contenuto
L’estratto della lista parziale con ID SZL W#16#0132 e con Indice W#16#000C contiene informazioni
sullo stato dei contatori del tempo di esercizio a 32 bit da 8 a 15 dell’unità.

Set di dati
Un set di dati della lista parziale con ID SZL W#16#0132 e con Indice W#16#000C ha la seguente
struttura:

Nome Lunghezza Significato


Index 1 parola W#16#000C: stato del sistema temporale
bszl_0 1 byte Bit x: stato del contatore delle ore di esercizio (8+x) , 0 x 7 (bit = 1: contatore
delle ore di esercizio in funzione)
bszl_1 1 byte Riservato
bszü_0 1 byte Bit x: overflow contatore tempo d’esercizio (8+x), 0 x 7 (bit = 1: overflow)
bszü_1 1 byte Riservato
clock 8 2 parole Contatore del tempo di esercizio 8: tempo in ore
clock 9 2 parole Contatore del tempo di esercizio 9: tempo in ore
clock 10 2 parole Contatore del tempo di esercizio 10: tempo in ore
clock 11 2 parole Contatore del tempo di esercizio 11: tempo in ore
clock 12 2 parole Contatore del tempo di esercizio 12: tempo in ore
clock 13 2 parole Contatore del tempo di esercizio 13: tempo in ore
clock 14 2 parole Contatore del tempo di esercizio 14: tempo in ore
clock 15 2 parole Contatore del tempo di esercizio 15: tempo in ore
res 1 parola Riservato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 771
Lista di stato di sistema SZL
34.18 Set di dati dell'estratto della lista parziale con ID SZL W#16#0232 Indice W#16#0004

34.18 Set di dati dell'estratto della lista parziale con ID SZL W#16#0232
Indice W#16#0004

Contenuto
L'estratto della lista parziale con ID SZL W#16#0232 e con indice W#16#0004 contiene informazioni
sul livello di protezione della CPU, le posizioni del selettore di comando e delle somme di controllo
della configurazione hardware e del programma utente.

Avvertenza
Nel caso di un sistema H nello stato di funzionamento RUN-RIDONDATO vengono ritrasferiti due set
di dati di cui è valido solo quello che ha un valore diverso da zero nel byte 0 della parola "Index".
Nel caso di un sistema H in stato di funzionamento singolo viene restituito un set di dati.

Set di dati
Un set di dati dell'estratto della lista parziale con ID SZL W#16#0232 e con Indice W#16#0004 ha la
seguente struttura:

Nome Lunghezza Significato


Index 1 parola • Byte 1:
- B#16#04: Livello di protezione della CPU e posizioni del
selettore di comando e codici delle somme di controllo
• Byte 0:
- CPU standard: : B#16#00
- CPU H: bit da 0 a 2: n. telaio di montaggio
- Bit 3: 0 = CPU di riserva, 1 = CPU master
- Bit da 4 a 7: 1111
sch_schal 1 parola Livello di protezione impostato mediante il selettore dei modi
operativi (1, 2, 3)
sch_par 1 parola Livello di protezione parametrizzato (0, 1, 2, 3; 0: non assegnare
alcuna password, livello di protezione parametrizzato non valido)
sch_rel 1 parola Livello di protezione valido della CPU
bart_sch 1 parola Posizione del selettore dei modi operativi (1:RUN, 2:RUN-P,
3:STOP, 4:MRES, 0:indefinito o non rilevabile)
anl_sch 1 parola Posizione del selettore dei modi operativi (1:CRST, 2:WRST,
0:indefinito, assente o non rilevabile)
ken_f 1 parola Riservato
ken_rel 1 parola Codice per la validità delle quattro somme di controllo (0: non
valido)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


772 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.18 Set di dati dell'estratto della lista parziale con ID SZL W#16#0232 Indice W#16#0004

Nome Lunghezza Significato


ken_ver1_hw 1 parola Somma di controllo 1 della Configurazione HW (formato Intel):
separatemente oppure tramite combinazione logica delle
lunghezze di tutti i blocchi dati di sistema
ken_ver2_hw 1 parola Somma di controllo 2 della Configurazione HW (formato Intel):
separatemente oppure tramite combinazione logica delle somme di
controllo di tutti i blocchi dati di sistema
ken_ver1_awp 1 parola Somma di controllo 1 del programma utente (formato Intel):
separatemente oppure tramite combinazione logica delle
lunghezze die seguenti blocch: OB, DB, FB, FC
ken_ver2_awp 1 parola Somma di controllo 2 del programma utente (formato Intel:
separatemente oppure tramite combinazione logica delle
lunghezze die seguenti blocchi: OB, DB, FB, FC
res 2 parole Riservato
sfc_req 1 parola Richiesta del livello di protezione 2 o 3 tramite l’SFC 109 (1:
richiesta effettuata)
sfc_act 1 parola Attivazione del livello di protezione 2 o 3 tramite L’SFC 109 (1:
attivazione effettuata)
res 4 parole Riservato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 773
Lista di stato di sistema SZL
34.19 ID SZL W#16#xy71 - Informazione cumulativa della CPU H

34.19 ID SZL W#16#xy71 - Informazione cumulativa della CPU H

Scopo
Mediante la lista parziale con ID SZL W#16#0071 si ricavano informazioni sullo stato attuale del
sistema H.

Intestazione
L'intestazione con ID SZL W#16#xy71 è strutturata come segue:

Contenuto Significato
SZL_ID ID SZL dell'estratto della lista parziale:
W#16#0071: Informazioni sullo stato attuale del sistema H
W#16#0F71: Solo informazioni sull'intestazione della lista parziale SZL
INDEX W#16#0000
LENTHDR W#16#0010: Un set di dati è lungo 8 parole (16 byte)
N_DR W#16#0001: Numero dei set di dati

Set di dati
Un set di dati della lista parziale con ID W#16#xy71 ha la struttura seguente:

Contenuto Lunghezza Significato


redinf 2 Byte Informazioni sulla ridondanza
W#16#0011: CPU H operate singolarmente
W#16#0012: Sistema H 1v2
mwstat1 1 Byte Byte di stato 1
Bit 0: Riservato
Bit 1: Riservato
Bit 2: Riservato
Bit 3: Riservato
Bit 4: Stato H della CPU nel telaio di montaggio 0
=0: CPU di riserva
=1: CPU master
Bit 5: Stato H della CPU nel telaio di montaggio 1
=0: CPU di riserva
=1: CPU master
Bit 6: Riservato
Bit 7: Riservato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


774 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.19 ID SZL W#16#xy71 - Informazione cumulativa della CPU H

Contenuto Lunghezza Significato


mwstat2 1 Byte Byte di stato 2
Bit 0: Stato dell'accoppiamento di sincronizzazione 01:
Sincronizzazione tra CPU 0 e CPU 1
=0: non è possibile
=1: possibile
Bit 1: 0
Bit 2: 0
Bit 3: Riservato
Bit 4: =0: CPU non è inserita nel telaio 0
=1: CPU è inserita nel telaio 0
(con funzionamento ridondato: bit 4 = 0)
Bit 5: =0: CPU non è inserita nel telaio 1
=1: CPU è inserita nel telaio 1
(con funzionamento ridondato: Bit 5 = 0)
Bit 6: Riservato
Bit 7: Commutazione riserva-master dall'ultima
Depassivazione
=0: no
=1: sì
hsfcinfo 2 Byte Parola di informazione per la SFC 90 "H_CTRL"
Bit 0: =0: Depassivazione inattiva
=1: Depassivazione attiva
Bit 1: =0: Aggiornamento della riserva abilitato
=1: Aggiornamento della riserva disabilitato
Bit 2: =0: Accoppiamento alla riserva abilitato
=1: Accoppiamento alla riserva disabilitato
Bit 3: riservato
Bit 4: riservato
Bit 5: riservato
Bit 6: riservato
Bit 7: riservato
Bit 8: riservato
samfehl 2 byte Riservato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 775
Lista di stato di sistema SZL
34.19 ID SZL W#16#xy71 - Informazione cumulativa della CPU H

Contenuto Lunghezza Significato


bz_cpu_0 2 Byte Stato di funzionamento della CPU nel telaio di montaggio 0
W#16#0001: STOP (update)
W#16#0002: STOP (cancellazione totale)
W#16#0003: STOP (inizializzazione)
W#16#0004: STOP (interno)
W#16#0005: Avviamento (avviamento a freddo)
W#16#0006: Avviamento (avviamento a caldo)
W#16#0007: Avviamento (riavviamento)
W#16#0008: RUN (funzionamento singolo)
W#16#0009: RUN-R (funzionamento ridondato)
W#16#000A: ALT
W#16#000B: ACCOPPIAMENTO
W#16#000C: AGGIORNAMENTO
W#16#000D: DIFETTO
W#16#000E: AUTOTEST
W#16#000F: NO POWER
bz_cpu_1 2 Byte Stato di funzionamento della CPU nel telaio di montaggio 1
(valori come per bz_cpu_0)
bz_cpu_2 2 Byte Riservato
cpu_valid 1 Byte Validità delle variabili bz_cpu_0 e bz_cpu_1
B#16#01: bz_cpu_0 valida
B#16#02: bz_cpu_1 valida
B#16#03: bz_cpu_0 e bz_cpu_1 valide
hsync_f 1 Byte Stato della qualità del collegamento (valido solo se il bit 0 è impostato
in mwstat2)
• Bit 0: qualità della comunicazione a fibre ottiche dei moduli
di sincronizzazione limitata al vano superiore
• Bit 1: qualità della comunicazione a fibre ottiche dei moduli
di sincronizzazione limitata al vano inferiore
• Bit da 2 a 7: 0

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


776 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.20 ID SZL W#16#xy74 - Stato dei LED dell'unità

34.20 ID SZL W#16#xy74 - Stato dei LED dell'unità

Scopo
Mediante la lista parziale con ID SZL W#16#0074 si ricava lo stato dei LED dell'unità con le CPU
standard (purché presenti) e le CPU H.
Se le CPU H si trovano in uno stato di funzionamento H non ridondato esse ricevono lo stato dei LED
delle CPU indirizzate. In caso di CPU H nello stato di funzionamento RUN-REDUNDANT viene
fornito lo stato dei LED di tutte le CPU H ridondate, ovvero 2 set di dati.

Intestazione
L'intestazione della lista parziale con ID SZL W#16#xy74 è strutturata come segue:

Contenuto Significato
SZL_ID ID SZL dell‘estratto della lista parziale
W#16#0174 Stato di un LED.
I LED vengono selezionati mediante il parametro INDEX.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 777
Lista di stato di sistema SZL
34.20 ID SZL W#16#xy74 - Stato dei LED dell'unità

Contenuto Significato
INDEX Identificazione LED (rilevante solo per ID SZL W#16#0174)
W#16#0001: SF (errore cumulativo)
W#16#0002: INTF (errore interno)
W#16#0003: EXTF (errore esterno)
W#16#0004: RUN
W#16#0005: STOP
W#16#0006: FRCE (forzamento)
W#16#0007: CRST (nuovo avviamento)
W#16#0008: BAF (errore batteria/sovraccarico,
cortocircuito tensione batteria sul bus)
W#16#0009: USR (definito dall'utente)
W#16#000A: USR1 (definito dall'utente)
W#16#000B: BUS1F (errore di bus interfaccia 1)
W#16#000C: BUS2F (errore di bus interfaccia 2)
e BUS5F (errore di bus interfaccia 5) nelle
CPU 414-3 PN/DP,416-3 PN/DP e 416F-3 PN/DP
W#16#000D: REDF (errore di ridondanza)
W#16#000E: MSTR (master)
W#16#000F: RACK0 (telaio di montaggio n° 0)
W#16#0010: RACK1 (telaio di montaggio n° 1)
W#16#0011: RACK2 (telaio di montaggio n° 2)
W#16#0012: IFM1F (errore modulo di interfaccia 1)
W#16#0013: IFM2F (errore modulo di interfaccia 2)
W#16#0014: BUS3F (errore di bus interfaccia 3)
W#16#0015: MAINT (richiesta di manutenzione)
W#16#0016: DC24V
W#16#0017: BUS5F (errore di bus interfaccia 5)
W#16#0018: BUS8F (errore di bus interfaccia 8)

W#16#0080: IF (init failure)


W#16#0081: UF (user failure)
W#16#0082: MF (monitoring failure)
W#16#0083: CF (communication failure)
W#16#0084: TF (task failure)
:
W#16#00EC: APPL_STATE_RED
W#16#00ED: APPL_STATE_GREEN
LENTHDR W#16#0004: Un set dati è lungo 2 parole (4 byte)
N_DR Numero dei set di dati

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


778 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.20 ID SZL W#16#xy74 - Stato dei LED dell'unità

Set di dati
Nelle CPU H nello stato di funzionamento RUN RIDONDANTE è in dotazione un set di dati per
ciascuna CPU: nel primo set di dati è memorizzata l’informazione LED della CPU master attuale, nel
secondo set di dati è memorizzata l’informazione LED della CPU di riserva attuale.

Un set di dati della lista parziale con ID SZL W#16#xy74 ha la struttura seguente:

Nome Lunghezza Significato


cpu_led_kennung 1 parola Byte 0
CPU standard: B#16#00
CPU H: Bit da 0 a 2: n. telaio di montaggio
Bit 3: 0=CPU di riserva,
1=CPU master
Bit da 4 a 7: 1111
Byte 1: Identificazione LED
led_on 1 byte Stato dei LED:
0: off
1: on
led_blink 1 byte Lampeggiamento del LED:
0: non lampeggia
1: lampeggia normalmente (2 Hz)
2: lampeggia lentamente (0,5 Hz))

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 779
Lista di stato di sistema SZL
34.21 ID SZL W#16#xy75 - Slave DP connessi nel sistema H / IO-Device

34.21 ID SZL W#16#xy75 - Slave DP connessi nel sistema H / IO-Device

Scopo
Nelle CPU di un sistema H che si trova in uno stato di funzionamento ridondante, la lista parziale con
ID SZL W#16#xy75 consente di ricavare informazioni sullo stato della comunicazione tra il sistema
H e gli slave DP / IO Device connessi.
La lista parziale indica in quale rack è inserita l'interfaccia del master DP / IO Controller tramite il
quale ha luogo la comunicazione con uno slave DP / IO Controller.

Intestazione
L'intestazione della lista parziale con ID SZL W#16#xy75 è strutturata come segue:

Contenuto Significato
SZL_ID ID SZL dell‘estratto della lista parziale :
W#16#0C75: stato della comunicazione tra il sistema H e uno slave DP / IO
Device connesso.
Lo slave DP / IO Device può essere selezionato con i parametro
INDEX.
INDEX Indirizzo di diagnostica delle connessioni dello slave DP / IO Device
LENTHDR W#16#0010: un set di dati ha una lunghezza di 8 parole (16 byte)
N_DR W#16#0001: numero di set di dati

Set di dati
Un set di dati della lista parziale con l'ID SZL W#16#xy75 è strutturato come segue:

Nome Lunghezza Significato


adr1_bgt0 1 parola 1. Parte di indirizzo dell'interfaccia slave DP / IO Device la cui
interfaccia master DP/ IO Controller è inserita nel telaio di
montaggio 0:
• numero di ID del sistema master DP/ low byte : numero
stazione
• PNIO: Bit15=1, bits da 11 a 14: le ultime due posizioni del
sistema IO PROFINET IO, bits: da 0 a 10: numero della
stazione.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


780 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.21 ID SZL W#16#xy75 - Slave DP connessi nel sistema H / IO-Device

Nome Lunghezza Significato


adr2_bgt0 1 parola 2. Parte di indirizzo dell'interfaccia slave DP / IO Device la cui
interfaccia master DP /IO Controller è inserita nel telaio di
montaggio 0:
• DP: High byte: posto connettore low byte: zero (nessun
sottomodulo)
• PNIO: High byte: connettore, low byte: connettore e
sottomodulo
adr1_bgt1 1 parola 1.Parte di indirizzo dell'interfaccia slave DP/ IO Device la cui
interfaccia master DP / IO-Controller è inserita nel telaio di
montaggio 1:
• DP: High byte: ID sistema master DP, low byte: numero
della stazione
• PNIO: Bit15=1, bits da 11 a 14: le ultime due posizioni
dell’ID sistema IO PROFINET, bits da 0 a 10: numero
stazione
adr2_bgt1 1 parola 2. Parte di indirizzo dell'interfaccia slave DP/ IO Device la cui
interfaccia master DP / IO Controller è inserita nel telaio di
montaggio 1:
• DP: High byte: posto connettore low byte: zero (nessun
sottomodulo)
• PNIO: High byte: connettore, low byte: connettore e
sottomodulo
res 2 parole Riservato
logadr 1 parola Indirizzo di diagnostica delle interfacce slave DP/ IO Device:
• Bit da 0 a 14: indirizzo base logico
• Bit 15: identificativo degli I/O (0 = ingresso, 1 = uscita)
slavestatus 1 parola Stato della comunicazione:
• Bit 0 = 1: nessun accesso all'interfaccia slave DP / IO
Device la cui interfaccia master DP / IO Controller è
inserita nel telaio di montaggio 0
• Bit 1 = 1: nessun accesso all'interfaccia slave DP / IO
Device la cui interfaccia master DP / IO Controller è
inserita nel telaio di montaggio 1
• Bit da 2 a 7: riservati (ognuno = 0)
• Bit 8 = 1: i canali di comunicazione sono corretti; la
comunicazione avviene attualmente mediante l'interfaccia
master DP / IO Controller nel telaio di montaggio 0
• Bit 9 = 1: i canali di comunicazione sono corretti; la
comunicazione avviene attualmente mediante l'interfaccia
master DP / IO Controller nel telaio di montaggio 1
• Bit da 10 a 15: riservati (ognuno = 0)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 781
Lista di stato di sistema SZL
34.22 ID SZL W#16#xy90 - Informazioni sul sistema master DP

34.22 ID SZL W#16#xy90 - Informazioni sul sistema master DP

Scopo
La lista parziale con ID SZL W#16#xy90 fornisce informazioni sullo stato di tutti i sistemi master DP
conosciuti alla CPU.

Intestazione
L'intestazione della lista parziale con ID SZL W#16#xy90 ha la struttura seguente:

Contenuto Significato
SZL_ID ID SZL dell'estratto della lista parziale
W#16#0090: Informazioni su tutti i sistemi master DP conosciuti alla CPU
W#16#0190: Informazioni su un sistema master DP
W#16#0F90: Solo informazione dell'intestazione della lista parziale SZL
INDEX • Per l'estratto della lista parziale con ID SZL W#16#0190:
- Low Byte: B#16#00
- High Byte: ID sistema master DP
• Per gli estratti della lista parziale con ID SZL W#16#0090 e W#16#0F90:
- W#16#0000
LENTHDR W#16#000E: Un set di dati è lungo 7 parole (14 byte)
N_DR Numero die set di dati
• Per l'estratto della lista parziale con ID SZL W#16#0190:
0-1
• Per l'estratto della lista parziale con ID SZL W#16#0090:
con una CPU standard:
0 - 14
Con un sistema H:
0 - 12 (in tutti gli stati di sistema tranne quello ridondato)
0 - 2 x 12 (nello stato di sistema ridondato)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


782 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.22 ID SZL W#16#xy90 - Informazioni sul sistema master DP

Set di dati
Un set di dati della lista parziale con ID W#16#xy90 ha la seguente struttura:

Nome Lunghezza Significato


dp_m_id 1 byte ID sistema master DP
rack_dp_m 1 byte N. di telaio di montaggio del master DP
• Con una CPU standard: 0
• Con un sistema H: 0 o 1
steckpl_dp_m 1 byte Posto connettore del master DP.
Posto connettore della CPU (con interfaccia DP integrata)
subm_dp_m 1 byte • Con interfaccia DP integrata: n. di interfaccia del master
DP:
- 1: X2
- 2: X1
- 3: IF1
- 4: IF2
• Con interfaccia DP esterna: 0
logadr 1 parola Indirizzo logico iniziale del master DP
dp_m_sys_cpu 1 parola Riservato
dp_m_sys_dpm 1 parola Riservato
dp_m_state 1 byte Ulteriori proprietà del sistema master DP
Bit 0: Modo DP
• 0: compatibile con S7
• 1: equidistante
Bit 1: Ciclo DP
• 0: non equidistante
• 1: equidistante
Bit 2 - 6: Riservato
Bit 7: Tipo master DP
• 0: master DP integrato
• 1: master DP esterno
reserve 3 byte Riservato

Avvertenza per il multicomputing (solo S7-400)


Le liste parziali forniscono solo informazioni sulle unità assegnate a una CPU. Nel funzionamento
multicomputing è quindi necessario interrogare tutte le CPU per poter disporre dei dati di tutte le unità
connesse.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 783
Lista di stato di sistema SZL
34.23 ID SZL W#16#xy91 - Informazione sullo stato delle unità

34.23 ID SZL W#16#xy91 - Informazione sullo stato delle unità

Scopo
Mediante la lista parziale con ID SZL W#16#xy91 si ricavano informazioni sullo stato di tutte le unità
assegnate alla CPU.

Avvertenza
Non è possibile analizzare l'ID SZL W#16#xy91 per un modulo con indirizzi compressi (ET 200S).

Intestazione
L'intestazione della lista parziale con ID SZL W#16#xy91 è strutturata come segue:

Contenuto Significato
SZL-ID ID SZL dell'estratto della lista parziale
W#16#0091 Informazione di stato di tutte le unità e i sottomoduli inseriti e progettati
della CPU (solo S7-400)
W#16#0191 Informazione di stato di tutte le unità e i telai non disattivati con
identificazione errata (solo S7-400)
W#16#0291 Informazione di stato di tutte le unità guaste e non disattivate (solo
S7-400)
W#16#0391 Informazione di stato di tutte le unità non disponibili (solo S7-400)
W#16#0591 Informazione di stato di tutti i sottomoduli dell'unità host
W#16#0991 Informazione di stato di un sistema master DP
W#16#0A91 Informazione di stato di tutti i sottosistemi DP e i sistemi master DP (solo
S7-300 senza CPU 318-2 DP) e nei sistemi PROFINET IO.
W#16#0C91 Informazione di stato di un'unità in configurazione centrale o in
un'interfaccia DP o PROFINET integrata tramite indirizzo logico di base.
W#16#4C91 Informazione di stato di un'unità in un'interfaccia DP esterna tramite
indirizzo logico di base.
L'impiego di più di 4 interfacce DP può comportare l'emissione erronea
di RET_VAL W#16#80A4.
W#16#0D91 Informazione di stato di tutte le unità nel telaio o nella stazione indicati
(DP o PROFINET) e collegati all’interfaccia integrata
W#16#0E91 Informazione di stato di tutte le unità assegnate
W#16#0F91 Soltanto l'informazione dell'intestazione della lista parziale SZL

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


784 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.23 ID SZL W#16#xy91 - Informazione sullo stato delle unità

Contenuto Significato
INDEX • Per l'estratto della lista parziale con ID SZL W#16#0C91:
- S7-400: bit 0 ... 14: indirizzo di base logico dell'unità.
bit 15: 0 = ingresso, 1 = uscita
- S7-300: bit 0...14: qualunque indirizzo logico dell'unità,
bit 15: 0 = ingresso, 1 = uscita
• Per l'estratto della lista parziale con ID SZL W#16#4C91 (solo S7-400):
Bit 0 … 14: indirizzo di base logico dell'unità, bit 15: 0 = ingresso, 1= uscita
• Per l'estratto della lista parziale con ID SZL W#16#0091, W#16#0191,W#16#0291,
W#16#0391, W#16#0491, W#16#0591, W#16#0A91, W#16#0E91, W#16#0F91:
INDEX è irrilevante, tutte le unità (nel telaio di montaggio e nella periferia decentrata)
• Per l'estratto della lista parziale con ID SZL W#16#0991 (solo S7-400):
W#16#xx00: tutte le unità di un sistema master DP (xx contiene l'ID del sistema
master DP)
• Per l'estratto della lista parziale con ID SZL W#16#0D91
- W#16#00xx tutte le unità e i sottomoduli di un telaio di montaggio (xx contiene il
numero del telaio)
- W#16#xxyy tutte le unità di una stazione DP oppure tutti gli I/O Device di una
stazione PROFINET IO collegata ad un’interfaccia integrata (PROFIBUS DP: xx
contiene l'ID del sistema master DP yy il numero della stazione, PROFINET IO:
bit 0 ... 10: numero della stazione, bit 11 ... 14: gli ultimi due posti dell'ID del
sottosistema PNIO, bit 15: 1 (vedere la terza figura sottostante all'indirizzo1)
LENTHDR W#16#0010: un set di dati è lungo 8 parole (16 byte)
N_DR Numero dei set di dati; a seconda del prodotto il numero dei set di dati dell'SFC 51 può
essere inferiore

In W#16#0091, W#16#0191 e W#16#0F91 vengono forniti altri due set di dati per ciascun telaio di
montaggio:
• un set di dati per l'alimentazione, a meno che sia presente e sia stato progettato
• un set di dati per il telaio di montaggio.
• La sequenza dei set di dati nella configurazione centrale comprende: PS, posto connettore 1,
posto connettore 2, ..., posto connettore 18, telaio di montaggio.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 785
Lista di stato di sistema SZL
34.23 ID SZL W#16#xy91 - Informazione sullo stato delle unità

Set di dati
Un set di dati della lista parziale con ID SZL W#16#xy91 ha la seguente struttura:

Nome Lunghezza Significato


adr1 1 parola • Con configurazione centrale: numero del telaio di montaggio
• Con configurazione decentrata con PROFIBUS DP: ID del
sistema master DP, numero della stazione
• Con configurazione decentrata con PROFINT IO: bit 15 = 1
(identificazione PROFINET IO), ultime due posizioni dell'ID del
sistema PROFINET IO, numero della stazione
Avvertenza: un'interfaccia PROFINET viene trattata
sostanzialmente come "Sottomodulo nella configurazione
centrale" indipendentemente dal relativo impiego in PROFINET
IO.
adr2 1 parola • Con configurazione centrale e decentrata con PROFIBUS DP:
numero di posto connettore e numero di posto connettore del
sottomodulo
• Con configurazione decentrata con PROFINTE IO: numero di
posto connettore
Avvertenza: un'interfaccia PROFINET viene trattata
sostanzialmente come "Sottomodulo nella configurazione
centrale" indipendentemente dal relativo impiego in PROFINET
IO
logadr 1 parola Primo indirizzo E/A logico assegnato (indirizzo di base)
solltyp 1 parola PROFINET IO: tipo prefissato (v. oltre), altrimenti riservato
isttyp 1 parola PROFINET IO: tipo attuale (v. oltre), altrimenti riservato
riservato 1 parola 00xx=CPU n.1-4 (solo S7-400)
con PROFINET IO:
• ID SZL=W#16#0C91: numero di sottomoduli realmente
esistenti (senza sottomodulo 0)
• ID SZL=W#16#0D91: numero dei sottomoduli (senza
sottomodulo 0)
• ID SZL=W#16#4C91: numero di sottomoduli realmente
esistenti (senza sottomodulo 0)
• ID SZL=W#16#4D91: numero di sottomoduli realmente
esistenti (senza sottomodulo 0)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


786 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.23 ID SZL W#16#xy91 - Informazione sullo stato delle unità

Nome Lunghezza Significato


eastat 1 parola Stato di E/A
Bit 0 = 1: Unità disturbata
(identificata tramite allarme di diagnostica)
Bit 1 = 1: Unità presente
Bit 2 = 1: Unità non disponibile
Bit 3 = 1: Unità disattivata
Bit 4 = 1: Guasto della stazione (solo slot unità vicaria)
Bit 5 = 1: Un’operazione CiR per questa
attualmente attiva o non è ancora terminata
Bit 6 = 1: Riservato per S7-400
Bit 7 = 1: Unità nel segmento di bus locale
Bit 8 15: identificazione dati per indirizzo logico
(ingresso: B#16#B4, uscita:: B#16#B5,
interfaccia DP integrata: B#16#FE,
interfaccia DP esterna: B#16#FF)
ber_bgbr 1 parola Identificazione di area/larghezza unità
Bit 0 fino a 2 : larghezza unità
Bit 4 fino a 6 : identificazione area
0 = S7-400
1 = S7-300
2 = area ET
3 = area P
4 = area Q
5 = area IM3
6 = area IM4
Bit 7: riservato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 787
Lista di stato di sistema SZL
34.23 ID SZL W#16#xy91 - Informazione sullo stato delle unità

In alcune unità nel set di dati vengono rappresentati i seguenti valori:

Nome PS CPU CPU IFM Telaio di montaggio


(solo S7-400) (S7-300) (solo S7-400)
adr1 Numero del telaio di Informazioni standard Informazioni standard Numero del telaio di
montaggio come precedentemente come precedentemente montaggio
indicato indicato
adr2 W#16#01FF W#16#0200 o W#16#0200 W#16#00FF
da W#16#0200 a
W#16#1800
logadr W#16#0000 W#16#7FFF W#16#007C W#16#0000
solltyp Informazioni standard W#16#00C0 o W#16#00C0 Informazioni standard
come W#16#0081 o come precedentemente
precedentemente W#16#0082 indicato
indicato
eastat W#16#0000 Informazioni standard Informazioni standard W#16#0000
come precedentemente come precedentemente
indicato indicato
ber_bg W#16#0000 W#16#0011 o W#16#0011 W#16#0000
br W#16#0001 o
W#16#0002

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


788 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.23 ID SZL W#16#xy91 - Informazione sullo stato delle unità

Parametro adr1
Il parametro adr1 contiene:
• il numero di telaio (0-31) in caso di configurazione centrale

• con configurazione decentrata con PROFIBUS DP


- l'ID del sistema master DP (1-32)
- il numero di stazione.(0-127)

• con configurazione decentrata con PROFINET IO


- bit di identificazione per PROFINET IO (bit 15)
- le ultime due posizioni dell'ID del sistema PROFINET IO (0-15); per ottenere l'ID completa
del sistema PROFINET IO occorre aggiungere 100 (decimale)
- il numero della stazione (0-2047).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 789
Lista di stato di sistema SZL
34.24 ID SZL W#16#xy92 - Informazione sullo stato del telaio di montaggio/della stazione

Parametro adr2
Il parametro adr2 contiene:
• con configurazione centrale e decentrata con PROFIBUS DP, il numero di posto connettore e il
numero di posto connettore dei sottomoduli.

• il numero di posto connettore in caso di configurazione decentrata con PROFINET IO.

Parametri tipo prefissato e tipo attuale per PROFINET IO

ID tipo Significato
(W#16#...)
8100 Viene registrato nel tipo prefissato e attuale se non è possibile eseguire una verifica del tipo
8101 Viene registrato nel tipo prefissato se la verifica del tipo è possibile
8101 Viene registrato come tipo attuale se prefissato=attuale
8102 Viene registrato come tipo attuale se prefissato<>attuale

Avvertenza per il multicomputing (solo S7-400)


Le liste parziali forniscono solo informazioni sulle unità assegnate a una CPU. Nel funzionamento
multicomputing è quindi necessario interrogare tutte le CPU per poter disporre dei dati di tutte le unità
connesse.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


790 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.24 ID SZL W#16#xy92 - Informazione sullo stato del telaio di montaggio/della stazione

34.24 ID SZL W#16#xy92 - Informazione sullo stato del telaio di


montaggio/della stazione

Scopo
Tramite la lista parziale con ID SZL W#16#xy92 si ricavano informazioni sulla struttura prefissata e
su quella attuale di telai di montaggio nella configurazione centrale e nelle stazioni di un sistema
master DP.

Lettura della lista parziale mediante la SFC 51 "RDSYSST" in una CPU S7-400
Quando si legge la SZL con la SFC 51 è importante accertarsi che i parametri SZL_ID e INDEX
dell'SFC 51 siano compatibili.

SZL_ID INDEX
W#16#0092 oppure ID di un sistema master DP connesso mediante
W#16#0192 oppure interfaccia DP integrata.
W#16#0292 oppure
W#16#0392 oppure
W#16#0492 oppure
W#16#0592 oppure
W#16#0692 oppure
W#16#4092 oppure ID di un sistema master DP connesso mediante
W#16#4292 oppure interfaccia DP esterna.
W#16#4692 oppure

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 791
Lista di stato di sistema SZL
34.24 ID SZL W#16#xy92 - Informazione sullo stato del telaio di montaggio/della stazione

Intestazione
L'intestazione della lista parziale con ID SZL W#16#xy92 è strutturata come segue:

Contenuto Significato
SZL_ID • ID SZL dell'estratto della lista parziale:
• W#16#0092: stato prefissato dei telai di montaggio con configurazione centrale /
delle stazioni di un sistema master DP collegato mediante interfaccia DP integrata
• W#16#4092: stato prefissato delle stazioni di un sistema master DP collegato
mediante interfaccia DP esterna
• W#16#0192: stato di attivazione delle stazioni di un sistema master DP connesso
mediante interfaccia DP integrata
• W#16#0292: stato attuale dei telai di montaggio con configurazione centrale / delle
stazioni di un sistema master DP collegato mediante interfaccia DP esterna
• W#16#0392: stato di alimentazione della batteria di un rack / telaio di montaggio di
una CPU se è guasta almeno una batteria
• W#16#0492: stato dell'intera alimentazione della batteria di tutti i rack / telai di
montaggio di una CPU
• W#16#0592: stato dell'alimentazione a 24 V di tutti i rack / telai di montaggio di una
CPU
• W#16#4292: stato attuale delle stazioni di un sistema master DP collegato mediante
interfaccia DP esterna
• W#16#0692: stato di diagnostica delle apparecchiature di ampliamento con
configurazione centrale / delle stazioni di un sistema master DP collegato mediante
interfaccia DP integrata
• W#16#4692: stato di diagnostica delle stazioni di un sistema master DP collegato
mediante interfaccia DP esterna
INDEX 0/ ID del sistema master DP
LENTHDR W#16#0010: set di dati lungo otto parole (16 byte)
N_DR Numero dei set di dati

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


792 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.24 ID SZL W#16#xy92 - Informazione sullo stato del telaio di montaggio/della stazione

Set di dati
Un set di dati nella lista parziale con ID W#16#xy92 ha la seguente struttura:

Contenuto Lunghezza Significato


status_0 … 16 byte Stato del telaio di montaggio/della stazione, stato dell'alimentazione a
status_15 batteria o stato di attivazione (lo stato di attivazione è rilevante solo per le
unità DP).
W#16#0092: Bit=0: Telaio di montaggio/stazione non
progettati
Bit=1: Telaio di montaggio/stazione progettati
W#16#4092: Bit=0: Stazione non progettata
Bit=1: Stazione progettata
W#16#0192: Bit=0: Stazione non progettata o progettata e
attivata
Bit=1: Stazione progettata e disattivata
W#16#0292: Bit=0: Telaio di montaggio/stazione guasti,
disattivati o non progettati
Bit=1: Telaio di montaggio/stazione presenti,
attivati e non guasti
W#16#4292: Bit=0: Stazione guasta, disattivata o non
progettata
Bit=1: Stazione presente, attivata e non guasta
W#16#0692: Bit=0: Tutte le unità dell'apparecchiatura di
ampliamento/di una stazione sono
presenti, disponibili e non guaste e la
stazione è attiva
Bit=1: Almeno un'unità dell'apparecchiatura di
ampliamento/di una stazione non è OK o
la stazione è disattivata
W#16#4692: Bit=0: Tutte le unità di una stazione presenti,
disponibili e non guaste e la stazione
è attiva
Bit=1: Almeno un'unità di una stazione non
è OK oppure la stazione è disattivata
1 byte Bit 0: Apparecchiatura centrale (INDEX = 0), oppure
Stazione 1 (INDEX < > 0)
Bit 1: 1ª apparecchiatura di ampliamento o stazione 2
:
:
Bit 7: 7ª apparecchiatura di ampliamento o stazione 8
status_1 1 byte Bit 0: 8ª apparecchiatura di ampliamento o stazione 9
:
:
Bit 7: 15ª apparecchiatura di ampliamento o
stazione16

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 793
Lista di stato di sistema SZL
34.24 ID SZL W#16#xy92 - Informazione sullo stato del telaio di montaggio/della stazione

Contenuto Lunghezza Significato


status_2 1 byte Bit 0: 16ª apparecchiatura di ampliamento o
stazione 17
:
:
Bit 5: 21ª apparecchiatura di ampliamento o
stazione 22
Bit 6: 0 oppure stazione 23
Bit 7: 0 oppure stazione 24
status_3 1 byte Bit 0: 0 oppure stazione 25
:
:
Bit 5: 0 oppure stazione 30
Bit 6: Apparecchiatura di ampliamento nell'area
SIMATIC S5 oppure stazione 31
Bit 7: 0 oppure stazione 32
status_4 1 byte Bit 0: 0 oppure stazione 33
:
:
Bit 7: 0 oppure stazione 40
:
:
status_15 1 byte Bit 0: 0 oppure stazione 121
:
:
Bit 7: 0 oppure stazione 128

Avvertenza per il multicomputing (solo S7-400)


Le liste parziali forniscono solo informazioni sulle unità assegnate a una CPU. Nel funzionamento
multicomputing è quindi necessario interrogare tutte le CPU per poter disporre dei dati di tutte le unità
connesse.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


794 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.25 ID SZL W#16#0x94 – Telaio di montaggio / informazione di stato della stazione

34.25 ID SZL W#16#0x94 – Telaio di montaggio / informazione di stato


della stazione

Scopo
La lista parziale con ID SZL W#16#0x94 fornisce informazioni sulla configurazione prefissata e
quella attuale di telai di montaggio in presenza di una configurazione centrale e stazioni di un sistema
master PROFIBUS DP/sistema di controller PROFINET IO.

Intestazione
L'intestazione della lista parziale con ID SZL W#16#0y94 ha la struttura seguente:

Contenuto Significato
ID SZL ID SZL dell'estratto della lista parziale:
• W#16#0094:
stato prefissato dei telai di montaggio con configurazione centrale / delle stazioni di un
sistema IO Controller
(bit di stato = 1: rack/stazione progettati)
• W#16#0194:
stato di attivazione di una stazione di un sistema IO Controller progettata e disattivata
(bit di stato =1)
• W#16#0294:
stato attuale del rack nella configurazione centrale / delle stazioni di un sistema IO
Controller
(bit di stato = 1: rack/stazione disponibili, attivati e non guasti)
• W#16#0694:
stato della diagnostica delle apparecchiature di ampliamento nella configurazione
centrale / delle stazioni di un sistema IO Controller
(bit di stato = 1: almeno un'unità del rack/della stazione è guasta o disattivata)
• W#16#0794:
stato di diagnostica / manutenzione del rack centrale / delle stazioni di un sistema IO
Controller (bit di stato = 0: nessun guasto, manutenzione non necessaria; bit di
stato = 1: rack / stazione guasti e/o manutenzione necessaria e/o richiesta di
manutenzione)
• W#16#0F94:
soltanto informazioni dell'intestazione
INDEX 0: unità centrale
1-32: unità decentrata nel PROFIBUS DP
100-115: unità decentrata in PROFINET IO
LENTHDR Lunghezza del set di dati successivo
N_DR Numero dei set di dati

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 795
Lista di stato di sistema SZL
34.25 ID SZL W#16#0x94 – Telaio di montaggio / informazione di stato della stazione

Set di dati
Un set di dati della lista parziale con ID W#16#0y94 ha la struttura seguente:

Contenuto Lunghezza Significato


index 1 parola 0: unità centrale
1-32: unità decentrata nel PROFIBUS DP
100-115: unità decentrata in PROFINET IO
status_0 BOOL Informazione cumulativa
1: almeno uno dei bit di stato seguenti ha il valore 1
0: tutti i bit di stato seguenti hanno il valore 0
status_1 BOOL Stato della stazione 1
status_2 BOOL Stato della stazione 2
..
status_2047 BOOL Stato della stazione 2047

Un bit di stato di rack/stazioni/dispositivi non progettati ha il valore 0.

Avvertenza
Differenza importante rispetto alla precedente SZL con ID W#16#xy92:
rispetto alla precedente SZL ID W#16#xy92 i dati sono stati spostati di un bit in quanto il bit status_0
ha funzione di informazione cumulativa.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


796 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.26 SZL-ID W#16#xy95 - Informazioni supplementari sul sistema master DP / PROFINET IO

34.26 SZL-ID W#16#xy95 - Informazioni supplementari sul sistema


master DP / PROFINET IO

Scopo
La lista parziale con ID SZL W#16#xy95 fornisce informazioni supplementari sullo stato di tutti i
sistemi master DP/PROFINET IO conosciuti alla CPU. Rispetto alla lista parziale con ID SZL
W#16#xy90 la suddetta lista contiene informazioni sui sistemi PROFINET IO e informazioni
supplementari sul sincronismo di clock di un sistema master DP.

Intestazione
L’intestazione della lista parziale con DI SZL W#16#xy95 ha la struttura seguente:

Contenuto Significato
ID SZL ID SZL dell’estratto della lista parziale
W#16#0195: Informazioni supplementari su un sistema master DP/PROFINET IO
W#16#0F95: Solo informazione sull’intestazione della lista parziale SZL
INDEX • Per l’estratto della lista parziale con ID SZL W#16#0195:
Low Byte: B#16#00
High Byte: ID sistema master DP / PROFINET IO
• Per l’estratto della lista parziale con ID SZL W#16#0F95:
W#16#0000
LENTHDR W#16#0028: Un set di dati è lungo 20 parole (40 byte)
N_DR Numero dei set di dati:
Per l’estratto della lista parziale con ID SZL W#16#0195: da 0 a 1

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 797
Lista di stato di sistema SZL
34.26 SZL-ID W#16#xy95 - Informazioni supplementari sul sistema master DP / PROFINET IO

Set di dati
Un set di dati della lista parziale con ID W#16#xy95 ha la seguente struttura:

Nome Lunghezza Significato


dp_m_id 1 byte ID sistema master DP / PROFINET IO
rack_dp_m 1 byte N. di telaio di montaggio del master DP/ IO-Controller.
• con una CPU standard: 0
• con un sistema H: 0 o 1
steckpl_dp_m 1 byte Posto connettore del master DP/ IO-Controller oppure.
Posto connettore della CPU (con interfaccia DP integrata)
subm_dp_m 1 byte • con interfaccia integrata: n. di interfaccia del master DP / IO-Controller:
- 1: X2
- 2: X1
- 3: IF1
- 4: IF2
• con interfaccia esterna: 0
logadr 2 byte Indirizzo logico iniziale del master DP / IO-Controller:
dp_m_sys_cpu 2 byte Riservato
dp_m_sys_dpm 2 byte Riservato
dp_m_state 1 byte Ulteriori proprietà del sistema master DP / PROFINET IO
Bit 0: Modo DP (soltanto con PROFIBUS DP)
• 0: S7 compatibile
• 1: DPV1
Bit 1: Ciclo DP o PN
• 0: non equidistante
• 1: equidistante
Bit 2 - 6: Riservato
Bit 7: Tipo master DP / IO-Controller
• 0: master DP / IO-Controller integrato
• 1: master DP / IO-Controller esterno
dp_address 1 Byte Numero di nodo DP (indirizzo PROFIBUS)
reserve 2 byte Riservato
tsal_ob 1 byte OB di allarme in sincronismo di clock assegnato (rilevante solo con ciclo DP
o PN equidistante)
reserve 1 byte Riservato
baudrate 4 byte Velocità di trasmissione del sistema master DP o PNIO espresso come
valore esadecimale
dp_iso_takt 4 byte Durata del ciclo DP o PN equidistante in s
reserve 16 byte Riservato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


798 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.26 SZL-ID W#16#xy95 - Informazioni supplementari sul sistema master DP / PROFINET IO

Avvertenza per il multicomputing (solo S7-400)


Le liste parziali forniscono solo informazioni sulle unità assegnate a una CPU. Nel funzionamento
multicomputing è quindi necessario interrogare tutte le CPU per poter disporre dei dati di tutte le unità
connesse.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 799
Lista di stato di sistema SZL
34.27 ID SZL W#16#xy96 – Informazioni sullo stato delle unità PROFINET IO e PROFIBUS DP

34.27 ID SZL W#16#xy96 – Informazioni sullo stato delle unità


PROFINET IO e PROFIBUS DP

Scopo
La lista parziale con ID SZL W#16#xy96 fornisce informazioni supplementari su tutte le unità
assegnate alla CPU.
Oltre alla ID SZL W#16#xy91 viene messa a disposizione la lista parziale con ID SZL W#16#xy96
complementare, che contiene ulteriori dati sullo stato dei moduli e dei sottomoduli.
Le informazioni fornite riguardano sia PROFINET IO nello specifico che le unità PROFIBUS DP e le
unità centrali.

Intestazione
L'intestazione della lista parziale con ID SZL W#16#xy96 ha la struttura seguente:

Contenuto Significato
ID SZL ID SZL dell'estratto della lista parziale
• W#16#0696
informazione sullo stato dell'unità di tutti i sottomoduli di un'unità indicata (con
PROFIBUS DP e unità centrali il livello dei sottomoduli non è disponibile).
• W#16#0C96
informazione sullo stato di un'unità/sottomodulo centrale o collegata a un'interfaccia
PROFIBUS DP/PROFINET tramite indirizzo iniziale.
INDEX Bit 0 ... 14: indirizzo dell'unità
Bit 15: 0 = ingresso, 1 = uscita
LENTHDR Lunghezza del set di dati successivo
N_DR Numero dei set di dati

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


800 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.27 ID SZL W#16#xy96 – Informazioni sullo stato delle unità PROFINET IO e PROFIBUS DP

Set di dati
Un set di dati della lista parziale con ID W#16#xy96 ha la struttura seguente:

Contenuto Lunghezza Significato


logadr 1 parola Bit 0 ... 14: indirizzo dell'unità
Bit 15: 0 = ingresso, 1 = uscita
System 1 parola ID unità centrale / ID sistema master DP / ID sistema PROFINET IO:
0: unità centrale
1-32: unità decentrata nel PROFIBUS DP
100-115: unità decentrata in PROFINET IO
API 2 parole Profilo dell'applicazione progettato (Application Process
Instance = API) con dispositivo PROFINET decentrato.
I profili sono definizioni specifiche settoriali e tecnologiche che
vanno oltre la norma PROFINET.
Profilo 0 significa che i dati corrispondono alle definizioni della norma
PROFINET.
Station 1 parola N. di telaio di montaggio./stazione/dispositivo
Slot 1 parola N. di posto connettore
Subslot 1 parola Posto connettore del sottomodulo (se non è possibile inserire
sottomoduli, indicare qui 0)
Offset 1 parola Offset nell'area di indirizzi dei dati utili dell'unità corrispondente
Solltyp 7 parole Tipo prefissato
Il tipo prefissato in PROFINET IO ha una struttura gerarchica
Parola PROFINET IO PROFIBUS DP
1: N. del produttore o ID del profilo (ad es.: 0000
W#16#FF00 per PROFIBUS)
2: Dispositivo 0000
3: Numero progressivo o indice del profilo 0000
4: Parola 1 della doppia parola ID modulo ID tipo
5: Parola 2 della doppia parola ID modulo 0000
6: Parola 1 della doppia parola ID 0000
sotto-modulo
7: Parola 2 della doppia parola ID 0000
sotto-modulo
Soll_ungleic_Ist_typ 1 parola ID prefissato/attuale
Bit 0 = 0: tipo prefissato uguale a attuale
Bit 0 = 1: tipo prefissato diverso da attuale
Bit 1 … 15: riservati
reserve 1 parola Riservato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 801
Lista di stato di sistema SZL
34.27 ID SZL W#16#xy96 – Informazioni sullo stato delle unità PROFINET IO e PROFIBUS DP

Contenuto Lunghezza Significato


Eastat 1 parola Stato E/A
Bit 0 = 1: unità guasta (rilevata da allarme di diagnostica)
Bit 1 = 1: unità disponibile
Bit 2 = 1: unità non disponibile
Bit 3 = 1: unità disattivata
Bit 4 = 1: guasto della stazione (solo slot di sostituzione)
Bit 5 = 1: M7: l'unità può essere unità host per sotto-moduli S7:
un'operazione CiR per questa unità/stazione
è attualmente attiva o non è ancora conclusa
Bit 6 = 1: riservato a S7-400
Bit 7 = 1: unità nel segmento del bus locale (solo per S7-300)
Bit 8 = 1: manutenzione necessaria per l'unità ("verde")
Bit 9 = 1: richiesta di manutenzione per l'unità ("giallo")
Bit 10 ... 15: riservati
Ber_bgbr 1 parola ID area/larghezza unità
Bit 0 … 2: larghezza unità
Bit 3: riservato
Bit 4 … 6 : ID area
0 = S7-400
1 = S7-300
2 = PROFINET IO (decentrato)
3 = area P
4 = area Q
5 = area IM3
6 = area IM4
Bit 7: riservato
Bit 7: riservato
reserve 5 parole Riservato

Lista parziale con ID SZL per unità del PROFIBUS DP


Il messaggio di errore generato è "Livello di sotto-moduli non presente".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


802 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.28 ID SZL W#16#xy9C - Informazioni sui commutatori (PROFINET IO)

34.28 ID SZL W#16#xy9C - Informazioni sui commutatori (PROFINET IO)

Scopo
La lista parziale con ID SZL W#16#xy9C fornisce informazioni sui commutatori (del controllo
numerico) progettati e sui relativi utensili.
I commutatori sono IO Device che gestiscono degli utensili. Un utensile è costituito da uno o più IO
Device. Ogni utensile è assegnato in modo univoco a una porta di un commutatore.
Al cambio utensile vengono dapprima disattivati tutti gli IO Device appartenenti all'utensile attivo,
quindi vengono attivati tutti gli IO Device appartenenti al nuovo utensile. Disattivazione e attivazione
sono eseguite dall'SFC 12.

Intestazione
L'intestazione della lista parziale con ID SZL W#16#xy9C ha la struttura seguente:

Contenuto Significato
ID SZL ID SZL dell'estratto della lista parziale
• W#16#009C
Informazioni su tutti i commutatori e sui relativi utensili in un sistema PROFINET IO
• W#16#019C
Informazioni su tutti i commutatori in un sistema PROFINET IO
• W#16#029C
Informazioni su un commutatori e sui relativi utensili
• W#16#039C
Informazioni su un utensile e sui relativi IO Device
• W#16#0F9C
Solo informazione intestazione della lista parziale SZL
INDEX Per l'estratto della lista parziale con ID SZL
• W#16#009C: ID del sistema PROFINET IO
• W#16#019C: ID del sistema PROFINET IO
• W#16#029C: indirizzo logico del commutatore
• W#16#039C: indirizzo logico di un qualsiasi IO Device dell'utensile
• W#16#0F9C: ID del sistema PROFINET IO
LENTHDR W#16#000C (lunghezza del set di dati successivo in byte: 12)
N_DR Numero dei set di dati

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 803
Lista di stato di sistema SZL
34.28 ID SZL W#16#xy9C - Informazioni sui commutatori (PROFINET IO)

Set di dati
Un set di dati della lista parziale con ID W#16#xy9C ha la struttura seguente:

Contenuto Lunghezza Significato


StationW 1 parola Numero della stazione (del set di dati; può essere commutatore o
stazione di un utensile)
LogAdrW 1 parola Bit 0 - 14: indirizzo dell'unità
Bit 15: 0 = ingresso, 1 = uscita
StationWZK 1 parola Numero della stazione dell'intestazione dell'utensile (l'intestazione
dell'utensile è l'IO Device direttamente collegato alla porta del
commutatore di un utensile.)
Station WZW 1 parola Numero della stazione del commutatore
SlotWZW 1 parola Posto connettore del commutatore
SubslotWZW 1 parola Posto connettore del sottomodulo del commutatore

Avvertenza
Se un commutatore è dotato di più porte per la gestione degli utensili, viene fornito un set di dati per
ciascuna porta.

Esempio
L'esempio seguente spiega ulteriormente l'utilizzo delle singole liste parziali.
Nel ramo di un sistema PROFINET IO si trovano due commutatori (IOD 3 e IOD 10) i cui utensili
hanno la seguente struttura:
• Commutatore IOD 3 con gli utensili seguenti nella porta 2:
- Utensile 1 (IOD 4, IOD 5 e IOD 6)
- Utensile 2 (IOD 7)
- Utensile 3 (IOD 8 e IOD 9)
• Commutatore IOD 10 con due porte, ciascuna delle quali è dotata di due utensili
- Porta del commutatore 3: utensile 1 (IOD 11 e IOD 12), utensile 2 (IOD 13)
- Porta del commutatore 4: utensile 1 (IOD 14, IOD 15 e IOD 16), utensile 2 (IOD 17 e
IOD 18)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


804 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.28 ID SZL W#16#xy9C - Informazioni sui commutatori (PROFINET IO)

Ne risulta la struttura seguente:

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 805
Lista di stato di sistema SZL
34.28 ID SZL W#16#xy9C - Informazioni sui commutatori (PROFINET IO)

Le liste parziali dell'SZL forniscono set di dati per i seguenti IO Device:


• Estratto della lista parziale con ID SZL W#16#009C (Index: ID del sistema PROFINET IO):
fornisce 17 set di dati per i seguenti IO Device:
- Commutatore: IOD 3, IOD 10 (per porta 3) e IOD 10 (per porta 4)
- Utensili: IOD 4, IOD 5, IOD 6, IOD 7, IOD 8, IOD 9, IOD 11, IOD 12, IOD 13, IOD 14,
IOD 15, IOD 16, IOD 17 e IOD 18
• Estratto della lista parziale con ID SZL W#16#019C (Index: ID del sistema PROFINET IO):
fornisce 3 set di dati per i seguenti IO Device:
- Commutatore: IOD 3, IOD 10 (per porta 3) e IOD 10 (per porta 4)
- Utensili: nessuno
• Estratto della lista parziale con ID SZL W#16#029C (Index: indirizzo di IOD 3): fornisce 3 set di
dati per i seguenti IO Device:
- Commutatore: IOD 3
- Utensili: IOD 4,IOD 5, IOD 6, IOD 7, IOD 8 e IOD 9
• Estratto della lista parziale con ID SZL W#16#029C (Index: indirizzo di IOD 10): fornisce 10 set
di dati per i seguenti IO Device:
- Commutatore: IOD 10 (per porta 3) e IOD 10 (per porta 4)
- Utensili: IOD 11, IOD 12, IOD 13, IOD 14, IOD 15, IOD 16, IOD 17 e IOD 18
• Estratto della lista parziale con ID SZL W#16#039C (Index: indirizzo logico di IOD 4): fornisce 3
set di dati per i seguenti IO Device: (lo stesso vale per l'indirizzo logico di IOD 5 e IOD 6)
- Commutatori: nessuno
- Utensili: IOD 4, IOD 5 e IOD 6
• Estratto della lista parziale con ID SZL W#16#039C (Index: indirizzo logico di IOD 13): fornisce
un set di dati per i seguenti IO Device:
- Commutatori: nessuno
- Utensili: IOD 13

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


806 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.29 ID SZL W#16#xyA0 - Buffer di diagnostica

34.29 ID SZL W#16#xyA0 - Buffer di diagnostica

Scopo
Mediante la lista parziale con ID SZL W#16#xyA0 si ricavano le registrazioni nel buffer di
diagnostica dell'unità.

Avvertenza
Le CPU S7-300 forniscono un numero massimo di set di dati pari a quello delle registrazioni di
diagnostica visualizzate in stato di funzionamento RUN (valore preimpostato: 10). Le CPU S7-400
forniscono max. 21 set di dati.

Intestazione
L'intestazione della lista parziale con ID SZL W#16#xyA0 è strutturata come segue:

Contenuto Significato
SZL_ID ID SZL dell'estratto della lista parziale:
W#16#00A0: tutte le registrazioni fornibili nell'attuale stato di funzionamento
W#16#01A0: le registrazioni più recenti; il numero delle registrazioni più recenti si
indica mediante il parametro INDEX.
Se il numero di messaggi nel buffer di diagnostica è inferiore al
numero massimo progettato, la SFC 51 potrebbe fornire valori non
validi in questo estratto della lista parziale. Si consiglia quindi di evitare
un "RETE OFF" in assenza di buffer.
W#16#0FA0: solo informazione intestazione della lista parziale SZL
INDEX Solo per la SZL con ID SZL W#16# 01A0:
numero delle registrazioni più recenti
LENTHDR W#16#0014: un set di dati è lungo 10 parole (20 byte)
N_DR Numero dei set di dati

Set di dati
Un set di dati della SZL con ID SZL W#16#xyA0 ha la seguente struttura:

Nome Lunghezza Significato


ID 1 parola ID di evento
info 5 parole Informazioni sull'evento
time 4 parole Registrazione del tempo dell'evento

Buffer di diagnostica
Ulteriori informazioni relative ad eventi nel buffer di diagnostica si ottengono tramite STEP 7.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 807
Lista di stato di sistema SZL
34.30 ID SZL W#16#00B1 - Informazione di diagnostica unità

34.30 ID SZL W#16#00B1 - Informazione di diagnostica unità

Scopo
Mediante la SZL con ID SZL W#16#00B1 si ricavano i primi 4 byte di diagnostica di un'unità con
diagnostica possibile.

Intestazione
L'intestazione della lista parziale con ID SZL W#16#00B1 è strutturata come segue:

Contenuto Significato
SZL_ID W#16#00B1
INDEX Bit 0 ... 14: indirizzo di base logico
Bit 15: 0 per ingresso, 1 per uscita
LENTHDR W#16#0004: un set di dati è lungo 2 parole (4 byte)
N_DR 1

Set di dati
Un set di dati della lista parziale con ID SZL W#16#00B1 ha la seguente struttura:

Nome Lunghezza Significato


byte1 1 byte Bit 0: guasto di unità / OK (codice per raccolta guasti)
Bit 1: errore interno
Bit 2: errore esterno
Bit 3: presente errore di canale
Bit 4: alimentazione esterna ausiliaria assente
Bit 5: connettore frontale assente
Bit 6: unità non parametrizzata
Bit 7: parametri errati nell'unità
byte2 1 byte Bit 0 ... 3: classe di unità (CPU, FM, CP, IM, SM, ...)
Bit 4: presente informazione di canale
Bit 5: presente informazione utente
Bit 6: allarme di diagnostica dell'unità vicaria
Bit 7: richiesta di manutenzione (soltanto in PROFINET

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


808 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.30 ID SZL W#16#00B1 - Informazione di diagnostica unità

Nome Lunghezza Significato


byte3 1 byte Bit 0: modulo utente errato/mancante
Bit 1: guasto di comunicazione
Bit 2: stato di funzionamento RUN/STOP
(0 = RUN, 1 = STOP)
Bit 3: controllo del tempo di ciclo intervenuto (watch dog)
Bit 4: interruzione alimentazione interna dell'unità
Bit 5: batteria 1 scarica (BFS)
Bit 6: guasto dell'intero buffer
Bit 7: richiesta di manutenzione
(soltanto in PROFINET IO)
byte4 1 byte Bit 0: avaria di apparecchiatura di ampliamento
(riconosciuta da IM)
Bit 1: guasto di processore
Bit 2: errore di EPROM
Bit 3: errore di RAM
Bit 4: errore di conversione ADU ovvero DAU
Bit 5: guasto ai fusibili
Bit 6: interrupt di processo perduto
Bit 7: riservato (inizializzato con 0)

Avvertenza per il multicomputing (solo S7-400)


Le liste parziali forniscono solo informazioni sulle unità assegnate a una CPU. Nel funzionamento
multicomputing è quindi necessario interrogare tutte le CPU per poter disporre dei dati di tutte le unità
connesse.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 809
Lista di stato di sistema SZL
34.31 ID SZL W#16#00B2 - Set di dati di diagnostica1 tramite indirizzo fisico

34.31 ID SZL W#16#00B2 - Set di dati di diagnostica1 tramite indirizzo


fisico

Scopo
Tramite la lista parziale con ID SZL W#16#00b2 si ricava il set di dati di diagnostica di un'unità
innestata centralmente (quindi non per DP e sottomoduli). L'unità va indicata tramite telaio e numero
del posto connettore.

Intestazione
L'intestazione della lista parziale con ID SZL W#16#00B2 è strutturata come segue:

Contenuto Significato
SZL_ID W#16#00B2
INDEX W#16#xxyy: xx contiene il numero del telaio
Yy contiene il numero del posto connettore
LENTHDR La lunghezza del set di dati dipende dalla particolare unità
N_DR 1

Set di dati
La dimensione di un set di dati della SZL con ID SZL W#16#00B2 e l'assegnazione dello stesso
dipendono dalla particolare unità. Informazioni più dettagliate sono riportate in /70/, /101/ o nel
rispettivo manuale dall'unità.

Avvertenza per il multicomputing (solo S7-400)


Le liste parziali forniscono solo informazioni sulle unità assegnate a una CPU. Nel funzionamento
multicomputing è quindi necessario interrogare tutte le CPU per poter disporre dei dati di tutte le unità
connesse.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


810 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista di stato di sistema SZL
34.32 ID SZL W#16#00B3 - Dati di diagnostica unità tramite indirizzo di base logico

34.32 ID SZL W#16#00B3 - Dati di diagnostica unità tramite indirizzo di


base logico

Scopo
Tramite la lista parziale con ID SZL W#16#00B3 vengono ricavati tutti i dati di diagnostica di
un'unità. Questa informazione è possibile anche per DP e sottomoduli. Selezionare l'unità tramite il
proprio indirizzo di base logico.

Intestazione
L'intestazione della lista parziale con ID SZL W#16#00B3 è strutturata come segue:

Contenuto Significato
SZL_ID W#16#00B3
INDEX Bit 0 fino a 14: indirizzo di base logico
Bit 15: 0 per ingresso, 1 per uscita
LENTHDR Lunghezza di un set di dati (in funzione dell'unità)
N_DR 1

Set di dati
Quanto grande sia un set di dati della lista parziale con ID SZL W#16#00B3 e come esso sia
configurato, dipende dalla rispettiva unità. Informazioni più dettagliate sono riportate in /70/, /101/ o
nel rispettivo manuale dell'unità.

Avvertenza per il multicomputing (solo S7-400)


Le liste parziali forniscono solo informazioni sulle unità assegnate a una CPU. Nel funzionamento
multicomputing è quindi necessario interrogare tutte le CPU per poter disporre dei dati di tutte le unità
connesse.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 811
Lista di stato di sistema SZL
34.33 ID SZL W#16#00B4 - Dati di diagnostica di uno slave DP

34.33 ID SZL W#16#00B4 - Dati di diagnostica di uno slave DP

Tramite la lista parziale con ID SZL W#16#00B4 vengono ricavati tutti i dati di diagnostica di uno
slave DP. Questi dati di diagnostica sono strutturati in base a EN50 170 Volume 2, PROFIBUS.
Selezionare l'unità tramite il proprio indirizzo di diagnostica progettato.
L'intestazione della lista parziale con ID SZL W#16#00B4 è strutturata come segue:

Contenuto Significato
SZL_ID W#16#00B4
INDEX Indirizzo di diagnostica di uno slave DP progettato
LENTHDR Lunghezza di un set di dati. La lunghezza massima è di 240 byte; con gli slave standard,
in cui il numero dei dati di diagnostica standard è maggiore di 240 byte e che ammonta al
massimo a 244 byte, i primi 240 byte vengono letti e il relativo bit di overflow viene
impostato nei dati.
N_DR 1

Un set di dati della lista parziale con ID SZL W#16#00B4 ha la seguente struttura:

Nome Lunghezza Significato


status1 1 byte Stato stazione 1
status2 1 byte Stato stazione 2
status3 1 byte Stato stazione 3
stat_nr 1 byte Numero stazione master
ken_hi 1 byte Identificazione utente (high byte)
ken_lo 1 byte Identificazione utente (low byte)
.... .... Ulteriore diagnostica specifica per slave

Avvertenza per il multicomputing (solo S7-400)


Le liste parziali forniscono solo informazioni sulle unità assegnate a una CPU. Nel funzionamento
multicomputing è quindi necessario interrogare tutte le CPU per poter disporre dei dati di tutte le unità
connesse.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


812 Manuale di riferimento, 04/2017, A5E41911986-AA
35 Eventi

35.1 Eventi e ID di evento

Evento
All'interno del sistema SIMATIC S7 tutti gli eventi sono dotati di un proprio numero. In questo modo è
possibile assegnare un messaggio ad un evento.

ID di evento
Ad ogni evento è assegnata un'identificazione (ID) di evento. Quest'ultima è strutturata come segue:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Classe di Codici Numero di evento


evento

Struttura dell'ID dell'evento

Classe di evento
Le classi di evento sono suddivise come segue:

Numero Classe di evento


1 OB standard
2 eventi di errore di sincronismo
3 eventi di errore di asincronismo
4 passaggi tra diversi stati di funzionamento
5 elaborazione degli stati di funzionamento
6 eventi di comunicazione
7 eventi per sistemi ridondanti e ad elevata disponibilità
8 normalizzati dati di diagnostica nelle unità
9 eventi predefiniti dall'utente
A, B eventi liberamente definibili
C, D, E Riservato
F eventi per unità non centrali (ad es. B, CP, FM)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 813
Eventi
35.2 Classe di evento 1 - Eventi di OB standard

Codice
Il codice serve per poter distinguere il particolare tipo di un evento. I 4 bit di codice hanno il significato
seguente:

N. bit nell'ID di evento Significato


8 = 0: evento uscente
= 1: evento entrante
9 = 1: registrazione nel buffer di diagnostica
10 = 1: errore interno
11 = 1: errore esterno

35.2 Classe di evento 1 - Eventi di OB standard

ID di evento Evento
W#16#1381 Richiesta manuale di nuovo avviamento (avviamento a caldo)
W#16#1382 Richiesta automatica di nuovo avviamento(avviamento a caldo)
W#16#1383 Richiesta manuale di riavviamento
W#16#1384 Richiesta automatica di riavviamento
W#16#1385 Richiesta manuale di avviamento a freddo
W#16#1386 Richiesta automatica di avviamento a freddo
W#16#1387 CPU master: richiesta manuale di avviamento a freddo
W#16#1388 CPU master: richiesta automatica di avviamento a freddo
W#16#138A CPU master: richiesta manuale di nuovo avviamento (avviamento a caldo)
W#16#138B CPU master: richiesta automatica di nuovo avviamento (avviamento a caldo)
W#16#138C CPU di riserva: richiesta manuale di avviamento
W#16#138D CPU di riserva: richiesta automatica di avviamento

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


814 Manuale di riferimento, 04/2017, A5E41911986-AA
Eventi
35.3 Classe di evento 2 - Eventi di errore di sincronismo

35.3 Classe di evento 2 - Eventi di errore di sincronismo

ID di evento Evento OB
W#16#2521 Errore di conversione BCD OB 121
W#16#2522 Errore di lunghezza di campo in lettura OB 121
W#16#2523 Errore di lunghezza di campo in scrittura OB 121
W#16#2524 Errore di campo in lettura OB 121
W#16#2525 Errore di campo in scrittura OB 121
W#16#2526 Errore di numero di temporizzatore OB 121
W#16#2527 Errore di numero di contatore OB 121
W#16#2528 Errore di indirizzamento in lettura OB 121
W#16#2529 Errore di indirizzamento in scrittura OB 121
W#16#2530 Errore di scrittura durante accesso a DB OB 121
W#16#2531 Errore di scrittura durante accesso a DI OB 121
W#16#2532 Errore di numero del blocco al richiamo di un DB OB 121
W#16#2533 Errore di numero del blocco al richiamo di un DI OB 121
W#16#2534 Errore di numero del blocco al richiamo di FC OB 121
W#16#2535 Errore di numero del blocco al richiamo di FB OB 121
W#16#253A DB non caricato OB 121
W#16#253C FC non caricata OB 121
W#16#253D SFC non caricata OB 121
W#16#253E FB non caricato OB 121
W#16#253F SFB non caricato OB 121
W#16#2942 Errore di accesso alla periferia in lettura OB 122
W#16#2943 Errore di accesso alla periferia in scrittura OB 122

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 815
Eventi
35.4 Classe di evento 3 - Eventi di errore di asincronismo

35.4 Classe di evento 3 - Eventi di errore di asincronismo

ID di evento Evento OB
W#16#3501 Superamento tempi di ciclo OB 80
W#16#3502 Interfaccia utente (OB oppure FRB) - errore di richiesta OB 80
W#16#3505 Allarmi dall'orologio terminati mediante salto nell'orario OB 80
W#16#3506 Allarmi dall'orologio terminati per reingresso nello stato RUN dopo lo OB 80
stato ALT
W#16#3507 Un errore multiplo di richiesta OB ha causato l'overflow nel buffer di OB 80
informazione interno
W#16#3508 Errore temporale di allarme in sincronismo di clock OB 80
W#16#3509 Perdita dell’allarme a causa di un elevato carico di allarmi OB 80
W#16#350A Ritorno in RUN dopo CiR OB 80
W#16#350B Errore temporale di sincronismo tecnologico OB 80
W#16#3921/3821 BATTF: avaria di almeno una batteria tampone dell'unità centrale OB 81
scarica/eliminata
Avvertenza: l'evento entrante si verifica solamente in caso di guasto
di una delle batterie (se le batterie tampone sono ridondate). Se si
guasta anche l'altra batteria, questo evento non si ripete.
W#16#3922/3822 BAF: avaria della tensione buffer nell'unità centrale /eliminata OB 81
W#16#3923/3823 Avaria dell'alimentazione a 24V nell'apparecchiatura OB 81
centrale/eliminata
W#16#3931/3825 BATTF: avaria di almeno una batteria tampone in almeno OB 81
un'apparecchiatura centrale ridondata/eliminata
W#16#3926/3826 BAF: avaria della tensione buffer in una delle apparecchiature OB 81
centrali ridondate/eliminata
W#16#3927/3827 Avaria dell‘alimentazione a 24V in un'apparecchiatura centrale OB 81
ridondata/ eliminata
W#16#3931/3831 BATTF: avaria di almeno una batteria tampone in almeno OB 81
un'apparecchiatura di ampliamento/ eliminata
W#16#3932/3832 BAF: avaria della tensione buffer in almeno una delle OB 81
apparecchiature di ampliamento / eliminata
W#16#3933/3833 Avaria dell'alimentazione 24V in almeno una apparecchiatura di OB 81
ampliamento/eliminata
W#16#3942 Allarme di diagnostica (presenza di uno o di entrambi gli allarmi: OB 82
modulo/sottomodulo guasto e manutenzione necessaria)
W#16#3842 Allarme di diagnostica (modulo/sottomodulo ok) OB 82
W#16#3951 Modulo PROFINET IO estratto OB 83
W#16#3954 Sottomodulo/modulo PROFINET IO estratto OB 83
W#16#3854 Sottomodulo/modulo PROFINET IO inserito, corrisponde al OB 83
sotto-modulo progettato
W#16#3855 Sottomodulo/modulo PROFINET IO inserito, ma non corrisponde al OB 83
sotto-modulo progettato
W#16#3856 Sottomodulo/modulo PROFINET IO inserito, ma errore di OB 83
parametrizzazione dell'unità

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


816 Manuale di riferimento, 04/2017, A5E41911986-AA
Eventi
35.4 Classe di evento 3 - Eventi di errore di asincronismo

ID di evento Evento OB
W#16#3857 Sottomodulo/modulo PROFINET IO inserito, ma guasto o OB 83
manutenzione
W#16#3858 Errore di accesso al sottomodulo PROFINET IO eliminato OB 83
W#16#3861 Unità /modulo di interfaccia inserito, tipo di unità OK OB 83
W#16#3961 Unità/modulo di interfaccia estratto o non indirizzabile OB 83
W#16#3863 Unità/modulo di interfaccia inserito, tipo dell'unità comunque errato OB 83
W#16#3864 Unità/modulo di interfaccia inserito, comunque guasto (codice unità OB 83
non leggibile)
W#16#3865 Unità inserita, comunque errore nella parametrizzazione unità OB 83
W#16#3866 Unità nuovamente indirizzabile, errore di tensione di carico eliminato OB 83
W#16#3966 Unità non indirizzabile, errore di tensione di carico OB 83
W#16#3367 Inizio riparametrizzazione di un’unità OB 83
W#16#3267 Fine riparametrizzazione di un’unità OB 83
W#16#3968 Riparametrizzazione di un’unità conclusa con errore OB 83
W#16#3571 Livello di annidamento eccessivo di livelli di parentesi OB 88
W#16#3572 Livello di annidamento eccessivo di relè master control OB 88
W#16#3573 Livello di annidamento eccessivo in caso di errori di sincronismo OB 88
W#16#3574 Livello di annidamento eccessivo di richiami di blocco (stack U) OB 88
W#16#3575 Livello di annidamento eccessivo di richiami di blocco (stack B) OB 88
W#16#3576 Errore di allocazione di dati locali OB 88
W#16#3578 Istruzione sconosciuta OB 88
W#16#357A Istruzione di salto con traguardo all’esterno del blocco OB 88
W#16#3981 Errore interfaccia, entrante
W#16#3881 Errore interfaccia, uscente
W#16#3582 Errore di salvataggio riconosciuto ed eliminato dal sistema operativo OB 84
W#16#3583 Accumulo di errori di salvataggio riconosciuti e corretti OB 84
W#16#3585 Errore nel sistema operativo del PC (solo per Win AC Controller) OB 84
W#16#3986 Prestazioni di un accoppiamento H-Sync compromesse OB 84
W#16#3587 Errore di memoria a più bit riconosciuto e corretto OB 84
W#16#35A1 Interfaccia utente (OB o FRB) non disponibile OB 85
W#16#35A2 OB non caricato (avviato tramite SFC o sistema operativo a causa OB 85
della progettazione)
W#16#35A3 Errore di accesso a un blocco da parte del sistema operativo OB 85
W#16#35A4 DB di interfaccia PROFInet non indirizzabile OB 85
W#16#34A4 DB di interfaccia PROFInet nuovamente indirizzabile OB 85
W#16#39B1 Errore di accesso alla periferia durante l'aggiornamento OB 85
dell'immagine di processo degli ingressi
W#16#39B2 Errore di accesso alla periferia durante il trasferimento dell'immagine OB 85
di processo delle uscite
W#16#39B3/38B3 Errore di accesso alla periferia durante l'aggiornamento OB 85
dell'immagine di processo degli ingressi
W#16#39B4/38B4 Errore di accesso alla periferia durante l'aggiornamento OB 85
dell'immagine di processo delle uscite

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 817
Eventi
35.5 Classe di evento 4 - Eventi di stop ed altri passaggi tra diversi stati di funzionamento

ID di evento Evento OB
W#16#38C1 Ritorno di apparecchiatura di ampliamento (1 fino a 21), entrante OB 86
W#16#39C1 Avaria apparecchiatura di ampliamento (1 fino a 21), uscente OB 86
W#16#38C2 Ritorno apparecchiatura di ampliamento con differenza tra OB 86
configurazione prefissata e configurazione attuale
W#16#39C3 Periferia decentrata: avaria del sistema master entrante OB 86
W#16#39C4 Periferia decentrata: avaria di stazione (entrante) OB 86
W#16#38C5 Periferia decentrata: ripristinio stazione, tuttavia con guasto OB 86
W#16#38C6 Ritorno di apparecchiatura di ampliamento, tuttavia errore di OB 86
parametrizzazione dell'unità
W#16#38C7 DP: ritorno di stazione, tuttavia errore di parametrizzazione dell'unità OB 86
W#16#38C8 DP: ritorno di stazione con differenza tra configurazione prefissata e OB 86
configurazione attuale
W#16#39CA Guasto del sistema PROFINET IO OB 86
W#16#39CB Guasto della stazione PROFINET IO OB 86
W#16#38CB Ripristino della stazione PROFINET IO OB 86
W#16#38CC Ripristino della stazione PROFINET IO con guasto o manutenzione OB 86
W#16#39CD Ritorno della stazione PROFINET IO, configurazione prefissata OB 86
diversa da quella attuale.
W#16#39CE Ritorno della stazione PROFINET IO, errore di parametrizzazione OB 86
dell'unità
W#16#33CF/32CF Guasto/ripristino di un dispositivo PROFINET IO in seguito alla OB 86
disattivazione/attivazione da parte dell'SFC 12 "D_ACT_DP"
W#16#39F8/38F8 Guasto/ripristino di una parte dei sottomoduli di un PROFINET OB 86
I-Device
W#16#38F9 Ripristino di una parte dei sottomoduli di un PROFINET I-Device con OB 86
differenza di configurazione del dispositivo
W#16#35D2 Trasmettere i messaggi di diagnostica attualmente non possibile OB 87
W#16#35D3 I telegrammi di sincronizzazione non possono essere trasmessi OB 87
W#16#35D4 Salto nell'orario dovuto alla sincronizzazione non ammesso OB 87
W#16#35D5 Errore nel ricevere il tempo di sincronizzazione OB 87
W#16#35E1 Codice del telegramma errato per GD OB 87
W#16#35E2 Stato blocco GD non può essere registrato in DB OB 87
W#16#35E3 Lunghezza di telegramma per GD OB 87
W#16#35E4 Ricevere un numero di blocco GD non ammesso OB 87
W#16#35E5 Errore di accesso a DB con SFB di comunicazione per i collegamenti OB 87
S7 progettati
W#16#35E6 Stato generale GD non può essere registrato in DB OB 87

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


818 Manuale di riferimento, 04/2017, A5E41911986-AA
Eventi
35.5 Classe di evento 4 - Eventi di stop ed altri passaggi tra diversi stati di funzionamento

35.5 Classe di evento 4 - Eventi di stop ed altri passaggi tra diversi stati
di funzionamento

ID di evento Evento
W#16#4300 ALIMENTAZIONE ON in backup
W#16#4301 Transizione dello stato di funzionamento da STOP a AVVIAMENTO
W#16#4302 Transizione dello stato di funzionamento da AVVIAMENTO a RUN
W#16#4303 STOP a causa di manovra dell'interruttore di stop
W#16#4304 STOP a causa di comando di stop dal dispositivo di programmazione o a causa
dell'SFB 20 "STOP"
W#16#4305 ALT: Punto di arresto raggiunto
W#16#4306 ALT: Punto di arresto abbandonato
W#16#4307 Avvio della cancellazione totale mediante comando del PG
W#16#4308 Avvio della cancellazione totale mediante manovra di interruttore
W#16#4309 Avvio della cancellazione totale automatica (ALIMENTAZIONE ON non bufferizzato)
W#16#430A Abbandonare ALT. Passaggio in STOP
W#16#430D STOP comandato da altre CPU in funzionamento multicomputing
W#16#430E Cancellazione totale eseguita
W#16#430F STOP dell'unità dovuto allo STOP di una CPU
W#16#4510 STOP dovuto alla violazione dell'area della data della CPU
W#16#4318 Inizio dell’operazione CiR
W#16#4319 Operazione CiR terminata
W#16#4520 GUASTO: STOP non raggiungibile
W#16#4521 GUASTO: avaria del processore esecuzione ordini
W#16#4522 GUASTO: avaria del blocco orologio
W#16#4523 GUASTO: avaria dell'oscillatore
W#16#4524 GUASTO: avaria nell'aggiornamento delle celle temporali
W#16#4525 GUASTO: avaria della sincronizzazione MP
W#16#4926 GUASTO: avaria della sorveglianza di tempo per accessi alla periferia
W#16#4527 GUASTO: avaria della sorveglianza errori di accesso alla periferia
W#16#4528 GUASTO: avaria della sorveglianza del tempo di ciclo
W#16#4530 GUASTO: errore nel test di memoria, memoria interna
W#16#4531 GUASTO: errore nel test di memoria, modulo di memoria
W#16#4532 GUASTO: avaria di risorse centrali
W#16#4533 Errore nelle somme di controllo
W#16#4934 GUASTO: memoria non presente
W#16#4535 GUASTO: interruzione per sorveglianza tempo di reazione (Watchdog) / eccezioni del
processore
W#16#4536 GUASTO: guasto dell'interruttore dei modi di funzionamento
W#16#4540 STOP: ampliamento della memoria di lavoro interna con spazi vuoti. Il primo
ampliamento di memoria è troppo piccolo o manca.
W#16#4541 STOP dovuto al sistema di esecuzione Classi di priorità

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 819
Eventi
35.5 Classe di evento 4 - Eventi di stop ed altri passaggi tra diversi stati di funzionamento

ID di evento Evento
W#16#4542 STOP dovuto a OVS
W#16#4543 STOP dovuto a TIS
W#16#4544 STOP dovuto al sistema di diagnostica
W#16#4545 STOP dovuto al sistema di comunicazione
W#16#4546 STOP dovuto alla gestione della memoria della CPU
W#16#4547 STOP dovuto alla gestione dell'immagine di processo
W#16#4548 STOP dovuto alla gestione della periferia
W#16#4949 STOP a causa di un interrupt di processo continuo
W#16#454A STOP dovuto alla progettazione, durante il nuovo avviamento è stato caricato un OB non
selezionato
W#16#494D STOP dovuto a PRF (errore di periferia, errore di bus)
W#16#494E STOP dovuto a PSA (NAU)
W#16#494F STOP dovuto ad errore di configurazione
W#16#4550 GUASTO: errore di sistema interno
W#16#4555 limite del tempo di sorveglianza trascorso, riavviamento non possibile
W#16#4556 STOP: richiesta di cancellazione totale dovuta a comunicazione/ inconsistenza dati
W#16#4357 Tempo controllo unità avviato
W#16#4358 Tutte le unità sono pronte per l'uso
W#16#4959 non tutte le unità sono pronte per l'uso
W#16#4562 STOP dovuto a errore di programmazione (OB non caricato o non possibile)
W#16#4563 STOP dovuto a errore di accesso alla periferia (OB non caricato o non possibile)
W#16#4568 STOP dovuto a errore temporale (OB non caricato o non possibile, oppure nessun FRB
disponibile)
W#16#456A STOP dovuto a allarme di diagnostica (OB non caricato o non possibile)
W#16#456B STOP dovuto a estrazione/inserimento (OB non caricato o non possibile)
W#16#456C STOP dovuto a errore hardware CPU (OB non caricato o non possibile)
W#16#456D STOP dovuto a errore esecuzione programma (OB non caricato o non possibile)
W#16#456E STOP dovuto a errore di comunicazione (OB non caricato o non possibile)
W#16#456F STOP dovuto a avaria telaio (OB non caricato o non possibile)
W#16#4570 STOP dovuto a interruzione di elaborazione (OB non caricato o non possibile)
W#16#4571 STOP dovuto a errore stack di annidamento
W#16#4572 STOP dovuto a errore di stack relè master-control
W#16#4573 STOP dovuto a superamento della profondità di annidamento negli errori di sincronismo
W#16#4574 STOP dovuto ad annidamento eccessivo di stack U nello stack di classe di priorità
W#16#4575 STOP dovuto ad annidamento eccessivo di stack B nello stack di classe di priorità
W#16#4576 STOP dovuto a errore nell'allocazione di dati locali
W#16#4578 STOP dovuto a codice operazione sconosciuto
W#16#457A STOP dovuto a errore lunghezza codice
W#16#457B STOP dovuto a DB non caricato nella periferia onboard
W#16#497C STOP dovuto a tecnologia integrata
W#16#457D Richiesta di cancellazione totale causa modifica della versione dell'interfaccia interna con
la tecnologia integrata

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


820 Manuale di riferimento, 04/2017, A5E41911986-AA
Eventi
35.5 Classe di evento 4 - Eventi di stop ed altri passaggi tra diversi stati di funzionamento

ID di evento Evento
W#16#457F STOP dovuto a comando di STOP
W#16#4580 STOP: contenuto buffer di backup inconsistente (nessun passaggio RUN)
W#16#4590 STOP a causa di sovraccarico delle funzioni interne
W#16#49A0 STOP a causa di errore di parametrizzazione oppure differenza non ammessa tra
configurazione prefissata e configurazione attuale: avviamento inibito
W#16#49A1 STOP a causa di errore di parametrizzazione : richiesta di cancellazione totale
W#16#49A2 STOP a causa di errore durante la post-parametrizzazione: avviamento inibito
W#16#49A3 STOP a causa di errore alla post-parametrizzazione: richiesta di cancellazione totale
W#16#49A4 STOP: inconsistenza dei dati di progettazione
W#16#49A5 STOP: periferia decentrata: discordanze dell'informazione di progettazione caricata
W#16#49A6 STOP: periferia decentrata: informazione di progettazione non valida
W#16#49A7 STOP: periferia decentrata: informazione di progettazione non disponibile
W#16#49A8 STOP: visualizzazione di errore del collegamento per periferia decentrata
W#16#43B0 Back up /aggiornamento del firmware riuscito
W#16#49B1 Dati di aggiornamento firmware errati
W#16#49B2 Aggiornamento firmware: versione hardware incompatibile con il firmware
W#16#49B3 Aggiornamento firmware: tipo di unità incompatibile con il firmware
W#16#43B4 Errore di backup del firmware
W#16#43B6 Interruzione dell'aggiornamento firmware di unità ridondanti
W#16#49D1 Annullamento di ACCOPPIAMENTO/AGGIORNAMENTO
W#16#49D2 STOP della CPU di riserva dovuto a STOP della CPU master durante l‘accoppiamento
W#16#43D3 STOP di una CPU di riserva richiesto dall'utente
W#16#49D4 STOP di un master poiché la CPU partner è anche master (errore di accoppiamento)
W#16#45D5 Annullamento di ACCOPPIAMENTO/AGGIORNAMENTO dovuto a configurazione
memoria CPU non ammessa del dispositivo parziale
W#16#45D6 Annullamento di ACCOPPIAMENTO dovuto a programma di sistema non identico del
dispositivo parziale
W#16#49D7 Annullamento di ACCOPPIAMENTO dovuto a codice di programma utente non identico
nelle memory cards
W#16#45D8 DIFETTO: Errore di hardware riconosciuto da un altro errore
W#16#49D9 STOP dovuto a errore del modulo di sincronizzazione
W#16#49DA STOP dovuto a errore di sincronizzazione tra le CPU H
W#16#45DD Annullamento di ACCOPPIAMENTO dovuto a funzione di test in corso di esecuzione
W#16#43DF Annullamento definitivo dell'aggiornamento causa superamento di un tempo di controllo
dopo il numero massimo di tentativi; è necessario un nuovo comando
W#16#43E0 Passaggio da Funzionamento singolo a Accoppiamento
W#16#43E1 Passaggio da Accoppiamento ad Aggiornamento
W#16#43E2 Passaggio dallo stato di sistema Aggiornamento a Ridondato
W#16#43E3 CPU master: passaggio dallo stato di funzionamento Ridondato a Funzionamento
singolo
W#16#43E4 CPU di riserva: passaggio dallo stato di sistema Ridondato a DIAGNOSTICA
W#16#43E5 CPU di riserva: passaggio da DIAGNOSTICA ad Accoppiamento o STOP
W#16#43E6 Annullamento Accoppiamento della CPU di riserva

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 821
Eventi
35.5 Classe di evento 4 - Eventi di stop ed altri passaggi tra diversi stati di funzionamento

ID di evento Evento
W#16#43E7 Annullamento Aggiornamento della CPU di riserva
W#16#43E8 CPU di riserva: passaggio da Accoppiamento a Avviamento
W#16#43E9 CPU di riserva: passaggio da Avviamento a Accoppiamento
W#16#43F1 Commutazione riserva-master
W#16#43F2 Accoppiamento di CPU H non compatibili bloccati dal programma di sistema
W#16#43F3 Errore checksum del sistema operativo individuato e corretto
W#16#43F4 CPU di riserva: blocco accoppiamento/aggiornamento per mezzo di SFC90 nella CPU
master

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


822 Manuale di riferimento, 04/2017, A5E41911986-AA
Eventi
35.6 Classe di evento 5 - Elaborazione stati di funzionamento

35.6 Classe di evento 5 - Elaborazione stati di funzionamento

ID di evento Evento
W#16#530D Nuove informazioni di avviamento nello stato di funzionamento STOP
W#16#510F In WinLC si è verificato un errore che ha causato lo stato STOP o AVARIA della CPU.
W#16#5311 Avviamento nonostante l'assenza della segnalazione di pronto nelle(a) unità
W#16#5545 Inizio della riparametrizzazione nell'ambito di una modifica dell'impianto in fase di
funzionamento
W#16#5445 Fine della riparametrizzazione nell'ambito di una modifica dell'impianto in fase di
funzionamento
W#16#5961 Errore di parametrizzazione
W#16#5962 Errore di parametrizzazione con impedimento avviamento
W#16#5963 Errore di parametrizzazione con richiesta di cancellazione totale
W#16#5966 Errore di parametrizzazione durante la commutazione
W#16#5967 Errore di parametrizzazione: dati di progettazione sconosciuti
W#16#5968/5858 Indirizzo di emergenza di un'interfaccia Ethernet attivo/disattivato
W#16#5969 Errore di parametrizzazione con impedimento dell'avvio
W#16#596A PROFINET IO: l'indirizzo IP di un IO Device esiste già
W#16#596B L'indirizzo IP di una delle interfacce Ethernet esiste già
W#16#596C Il nome di una delle interfacce Ethernet esiste già
W#16#596D La configurazione di rete disponibile non è compatibile con i requisiti di sistema o la
progettazione.
W#16#5371 Periferia decentrata: fine della sincronizzazione con un master DP
W#16#5979/5879 Messaggio di diagnostica dall'interfaccia DP: EXTF-LED on/off
W#16#597C Comando DP Global Control non eseguito o spostato
W#16#5380 Registrazioni del buffer di diagnostica degli eventi di allarme e di errore di asincronismo
disabilitate
W#16#5581 Mancano una o più licenze del software Runtime
W#16#5481 Tutte le licenze per del software Runtime sono nuovamente disponibili
W#16#558A Numero di ordinazione della CPU progettata diverso da quello della CPU inserita
W#16#558B Versione del firmware della CPU progettata diversa quella della CPU inserita
W#16#5966 Errore di parametrizzazione durante la commutazione
W#16#597C Istruzione operativa DP Global Control guasta o spostata
W#16#5395 Periferia decentrata: reset di un master DP
W#16#5598 Inizio di una potenziale incoerenza con sistemi master DP dovuta a CiR
W#16#5498 Fine di una potenziale incoerenza con sistemi master DP dovuta a CiR
W#16#59A0 Allarme nella CPU non assegnabile
W#16#59A1 Errore di configurazione della tecnologia integrata
W#16#53A2 Caricamento del firmware della tecnologia riuscito senza errori
W#16#59A3 Errore di caricamento della tecnologia integrata
W#16#53A4 Caricamento del DB della tecnologia riuscito senza errori
W#16#55A5 Conflitto di versione dell'interfaccia interna con la tecnologia integrata
W#16#55A6 Il numero max. di oggetti tecnologici è stato superato.
W#16#55A7 Esiste già un DB tecnologico di questo tipo.
W#16#53FF Resettaggio allo stato di fornitura

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 823
Eventi
35.7 Classe di evento 6 - Eventi di comunicazione

35.7 Classe di evento 6 - Eventi di comunicazione

ID di evento Evento
W#16#6500 referenza di collegamento (ID) presente due volte sull'unità
W#16#6501 risorse di collegamento non sufficienti
W#16#6502 errore nella descrizione del collegamento
W#16#6905/6805 problema di risorse con collegamenti progettati fissi/eliminato
W#16#6510 errore di struttura di CFB nel DB di istanza riconosciuto durante la valutazione della
EPROM
W#16#6514 numero di blocco GD presente due volte sull'unità
W#16#6515 indicazioni di lunghezza nell'informazione di progettazione di GD sono inconsistenti
W#16#6316 errore di interfaccia in fase di avviamento di PLC
W#16#6521 assenza di moduli e di memoria interna
W#16#6522 modulo non ammesso: sostituzione del modulo e cancellazione totale necessaria
W#16#6523 richiesta di cancellazione totale dovuta a errore durante accesso al modulo
W#16#6524 richiesta di cancellazione totale dovuta a errore nell'intestazione di blocco
W#16#6526 richiesta di cancellazione totale dovuta a sostituzione di memoria
W#16#6527 sostituzione di memoria, per questo non è possibile un riavviamento
W#16#6528 funzione di gestione oggetti in STOP/ALT, non è possibile un riavviamento
W#16#6529 nessun avviamento durante la funzione "caricare il programma utente"
W#16#652A nessun avviamento poiché il blocco è presente due volte nella memoria utente
W#16#652B nessun avviamento poiché la lunghezza del blocco è troppo grande per il modulo.
Sostituzione del modulo necessaria
W#16#652C nessun avviamento a causa di OB non ammesso sul modulo
W#16#6532 nessun avviamento a causa di informazione di progettazione non ammessa sul modulo
W#16#6533 richiesta di cancellazione totale dovuta a contenuto del modulo non valido
W#16#6534 nessun avviamento: blocco presente più volte nel blocco
W#16#6535 nessun avviamento: memoria non sufficiente per salvare il blocco del modulo
W#16#6536 nessun avviamento: numero di blocco non ammesso
W#16#6537 nessun avviamento: lunghezza del blocco non ammessa
W#16#6538 dati locali o codice protezione dalla scrittura (in DB) di un blocco non ammessi per CPU
W#16#6539 comando non ammesso nel blocco (riconosciuto dal compilatore)
W#16#653A richiesta di cancellazione totale, poiché i dati locali OB sul modulo sono troppo corti
W#16#6543 nessun avviamento: tipo di blocco non ammesso
W#16#6544 nessun avviamento: attributi rilevanti per l'esecuzione non ammessi
W#16#6545 linguaggio di programmazione non ammesso
W#16#6546 numero massimo dei blocchi in un determinato tipo di blocco raggiunto
W#16#6547 errore di parametrizzazione durante parametrizzazione di unità (non tramite P-bus ma
tramite interruzione download)
W#16#6548 errore di plausibilità durante la verifica del blocco
W#16#6549 errore di struttura nel blocco
W#16#6550 un blocco contiene un errore nel valore di controllo (CRC)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


824 Manuale di riferimento, 04/2017, A5E41911986-AA
Eventi
35.7 Classe di evento 6 - Eventi di comunicazione

ID di evento Evento
W#16#6551 un blocco non ha alcun valore di controllo (CRC)
W#16#6353 Aggiornamento del firmware: inizio del download del firmware tramite rete
W#16#6253 Aggiornamento del firmware: fine del download del firmware tramite rete
W#16#6353 Aggiornamento del firmware: inizio del download del firmware tramite rete
W#16#6253 Aggiornamento del firmware: fine del download del firmware tramite rete
W#16#6560 overflow di SCAN
W#16#6981 errore di interfaccia, entrante
W#16#6881 errore di interfaccia, uscente
W#16#6390 formattazione di una Micro Memory Card eseguita

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 825
Eventi
35.8 Classe di evento 7 - Eventi H/F

35.8 Classe di evento 7 - Eventi H/F

ID di evento Evento OB
W#16#73A2 Guasto di un master DP o di un sistema master DP OB 70
W#16#72A3 Ritorno della ridondanza sullo slave DP OB 70
W#16#73A3 Perdita di ridondanza sullo slave DP OB 70
W#16#7301 Perdita di ridondanza (1v2) dovuta ad avaria di una CPU OB 72
W#16#7302 Perdita di ridondanza (1v2) dovuta a STOP della riserva causato OB 72
dall'utente
W#16#7303 Il sistema H (1v2 ) è passato in funzionamento ridondato OB 72
W#16#7320 Errore durante il confronto RAM OB 72
W#16#7521 Errore durante il confronto del valore iniziale dell'immagine di processo OB 72
W#16#7522 Errore durante il confronto di merker, temporizzatori e contatori OB 72
W#16#7323 Riconosciuti diversi dati del sistema operativo OB 72
W#16#7331 Commutazione riserva-master dovuta a guasto del master OB 72
W#16#7333 Commutazione riserva-master nel corso di una modifica all’impianto in OB 72
funzione
W#16#7334 Commutazione riserva-master dovuta a disturbo del collegamento sul OB 72
modulo di sincronizzazione
W#16#7340 Errore di sincronizzazione nel programma utente dovuto a tempo di attesa OB 72
scaduto
W#16#7341 Errore di sincronizzazione nel programma utente dovuto ad attesa in OB 72
diversi punti di sincronizzazione
W#16#7342 Errore di sincronizzazione nel sistema operativo dovuto ad attesa in OB 72
diversi punti di sincronizzazione
W#16#7343 Errore di sincronizzazione nel sistema operativo dovuto a tempo di attesa OB 72
scaduto
W#16#7344 Errore di sincronizzazione nel sistema operativo dovuto a dati errati OB 72
W#16#7950 Manca il modulo di sincronizzazione OB 72
W#16#7951 Modifica sul modulo di sincronizzazione senza ALIMENTAZIONE ON OB 72
W#16#7952/7852 Modulo di sincronizzazione estratto/inserito OB 72
W#16#7953 Modifica sul modulo di sincronizzazione senza cancellazione totale OB 72
W#16#7954 Modulo di sincronizzazione: doppia assegnazione di un numero di telaio OB 72
di montaggio
W#16#7955/7855 Errore del modulo di sincronizzazione/ eliminato OB 72
W#16#7956 N. telaio di montaggio non ammesso impostato nel modulo di OB 72
sincronizzazione
W#16#7960 Periferia ridondata: tempo di discrepanza nell’ingresso analogico
terminato
W#16#7961 Periferia ridondata: errore ingresso digitale: transizione segnale al termine
del tempo di discrepanza
W#16#7962 Periferia ridondata: errore ingresso digitale
W#16#7963 Periferia ridondata: errore di canale ingresso digitale

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


826 Manuale di riferimento, 04/2017, A5E41911986-AA
Eventi
35.8 Classe di evento 7 - Eventi H/F

ID di evento Evento OB
W#16#7964 Periferia ridondata: errore ingresso digitale: commutazione segnale
decorso il tempo di discrepanza
W#16#796F Periferia ridondata: depassivazione completa della periferia eseguita
W#16#7970 Periferia ridondata: errore uscita digitale
W#16#7971 Periferia ridondata: errore di canale uscita digitale
W#16#7980 Periferia ridondata: tempo di discrepanza nell’ingresso analogico
terminato
W#16#7981 Periferia ridondata: errore ingresso analogico
W#16#7982 Periferia ridondata: errore di canale ingresso analogico
W#16#7983 Periferia ridondata: scadenza del tempo di discrepanza sul canale di
ingresso analogico
W#16#7984 Periferia ridondata: errore di canale ingresso analogico
W#16#7990 Periferia ridondata: errore uscita analogica -
W#16#7991 Periferia ridondata: errore di canale uscita analogica
W#16#73A2 Guasto ad un master DP oppure ad un sistema master DP OB 70
W#16#73A3/72A3 Perdita della ridondanza/ ripristino della ridondanza sullo slave DP OB 70
W#16#73A5/72A5 Perdita della ridondanza/ ripristino della ridondanza sull’IO Device OB 70
W#16#73C1 Collegamento/aggiornamento interrotti OB 72
W#16#73C2 Interruzione dell'aggiornamento causa superamento del tempo di OB 72
controllo all'n tentativo (1  n numero max. consentito di tentativi di
aggiornamento in seguito a interruzione per superamento del tempo)
W#16#75D1 Programma di sicurezza: errore interno alla CPU
W#16#75D2 Errore nel programma di sicurezza: superamento del tempo ciclo
W#16#79D3/78D3 Errore nella comunicazione PROFIsafe con la periferia F
W#16#79D4/78D4 Errore nella comunicazione di sicurezza tra le CPU F
W#16#79D5/78D5 Errore nella comunicazione di sicurezza tra le CPU F
W#16#75D6 Dati alterati programma di sicurezza prima dell’emissione alla periferia F
W#16#75D7 Dati alterati programma di sicurezza prima dell’emissione alla CPU F
partner
W#16#75D8 Funzionamento di sicurezza disattivato
W#16#75D9 Numero REAL non valido in un DB
W#16#75DA Programma di sicurezza: errore nel formato di protezione dati
W#16#73DB/72DB Programma di sicurezza: funzionamento di sicurezza attivato/disattivato
W#16#75DC Gruppo di esecuzione, errore di protocollo interno
W#16#75DD/74DD Programma di sicurezza: disabilitazione attiva/disattivata di un gruppo di
esecuzione ad elevata sicurezza da errore
W#16#75DE/74DE Programma di sicurezza: completa disabilitazione attiva/disattivata del
programma F
W#16#75DF/74DF Inizializzazione: inizio/fine programma F
W#16#73E0/72E0 Perdita di ridondanza della comunicazione/ ridondanza ripristinata OB 73
W#16#75E1 Programma di sicurezza: errore in FB "F PLK" o "F PLK" o F_CYC_CO" o
"F_TEST" o "F_TESTC"
W#16#75E2 Programma di sicurezza: errore di lunghezza area

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 827
Eventi
35.8 Classe di evento 7 - Eventi H/F

ID di evento Evento OB
W#16#79E3 Canale di ingresso della periferia F passivato
W#16#78E3 Canale di ingresso della periferia F depassivato
W#16#79E4 Canale di uscita della periferia F passivato
W#16#78E4 Canale di uscita della periferia F depassivato
W#16#79E5 Periferia F passivata
W#16#78E5 Periferia F depassivata
W#16#79E3 Canale di ingresso della periferia F passivato
W#16#78E3 Canale di ingresso della periferia F depassivato
W#16#79E4 Canale di uscita della periferia F passivato
W#16#78E4 Canale di uscita della periferia F depassivato
W#16#79E5 Periferia F passivata
W#16#78E5 Periferia F depassivata
W#16#79E6 Programma di sicurezza incoerente
W#16#79E7 Blocco di simulazione (blocco di sistema F) caricato
W#16#73E8 Coerenza del programma di sicurezza verificata tramite controllo
W#16#73E9 Coerenza del programma di sicurezza non verificabile

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


828 Manuale di riferimento, 04/2017, A5E41911986-AA
Eventi
35.9 Classe di evento 8 - Eventi di diagnostica per unità

35.9 Classe di evento 8 - Eventi di diagnostica per unità

ID di evento Evento Tipo unità


W#16#8x00 unità guasta/ok Tutti
W#16#8x01 errore interno
W#16#8x02 errore esterno
W#16#8x03 errore di canale presente
W#16#8x04 tensione ausiliaria esterna assente
W#16#8x05 connettore frontale assente
W#16#8x06 Parametrizzazione assente
W#16#8x07 errati parametri dell'unità
W#16#8x30 modulo utente errato / assente
W#16#8x31 disturbo di comunicazione
W#16#8x32 stato di funzionamento RUN/STOP (STOP: entrante, RUN: uscente)
W#16#8x33 Sorveglianza tempo interpellata (watch dog)
W#16#8x34 tensione di alimentazione interna all'unità in avaria
W#16#8x35 BATTF batteria scarica
W#16#8x36 intero sistema di backup in avaria
W#16#8x40 avaria del dell'apparecchiatura di ampliamento
W#16#8x41 avaria del processore
W#16#8x42 errore di EPROM
W#16#8x43 errore di RAM
W#16#8x44 errore di conversione ADU/DAU
W#16#8x45 avaria del fusibile
W#16#8x46 interrupt di processo perduto
W#16#8x50 errore di progettazione / parametrizzazione Ingresso analogico
W#16#8x51 errore di modo comune (Common-Mode-Fail)
W#16#8x52 Cortocircuito P
W#16#8x53 Cortocircuito M
W#16#8x54 Interruzione del filo
W#16#8x55 errore del canale di riferimento
W#16#8x56 Superamento del limite inferiore dell'area di misura
W#16#8x57 Superamento del limite superiore dell'area di misura
W#16#8x60 errore di progettazione / parametrizzazione Uscita analogica
W#16#8x61 errore di modo comune (Common-Mode-Fail)
W#16#8x62 Cortocircuito P
W#16#8x63 Cortocircuito M
W#16#8x64 rottura conduttore
W#16#8x66 tensione di carico assente
W#16#8x70 errore di progettazione / parametrizzazione Ingresso digitale
W#16#8x71 errore di massa

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 829
Eventi
35.9 Classe di evento 8 - Eventi di diagnostica per unità

ID di evento Evento Tipo unità


W#16#8x72 Cortocircuito P (trasduttore)
W#16#8x73 Cortocircuito M
W#16#8x74 rottura filo
W#16#8x75 Alimentazione dei trasduttori assente
W#16#8x80 errore di progettazione / parametrizzazione Uscita digitale
W#16#8x81 errore di massa
W#16#8x82 Cortocircuito P
W#16#8x83 Cortocircuito M
W#16#8x84 rottura filo
W#16#8x85 avaria fusibile
W#16#8x86 tensione di carico assente
W#16#8x87 Sovratemperatura
W#16#8xB0 FM-contat: il segnale A è errato FM
W#16#8xB1 FM-contat: il segnale B è errato
W#16#8xB2 FM-contat: il segnale N è errato
W#16#8xB3 FM-contat: è stato passato un valore errato tra i canali
W#16#8xB4 FM-contat: alimentazione a 5,2 V dei trasduttori guasta
W#16#8xB5 FM-contat: alimentazione a 24 V dei trasduttori guasta

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


830 Manuale di riferimento, 04/2017, A5E41911986-AA
Eventi
35.10 Classe di evento 9 - Eventi utente standard

35.10 Classe di evento 9 - Eventi utente standard

ID di evento Evento
W#16#9001 Modo di funzionamento automatico
W#16#9101 Modo di funzionamento manuale
W#16#9x02 APERTO/CHIUSO, ON/OFF
W#16#9x03 Abilitazione comandi manuali
W#16#9x04 Comando di protezione aggregati (APERTO/CHIUSO)
W#16#9x05 Abilitazione del processo
W#16#9x06 Comando di protezione del sistema
W#16#9x07 Sorveglianza del valore attuale interpellata
W#16#9x08 Sorveglianza della grandezza regolatrice interpellata
W#16#9x09 Errore di regolazione più grande di quanto ammesso
W#16#9x0A Errore di fine posizione
W#16#9x0B Errore di tempo di esecuzione
W#16#9x0C Errore di esecuzione comando (comando esecuzione)
W#16#9x0D Stato di funzionamento è in svolgimento ³ APERTO
W#16#9x0E Stato di funzionamento è in svolgimento ³ CHIUSO
W#16#9x0F Blocco comando
W#16#9x11 Stato di processo APERTO/ON
W#16#9x12 Stato di processo CHIUSO/OFF
W#16#9x13 Stato di processo posizioni intermedie
W#16#9x14 Stato di processo ON attraverso AUTO
W#16#9x15 Stato di processo ON attraverso manuale
W#16#9x16 Stato di processo ON attraverso comando di protezione
W#16#9x17 Stato di processo OFF attraverso AUTO
W#16#9x18 Stato di processo OFF attraverso manuale
W#16#9x19 Stato di processo OFF attraverso comando di protezione
W#16#9x21 Errore di funzione in fase di approccio
W#16#9x22 Errore di funzione in fase di allontanamento
W#16#9x31 Componente efficace (DE/WE), fine posizione APERTO
W#16#9x32 Componente efficace (DE/WE), fine posizione non APERTO
W#16#9x33 Componente efficace (DE/WE), fine posizione CHIUSO
W#16#9x34 Componente efficace (DE/WE), fine posizione non CHIUSO
W#16#9x41 Stato non permesso, tempo di tolleranza (TZ) trascorso
W#16#9x42 Stato non permesso, tempo di tolleranza non trascorso
W#16#9x43 Errore di bloccaggio, Tempo tolleranza = 0
W#16#9x44 Errore di bloccaggio, Tempo tolleranza > 0
W#16#9x45 Reazione non avvenuta
W#16#9x46 Stato finale abbandonato in maniera non ammessa, TZ = 0
W#16#9x47 Stato finale abbandonato in maniera non ammessa, TZ > 0

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 831
Eventi
35.10 Classe di evento 9 - Eventi utente standard

ID di evento Evento
W#16#9x50 Limite superiore campo di segnale OSF
W#16#9x51 Limite superiore campo di misura OMF
W#16#9x52 Limite inferiore campo di segnale USF
W#16#9x53 Limite inferiore campo di misura UMF
W#16#9x54 Limite superiore di allarme OOG
W#16#9x55 Limite superiore di avvertimento OG
W#16#9x56 Limite superiore di tolleranza OT
W#16#9x57 Limite inferiore di tolleranza UT
W#16#9x58 Limite inferiore di avvertimento UG
W#16#9x59 Limite inferiore di allarme UUG
W#16#9x60 GRAPH 7 passo della sequenza viene / va
W#16#9x61 GRAPH 7 errore di bloccaggio
W#16#9x62 GRAPH 7 errore di esecuzione
W#16#9x63 GRAPH 7 errore di cui si è preso atto per conoscenza
W#16#9x64 GRAPH 7 errore confermato
W#16#9x70 Trend positivo superato
W#16#9x71 Trend negativo superato
W#16#9x72 Reazione non avvenuta
W#16#9x73 Stato finale abbandonato in maniera non ammessa
W#16#9x80 Valore limite superato, tempo tolleranza = 0
W#16#9x81 Valore limite superato, tempo tolleranza > 0
W#16#9x82 Valore limite superato, tempo tolleranza = 0
W#16#9x83 Valore limite superato, tempo tolleranza > 0
W#16#9x84 Gradiente superato, tempo tolleranza = 0
W#16#9x85 Gradiente superato, tempo tolleranza > 0
W#16#9x86 Gradiente superato, tempo tolleranza = 0
W#16#9x87 Gradiente superato, tempo tolleranza > 0
W#16#9190/9090 Errore di parametrizzazione utente entrante/uscente
W#16#91F0 Overflow
W#16#91F1 Underflow
W#16#91F2 Divisione per 0
W#16#91F3 Operazione di calcolo non ammessa

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


832 Manuale di riferimento, 04/2017, A5E41911986-AA
Eventi
35.11 Classe di evento A e B - Eventi utente liberi

35.11 Classe di evento A e B - Eventi utente liberi

ID di evento Evento
W#16#Axyz Eventi liberamente disponibili
W#16#Bxyz

35.12 Classe di evento riservata

Riservato
Le seguenti classi di evento sono riservate per future estensioni:
• C
• D
• E
• F riservato per unità non centrali (ad es. CP, FM)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 833
Eventi
35.12 Classe di evento riservata

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


834 Manuale di riferimento, 04/2017, A5E41911986-AA
36 Lista delle SFC e degli SFB

36.1 Lista delle SFC, in ordine numerico

N. Abbr. Funzione
SFC 0 SET_CLK Imposta orologio
SFC 1 READ_CLK Leggi orologio
SFC 2 SET_RTM Imposta contatore del tempo di esercizio
SFC 3 CTRL_RTM Avvia/arresta contatore del tempo di esercizio
SFC 4 READ_RTM Leggi contatore delle ore di esercizio
SFC 5 GADR_LGC Determina indirizzo di base logico di una unità
SFC 6 RD_SINFO Leggi informazione di avvio dell'OB attuale
SFC 7 DP_PRAL Attiva un allarme di processo nel master DP
SFC 9 EN_MSG Abilita segnalazioni riferite ai blocchi e ai simboli e segnalazioni cumulative
tecnologiche
SFC 10 DIS_MSG Inibisci segnalazioni riferite ai blocchi e ai simboli e segnalazioni cumulative
tecnologiche
SFC 11 DPSYC_FR Sincronizza gruppi di slave DP
SFC 12 D_ACT_DP Disattiva e attiva slave DP
SFC 13 DPNRM_DG Leggi dati di diagnostica (diagnostica slave) di uno slave DP
SFC 14 DPRD_DAT Leggi dati coerenti di uno slave standard DP
SFC 15 DPWR_DAT Scrivi dati in modo coerente su uno slave standard DP
SFC 17 ALARM_SQ Crea segnalazioni confermabili riferite ai blocchi
SFC 18 ALARM_S Crea segnalazioni riferite ai blocchi sempre confermate
SFC 19 ALARM_SC Rileva lo stato di conferma dell'ultima segnalazione ALARM_SQ arrivata
SFC 20 BLKMOV Copia una variabile
SFC 21 FILL Inizializza un campo
SFC 22 CREAT_DB Crea un blocco dati
SFC 23 DEL_DB Cancella un blocco dati
SFC 24 TEST_DB Test di un blocco dati
SFC 25 COMPRESS Avvia compressione della memoria utente
SFC 26 UPDAT_PI Aggiorna immagine di processo degli ingressi
SFC 27 UPDAT_PO Aggiorna uscite sulle unità periferiche
SFC 28 SET_TINT Imposta un allarme dall'orologio
SFC 29 CAN_TINT Cancella un allarme dall'orologio
SFC 30 ACT_TINT Attiva un allarme dall'orologio
SFC 31 QRY_TINT Interroga un allarme dall'orologio
SFC 32 SRT_DINT Avvia un allarme di ritardo
SFC 33 CAN_DINT Cancella un allarme di ritardo

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 835
Lista delle SFC e degli SFB
36.1 Lista delle SFC, in ordine numerico

N. Abbr. Funzione
SFC 34 QRY_DINT Interroga stato di un allarme di ritardo
SFC 35 MP_ALM Attiva allarme di multicomputing
SFC 36 MSK_FLT Maschera eventi di errore di sincronismo
SFC 37 DMSK_FLT Smaschera eventi di errore di sincronismo
SFC 38 READ_ERR Leggi registro di stato eventi
SFC 39 DIS_IRT Inibisci elaborazione di nuovi eventi di allarme e di errori di asincronismo
SFC 40 EN_IRT Abilita elaborazione di nuovi eventi di allarme e di errori di asincronismo
SFC 41 DIS_AIRT Ritarda elaborazione di eventi di allarme e di errori di asincronismo di priorità
maggiore
SFC 42 EN_AIRT Abilita elaborazione di eventi di allarme e di errori di asincronismo di priorità
maggiore
SFC 43 RE_TRIGR Riattiva la sorveglianza del tempo di ciclo
SFC 44 REPL_VAL Sostituisci un valore in ACCU 1
SFC 46 STP Conduci la CPU nello stato di funzionamento STOP
SFC 47 WAIT Ritarda l'elaborazione
SFC 48 SNC_RTCB Sincronizza orologi slave
SFC 49 LGC_GADR Determina il posto connettore appartenente ad un indirizzo logico
SFC 50 RD_LGADR Determina tutti gli indirizzi logici di un'unità
SFC 51 RDSYSST Leggi la lista di stato di sistema
SFC 52 WR_USMSG Scrivi un evento di diagnostica definito dall'utente nel buffer di diagnostica
SFC 54 RR_DPARM Legge parametri predefiniti
SFC 55 WR_PARM Scrivi parametri dinamici
SFC 56 WR_DPARM Scrivi parametri predefiniti
SFC 57 PARM_MOD Parametrizza una scheda
SFC 58 WR_REC Scrivi un set di dati nella periferia
SFC 59 RD_REC Leggi un set di dati dalla periferia
SFC 60 GD_SND Trasmissione programmata di un blocco GD
SFC 61 GD_RCV Ricezione programmata di un blocco GD ricevuto
SFC 62 CONTROL Interroga lo stato del collegamento relativo ad una istanza SFB di comunicazione
SFC 63 AB_CALL Richiama un blocco Assembler
SFC 64 TIME_TCK Time Tick
SFC 65 X_SEND Invia dati ad un partner di comunicazione esterno alla propria stazione S7
SFC 66 X_RCV Ricevi dati da un partner di comunicazione esterno alla propria stazione S7
SFC 67 X_GET Leggi dati da un partner di comunicazione esterno alla propria stazione S7
SFC 68 X_PUT Scrivi dati in un partner di comunicazione esterno alla propria stazione S7
SFC 69 X_ABORT Annullamento di un collegamento con un partner di comunicazione esterno alla
propria stazione S7
SFC 70 GEO_LOG Determinazione dell'indirizzo iniziale di un'unità
SFC 71 LOG_GEO Determinazione del posto connettore corrispondente a un indirizzo logico
SFC 72 I_GET Leggi dati da un partner di comunicazione interno alla propria stazione S7
SFC 73 I_PUT Scrivi dati in un partner di comunicazione interno alla propria stazione S7

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


836 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista delle SFC e degli SFB
36.1 Lista delle SFC, in ordine numerico

N. Abbr. Funzione
SFC 74 I_ABORT Annulla un collegamento esistente con un partner di comunicazione interno alla
propria stazione S7
SFC 78 OB_RT Rilevamento tempo di esecuzione programma OB
SFC 79 SET Imposta il campo bit in area periferia
SFC 80 RSET Resetta il campo bit in area periferia
SFC 81 UBLKMOV Copia variabile senza interruzioni
SFC 82 CREA_DBL Creazione di un blocco dati nella memoria di caricamento
SFC 83 READ_DBL Lettura da un blocco dati nella memoria di caricamento
SFC 84 WRIT_DBL Scrittura in un blocco dati nella memoria di caricamento
SFC 85 CREA_DB Creazione di un blocco dati
SFC 87 C_DIAG Determinazione dello stato attuale del collegamento
SFC 90 H_CTRL Incidenza sugli stati di funzionamento delle CPU H
SFC 99 WWW Attivazione/sincronizzazione di pagine Web personalizzate
SFC 100 SET_CLKS Impostazione ora e relativo stato
SFC 101 RTM Gestione di contatori del tempo di esercizio
SFC 102 RD_DPARA Lettura di parametri predefinici
SFC 105 READ_SI Lettura di risorse di sistema a occupazione dinamica
SFC 103 DP_TOPOL Definizione della topologia di bus in un sistema master DP
SFC 104 CiR Comando dell’operazione CiR
SFC 105 READ_SI Lettura di risorse di sistema a occupazione dinamica
SFC 107 ALARM_DQ Creazione di messaggi riferiti ai blocchi confermabili
SFC 108 ALARM_D Creazione di messaggi riferiti ai blocchi sempre confermati
SFC 109 PROTECT Attivazione e disativazione della protezione di accesso CPU
SFC 112 PN_IN Aggiornamento degli ingressi dell'interfaccia del programma utente dei
componenti PROFInet
SFC 113 PN_OUT Aggiornamento delle uscite dell'interfaccia del programma utente dei componenti
PROFInet
SFC 114 PN_DP Aggiornamento delle interconnessioni DP
SFC 126 SYNC_PI Aggiornamento dell'immagine parziale di processo degli ingressi in sincronismo
di clock
SFC 127 SYNC_PO Aggiornamento dell'immagine parziale di processo delle uscite in sincronismo di
clock

* La SFC 63 "AB_CALL" esiste solo nella CPU 614. La sua descrizione è riportata nel rispettivo manuale

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 837
Lista delle SFC e degli SFB
36.2 Lista delle SFC, in ordine alfabetico

36.2 Lista delle SFC, in ordine alfabetico

Abbr. N. Funzione
AB_CALL SFC 63 Richiama un blocco Assembler
ACT_TINT SFC 30 Attiva un allarme dall'orologio
ALARM_D SFC 108 Creazione di messaggi confermabili riferiti al blocco
ALARM_DQ SFC 107" Creazione di messaggi sempre confermabili riferiti al blocco
ALARM_S SFC 18 Crea segnalazioni riferite ai blocchi sempre confermate
ALARM_SC SFC 19 Determinazione dello stato di accettazione dell'ultimo messaggio ALARM_SQ
arrivato
ALARM_SQ SFC 17 Crea segnalazioni accettabili riferite ai blocchi
BLKMOV SFC 20 Ricopia una variabile
C_DIAG SFC_87 Determinazione dello stato attuale del collegamento
CAN_DINT SFC 33 Cancella un allarme di ritardo
CAN_TINT SFC 29 Cancella un allarme dall'orologio
CiR SFC 104 Comando dell’operazione CiR
COMPRESS SFC 25 Avvia compressione della memoria utente
CONTROL SFC 62 Interroga lo stato del collegamento che appartiene ad all'istanza di -
un'SFB di comunicazione
CREA_DB SFC 85 Crea un blocco dati
CREA_DBL SFC 82 Crea un blocco dati nella memoria di caricamento
CREAT_DB SFC 22 Crea un blocco dati
CTRL_RTM SFC 3 Avvia/arresta il contatore delle ore di esercizio
D_ACT_DP SFC 12 Disattivazione e attivazione di slave DP
DEL_DB SFC 23 Cancella un blocco dati
DEL_SI SFC 106 Abilitazione di risorse di sistema con occupazione dinamica
DIS_AIRT SFC 41 Ritarda elaborazione di eventi di allarme e di errori di asincronismo di priorità
maggiore
DIS_IRT SFC 39 Inibisci elaborazione di nuovi eventi di allarme e di errori di asincronismo
DIS_MSG SFC 10 Inibisci segnalazioni riferite ai blocchi e ai simboli e segnalazioni cumulative
tecnologiche
DMSK_FLT SFC 37 Smaschera eventi di errori di sincronismo
DP_PRAL SFC 7 Attiva un allarme di processo nel master DP
DP_TOPOL SFC 103 Definizione della topologia di bus in un sistema master DP
DPNRM_DG SFC 13 Leggi dei dati di diagnostica (diagnostica slave) di uno slave DP
DPRD_DAT SFC 14 Leggi dati coerenti di uno slave standard DP
DPSYC_FR SFC 11 Sincronizza gruppi di slave DP
DPWR_DAT SFC 15 Scrivi dati in modo coerente su uno slave standard DP
EN_AIRT SFC 42 Abilita elaborazione di eventi di allarme e di errori di asincronismo di maggiore
priorità
EN_IRT SFC 40 Abilita elaborazione di nuovi eventi di allarme e di errori di asincronismo
EN_MSG SFC 9 Abilita segnalazioni riferite ai blocchi e ai simboli e segnalazioni cumulative
tecnologiche

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


838 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista delle SFC e degli SFB
36.2 Lista delle SFC, in ordine alfabetico

Abbr. N. Funzione
FILL SFC 21 Inizializza un campo
GADR_LGC SFC 5 Determina l'indirizzo di base logico di una unità
GD_RCV SFC 61 Ricezione programmata di un pacchetto GD ricevuto
GEO_LOG SFC 70 Determinazione dell'indirizzo iniziale di un'unità
GD_SND SFC 60 Trasmissione programmata di un pacchetto GD
H_CTRL SFC 90 Incide sugli stati di funzionamento delle CPU H
I_ABORT SFC 74 Annulla un collegamento esistente con un partner di comunicazione interno alla
propria stazione S7
I_GET SFC 72 Leggi dati da un partner di comunicazione interno alla propria stazione S7
I_PUT SFC 73 Scrivi dati in un partner di comunicazione interno alla propria stazione S7
LOG_GEO SFC 71 Determinazione del posto connettore corrispondente a un indirizzo logico
LGC_GADR SFC 49 Determina il posto connettore appartenente ad un indirizzo logico
MP_ALM SFC 35 Attiva allarme di multicomputing
MSK_FLT SFC 36 Maschera eventi di errore di sincronismo
OB_RT SFC 78 Rilevazione del tempo di esecuzione programma dell'OB
PARM_MOD SFC 57 Parametrizza un'unità
PN_DP SFC 114 Aggiornamento delle interconnessioni DP
PN_IN SFC 112 Aggiornamento degli ingressi dell'interfaccia del programma utente dei
componenti PROFInet
PN_OUT SFC 113 Aggiornamento delle uscite dell'interfaccia del programma utente dei componenti
PROFInet
PROTECT SFC 109 Attivazione e disativazione della protezione di accesso CPU
QRY_DINT SFC 34 Interroga stato di un allarme di ritardo
QRY_TINT SFC 31 Interroga un allarme dall'orologio
RD_DPARA SFC 102 Legge parametri predefiniti
RD_DPARM SFC 54 Legge parametri predefiniti
RD_LGADR SFC 50 Determina tutti gli indirizzi logici di un'unità
RD_REC SFC 59 Leggi un set di dati dalla periferia
RD_SINFO SFC 6 Leggi informazione di avvio dell'OB attuale
RDSYSST SFC 51 Leggi lista di stato di sistema
RE_TRIGR SFC 43 Retrigger del controllo del tempo di ciclo
READ_CLK SFC 1 Leggi orologio
READ_DBL SFC 83 Lettura di un blocco dati nella memoria di caricamento
READ_ERR SFC 38 Leggi registro di stato eventi
READ_RTM SFC 4 Lettura del contatore ore di esercizio
READ_SI SFC 105 Lettura di risorse di sistema con occupazione dinamica
REPL_VAL SFC 44 Sostituisci un valore in ACCU 1
RSET SFC 80 Resetta campo di bit nell'area periferia
RTM SFC 101 Gestione di contatori del tempo di esercizio
SET SFC 79 Imposta campo di bit nell'area periferia
SET_CLK SFC 0 Imposta orologio
SET_CLKS SFC 100 Imposta orologio e relativo stato

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 839
Lista delle SFC e degli SFB
36.2 Lista delle SFC, in ordine alfabetico

Abbr. N. Funzione
SET_RTM SFC 2 Imposta il contatore del tempo di esercizio
SET_TINT SFC 28 Imposta un allarme dall'orologio
SNC_RTCB SFC 48 Sicronizza orologi slave
SRT_DINT SFC 32 Avvia allarme di ritardo
STP SFC 46 Conduci CPU nello stato di funzionamento STOP
SYNC_PI SFC 126 Aggiornamento dell'immagine parziale di processo degli ingressi
SYNC_PO SFC 127 Aggiornamento dell'immagine parziale di processo delle uscite
TEST_DB SFC 24 Test di un blocco dati
TIME_TCK SFC 64 Time Tick
UBLKMOV SFC 81 Copia la variabile senza interruzioni
UPDAT_PI SFC 26 Aggiorna l'immagine di processo degli ingressi
UPDAT_PO SFC 27 Aggiorna uscite sulle unità periferiche
WAIT SFC 47 Ritarda l'elaborazione
WR_DPARM SFC 56 Scrivi parametri predefiniti
WRIT_DBL SFC 84 Scrittura in un blocco dati nella memoria di caricamento
WR_PARM SFC 55 Scrivi parametri dinamici
WR_REC SFC 58 Scrivi set di dati nella periferia
WR_USMSG SFC 52 Scrivi evento di diagnostica definito dall'utente nel buffer di diagnostica
WWW SFC 99 Attivazione/sincronizzazione di pagine Web personalizzate
X_ABORT SFC 69 Annullamento di un collegamento con un partner di comunicazione esterno alla
propria stazione S7
X_GET SFC 67 Leggi dati da un partner di comunicazione esterno alla propria stazione S7
X_PUT SFC 68 Scrivi dati in un partner di comunicazione esterno alla propria stazione S7
X_RCV SFC 66 Ricevi dati da un partner di comunicazione esterno alla propria stazione S7
X_SEND SFC 65 Invia dati ad un partner di comunicazione esterno alla propria stazione S7

* La SFC 63 "AB_CALL" esiste solo nella CPU 614. La sua descrizione è riportata nel rispettivo manuale.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


840 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista delle SFC e degli SFB
36.3 Lista degli SFB, in ordine numerico

36.3 Lista degli SFB, in ordine numerico

N. Abbr. Funzione
SFB 0 CTU Conta in avanti
SFB 1 CTD Conta all'indietro
SFB 2 CTUD Conta in avanti e all'indietro
SFB 3 TP Crea un impulso
SFB 4 TON Crea ritardo all'inserzione
SFB 5 TOF Crea ritardo alla disinserzione
SFB 8 USED Trasmissione incoordinata di dati
SFB 9 URCV Ricezione incoordinata di dati
SFB 12 BSEND Trasmissione di dati a blocchi
SFB 13 BRCV Ricezione di dati a blocchi
SFB 14 GET Leggi dati da una CPU remota
SFB 15 PUT Scrivi dati in una CPU remota
SFB 16 PRINT Invia dati a una stampante
SFB 19 START Esegui un nuovo avviamento (avviamento a caldo) o avviamento a freddo in un
dispositivo remoto
SFB 20 STOP Commuta un dispositivo remoto nello stato di funzionamento STOP
SFB 21 RESUME Esegui un riavviamento in una unità remota
SFB 22 STATUS Interroga lo stato del dispositivo di un partner remoto
SFB 23 USTATUS Ricezione incoordinata di uno stato di dispositivo remoto
SFB 29 HS_COUNT Contatore (high speed counter, integrated function)
SFB 30 FREQ_MES Misuratore di frequenza (frequency meter, integrated function)
SFB 31 NOTIFY_8P Crea segnalazioni riferite ai blocchi senza visualizzazione della conferma
SFB 32 DRUM Realizza un dispositivo di avanzamento a passi
SFB 33 ALARM Crea segnalazioni riferite ai blocchi con visualizzazione della conferma
SFB 34 ALARM_8 Crea segnalazioni riferite ai blocchi senza variabili per otto segnali
SFB 35 ALARM_8P Crea segnalazioni riferite ai blocchi con variabili per otto segnali
SFB 36 NOTIFY Crea segnalazioni riferite ai blocchi senza visualizzazione della conferma
SFB 37 AR_SEND Trasmetti dati d'archivio
SFB 38 HSC_A_B Contatore A/B (integrated function)
SFB 39 POS Posizionamento (integrated function)
1)
SFB 41 CONT_C Regolazione continua
1)
SFB 42 CONT_S Regolazione a passi
SFB 43 PULSEGEN Formazione di impulsi
1)

2)
SFB 44 ANALOG Posizionamento con uscita analogica
2)
SFB 46 DIGITAL Posizionamento con uscita digitale
2)
SFB 47 COUNT Comando del contatore
SFB 48 FREQUENC Comando della misurazione della frequenza
2)

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 841
Lista delle SFC e degli SFB
36.3 Lista degli SFB, in ordine numerico

N. Abbr. Funzione
2)
SFB 49 PULSE Comando della modulazione dell'ampiezza degli impulsi
SFB 52 RDREC Lettura di un set di dati
SFB 53 WRREC Scrittura di un set di dati
SFB 54 RALRM Ricezione di un allarme
SFB 60 SEND_PTP Invio di dati (ASCII, 3964(R))
2)

2)
SFB 61 RCV_PTP Ricezione di dati (ASCII, 3964(R))
SFB 62 RES_RCVB Cancellazione del buffer ricevente (ASCII, 3964(R))
2)

2)
SFB 63 SEND_RK Invio di dati (RK 512)
SFB 64 FETCH_RK Prelievo di dati (RK 512)
2)

SFB 65 SERVE_RK Ricezione e messa a disposizione di dati (RK 512)


2)

SFB 73 RCVREC Ricezione set di dati


SFB 74 PRVREC Messa a disposizione set di dati
SFB 75 SALRM Invio allarme al master DP
SFB 81 RD_DPAR Lettura di parametri predefiniti
SFB 104 IP_CONF Impostazione della configurazione IP
* L'SFB 29 "HS_COUNT" e l'SFB 30 "FREQ_MES" sono presenti solo sulla
CPU 312 IFM e sulla CPU 314 IFM. L'SFB 38 "HSC_A_B" e l'SFB 39 " POS" sono presenti solo sulla CPU 314 IFM. La
loro descrizione è riportata in /73/ .

1) Gli SFB 41 "CONT_C", 42 "CONT_S" e 43 "PULSEGEN" sono presenti solo sulla


CPU 314 IFM

2) Gli SFB da 44 a 49 e da 60 a 65 sono presenti solo sulla S7-300C

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


842 Manuale di riferimento, 04/2017, A5E41911986-AA
Lista delle SFC e degli SFB
36.4 Lista degli SFB, in ordine alfabetico

36.4 Lista degli SFB, in ordine alfabetico

Abbr. N. Funzione
ALARM SFB 33 Crea segnalazioni riferite ai blocchi con visualizzazione della conferma
ALARM_8 SFB 34 Crea segnalazioni riferite ai blocchi senza variabili per otto segnali
ALARM_8P SFB 35 Crea segnalazioni riferite ai blocchi con variabili per otto segnali
2)
ANALOG SFB 44 Posizionamento con uscita analogica
AR_SEND SFB 37 Trasmetti dati d'archivio
BRCV SFB 13 Ricezione di dati a blocchi
BSEND SFB 12 Trasmissione di dati a blocchi
1)
CONT_C SFB 41 Regolazione continuativa
1)
CONT_S SFB 42 Regolazione a passi
2)
COUNT SFB 47 Comando del contatore
CTD SFB 1 Conta in avanti
CTU SFB 0 Conta all'indietro
CTUD SFB 2 Conta in avanti e all'indietro
2)
DIGITAL SFB 46 Posizionamento con uscita digitale
DRUM SFB 32 Realizza un dispositivo di avanzamento a passi
2)
FETCH_RK SFB 64 Prelievo di dati (RK 512)
*
FREQ_MES SFB 30 Misuratore di frequenza (frequency meter, integrated function)
2)
FREQUENC SFB 48 Comando della misurazione della frequenza
GET SFB 14 Leggi dati da una CPU remota
HSC_A_B SFB 38 Contatore A/B (integrated function)
HS_COUNT SFB 29 Contatore (high speed counter, integrated function)
IP_CONF SFB 104 Impostazione della configurazione IP
NOTIFY SFB 36 Crea segnalazioni riferite ai blocchi senza visualizzazione della conferma
NOTIFY_8P SFB 31 Crea segnalazioni riferite ai blocchi senza visualizzazione della conferma
POS SFB 39 Posizionamento (integrated function)
PRINT SFB 16 Trasmetti dati a una stampante
PRVREC SFB 74 Messa a disposizione set di dati
2)
PULSE SFB 49 Comando della modulazione dell'ampiezza degli impulsi
1)
PULSEGEN SFB 43 Formazione di impulsi
PUT SFB 15 Scrivi dati in una CPU remota
RALRM SFB 54 Ricezione di un allarme
RD_DPAR SFB 81 Lettura di parametri predefiniti
RDREC SFB 52 Lettura di un set di dati
2)
RCV_PTP SFB 61 Ricezione di dati (ASCII, 3964(R))
RCVREC SFB 73 Ricezione set di dati
2)
RES_RCVB SFB 62 Cancellazione del buffer ricevente (ASCII, 3964(R))
RESUME SFB 21 Esegui un riavviamento in un dispositivo remoto
SALRM SFB 75 Trasmetti allarme al master DP

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 843
Lista delle SFC e degli SFB
36.4 Lista degli SFB, in ordine alfabetico

Abbr. N. Funzione
2)
SEND_PTP SFB 60 Invio di dati (ASCII, 3964(R))
2)
SEND_RK SFB 63 Invio di dati (RK 512)
2)
SERVE_RK SFB 65 Ricezione e messa a disposizione di dati (RK 512)
START SFB 19 Esegui un nuovo avviamento (avviamento a caldo) o avviamento a freddo in
un dispositivo remoto
STATUS SFB 22 Interroga lo stato del dispositivo di un partner remoto
STOP SFB 20 Commuta un dispositivo remoto nello stato di funzionamento STOP
TOF SFB 5 Crea ritardo alla disinserzione
TON SFB 4 Crea ritardo all'inserimento
TP SFB 3 Crea un impulso
URCV SFB 9 Ricezione incoordinata di dati
USEND SFB 8 Trasmissione incoordinata di dati
USTATUS SFB 23 Ricezione incoordinata di uno stato di dispositivo remoto
WRREC SFB 53 Scrittura di un set di dati
* L'SFB 29 "HS_COUNT" e l'SFB 30 "FREQ_MES" sono presenti solo sulla CPU 312 IFM e sulla CPU 314 IFM. L'SFB 38
"HSC_A_B" e l'SFB 39 "POS" sono presenti solo sulla CPU 314 IFM. La loro descrizione è riportata in /73/.

1) Gli SFB 41 "CONT_C", 42 "CONT_S" e 43 "PULSEGEN" sono presenti solo sulla CPU 314 IFM.

2) Gli SFB da 44 a 49 e da 60 a 65 sono presenti solo sulla S7-300C.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


844 Manuale di riferimento, 04/2017, A5E41911986-AA
Bib lio g ra fia
/30/ Getting Started:
Primi passi con STEP 7
/70/ Manuale: Sistema di automazione S7-300, Configurazione e dati della CPU
/71/ Manuale di riferimento: S7-300 Sistema di automazione S7-300 Caratteristiche delle unità
modulari
/72/ Lista operazioni: Sistema di automazione S7-300
/101/ Manuale di riferimento: Sistema di automazione S7-400, Caratteristiche delle unità modulari
/102/ Guida tascabile: Lista operazioni S7-400, CPU 412, 413, 414, 416
/231/ Manuale: Configurazione dell'hardware e progettazione di collegamenti STEP 7
/232/ Manuale: AWL per S7-300/400, Programmazione di blocchi
/233/ Manuale: KOP per S7-300/400, Programmazione di blocchi
/234/ Manuale: Programmazione con STEP 7
/236/ Manuale: FUP per S7-300/400, Programmazione di blocchi
/250/ Manuale: SCL per S7-300/400, Programmazione di blocchi
/251/ Manuale: GRAPH per S7-300/400, Programmazione di comandi sequenziali
/252/ Manual: HiGraph for S7-300 and S7-400, Programming State Graphs (disponibile solo in
lingua inglese)
/270/ Manuale: S7-PDIAG per S7-300/400, Progettazione della diagnostica di processo per KOP,
FUP e AWL
/350/ Manuale utente: Standard PID Control

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 845
Bibliografia

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


846 Manuale di riferimento, 04/2017, A5E41911986-AA
Glossario

Accumulatore
Il termine accumulatore indica registri della CPU aventi la funzione di memoria intermedia per
funzioni di caricamento, trasferimento, confronto, calcolo e conversione.

Allarme
SIMATIC S7 conosce 10 differenti classi di priorità che regolano l'elaborazione del programma
utente. In queste classi rientrano p. es. gli allarmi e gli interrupt di processo. Al verificarsi di un errore
il sistema operativo richiama automaticamente un blocco organizzativo corrispondente, nel quale
l'utente può programmare la reazione desiderata (p. es. in un FB).

Allarme di diagnostica
Tramite gli allarmi di diagnostica le unità predisposte per la diagnostica segnalano alla unità centrale
gli errori di sistema riconosciuti.

Allarme di ritardo
L'allarme di ritardo fa parte di una delle classi di priorità di SIMATIC S7 e viene generato al termine di
un intervallo determinato nel programma utente. Successivamente viene elaborato il corrispondente
OB.

Avviamento a freddo
Tipo di avviamento della CPU. Questo tipo di avviamento a freddo fa sì che i blocchi dati generati con
le SFC nella memoria principale vengano cancellati, e che i restanti blocchi di dati abbiano il valore
reimpostato per default nella memoria di caricamento. L’immagine di processo, i tempi, i contatori ed
i merker vengono resettati indipendentemente dal fatto che siano stati parametrizzati come retentivi.
Nell’avviamento a freddo la CPU elabora l’OB 102, viene letta l'immagine di processo degli ingressi e
il programma utente viene elaborato iniziando dal primo comando nell'OB 1.

AWL
Lista istruzioni

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 847
Glossario

Blocco dati
Blocchi dati (DB) sono aree dati nel programma utente, che contengono dati dell'utente. Esistono
blocchi dati globali, ai quali si può accedere da tutti i blocchi di codice, ed esistono blocchi dati di
istanza, che sono assegnati ad un determinato richiamo dell'FB.

Blocco di codice
Nel SIMATIC S7 il blocco di codice è un blocco contenente una parte del programma utente STEP 7.
Al contrario un blocco dati contiene solo dati. Esistono i seguenti blocchi di codice: blocchi
organizzativi (OB), blocchi funzionali (FB), funzioni (FC), blocchi funzionali di sistema (SFB), blocchi
funzionali standard (SFB), funzioni di sistema (SFC).

Blocco funzionale di comunicazione


I blocchi funzionali di comunicazione (CFB) sono blocchi funzionali di sistema (SFB) per lo scambio
dati e per la gestione del programma.
Esempi di scambio dati: SEND, RECEIVE, GET.
Esempi di gestione del programma: impostazione dell'unità centrale del partner di comunicazione
nello stato STOP, interrogazione dello STATUS dell'unità centrale del partner di comunicazione.

Blocco funzionale di sistema


Un blocco funzionale di sistema (SFB) è un blocco funzionale integrato nel sistema operativo della
CPU, che può essere richiamato, se necessario, nel programma utente STEP 7.

Blocco funzionale standard


I blocchi funzionali standard sono blocchi funzionali fornibili dalla Siemens per risolvere problemi
complessi.

Blocco organizzativo
I blocchi organizzativi costituiscono l'interfaccia tra il sistema operativo della CPU e il programma
utente. Nei blocchi organizzativi viene definita la sequenza nella quale viene elaborato il programma
utente.

Buffer di diagnostica
Il buffer di diagnostica è un'area di memoria tamponata nell'unità centrale, nella quale sono
depositati tutti gli eventi di diagnostica secondo la sequenza nella quale si sono verificati.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


848 Manuale di riferimento, 04/2017, A5E41911986-AA
Glossario

Circuito (loop) di regolazione


Con "circuito di regolazione" si indica il collegamento dell'uscita del sistema controllato (grandezza
regolata) con l'ingresso del regolatore e dell'uscita del regolatore (grandezza controllante) con
l'ingresso del processo, in modo che il regolatore e il processo formino un circuito attivo chiuso.

Classe di priorità
Il sistema operativo di una CPU offre un massimo di 28 classi di priorità, alle quali sono assegnati
differenti blocchi organizzativi (OB). Le classi di priorità determinano quali OB interrompono altri OB.
Se una classe di priorità comprende più OB, questi non si interrompono reciprocamente ma vengono
elaborati in successione.

Componente I
Componente integrato del regolatore.
Dopo una variazione a gradino della grandezza regolata (deviazione di regolazione) la grandezza
regolata di uscita varia a forma di rampa nel tempo, e cioè con un tasso di variazione proporzionale al
fattore di azione integrale KI (= 1/TI). Il componente integrale fa sì che nel circuito di regolazione
chiuso la grandezza di uscita venga regolata fino a quando la differenza di regolazione è diventata
zero.

Comunicazione a due vie


Nello scambio dati tramite SFB di comunicazione si parla di comunicazione a due vie se esiste un
SFB sia sull'unità locale che sull'unità remota, p. es. con "USEND" e "URCV".

Comunicazione, a una via


Nello scambio dati tramite SFB di comunicazione si parla di comunicazione a una via se esiste un
SFB solo sull'unità locale, p. es. nell'SFB "GET".

Controllore visualizzato
Il controllore visualizzato è un dispositivo sul quale vengono visualizzati i risultati del processo.

Costante
Le costanti sono nomi simbolici che rappresentano valori costanti nei blocchi di codice. Le costanti
vengono utilizzate per aumentare la leggibilità del programma. Esempio: invece di indicare
direttamente un valore (p. es. 10), viene indicato in un blocco funzionale il "numero max delle
esecuzioni di un ciclo"; al richiamo di questo blocco viene poi indicato il valore della costante (p. es.
10).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 849
Glossario

Dati di diagnostica
I dati di diagnostica sono informazioni contenute nei messaggi di errore (evento di diagnostica,
registrazione del tempo).

Diagnostica è il termine generico che comprende l'intera diagnostica di sistema, la diagnostica di


errori di processo e la diagnostica definita dall'utente.

Diagnostica definita dall'utente


Contiene l'identificazione e l'analisi di eventi di diagnostica definiti dall'utente.

Dichiarazione di variabili
La Dichiarazione di variabili contiene la definizione di un nome simbolico, di un tipo di dato, ed
eventualmente valore di preinizializzazione, indirizzo e commento.

Dispositivo di regolazione (control device)


Totalità di dispositivo di controllo automatico, apparecchiatura di attuazione e sensore (attrezzatura
di misurazione) per la grandezza regolata.

Dispositivo remoto
Dispositivi remoti sono dispositivi, p. es. stampante o computer, che vengono raggiunti attraverso
una rete. Essi si differenziano dai dispositivi locali per l'indirizzo di rete, che deve essere introdotto
durante l'installazione del dispositivo.

Elaborazione del programma comandata da eventi


Nell'elaborazione di programma comandata da eventi, il programma utente in ciclo libero viene
interrotto da eventi di avvio (classi di priorità). Al verificarsi di un tale evento di avvio, il blocco in
elaborazione viene interrotto prima della successiva istruzione e viene richiamato un blocco
organizzativo corrispondente. Successivamente viene ravviata l'elaborazione ciclica di programma a
partire dal punto in cui era stata interrotta.

Errore cumulativo
La visualizzazione degli errori mediante spie luminose sul lato frontale dell'unità è prevista solo in
S7-300. In casi di errore si illumina la spia luminosa dell'unità nella quale si è verificato l'errore (errori
interni e errori esterni).

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


850 Manuale di riferimento, 04/2017, A5E41911986-AA
Glossario

Errore del tempo di esecuzione


Errori che si presentano durante l'elaborazione del programma utente nel controllore programmabile
(perciò non nel processo).

Errore di asincronismo
Errori di asincronismo sono errori a tempo di esecuzione che non possono essere attribuiti a nessun
punto particolare del programma utente. (es. guasto di alimentazione, superamento del tempo di
ciclo). Al verificarsi di questi errori il sistema operativo richiama gli OB corrispondenti nei quali
l'utente può programmare una reazione.

Errore di sincronismo
Errori di sincronismo sono errori a tempo di esecuzione che possono essere attribuiti ad una
determinata parte del programma utente (errore nell'accesso ad una determinata unità periferica). Al
verificarsi di questi errori il sistema operativo richiama i corrispondenti blocchi organizzativi nei quali
l'utente può programmare una determinata reazione.

Errori di sistema sono errori che possono presentarsi all'interno di un controllore programmabile
(dunque non nel processo). Sono errori di sistema p. es. gli errori di programma nella CPU e i guasti
sulle unità.

Errore programma utente


Errori che possono verificarsi durante l'elaborazione del programma utente in un sistema di
automazione SIMATIC S7 (a differenza degli errori di processo). Il sistema operativo gestisce gli
errori mediante OB di errore (sistema di esecuzione), mediante la parola di stato e mediante i
parametri di uscita delle funzioni di sistema.

Eventi di avvio
Eventi di avvio sono eventi definiti come p. es. errori o allarmi che inducono il sistema operativo ad
avviare un corrispondente blocco organizzativo.

Eventi di diagnostica definiti dall'utente


Eventi di diagnostica definiti dall'utente sono eventi di diagnostica riconosciuti dall'utente che
possono essere immessi nel buffer di diagnostica (tramite SFC 52).

Eventi di diagnostica di sistema


Registrazioni nel buffer di diagnostica della CPU che vengono inizializzate attraverso il sistema
operativo.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 851
Glossario

Funzioni di sistema
Una funzione di sistema (SFC) è una funzione integrata nel sistema operativo della CPU che può
essere richiamata dall'utente in caso di necessità.

Funzioni standard
Funzioni standard offerte dalla Siemens per la soluzione di problemi complessi.

Gestione di errori mediante OB


Se il programma di sistema riconosce un errore (es. errore di accesso all'interno di S7), esso
provvede a richiamare l'OB previsto per questo determinato caso. In questo OB può essere definito
mediante programma utente il comportamento della CPU in caso di errore.

Indirizzamento
Assegnamento di un indirizzo nel programma utente. Gli indirizzi possono essere assegnati a
determinati operandi o campi di operandi (p. es: ingresso E12.1; parola di merker MW25).

Indirizzo
Un indirizzo contrassegna un determinato operando o un campo di operandi; es: ingresso E12.1;
parola di merker MW25; blocco dati DB3.

Informazione di avvio
Se il sistema operativo avvia un blocco organizzativo, il sistema operativo trasmette un'informazione
di avvio, che può essere analizzata nel programma utente.

Informazione di evento di avvio


Parte di un blocco organizzativo (OB). Essa informa dettagliatamente l'utente S7 sull'evento che ha
causato il richiamo dell'OB. Un'informazione di evento di avvio contiene, oltre alla ID di evento
(comprendente la classe, il codice e il numero), una registrazione del tempo di evento ed
informazioni supplementari (es. indirizzo dell'unità di segnale che ha causato l'interruzione).

Interrupt di processo
Un interrupt di processo viene provocato da unità periferiche in grado di emettere interrupt a causa di
un determinato evento nel processo. L'interrupt di processo viene segnalato alla CPU e, a seconda
della priorità assegnata a tale interrupt, viene elaborato il corrispondente blocco organizzativo.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


852 Manuale di riferimento, 04/2017, A5E41911986-AA
Glossario

Istruzione
Un'istruzione (STEP 5 o STEP 7) è la più piccola unità autonoma di un programma utente creato in
un linguaggio testuale e rappresenta una sorta di direttiva di lavoro per il processore.

Linguaggio di programmazione STEP 7


STEP 7 è il linguaggio di programmazione per i controllori SIMATIC S7. Il programmatore può
utilizzare STEP 7 in diversi tipi di rappresentazione: a) lista istruzioni b) schema logico, c) schema a
contatti.

Lista istruzioni (AWL)


La rappresentazione del programma sotto forma di Lista istruzioni è il linguaggio assembler di STEP
5 e STEP 7. Se un programma viene programmato in AWL, le singole istruzioni corrispondono alle
fasi di lavoro in base alle quali la CPU elabora il programma.

Merker
Un merker è una memoria di 1 bit. Con le operazioni fondamentali di STEP 7 l'accesso al merker è
possibile sia in lettura sia in scrittura (in bit, byte, a una parola e a due parole). Il campo dei merker
può essere utilizzato dall'utente per memorizzare risultati intermedi.

Modulazione di ampiezza impulsi


La modulazione di ampiezza impulsi è un procedimento per influire sulla grandezza regolante
nell'uscita di commutazione. Il valore calcolato in percento viene trasformato in una durata di
inserimento proporzionale (ED) dell'uscita di regolazione interessata, p. es. è 100 % ED = TA
o = CYCLE.

Messaggio di diagnostica
Il messaggio di diagnostica è formato da un evento di diagnostica e viene trasmesso dall'unità
centrale al dispositivo di visualizzazione.

Messaggio di diagnostica definito dall'utente


Il messaggio di diagnostica definito dall'utente è un messaggio di subentro di un evento di
diagnostica definito dall'utente.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 853
Glossario

Nuovo avviamento
All'avviamento di una unità centrale (p. es. dopo l'azionamento del selettore dei modi operativi da
STOP a RUN o con tensione di rete ON) l'elaborazione ciclica del programma (OB 1) elabora prima
il blocco organizzativo OB 101 (riavviamento; solo con S7-400) o il blocco organizzativo OB 101
(avviamento a freddo). Nel nuovo avviamento viene letta l'immagine di processo degli ingressi e il
programma utente STEP 7 viene elaborato iniziando dal primo comando nell'OB 1.

Numero della segnalazione


Il numero della segnalazione è un numero univoco che viene assegnato ad una segnalazione,
attraverso il quale la segnalazione stessa può essere identificata, p. es. per la conferma.

OB 1
L'OB 1 è l'interfaccia tra l'utente e il programma di sistema per l'elaborazione ciclica del programma.

OB di avviamento
Gli OB di avviamento sono blocchi organizzativi che vengono richiamati dal sistema di esecuzione in
caso di "Avviamento a freddo", "Nuovo avviamento (avviamento a caldo)" oppure "Riavviamento"
("riavviamento" solo in S7-400). Nell'OB di avviamento l'utente può ad esempio predefinire quale
avviamento deve essere richiamato a seguito della mancanza della tensione di rete.
Sono disponibili gli OB di avviamento seguenti:
• OB100 al nuovo avviamento (avviamento a caldo)
• OB101 al riavviamento
• OB102 all'avviamento a freddo

OB di errore
Gli OB di errore sono blocchi organizzativi con l'ausilio dei quali l'utente può programmare la
reazione ad errori. Una reazione programmata ad un errore è tuttavia possibile solo se l'errore non
conduce all'arresto del dispositivo di automazione. Ai diversi tipi di errore corrispondono differenti
OB di errore (es. OB di errore per errori di indirizzamento o per errori di accesso in S7).

Organi attuatori proporzionali


! Modulazione di ampiezza impulsi

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


854 Manuale di riferimento, 04/2017, A5E41911986-AA
Glossario

Parametri

1. Variabile di un blocco di codice di STEP 7


(cfr. parametri di blocco, parametri attuali, parametri formali)
2. Variabile per l'impostazione del comportamento di un'unità
(una o più per ciascuna unità).
Ogni unità possiede, nello stato di fornitura, un'impostazione base, che può essere modificata
con STEP 7.
Esistono due tipi di parametri:
Parametri statici e dinamici (parametri, statici/parametri, dinamici).

Parametri attuali
I parametri attuali sostituiscono i parametri formali al richiamo di un blocco funzionale (FB) o di una
funzione (FC). Es.: Il parametro formale "REQ" viene sostituito dal parametro attuale "E 3.6".

Parametri del regolatore (control parameter)


Parametri del regolatore sono valori caratteristici per l'adattamento statico e dinamico del
comportamento del regolatore alle caratteristiche assegnate del sistema regolato o del processo.

Parametri di ingresso
I parametri di ingresso sono presenti solo nelle funzioni e nei blocchi funzionali. Con l'ausilio dei
parametri di ingresso vengono trasferiti dati per l'elaborazione al blocco richiamato.

Parametri di unità
I parametri di unità sono valori con i quali può essere impostato il comportamento delle unità. Una
parte di questi parametri (specifici dell'unità) può essere modificato nel programma utente.

Parametri dinamici
I parametri dinamici delle unità, a differenza dei parametri statici, possono essere modificati durante
il servizio mediante richiamo di una SFC, p. es. valori limite di un'unità di ingresso analogica.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 855
Glossario

Parametri formali
Un parametro formale è un segnaposto per un parametro "reale" (parametro attuale) nei blocchi di
codice parametrizzabili. In FB e FC i parametri formali vengono dichiarati dall'utente, in SFB e in
SFC essi sono già disponibili. Al richiamo del blocco viene assegnato un parametro attuale al
parametro formale, per cui il blocco richiamato funziona con il suo valore attuale. I parametri formali
fanno parte dei dati locali del blocco e sono suddivisi in parametri di ingresso, di uscita e di transito.

Parametri statici
I parametri statici delle unità, a differenza dei parametri dinamici, non possono essere modificati nel
programma utente, bensì solo nell'applicazione STEP 7, p. es. il ritardo di ingresso di un'unità di
ingresso digitale.

Priorità
Con la priorità, che viene assegnata ai blocchi organizzativi dall'utente, viene determinata la
sequenza di interruzione degli eventi nel programma utente. Gli eventi di priorità superiore
interrompono gli eventi di priorità inferiore.

Priorità di OB
Il sistema operativo della CPU distingue diverse classi di priorità (es. elaborazione ciclica,
elaborazione comandata da interrupt di processo). A ogni classe di priorità sono assegnati blocchi
organizzativi (OB) nei quali l'utente S7 può programmare una reazione. Gli OB hanno diverse
priorità. Tali priorità determinano la sequenza di elaborazione o l'interruzione reciproca in caso di più
errori contemporanei. Le priorità preimpostate nella versione standard possono essere modificate
dall'utente S7.

Progettazione delle segnalazioni


Con la progettazione delle segnalazioni, le segnalazioni e i tipi di segnalazione possono essere
progettati ed elaborati con i propri testi ed attributi: qui appartengono le segnalazioni relative ai
blocchi, le segnalazioni relative ai simboli e i messaggi di diagnostica definiti dall'utente.

Programma utente
Il programma utente contiene tutte le istruzioni e dichiarazioni nonché i dati per l'elaborazione dei
segnali, con i quali un impianto o un processo può essere controllato. Esso è assegnato ad un'unità
programmabile (p. es. CPU, FM) e può essere strutturata in unità più piccole (blocchi).

Programmazione simbolica
Il linguaggio di programmazione STEP 7 permette l'impiego di sequenze di caratteri simbolici al
posto di operandi STEP 7. Ciò significa che, per esempio, un operando STEP 7 "A 1.1" può essere
sostituito da "valvola 17".
La cosiddetta lista dei simboli in STEP 7 stabilisce il collegamento tra l'operando e la sequenza di
caratteri simbolici assegnati.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


856 Manuale di riferimento, 04/2017, A5E41911986-AA
Glossario

Reazione agli errori


Reazione ad un errore a tempo di esecuzione. Il sistema operativo può reagire nei modi seguenti: il
sistema di automazione viene portato nello stato di STOP, o viene richiamato un blocco
organizzativo nel quale l'utente può programmare una reazione, oppure viene visualizzato l'errore.

Registrazione di diagnostica
La registrazione definisce un evento di diagnostica nel buffer di diagnostica.

Regolatore
Un regolatore è un dispositivo che registra in permanenza la deviazione di regolazione
(comparatore) e che genera una funzione - se necessario, in funzione del tempo - per la formazione
del segnale di regolazione (grandezza di uscita), con l'obiettivo di far scomparire rapidamente e
senza sovraelongazione la deviazione di regolazione.

Regolatore a due punti


Con "regolatore a due punti" si indica un regolatore, nel quale la grandezza di regolazione può
assumere solo due stati (p. es. on - off).

Regolatore a passi
Il regolatore a passi è un regolatore quasi continuo con uscita discontinua (e servoazionamento a
motore con effetto I). Il segnale di regolazione ha un comportamento a tre punti, p. es. verso l'alto -
arresto - verso il basso, oppure chiusura - stabilizzazione - apertura
(vedere Regolatore a tre punti).

Regolatore a tre punti (three step controller)


Regolatore, nel quale la grandezza di uscita può assumere solo tre stati discreti: p. es.
"riscaldamento - disinserimento - raffreddamento" o "a destra - arresto - a sinistra"
(vedere regolatore a passi).

Regolatore continuativo
Nel regolatore continuativo ogni variazione della deviazione di regolazione comporta una variazione
della grandezza di regolazione e quest'ultima può assumere qualsiasi valore nel campo di
regolazione.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 857
Glossario

Regolatore P
Algoritmo per il calcolo di un segnale di uscita, nel quale sussiste un rapporto proporzionale tra la
deviazione di regolazione e la variazione della grandezza di disturbo. Caratteristiche: deviazione di
regolazione stazionaria, non utilizzabile su sistemi di tempo morto.

Regolatore PI
Algoritmo per il calcolo di un segnale di uscita, nel quale la variazione della grandezza di disturbo è
costituita da un componente proporzionale alla deviazione di regolazione e da un componente I, che
è proporzionale al valore della deviazione di regolazione e del tempo. Caratteristiche: nessuna
deviazione di regolazione rimanente, correzione più rapida rispetto al regolatore I, adatta a tutti i
sistemi regolati.

Regolatore PID
Algoritmo per il calcolo di un segnale di uscita, che viene formato mediante moltiplicazione,
integrazione e differenziazione dalla deviazione di regolazione. L'algoritmo PID è eseguito in una
pura ! struttura parallela. Caratteristica: elevata qualità di regolazione raggiungibile, fino a quando il
tempo morto del sistema regolato non è maggiore della somma delle altre costanti di tempo.

Regolazione integrata
Una regolazione integrata è un blocco controllore finito, archiviato nel sistema operativo, che
contiene le principali funzioni di un'applicazione di regolazione. L'utente può inserire o disinserire le
funzioni con l'"interruttore di software".

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


858 Manuale di riferimento, 04/2017, A5E41911986-AA
Glossario

Regolazione di miscela
La regolazione di miscela è una struttura di regolazione, nella quale il valore di riferimento per la
quantità intera SP viene convertito percentualmente nelle percentuali della quantità desiderata dei
singoli componenti regolati. La somma dei fattori di miscela FAC deve essere 1 (=100 %).

Regolazione di rapporto (ratio controller)


• Regolazione di rapporto ad un loop (single loop ratio controller).
Una regolazione di rapporto ad un loop viene impiegata se per un processo (p. es. regolazione
del numero di giri) il rapporto tra due grandezze regolate è più importante dei valori assoluti delle
grandezze regolate.

• Regolazione di rapporto a loop multiplo (multiple loop ratio controller).


In una regolazione di rapporto a due loop il rapporto delle due grandezze di processo PV1 e PV2
viene mantenuto costante. A tale scopo il valore di riferimento del 2° circuito di regolazione viene
calcolato dalla grandezza regolata del 1° circuito di regolazione. Anche in caso di una variazione
dinamica della grandezza di processo x1 viene garantito che sia rispettato il rapporto assegnato.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 859
Glossario

Regolazione in cascata (cascade control)


La regolazione in cascata è un circuito in serie di regolatori, in cui il primo regolatore (regolatore
pilota) assegna il valore di riferimento ai successivi regolatori (regolatori asserviti), o influisce sui loro
valori di riferimento in base alla deviazione di regolazione attuale della grandezza regolata principale.
Mediante integrazione di grandezze di processo supplementari il risultato della regolazione può
essere migliorato con una regolazione in cascata. A tale scopo una grandezza regolata ausiliaria in
PV2 viene registrata in un punto adatto e regolata al valore di riferimento pilota (uscita del regolatore
pilota SP2). Il regolatore pilota regola il valore attuale PV1 al valore di riferimento fisso SP1 e imposta
SP2 in modo che questo obiettivo venga raggiunto in modo possibilmente rapido e senza
sovraelongazione.

Riavviamento
All'avviamento di una unità centrale (p. es dopo l'azionamento del selettore dei modi operativi da
STOP a RUN o con tensione di rete ON) l'elaborazione ciclica del programma (OB 1) elabora prima
il blocco organizzativo OB 100 (nuovo avviamento) o il blocco organizzativo (OB 102) (avviamento a
freddo). Al riavviamento viene letta l'immagine di processo degli ingressi e l'elaborazione del
programma utente STEP 7 viene proseguita nel punto, in cui esso è stato terminato durante l'ultima
interruzione (STOP, interruzione di rete).

Risultato logico combinatorio (RLC)


Il risultato logico combinatorio è l'attuale stato di segnale nel processore che viene utilizzato per
l'ulteriore elaborazione binaria. L'esecuzione di determinate operazioni è subordinata all'RLC
precedente.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


860 Manuale di riferimento, 04/2017, A5E41911986-AA
Glossario

SCAN
Lo SCAN è una funzione del sistema operativo integrata nella CPU per leggere un segnale in un
reticolo temporale predefinito e per verificare se è presente un cambiamento di segnale.

Schedulazione orologio
La schedulazione orologio fa parte di una delle classi di priorità dell'elaborazione di programma di
SIMATIC S7. Essa viene generata in funzione di una data precisa (o giornalmente) e di un'ora (es.
9:50 oppure ogni ora o ogni minuto). Successivamente viene elaborato un OB corrispondente.

Segnalare significa distribuire grandezze binarie da controllare e visualizzare in una forma


particolarmente vistosa.

Segnalazione
Per segnalazione si intende l'avviso del verificarsi di un evento di segnalazione. La segnalazione può
essere emessa sul controllore di visualizzazione progettato a questo scopo e contiene priorità, luogo
e momento dell'evento di segnalazione e un'indicazione sul passaggio di stato (entrante/uscente).

Segnalazione relativa ai blocchi


La segnalazione relativa ai blocchi è una segnalazione che viene progettata per un blocco in grado di
generare segnalazioni (FB o DB).

Segnalazione relativa ai simboli


La segnalazione relativa ai simboli è una segnalazione con la quale avviene l'approccio alla
progettazione delle segnalazioni attraverso un simbolo (ingresso, uscita, merker, blocco dati) della
tabella dei simboli. Durante la progettazione deve essere definito il reticolo temporale per lo SCA, in
cui il segnale viene controllato.

Segnalazione cumulativa tecnologica


La segnalazione cumulativa tecnologica viene generato dal sistema operativo della CPU durante la
registrazione di un evento di diagnostica standard nel buffer di diagnostica.

SFB
Blocchi funzionali standard, ossia blocchi funzionali offerti dalla Siemens per la soluzione di problemi
complessi. Un blocco funzionale di sistema (SFB) è un blocco funzionale integrato nel sistema
operativo della CPU, che può essere richiamato, se necessario, nel programma utente STEP 7.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 861
Glossario

SFB di comunicazione per collegamenti progettati


Gli SFB di comunicazione sono blocchi funzionali di sistema (SFB) per lo scambio di dati e per la
gestione del programma.
Esempi per lo scambio di dati: SEND, RECEIVE, GET.
Esempi per la gestione del programma: impostazione dell'unità centrale del partner della
comunicazione nello stato STOP, interrogazione dello stato dell'unità centrale del partner della
comunicazione.

SFC
Una SFC (funzione di sistema) è una funzione integrata nel sistema operativo della CPU, che può
essere richiamata dall'utente in caso di necessità.

SFC di comunicazione per collegamenti non progettati


Le SFC di comunicazione sono funzioni di sistema (SFC) per lo scambio dati e per l'interruzione di
collegamenti esistenti creati dalle SFC di comunicazione.

Sistema
! Sistema regolato

Sistema operativo della CPU


Il sistema operativo della CPU organizza tutte le funzioni e i procedimenti della CPU che non sono
legati a nessun compito di controllo speciale.

Sistema regolato
Con "sistema regolato" si indica il settore parziale dell'impianto nel quale la grandezza regolata viene
influenzata dalla grandezza regolante (mediante variazione dell'energia di regolazione o della
corrente di massa). Esso può essere suddiviso in apparecchiatura di attuazione e processo
influenzato.

Sotto-numero
Numero del segnale da controllare se il blocco di segnalazione può controllare più di un segnale.

STEP 7
Software di programmazione per la generazione di programmi utente di controllori SIMATIC S7.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


862 Manuale di riferimento, 04/2017, A5E41911986-AA
Glossario

Struttura parallela
La struttura parallela è un tipo speciale di elaborazione di segnali nel regolatore (tipo di elaborazione
matematica). I componenti P, I e D vengono calcolati come attivi in parallelo e senza interazione e
quindi sommati.

Tool
Un tool è uno strumento software per la progettazione e la programmazione.

Variabile
Una variabile definisce un dato con contenuto variabile che può essere utilizzato nel programma
utente STEP 7. Una variabile si compone di un operando (es. M 3.1), di un tipo di dato (es. BOOL) e
viene contraddistinta mediante un simbolo (p. es. BAND_EIN).

Variabile (riferito alle segnalazioni)


Un valore variabile è un valore che può essere attribuito ad una segnalazione e che offre
informazioni circa lo stato di una variabile o di un operando al momento della creazione della
segnalazione.

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 863
Glossario

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


864 Manuale di riferimento, 04/2017, A5E41911986-AA
Indice analitico

Aggiornamento dell'immagine di processo degli ingressi


A 273
Aggiornamento dell'immagine di processo degli ingressi
Abilitazione della risposta a nuovi allarmi ed eventi di errori con la SFC 26 "UPDAT_PI" 273
di asincronismo con la SFC40 "EN_IRT" 239 ALARM 537
Abilitazione della risposta ad allarmi ALARM_8 543
con la SFC 42 EN_AIRT 242 ALARM_8P 540
Abilitazione della risposta ad allarmi ed eventi di errori di ALARM_D 564
asincronismo di più alta priorità con la SFC 42 ALARM_DQ 564
"EN_AIRT" 242 ALARM_S 558
Abilitazione della risposta ad eventi di errore di ALARM_SC 562
asincronismo ALARM_SQ 558
con la SFC 40 EN_IRT 239 Allarme dall'orologio 235
Abilitazione della risposta ad eventi di errori Allarme di aggiornamento 31
con la SFC 40 EN_IRT 239 Allarme di diagnostica 236
Abilitazione della risposta ad eventi di errori di Allarme di estrazione / inserimento 235
asincronismo Allarme di multicomputing 235
con la SFC 42 EN_AIRT 242 Allarme di ritardo 235
Abilitazione di risorse di sistema a occupazione dinamica Allarme di stato 28
con la SFC 106 "DEL_SI" 571 Allarme inviato al master DP con l'SFB 75 "SALRM" 196
Abilitazione di segnalazioni riferite ai blocchi e ai simboli e Allarme per errore
di segnalazioni cumulative tecnologiche con la SFC 9 di asincronismo 235, 236
"EN_MSG" 551 Allarme per errori 235
Accoppiamento mediante ISO on TCP a un sistema di di sincronismo 236
terzi utilizzando i servizi FETCH e WRITE forniti dall'FB Allarme per errori di ridondanza 235
220 "S5FW_IOT" 525 Allarme produttore 34, 35
Accoppiamento mediante TCP a un sistema di terzi Allarmi 21, 28, 31, 34, 58
utilizzando i servizi FETCH e WRITE forniti dall'FB 210 allarme dallorologio 17
"FW_TCP" 524 allarme di aggiornamento 31, 32
ACT_TINT 216 allarme di diagnostica 55, 56
AD_DT_TM 588 allarme di estrazione/inserimento 58
Aggiornamento con sincronizzazione di clock allarme di schedulazione orologio 23
dell'immagine di processo parziale degli ingressi con allarme di stato 28, 29
l'SFC 126 "SYNC_PI" 277 allarme DPV1 28, 31, 34
Aggiornamento con sincronizzazione di clock allarmi produttore 34
dell'immagine di processo parziale delle uscite con di ritardo 21, 22
l'SFC 127 "SYNC_PO" 279 interrupt di processo 25, 26
Aggiornamento degli ingressi dell'interfaccia del OB di allarme dallorologio 17
programma utente dei componenti PROFINET CBA con Allarmi dallorologio
l'SFC 112 "PN_IN" 326 comportamento in caso di nuovo avviamento 211
Aggiornamento delle interconnessioni DP 329 effetti sugli 211
Aggiornamento delle uscite delle unità di periferia 275 Allarmi dall'orologio 210
Aggiornamento delle uscite delle unità di periferia con la Allarmi di diagnostica 55
SFC27"UPDAT_PO" 275 Allarmi di ritardo 21, 219, 220
presupposti per il richiamo 219

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 865
Indice analitico

Allarmi per errori di asincronismo 235 Blocco dati 123, 125


Altre informazioni di errore delle SFC 55 fino a 59 168 Lettura di un blocco dati nella memoria di caricamento
Analisi degli errori con il parametro di uscita RET_VAL 93 con la SFC 83 "READ_DBL" 122
Annullamento di un collegamento ad un partner di scrittura di un blocco dati nella memoria di caricamento
comunicazione esterno alla propria stazione S7 con la con la SFC 84 "WRIT_DBL" 124
SFC69"X_ABORT" 464 Blocco GD
Annullamento di un collegamento con un partner di rilevamento programmato con la SFC 61 GD_RCV 360
comunicazione interno alla propria stazione S7 con la trasmissione programmata con la SFC 60 GD_SND
SFC 74 "I_ABORT" 470 357
AR_SEND 546 Blocco organizzativo (OB) 11, 21, 28, 31, 34, 58, 77, 81
Arresto del contatore del tempo di esercizio di allarme di ritardo (da OB 20 a OB 23) 21
con la SFC 3 CTRL_RTM 147 OB 1 15, 16
Assenza del connettore frontale 736 OB allarme di stato (OB 55) 28
Assenza di alimentazione ausiliaria 736 OB di allarme dallorologio (da OB 10 a OB 17) 17
Attivazione di un allarme dallorologio OB di allarme di aggiornamento (OB 56) 31
con la SFC 30 ACT_TINT 216 OB di allarme di diagnostica (OB82) 55
Attivazione di un allarme dall'orologio con la SFC 30 OB di allarme di multicomputing (OB 60) 37
"ACT_TINT" 216 OB di avviamento (OB100
Attivazione di un allarme di ritardo OB101) 81
con la SFC 32 SRT_DINT 221 OB di errore del tempo di ciclo (OB 80) 48
Attivazione di un allarme di ritardo con la SFC 32 OB di errore di accesso alla periferia (OB 122) 89
"SRT_DINT" 221 OB di errore di alimentazione (OB 81) 52
Attivazione di un interrupt di processo nel master DP con OB di errore di comunicazione (OB 87) 75
lSFC 7 "DP_PRAL" 297 OB di errore di programmazione (OB 121) 86
Attivazione e disattivazione della protezione di accesso OB di errore esecuzione del programma (OB 85) 65
CPU con l'SFC 109 "PROTECT" 134 OB di errore hardware CPU (OB 84) 63
Attivazione interrupt di multicomputing con la SFC 35 OB di estrazione/inserimento (OB83) 58
"MP_ALM" 131 OB di guasto telaio di montaggio (OB 86) 69
Attivazione/sincronizzazione di pagine Web OB di interrupt di processo (da OB 40 a OB 47) 25
personalizzate con l'SFC 99 "WWW" 332 OB di interruzione elaborazione OB (OB 88) 77
Avviamento OB di nuovo avviamento (avviamento a caldo) (OB100)
OB di avviamento (OB 100 81
OB 101 e OB 102) 81 OB di nuovo avviamento (OB101) 81
Avviamento a freddo 427 OB di priorità bassa (OB 90) 79
nuovo avviamento 81, 82, 83, 84, 85 OB di schedulazione orologio (da OB 30 a OB 38) 23
Avvio del contatore del tempo di esercizio OB per allarmi produttore (OB 57) 34
con la SFC 3 CTRL_RTM 147 panoramica 11
Avvio e arresto del contatore con la SFC 3 "CTRL_RTM" BRCV 399
147 BSEND 394

B C
Bibliografia 847 C_CNTRL 444
BLKMOV 105 C_DIAG 264
Blocchi dati Cambiamento di stato di un dispositivo 438
cancellazione con la SFC 23 113 ricezione del cambiamento di stato di un dispositivo
test con la SFC 24 115 remoto 438
Blocchi di comunicazione di base S7 371 Campo dati di sistema 151, 152
Panoramica 371 Campo di bit nell'area della periferia
Blocco assemblatore impostazione con la SFC 79 281
richiamo 733 Campo di bit nell'area di periferia

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


866 Manuale di riferimento, 04/2017, A5E41911986-AA
Indice analitico

resettaggio con la SFC 80 282 Commutazione di un dispositivo remoto nello stato di


CAN_DINT 224 funzionamento STOP con l'SFB 20 "STOP" 429
CAN_TINT 215 Componente PROFInet 328
Cancellazione del buffer ricevente 695 aggiornamento delle interconnessioni 329
Cancellazione di un allarme dallorologio Componente PROFINET CBA 327
con la SFC 29 CAN_TINT 215 Aggiornamento delle uscite dell'interfaccia PROFINET
Cancellazione di un allarme dall'orologio con la SFC 29 del componente PROFINET CBA con lSFC 113
"CAN_TINT" 215 "PN_OUT" 327
Cancellazione di un allarme di ritardo Comportamento all'avviamento degli SFB di
con la SFC 33 CAN_DINT 224 comunicazione S7 380
Cancellazione di un allarme di ritardo con la SFC 33 Comportamento all'avviamento degli SFB per la creazione
"CAN_DINT" 224 di segnalazioni riferite ai blocchi 553
Cancellazione di un blocco dati con la SFC 23 "DEL_DB" Comportamento in caso di disturbi degli SFB di
113 comunicazione S7 382
Caratteristiche delle SFC 28 ... 31 211 Comportamento in caso di disturbo degli SFB per la
CiR 132, 133 creazione di segnalazioni riferite ai blocchi 554
Classe di evento 815 COMPRESS 116
Classe di evento 1 - Eventi di OB standard 816 Compressione della memoria utente con la SFC 25
Classe di evento 2 - Eventi di errore di sincronismo 817 "COMPRESS" 116
Classe di evento 3 - Eventi di errore di asincronismo 818 Comunicazione 368, 369, 370, 371, 372, 373, 374
Classe di evento 4 - Eventi di stop ed altri passaggi tra di base S7 371
diversi stati di funzionamento 821 S7 368
Classe di evento 5 - Elaborazione stati di funzionamento Comunicazione aperta 474, 482, 483, 487, 489
825 Esempi di parametrizzazione di collegamenti di
Classe di evento 6 - Eventi di comunicazione 826 comunicazione aperti 491
Classe di evento 7 - Eventi H/F 828 funzionamento degli FB 474
Classe di evento 8 - Eventi di diagnostica per unità 831 Parametrizzazione dei collegamenti tramite i protocolli
Classe di evento 9 - Eventi utente standard 833 TCP native e ISO on TCP 479
Classe di evento A e B - Eventi utente liberi 835 Parametrizzazione del punto di accesso locale con il
Classe di evento riservata 835 protocolloUDP 486
Classe di priorità 22, 23, 24, 25, 26, 37, 41, 44, 47, 50, 51, Struttura dellinformazione di indirizzo del partner
52, 56, 60, 65, 69, 75, 77, 78, 81, 130, 211, 225, 234, remoto con il protocollo UDP 489
238, 822 Comunicazione di base S7 371, 372, 373, 374, 447
Classe di priorità: 63 Parametri comuni 447
Classe tipo di unità 745 Comunicazione S7 370, 375
Classi di allarme 236 parametri comuni 377
Classi di priorità 235 Comunicazione TCP/IP aperta 473
Coerenza 366, 367 CONCAT 595
Coerenza dei dati 366, 367 Confronto tra DATE_AND_TIME 593
Collegamento 264, 265, 266, 267, 268, 269, 444 Confronto tra variabili DATE_AND_TIME 592, 593, 594
diagnostica con SFC 87 264 Confronto tra variabili STRING 600, 601, 602
stato S-300 (FC 62) 444 CONT_C 611
Comando del contatore dal programma utente 675 CONT_S 619
Comando della misurazione della frequenza dal Contatore (CPU 312) 727
programma utente 681 Contatore del tempo di esercizio 143
Comando della modulazione dell'ampiezza degli impulsi campo di validità 143
dal programma utente 686 caratteristiche 143
Comando delloperazione CiR con la SFC 104 "CiR" 132 Conteggio allindietro 580
Commutazione della CPU in STOP con la SFC 46 "STP" Conteggio all'indietro con l'SFB 1 "CTD" 580
129 Conteggio in avanti 579
Conteggio in avanti con l'SFB 0 "CTU" 579

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 867
Indice analitico

Conteggio in avanti e allindietro 581 Creazione di segnalazioni riferite ai blocchi senza


Conteggio in avanti e all'indietro con l'SFB 2 "CTUD" 581 visualizzazione della conferma con l'SFB 36 "NOTIFY"
CONTROL 441 531
Conversione dei formati 603, 604, 605 Creazione di un blocco dati 111, 119, 127
Copia del contenuto di un blocco 103 con la SFC 22 "CREAT_DB" 111
Copia della variabile senza interruzioni con la SFC 81 con la SFC 85 "CREA_DB" 127
"UBLKMOV" 106 nella memoria di caricamento con la SFC 82
Copia di un'area di memoria 103 CREA_DBL 119
con la DFC 20 BLKMOV 103 Creazione di un blocco dati con la SFC 22 "CREATE_DB"
Copia di un'area di memoria con la SFC 20 "BLKMOV" 111
103 Creazione di un blocco dati nella memoria di caricamento
Copiatura del valore sostitutivo in ACCU 1 con la con la SFC 82 "CREA_DBL" 119
SFC44"REPL_VAL" 118 Creazione di un impulso 573
Cortocircuito Creazione di un impulso con l'SFB 3 "TP" 573
unità ingressi analogici: 739 CTD 580
Cortocircuito M CTRL_RTM 147
unità uscite analogiche: 739 CTU 579
Cortocircuito M: 739 CTUD 581
Cortocircuito P
unità ingressi analogici: 739 D
unità uscite analogiche: 739
Cortocircuito P: 739 D_ACT_DP 306
CPU in STOP D_TOD_DT 588
con la SFC 46 STP 129 Da OB 20 a OB 23 21
CREA_DB 127 Data e ora come tipi di dati composti 587
CREA_DBL 119 Data: 137
CREATE_DB 111 Dati 412, 413, 414, 415, 416, 417, 418
Creazione di ritardo alla disinserzione 577 lettura da una CPU remota con l'SFB/FB 14 416
Creazione di ritardo alla disinserzione con l'SFB 5 "TOF" scrittura in modo coerente in uno slave standard DP
577 320
Creazione di ritardo allinserzione 575 Dati di diagnostica 736, 738
Creazione di ritardo all'inserzione con l'SFB 4 "TON" 575 contenuto: 735
Creazione di segnalazioni confermabili e sempre di unità di segnali 151
confermate riferite ai blocchi con la SFC 107 struttura: 735
"ALARM_DQ" 564 Dati di diagnostica delle unità: 735
Creazione di segnalazioni confermabili e sempre Dati di diagnostica unità 813
confermate riferite ai blocchi con la SFC 108 Dati di diagnostica: 735
"ALARM_Q" 564 Dati di sistema 743
Creazione di segnalazioni confermabili riferite ai blocchi Dati di stato di diagnostica
con la SFC 17 "ALARM_SQ" e di segnalazioni riferite ai nella CPU 743
blocchi 558 Dati tecnici relativi alle funzioni IEC 585
Creazione di segnalazioni riferite ai blocchi con variabili DB di interfaccia 323, 324, 325
per otto segnali con l'SFB 35 "ALARM_8P" 540 DEL_DB 113
Creazione di segnalazioni riferite ai blocchi con DEL_SI 571
visualizzazione della conferma con l'SFB 33 "ALARM" DELETE 595
537 Demascheramento 225
Creazione di segnalazioni riferite ai blocchi senza variabili Demascheramento di eventi di errori di sincronismo con la
per otto segnali con l'SFB 34 "ALARM_8" 543 SFC 37 "DMSK_FLT" 233
Creazione di segnalazioni riferite ai blocchi senza Determinazione del posto connettore corrispondente a un
visualizzazione della conferma con lSFB 31 indirizzo logico con la SFC 71 "LOG_GEO" 294
"NOTIFY_8P" 534

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


868 Manuale di riferimento, 04/2017, A5E41911986-AA
Indice analitico

Determinazione della topologia di bus in un sistema Errore di canale 736, 737, 738
master DP 270 Errore di comunicazione 235
Determinazione dell'indirizzo iniziale di un'unità con la Errore di conversione BCD 225
SFC 70 "GEO_LOG" 292 Errore di esecuzione del programma 65
DI_STRNG 603 Errore di esecuzione programma 235
Diagnostica con SFC 87 264 Errore di indirizzamento
Diagnostica di sistema 243 in lettura 225
Differenze fra i blocchi di comunicazione S7 e i blocchi di in scrittura 225
comunicazione di base S7 363 Errore di lunghezza di campo 225
Dimensioni dei dati utili 378 in lettura 225
DIS_AIRT 241 in scrittura 230
DIS_IRT 237 Errore di modo comune
DIS_MSG 549 unità ingressi analogici: 739
Disabilitazione della risposta a nuovi allarmi ed eventi di unità uscite analogiche: 739
errori di asincronismo con la SFC39 "DIS_IRT" 237 Errore di modo comune: 739
Disabilitazione della risposta ad allarmi Errore di numero del blocco 225
con la SFC 39 DIS_IRT 237 Errore di parametrizzazione
Disabilitazione della risposta ad eventi di errori di unità ingressi analogici: 739
asincronismo unità uscite analogiche: 739
con la SFC 39 DIS_IRT 237 Errore di parametrizzazione: 739
Disattivazione e attivazione di slave DP/PROFINET IO Errore di progettazione
Device con l'SFC 12 "D_ACT_DP" 306 unità ingressi analogici: 739
DMSK_FLT 233 unità uscite analogiche: 739
DP_PRAL 297 Errore di progettazione: 739
DP_TOPOL 270 Errore di programma 225
DPNRM_DG 313 Errore di programmazione 86
DPRD_DAT 317 Errore di scrittura 230
DPWR_DAT 320 Blocco dati 230
DRUM 284 Blocco dati di istanza 230
DT_DATE 589 Errore di tempo 236
DT_DAY 589 Errore esterno 736
DT_TOD 590 Errore hardware CPU 63, 235
Errore interno 736
E Errori di sincronismo
OB 121 86
EN_AIRT 242 OB 122 89
EN_IRT 239 Esecuzione di un nuovo avviamento (avviamento a caldo)
EN_MSG 551 o un avviamento a freddo nel dispositivo remoto 426
EQ_DT 592 Esecuzione di un nuovo avviamento (avviamento a caldo)
EQ_STRNG 600 o un avviamento a freddo nel dispositivo remoto con
Errore canale di riferimento l'SFB 19 "START" 426
unità ingressi analogici: 739 Esecuzione di un riavviamento in un dispositivo remoto
Errore canale di riferimento: 739 con l'SFB21 "RESUME" 432
Errore del numero di contatore 225 Esempio con un blocco PULSEGEN 638
Errore del tempo di ciclo 48 Eventi di comunicazione 825
Errore di accesso 231 Eventi di errori di sincronismo 816
Errore di accesso alla periferia demascheramento con la SFC 37 DMSK_FLT 233
in lettura 225 mascheramento con la SFC 36 MSK_FLT 232
in scrittura 225 Eventi di OB standard 815
Errore di campo 229 Eventi di stop ed interruzioni 818
in lettura 225 Eventi e ID di evento 815

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 869
Indice analitico

Eventi H/F 826 FC 24 602


Eventi utente liberi 833 FC 25 607
Evento 815, 816 FC 26 598
Evento di errori di accesso 225 FC 27 608
Evento di errori di si 225 FC 28 594
Evento di errori di sincronismo FC 29 602
Demascheramento ren 225 FC 3 588
Evento dovuto ad errori di programma 225 FC 30 604
FC 31 598
F FC 32 599
FC 33 590
FB 12 BSEND 392 FC 34 590
FB 13 BRCV 396 FC 35 591
FB 14 GET 416 FC 36 609
FB 15 PUT 412 FC 37 604
FB 20 GETIO 350 FC 38 605
FB 21 SETIO 351 FC 39 605
FB 210 "FW_TCP" 524 FC 4 595
FB 22 GETIO_PART 352 FC 40 591
FB 220 "FW_IOT" 525 FC 5 603
FB 23 SETIO_PART 354 FC 6 589
FB 28 "USEND_E" 400 FC 62 444, 445
FB 29 "URCV_E" 403 FC 7 589
FB 34 "GET_E" 406 FC 8 590
FB 35 "PUT_E" 409 FC 9 592
FB 63 "TSEND" 508 FILL 108
FB 64 "TRCV" 513 FIND 596
FB 65 "TCON" 502 Formazione di impulsi 626
FB 66 "TDISCON" 506 con l'SFB 43/FB 43 PULSEGEN 626
FB 67 "TUSEND" 516 Formazione di impulsi con l'SFB 43/FB 43 "PULSEGEN"
FB 68 "TURCV" 520 626
FB 8 USEND 384 Funzione integrata Contatore 727
FB 9 URCV 388 Funzione integrata Misuratore di frequenza 729
FB per laccesso ciclico ai dati utili secondo PNO Funzioni orologio 588, 589, 590, 591
introduzione 349 FW_TCP 524
FC 1 588
FC 10 600
G
FC 11 596
FC 12 592 GADR_LGC 287
FC 13 600 GD_RCV 360
FC 14 593 GD_SND 357
FC 15 601 GE_DT 592
FC 16 603 GE_STRNG 600
FC 17 596 GEO_LOG 292
FC 18 593 Gestione degli errori 225
FC 19 601 Gestione dei contatori del tempo di esercizio con la SFC
FC 2 595 101 "RTM" 144
FC 20 597 Gestione di allarmi dall'orologio 209
FC 21 597 Gestione di allarmi di ritardo 219
FC 22 606 GET 416
FC 23 594 GET_E 406

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


870 Manuale di riferimento, 04/2017, A5E41911986-AA
Indice analitico

GETIO 350 IDSZL W#16#xy32 - Dati di stato della comunicazione


GETIO_PART 352 768
Glossario 849 IDSZL W#16#xy74 - Stato dei LED dell'unità 779
GT_DT 593 IDSZL W#16#xy91 - Informazione sullo stato delle unità
GT_STRNG 601 786
Guasto allunità 736 IDSZL W#16#xy92 - Informazione sullo stato del telaio di
Guasto del telaio di montaggio 235 montaggio/della stazione 793
Guasto dell'alimentazione 235 IDSZL W#16#xyA0 - Buffer di diagnostica 809
Impostazione del campo di bit nell'area periferia con la
H SFC 79 "SET" 281
Impostazione del contatore con la SFC 2 "SET_RTM" 146
H_CTRL 721 Impostazione del contatore del tempo di esercizio
con la SFC 2 SET_RTM 146
I Impostazione della configurazione IP con l'SFB 104
"IP_CONF" 334
I_ABORT 470 Impostazione dellorologio
I_GET 468 con la SFC 0 SET_CLK: 137
I_PUT 466 Impostazione dell'orologio con la SFC 0 "SET_CLK" 137
I_STRNG 603 Impostazione dell'orologio e del relativo stato con la SFC
ID di evento 255, 256, 815 100 "SET_CLKS" 140
ID SZL 745 Impostazione dellorologio: 137
ID SZL W#16#00B4 - Dati di diagnostica di uno slave DP Impostazione di un allarme dallorologio
814 con la SFC 28 SET_TINT 213
ID SZL W#16#0x94 – Telaio di montaggio / informazione Impostazione di un allarme dall'orologio con la SFC 28
di stato della stazione 797 "SET_TINT" 213
ID SZL W#16#xy1C - Identificazione di un componente Incidenza delle varianti di protocollo (connection_type)
756 richieste dalla CPU sulla lunghezza dei dati trasferibili
ID SZL W#16#xy22 – Stato degli allarmi 762 490
ID SZL W#16#xy25 - Associazione tra immagini di Indirizzo logico
processo parziali e OB 765 rilevamento del posto connettore appartenente 289
ID SZL W#16#xy71 - Informazione cumulativa della CPU Influenza delle sequenze nei sistemi H con la SFC 90
H 776 "H_CTRL" 721
ID SZL W#16#xy75 - Slave DP/ IO Device connessi nel Informazioni di errore 93, 94, 95
sistema H 782 generali 94, 95, 96
ID SZL W#16#xy90 - Informazioni sul sistema master DP SFC 42 EN_AIRT 242
784 specifiche 94, 95
ID SZL W#16#xy96 – Informazioni sullo stato delle unità Informazioni di errore delle SFC di comunicazione per
PROFINET IO e PROFIBUS DP 802 collegamenti S7 non progettati 449
ID SZL W#16#xy9C - Informazioni sui commutatori Informazioni generali sui blocchi di comunicazione S7 368
(PROFINET IO) 805 Informazioni generali sulle SFC da 112 a 114 323
Identificazione di un componente 756 Informazioni sul sistema master DP 784
IDSZL W#16#00B1 - Informazione di diagnostica unità Inibizione di segnalazioni riferite ai blocchi e ai simboli e di
810 segnalazioni cumulative tecnologiche con la SFC 10
IDSZL W#16#00B2 - Set di dati di diagnostica1 tramite "DIS_MSG" 549
indirizzo fisico 812 Inizializzazione del collegamento con l'FB 65 "TCON" 502
IDSZL W#16#00B3 - Dati di diagnostica unità tramite Inizializzazione di aree di memoria
indirizzo di base logico 813 con la SFC 21 FILL 108
IDSZL W#16#xy11 - Identificazione di unità 747 Inizializzazione di aree di memoria con la SFC 21 "FILL"
IDSZL W#16#xy12 - Caratteristiche della CPU 748 108
IDSZL W#16#xy13 - Aree di memoria utente 751 INSERT 596
IDSZL W#16#xy14 - Aree di sistema 753 Interfaccia PROFInet 324
IDSZL W#16#xy15 - Tipi di blocchi 755

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 871
Indice analitico

Interrogazione dello stato del collegamento appartenente Lettura del registro di stato eventi con la SFC 38
ad un'istanza SFB di comunicazione con la SFC 62 "READ_ERR" 234
"CONTROL" 441 Lettura del tempo di sistema
Interrogazione dello stato di un allarme di ritardo con la SFC 64 TIME_TCK 149
con la SFC 34 QRY_DINT 222 Lettura del tempo di sistema con la SFC 64 "TIME_TCK"
Interrogazione dello stato di un allarme di ritardo con la 149
SFC 34 "QRY_DINT" 222 Lettura dellinformazione di avvio dellOB attuale 243
Interrogazione dello stato di un dispositivo partner remoto Lettura dell'informazione di avvio dell'OB attuale con la
con l'SFB 22 "STATUS" 435 SFC 6 "RD_SINFO" 243
Interrogazione di un allarme dallorologio Lettura dellorologio
con la SFC 31 QRY_TINT 217 con la SFC 1 READ_CLK 138
Interrogazione di un allarme dall'orologio con la SFC 31 Lettura dell'orologio con la SFC 1 "READ_CLK" 138
"QRY_TINT" 217 Lettura di dati coerenti di uno slave standard DP con lSFC
Interrupt di processo 25, 235 14 "DPRD_DAT" 317
Interruzione del circuito Lettura di dati da un partner di comunicazione esterno alla
un 739, 740, 741 propria stazione S7 con la SFC 67 "X_GET" 462
unità ingressi analogici: 739 Lettura di dati da un partner di comunicazione interno alla
Interruzione del circuito: 739 propria stazione S7 con la SFC 72 "I_GET" 468
Introduzione alla creazione di segnalazioni riferite ai Lettura di dati di diagnostica (diagnostica slave) di uno
blocchi con gli SFB 527 slave DP con lSFC13 "DPNRM_DG" 313
Introduzione alla creazione di segnalazioni riferite ai Lettura di parametri predefiniti con la SFC 102
blocchi con le SFC 555 "RD_DPARA" 154
Invio di dati ad un partner di comunicazione esterno alla Lettura di parametri predefiniti con la SFC 54
propria stazione S7 con la SFC 65 "X_SEND" 453 "RD_DPARM" 153
Invio di dati ad una stampante con l'SFB 16 "PRINT" 419 Lettura di parametri predefiniti con l'SFB 81 "RD_DPAR"
Invio di dati con lFB 63 "TSEND" 508 168
Invio di dati tramite il protocollo UDP con lFB 67 Lettura di risorse di sistema a occupazione dinamica con
"TUSEND" 516 la SFC 105 "READ_SI" 567
Invio di un'area completa o parziale di un blocco dati a un Lettura di set di dati con la SFC 59 "RD_REC" 163
partner della comunicazione 689 Lettura di tutti gli ingressi di uno slave DP standard
Invio di un'area completa o parziale di un blocco dati a un /PROFINET IO Device tramite l'FB 20 "GETIO" 350
partner della comunicazione (RK 512) 697 Lettura di un blocco dati nella memoria di caricamento con
IP_CONF 334 la SFC 83 "READ_DBL" 122
Lettura di un set di dati con l'SFB 52 "RDREC" 171
L Lettura di una lista parziale SZL o di un estratto della lista
parziale SZL con la SFC 51 "RDSYSST" 246
LE_DT 593 Lettura di una parte degli ingressi di uno slave DP
LE_STRNG 601 standard /PROFINET IO Device con l'FB 22
LEFT 597 "GETIO_PART" 352
LEN 597 LGC_GADR 289
Lettura LIMIT 606
con SFC 51 RDSYSST 246 Lista degli SFB
dati coerenti in uno slave standard DP 317 in ordine alfabetico 845
dati di diagnostica di uno slave DP 313 in ordine numerico 843
Lettura dei dati da una CPU remota con l'FB 34 "GET_E" Lista delle SFC
406 in ordine alfabetico 840
Lettura dei dati di una CPU remota con l'SFB/FB 14 "GET" Lista delle SFC in ordine numerico 837
416 Lista di stato di sistema 743, 745
Lettura del contatore con la SFC4"READ_RTM" 148 liste parziali 746
Lettura del contatore del tempo di esercizio Liste parziali SZL possibili 746
con la SFC 4 READ_RTM 148 LOG_GEO 294

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


872 Manuale di riferimento, 04/2017, A5E41911986-AA
Indice analitico

LT_DT 594 OB 70 41
LT_STRNG 602 OB 72 44
OB 73 47
M OB 88 77
OB di allarme dall'orologio
Maschera di errore 225 presupposti per la chiamata 209
Errore di programmazione 225 OB di allarme dall'orologio (da OB 10 a OB 17) 17
Maschera di errore di accesso 225 OB di allarme di aggiornamento (OB 56) 31
Maschera di errore di accesso per le CPU 417 e CPU OB di allarme di diagnostica (OB 82) 55
417H 225 OB di allarme di multicomputing (OB 60) 37
Maschera di errore di programma 225 OB di allarme di ritardo (da OB 20 a OB 23) 21
Mascheramento 225 OB di allarme di sincronismo tecnologico (OB 65) 40
Eventi di errore 225 OB di allarme di stato (OB 55) 28
Mascheramento di eventi di errori di sincronismo 225 OB di allarme in sincronismo di clock (da OB 61 a OB 64)
Mascheramento di eventi di errori di sincronismo con la 39
SFC 36 "MSK_FLT" 232 OB di errore 225
MAX 607 OB di errore di accesso alla periferia (OB 122) 89
Memoria nascosta 323, 324 OB di errore di alimentazione (OB 81) 52
Memoria utente OB di errore di comunicazione (OB 87) 75
compressione con la SFC 25 116 OB di errore di programmazione (OB 121) 86
Messa a disposizione di un set di dati con l'SFB 74 OB di errore di ridondanza della CPU (OB 72) 44
"PRVREC" 206 OB di errore di ridondanza della periferia (OB 70) 41
MID 598 OB di errore di ridondanza di comunicazione (OB73) 47
MIN 608 OB di errore esecuzione programma (OB 85) 65
Misuratore di frequenza (CPU 312) 729 OB di errore hardware CPU (OB 84) 63
Modifica dei valori numerici 606, 607, 608, 609 OB di errore temporale (OB 80) 48
Modifica della variabile STRING 595, 596, 597, 598, 599 OB di estrazione/inserimento (OB 83) 58
MSK_FLT 232 OB di guasto telaio di montaggio (OB 86) 69
OB di interrupt di processo (da OB 40 a OB 47) 25
N OB di interruzione elaborazione (OB 88) 77
OB di priorità bassa (OB 90) 79
NE_DT 594 OB di schedulazione orologio (da OB 30 a OB 38) 23
NE_STRNG 602 OB per allarmi produttore (OB 57) 34
NOTIFY 531 OB_RT 259
NOTIFY_8P 534 Ora
Nuovo avviamento (avviamento a caldo) 81, 82, 83, 84, master: 137
85, 426, 427 sincronizzazione: 137
Nuovo avviamento (avviamento a caldo) o avviamento a Ora master: 137
freddo 426 Ora: 137

O P
OB 100 Panoramica 371
OB 101 e OB 102 81 Panoramica degli OB 11
OB 55 28 panoramica della comunicazione TCP/IP aperta 473
OB 56 31 Panoramica della lista di stato di sistema (SZL) 743
OB 57 34 Panoramica della struttura dei dati di diagnostica: 735
OB 61 39 Parametri 375, 376, 377, 379, 447
OB 62 39 Comunicazione di base S7 447
OB 63 39 comunicazione S7 375, 376
OB 64 39 di unità di segnali 151
OB 65 40

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 873
Indice analitico

errati nellunità 736 READ_ERR 234


scrittura di parametri dinamici 153, 155 READ_RTM 148
Parametri comuni agli SFB/FB e alle SFC/FC di READ_SI 567
comunicazione S7 375 Realizzazione di un dispositivo di avanzamento a passi
Parametri comuni delle SFC di comunicazione di base S7 283
447 Realizzazione di un dispositivo di avanzamento a passi
Parametrizzazione di unità con la SFC 57 "PARM_MOD" con l'SFB 32 "DRUM" 283
158 Registro di stato eventi
Parametrizzazione non eseguita 736 lettura con la SFC 38 READ_ERR 234
Parametro Regolazione
BUSY nella SFC 51 e 55 fino a 59 98 regolazione a passi con lSFB 42/FB 42 619
REQ nella SFC 51 e 55 fino a 59 98 regolazione continua con lSFB 41/FB 41 611
PARM_MOD 158 Regolazione a passi con l'SFB 42/FB 42 "CONT_S" 619
PN_DP 328 Regolazione continua con l'SFB 41/FB 41 "CONT_C" 611
Posizionamento comandato con uscita analogica dal REPL_VAL 118
programma utente 643 REPLACE 598
Posizionamento comandato con uscita digitale dal Resettaggio del campo di bit nell'area periferia con la SFC
programma utente 660 80 "RSET" 282
Prelievo di un'area completa o parziale di un blocco dati da RESUME 432
un partner della comunicazione (RK 512) 702 RET_VAL 93, 94, 95
PRINT 419 RET_VAL nella SFC 51 e 55 fino a 59 98
Processo CiR 58 Retrigger del controllo del tempo ciclo
Programma con la SFC 43 RE_TRIGR 129
ciclico 15 Retrigger del controllo tempo del ciclo con la SFC 43
Programma ciclico (OB1) 15 "RE_TRIGR" 129
PROTECT 134 Riavviamento 432
PRVREC 206 esecuzione in un dispositivo remoto 432
PULSEGEN 627, 628, 632 Ricezione del cambiamento di stato di un dispositivo
PUT 412 remoto con l'SFB 23 "USTATUS" 438
PUT_E 409 Ricezione di dati 388, 398
a blocchi con l'SFB/FB 13 396
Q non coordinata con l'SFB/FB 9 388
Ricezione di dati a blocchi con l'SFB 13/FB "BRCV" 396
QRY_DINT 222 Ricezione di dati con lB 64 "TRCV" 511
QRY_TINT 217 Ricezione di dati da un partner della comunicazione e
memorizzazione in un blocco dati 692
R Ricezione di dati da un partner della comunicazione e
memorizzazione in un blocco dati (RK 512) 708
R_STRNG 604 Ricezione di dati da un partner di comunicazione esterno
RALRM 177 alla propria stazione S7con la SFC 66 "X_RCV" 455
RCVREC 203 Ricezione di dati tramite il protocollo UDP con lFB 68
RD_DPAR 168 "TURCV" 520
RD_DPARA 154 Ricezione di un allarme con l'SFB 54 "RALRM" 177
RD_DPARM 153 Ricezione di un set di dati con l'SFB 73 "RCVREC" 203
RD_LGADR 291 Ricezione non coordinata di dati con l'FB 29 "URCV_E"
RD_REC 163 403
RD_SINFO 243 Ricezione non coordinata di dati con l'SFB/FB 9 "URCV"
RDREC 171 388
RDSYSST 246, 743 Richiamo di blocchi assemblatori 733
RE_TRIGR 129 RIGHT 599
READ_CLK 138
READ_DBL 122

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


874 Manuale di riferimento, 04/2017, A5E41911986-AA
Indice analitico

Rilevamento del posto connettore appartenente ad un Scrittura di parametri predefiniti con la SFC 56
indirizzo logico con la SFC 49 "LGC_GADR" 289 "WR_DPARM" 157
Rilevamento del tempo di esecuzione del programma OB Scrittura di set di dati con la SFC 58 "WR_REC" 161
con l'SFC 78 "OB_RT" 259 Scrittura di tutte le uscite di uno slave DP standard
Rilevamento dell'indirizzo di base logico di un'unità con la /PROFINET IO Device con l'FB 21 "SETIO" 351
SFC 5 "GADR_LGC" 287 Scrittura di un evento di diagnostica definito dall'utente nel
Rilevamento dell'indirizzo logico buffer di diagnostica con la SFC52"WR_USMSG" 254
di un canale 287 Scrittura di un set di dati
Rilevamento dello stato di conferma dell'ultima con la SFC 58 WR_REC 161
segnalazione ALARM_SQ arrivata con la SFC 19 Scrittura di un set di dati con l'SFB 53 "WRREC" 174
"ALARM_SC" 562 Scrittura di una parte delle uscite di uno slave DP standard
Rilevamento di tutti gli indirizzi logici di ununità 291 /PROFINET IO Device con l'FB 23 "SETIO_PART" 354
Rilevamento di tutti gli indirizzi logici di un'unità con la SFC Scrittura e lettura di set di dati 151
50 "RD_LGADR" 291 Scrittura in modo coerente di dati utili ad uno slave
Rilevamento programmato di un blocco GD ricevuto con la standard DP con lSFC 15 "DPWR_DAT" 320
SFC 61 "GD_RCV" 360 SEL 609
Riparametrizzazione di unità 58 Set di dati 171, 172, 173, 174, 175, 176
Ritardo della risposta ad allarmi lettura 151, 152
con la SFC 41 DIS_AIRT 241 lettura con l'SFB 52 RDREC 171
Ritardo della risposta ad allarmi ed eventi di errori di lettura con SFC 59 RD_REC 163
asincronismo di più alta priorità con la SFC 41 scrittura 151
"DIS_AIRT" 241 scrittura con l'SFB 53 WRREC 174
Ritardo della risposta ad eventi di errori di asincronismo Set di dati dellestratto della lista parziale con ID SZL
con la SFC 41 DIS_AIRT 241 W#16#0132 Indice W#16#000B 772
Ritardo dellelaborazione del programma utente Set di dati dellestratto della lista parziale con ID SZL
con la SFC 47 WAIT 130 W#16#0132 Indice W#16#000C 773
Ritardo dell'elaborazione del programma utente con la Set di dati dell'estratto della lista parziale con ID SZL
SFC47 "WAIT" 130 W#16#0232 Indice W#16#0004 774
Ritardo e disabilitazione di allarmi ed eventi di errore di Set di dati dell'estratto della lista parziale con IDSZL
asincronismo 235 W#16#0132 IndiceW#16#0005 769
RSET 282 Set di dati dell'estratto della lista parziale con IDSZL
RTM 144 W#16#0132 IndiceW#16#0008 770
SET_CLK 137
S SET_CLKS 140
SET_RTM 146
S5TI_TIM 590 SET_TINT 213
SALRM 196 SETIO 351
SB_DT_DT 590 SETIO_PART 354
SB_DT_TM 591 SFB 0 CTU 579
Schedulazione orologio 23, 24, 235 SFB 1 CTD 580
Sconnessione con l'FB 66 "TDISCON" 506 SFB 104 IP_CONF 334
Scrittura di dati in un partner di comunicazione esterno alla SFB 12 BSEND 392
propria stazione S7 con la SFC 68 "X_PUT" 460 SFB 13 BRCV 396
Scrittura di dati in un partner di comunicazione interno alla SFB 14 GET 416
propria stazione S7 con la SFC 73 "I_PUT" 466 SFB 15 PUT 412
Scrittura di dati in una CPU remota con l'FB 35 "PUT_E" SFB 16 PRINT 419
409 SFB 19 START 426
Scrittura di dati in una CPU remota con l'SFB/FB 15 "PUT" SFB 2 CTUD 581
412 SFB 20 STOP 429
Scrittura di parametri dinamici con la SFC 55 "WR_PARM" SFB 21 RESUME: 432
155 SFB 22 STATUS 435

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 875
Indice analitico

SFB 23 USTATUS 438 informazioni generali 368


SFB 29 (HS_COUNT) 727 SFB DIGITAL 660
SFB 3 TP 573 SFB FETCH RK 702
SFB 30 (FREQ_MES) 729 SFB FREQUENC 681
SFB 31 NOTIFY_8P 534 SFB PULSE 686
SFB 32 DRUM 283 SFB RCV_PTP 692
SFB 33 ALARM 537 SFB RES_RCVB 695
SFB 34 ALARM_8 543 SFB SEND_PTP 689
SFB 35 ALARM_8P 540 SFB SEND_RK 697
SFB 36 NOTIFY 531 SFB SERVE_RK 708
SFB 37 AR_SEND 546 SFC 0 SET_CLK 137
SFB 38 (HSC_A_B) 730 SFC 1 READ_CLK 138
SFB 39 (POS) 731 SFC 10 DIS_MSG 549
SFB 4 TON 575 SFC 100 SET_CLKS 140
SFB 41FB 41 CONT_C 611 SFC 101 RTM 144
SFB 42/FB 42 CONT_S 619 SFC 102 RD_DPARA 154
SFB 43/FB 43 PULSEGEN 626 SFC 103 DP_TOPOL 270
Regolazione a due punti 630, 632, 633, 635, 636, 637 SFC 104 CiR 132
Regolazione a tre punti 626, 631, 635, 636, 637 SFC 105 READ_SI 567
Schema a blocchi 626 SFC 106 DEL_SI 571
Sincronizzazione automatica 629 SFC 107 ALARM_DQ 564
SFB 44 643 SFC 108 ALARM_D 564
SFB 46 660 SFC 109 "PROTECT" 134
SFB 47 675 SFC 112 "PN_IN" 323
SFB 48 681 informazioni generali 323
SFB 49 686 SFC 113 "PN_OUT" 323
SFB 5 TOF 577 informazioni generali 323
SFB 52 RDREC 171 SFC 114 "PN_DP" 323, 328
SFB 53 WRREC 174 informazioni generali 323
SFB 54 RALRM 177 SFC 12 D_ACT_DP 306
SFB 60 689, 713 SFC 126 SYNC_PI 277
ulteriori informazioni di errore 713 SFC 127 SYNC_PO 279
SFB 61 692, 713 SFC 13 DPNRM_DG 313
ulteriori informazioni di errore 713 SFC 14 DPRD_DAT 317
SFB 62 695, 713 SFC 15 DPWR_DAT 320
ulteriori informazioni di errore 713 SFC 17 ALARM_SQ 558
SFB 63 697, 713 SFC 18 ALARM_S 558
ulteriori informazioni di errore 713 SFC 19 ALARM_SC 562
SFB 64 702, 713 SFC 2 SET_RTM 146
ulteriori informazioni di errore 713 SFC 20 BLKMOV 103
SFB 65 708, 713 SFC 21 FILL 108
ulteriori informazioni di errore 713 SFC 22 CREATE_DB 111
SFB 73 RCVREC 203 SFC 23 DEL_DB 113
SFB 74 PRVREC 206 SFC 24 TEST_DB 115
SFB 75 SALRM 196 SFC 25 COMPRESS 116
SFB 8 USEND 384 SFC 26 UPDAT_PI 273
SFB 81 168 SFC 27 UPDAT_PO 275
SFB 9 URCV 388 SFC 28 SET_TINT 213
SFB ANALOG 643 SFC 29 CAN_TINT 215
SFB COUNT 675 SFC 3 CTRL_RTM 147
SFB di comunicazione 370 SFC 30 ACT_TINT 216

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


876 Manuale di riferimento, 04/2017, A5E41911986-AA
Indice analitico

SFC 31 QRY_TINT 217 SFC 81 UBLKMOV 106


SFC 32 SRT_DINT 221 SFC 82 CREA_DBL 119
SFC 33 CAN_DINT 224 SFC 83 READ_DBL 122
SFC 34 QRY_DINT 222 SFC 84 WRIT_DBL 124
SFC 35 MP_ALM 131 SFC 85 CREA_DB 127
SFC 36 MSK_FLT 232 SFC 87 C_DIAG 264
SFC 37 DMSK_FLT 233 SFC 9 EN_MSG 551
SFC 38 READ_ERR 234 SFC 90 H_CTRL 721
SFC 39 DIS_IRT 237 SFC 99 "WWW" 332
SFC 4 READ_RTM 148 SFC che lavorano in modo asincrono 98
SFC 40 EN_IRT 239 SFC di comunicazione 371, 372, 373, 374
SFC 41 DIS_AIRT 241 Significato dei parametri REQ
valore di ritorno 241 RET_VAL e BUSY nelle SFCche lavorano in modo
SFC 42 EN_AIRT 242 asincrono 98
informazioni di errore 242 Sincronizzazione
SFC 43 RE_TRIGR 129 ora: 137
SFC 44 REPL_VAL 118 Sincronizzazione di gruppi di slave DP con lSFC 11
SFC 46 STP 129 "DPSYC_FR" 300
SFC 46 TIME_TCK 149 Sincronizzazione di orologi slave 139
SFC 47 WAIT 130 Sincronizzazione di orologi slave con la SFC 48
SFC 48 SNC_RTCB 139 "SNC_RTCB" 139
SFC 49 LGC_GADR 289 Slave DP connessi 782
SFC 5 GADR_LGC 287 SNC_RTCB 139
SFC 50 RD_LGADR 291 Sommario 583
SFC 51 RDSYSST 246, 743 SRT_DINT 221
SFC 52 254 START 426
SFC 54 RD_DPARM 153 Stato degli allarmi 762
SFC 55 WR_PARM 155 Stato di un collegamento S7-300 444
SFC 56 WR_DPARM 157 Stato di un dispositivo 435
SFC 57 PARM_MOD 158 interrogazione dello stato di un dispositivo partner
SFC 58 WR_REC 161 remoto 435
SFC 59 RD_REC 163 STATUS 435, 436
SFC 6 RD_SINFO 243 STOP 429, 431
SFC 60 GD_SND 357 Commutazione di un dispositivo remoto nello stato di
SFC 61 GD_RCV 360 funzionamento STOP 429
SFC 62 CONTROL 441 STP 129
SFC 63 (AB_CALL) 733 STRNG_DI 604
SFC 65 X_SEND 453 STRNG_I 605
SFC 66 X_RCV 455 STRNG_R 605
SFC 67 X_GET 462 Struttura dei dati di diagnostica specifici del canale: 739
SFC 68 X_PUT 460 Struttura di una lista parziale SZL 744
SFC 69 X_ABORT 464 SYNC_PI 277
SFC 7 DP_PRAL 297 SYNC_PO 279
SFC 70 292 SZL-ID W#16#xy95 - Informazioni ampliate sul sistema
SFC 71 294 master DP 799
SFC 72 I_GET 468
SFC 73 I_PUT 466 T
SFC 74 I_ABORT 470
SFC 78 "OB_RT" 259 TCON 505
SFC 79 SET 281 TDISCON 506
SFC 80 RSET 282 Test di un blocco dati con la SFC 24 "TEST_DB" 115

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


Manuale di riferimento, 04/2017, A5E41911986-AA 877
Indice analitico

TEST_DB 115 USEND_E 400


TIM_S5TI 591 USTATUS 438
TIME_TCK 149
Tipi di blocchi funzionali 753 V
TOF 577
TON 575 Valore di ritorno
TP 573 SFC 41 DIS_AIRT 241
Trasferimento parametri SFC 42 EN_AIRT 242
con la SFC 54 RD_DPARM 153 Valore inferiore all'area di misura
con la SFC 55 WR_PARM 155 unità ingressi analogici: 739
con la SFC 56 WR_DPARM 157 Valore inferiore allarea di misura: 739
Trasmissione di dati 384, 392, 393 Valore sostitutivo
a blocchi con l'SFB/FB 12 392 copiatura in ACCU 1 con la SFC 44 REPL_VAL 118
non coordinata con l'SFB/FB 8 384 Valore superiore allarea di misura
Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND" unità ingressi analogici: 739
392 Valore superiore allarea di misura: 739
Trasmissione di dati di archivio con l'SFB 37 "AR_SEND"
546 W
Trasmissione non coordinata di dati con l'FB 28
"USEND_E" 400 WAIT 130
Trasmissione non coordinata di dati con l'SFB/FB 8 WR_DPARM 157
"USEND" 384 WR_PARM 155
Trasmissione programmata di un blocco GD con la SFC WR_REC 161
60 "GD_SND" 357 WR_USRMSG 254
TRCV 511 WRIT_DBL 124
TSEND 508 WRREC 174
TUSEND 516 WWW 332

U X
Ulteriori informazioni di errore degli SFB da 60 a 65 713 X_ABORT 464
UPDAT_PI 273 X_GET 462
UPDAT_PO 275 X_PUT 460
URCV 388 X_RCV 455
URCV_E 403 X_SEND 453
USEND 384

Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 e Volume 2


878 Manuale di riferimento, 04/2017, A5E41911986-AA

Potrebbero piacerti anche