Sei sulla pagina 1di 840

Blocchi organizzativi 1

Parametri generali relativi alle SFC 2

Funzioni di copiatura e di blocco 3

SIMATIC SFC per il controllo del programma 4

Software di sistema per S7-300/400 SFC per la gestione dell'orologio 5


- Funzioni standard e di sistema -
Volume 1 / Volume 2
SFC per la gestione del contatore
del tempo di esercizio 6

Manuale di riferimento
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 asincronismo 12

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
Il presente manuale fa parte del pacchetto
di documentazione con il numero di ordinazione:
6ES7810-4CA10-8EW1
SFC per periferia decentrata o per
PROFINET IO 16

05/2010
A5E02789979-01 PROFInet 17

SFC e SFB per le CPU 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
con il triangolo di pericolo indica che la mancata osservanza delle relative misure di sicurezza pu causare
lesioni fisiche non gravi.

CAUTELA
senza triangolo di pericolo indica che la mancata osservanza delle relative misure di sicurezza pu causare
danni materiali.

ATTENZIONE
indica che, se non vengono rispettate le relative misure di sicurezza, possono subentrare condizioni o
conseguenze indesiderate.
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 A5E02789979-01 Copyright Siemens AG 2010.


Industry Sector 02/2010 Con riserva di eventuali modifiche tecniche
Postfach 48 48
90026 NRNBERG
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. Nellappendice 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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 3
Prefazione

Pacchetti di documentazione STEP 7


La tabella seguente riporta un riepilogo della documentazione relativa a STEP 7.

Documentazione Scopo Numero di ordinazione


Nozioni fondamentali di STEP 7 mediante Conoscenze di base per il 6ES7810-4CA10-8EW0
Primi passi ed esercitazioni con STEP 7 personale tecnico: procedure per la
realizzazione di compiti di controllo
Programmazione con STEP 7
con STEP 7 e S7-300/400
Configurazione dellhardware e
progettazione di collegamenti con
STEP 7
Manuale di conversione: STEP 7,
da S5 a S7
Nozioni di riferimento di STEP 7 con Nozioni di riferimento sui linguaggi 6ES7810-4CA10-8EW1
Manuali KOP/FUP/AWL per S7 300/400 di programmazione KOP, FUP,
AWL, nonch sulle funzioni
Funzioni standard e di sistema per
standard e di sistema;
S7-300/400
perfezionamento delle conoscenze
Volume 1 A5E02789979-01 e
di base di STEP 7.
Volume 2 A5E02790056-01

Guide online Scopo Numero di ordinazione


Guida a STEP 7 Conoscenze di base per la Parte del pacchetto
programmazione e la configurazione software STEP 7
hardware con STEP 7
Guide di riferimento a AWL/KOP/FUP Guida di riferimento sensibile al Parte del pacchetto
Guida di riferimento a SFB/SFC contesto software STEP 7
Guida di riferimento ai blocchi organizzativi

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


4 Manuale di riferimento, 05/2010, A5E02789979-01
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 dellS7-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/.

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


Manuale di riferimento, 05/2010, A5E02789979-01 5
Prefazione

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.
Lindice analitico permette di trovare rapidamente i passi relativi a voci importanti.

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

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


6 Manuale di riferimento, 05/2010, A5E02789979-01
Prefazione

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

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.

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


Manuale di riferimento, 05/2010, A5E02789979-01 7
Prefazione

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


8 Manuale di riferimento, 05/2010, A5E02789979-01
Indice

1 Blocchi organizzativi.................................................................................................................................13
1.1 Panoramica degli OB ...................................................................................................................13
1.2 Programma ciclico (OB 1)............................................................................................................17
1.3 OB di allarme dall'orologio (da OB 10 a OB 17) ..........................................................................19
1.4 OB di allarme di ritardo (da OB 20 a OB 23) ...............................................................................23
1.5 OB di schedulazione orologio (da OB 30 a OB 38) .....................................................................25
1.6 OB di interrupt di processo (da OB 40 a OB 47) .........................................................................27
1.7 OB di allarme di stato (OB 55) .....................................................................................................29
1.8 OB di allarme di aggiornamento (OB 56).....................................................................................33
1.9 OB per allarmi produttore (OB 57) ...............................................................................................37
1.10 OB di allarme di multicomputing (OB 60) ....................................................................................41
1.11 OB di allarme in sincronismo di clock (da OB 61 a OB 64) .........................................................43
1.12 OB di allarme di sincronismo tecnologico (OB 65) ......................................................................44
1.13 OB di errore di ridondanza della periferia (OB 70) ......................................................................45
1.14 OB di errore di ridondanza della CPU (OB 72)............................................................................47
1.15 OB di errore di ridondanza di comunicazione OB (OB73)...........................................................50
1.16 OB di errore temporale (OB 80)...................................................................................................51
1.17 OB di errore di alimentazione (OB 81).........................................................................................54
1.18 OB di allarme di diagnostica (OB 82) ..........................................................................................56
1.19 OB di estrazione/inserimento (OB 83) .........................................................................................58
1.20 OB di errore hardware CPU (OB 84) ...........................................................................................62
1.21 OB di errore esecuzione programma (OB 85) .............................................................................63
1.22 OB di guasto telaio di montaggio (OB 86) ...................................................................................67
1.23 OB di errore di comunicazione (OB 87).......................................................................................72
1.24 OB di interruzione di elaborazione (OB 88) .................................................................................74
1.25 OB di priorit bassa (OB 90)........................................................................................................76
1.26 OB di avviamento (OB 100, OB 101 e OB 102) ..........................................................................78
1.27 OB di errore di programmazione (OB 121)..................................................................................83
1.28 OB di errore di accesso alla periferia (OB 122) ...........................................................................86
2 Parametri generali relativi alle SFC .........................................................................................................89
2.1 Analisi degli errori con il parametro di uscita RET_VAL ..............................................................89
3 Funzioni di copiatura e di blocco ............................................................................................................99
3.1 Copia di un'area di memoria con la SFC 20 "BLKMOV" .............................................................99
3.2 Copia della variabile senza interruzioni con la SFC 81 "UBLKMOV" ........................................102
3.3 Inizializzazione di aree di memoria con la SFC 21 "FILL" .........................................................104
3.4 Creazione di un blocco dati con la SFC 22 "CREAT_DB".........................................................107
3.5 Cancellazione di un blocco dati con la SFC 23 "DEL_DB"........................................................109
3.6 Test di un blocco dati con la SFC 24 "TEST_DB" .....................................................................111
3.7 Compressione della memoria utente con la SFC 25 "COMPRESS".........................................112
3.8 Copiatura del valore sostitutivo in ACCU 1 con la SFC 44 "REPL_VAL"..................................114
3.9 Creazione di un blocco dati nella memoria di caricamento con la SFC 82 "CREA_DBL".........115
3.10 Lettura di un blocco dati nella memoria di caricamento con la SFC 83 "READ_DBL"..............118
3.11 Scrittura di un blocco dati nella memoria di caricamento con la SFC 84 "WRIT_DBL" ............120
3.12 Creazione di un blocco dati con la SFC 85 "CREA_DB" ...........................................................122

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


Manuale di riferimento, 05/2010, A5E02789979-01 9
Indice

4 SFC per il controllo del programma ......................................................................................................125


4.1 Retrigger del controllo tempo del ciclo con la SFC 43 "RE_TRIGR" .........................................125
4.2 Commutazione della CPU in STOP con la SFC 46 "STP" ........................................................125
4.3 Ritardo dell'elaborazione del programma utente con la SFC 47 "WAIT"...................................126
4.4 Attivazione interrupt di multicomputing con la SFC 35 "MP_ALM"............................................127
4.5 Comando delloperazione CiR con la SFC 104 "CiR"................................................................128
4.6 Attivazione della protezione in scrittura con l'SFC 109 "PROTECT".........................................130
5 SFC per la gestione dell'orologio ..........................................................................................................133
5.1 Impostazione dell'orologio con la SFC 0 "SET_CLK" ................................................................133
5.2 Lettura dellorologio con la SFC 1 "READ_CLK" .......................................................................134
5.3 Sincronizzazione di orologi slave con la SFC 48 "SNC_RTCB"................................................135
5.4 Impostazione dell'orologio e del relativo stato con la SFC 100 "SET_CLKS" ...........................136
6 SFC per la gestione del contatore del tempo di esercizio ..................................................................139
6.1 Contatore del tempo di esercizio ...............................................................................................139
6.2 Gestione dei contatori del tempo di esercizio con la SFC 101 "RTM".......................................141
6.3 Impostazione del contatore con la SFC 2 "SET_RTM" .............................................................143
6.4 Avvio e arresto del contatore con la SFC 3 "CTRL_RTM" ........................................................144
6.5 Lettura del contatore con la SFC 4 "READ_RTM"...................................................................145
6.6 Lettura del tempo di sistema con la SFC 64 "TIME_TCK" ........................................................146
7 SFC/SFB per il trasferimento di set di dati ...........................................................................................147
7.1 Scrittura e lettura di set di dati ...................................................................................................147
7.2 Lettura di parametri predefiniti con la SFC 54 "RD_DPARM" ...................................................150
7.3 Lettura di parametri predefiniti con la SFC 102 "RD_DPARA" ..................................................151
7.4 Scrittura di parametri dinamici con la SFC 55 "WR_PARM" .....................................................152
7.5 Scrittura di parametri predefiniti con la SFC 56 "WR_DPARM" ................................................154
7.6 Parametrizzazione di unit con la SFC 57 "PARM_MOD" ........................................................155
7.7 Scrittura di set di dati con la SFC 58 "WR_REC" ......................................................................158
7.8 Lettura di set di dati con la SFC 59 "RD_REC" .........................................................................160
7.9 Altre informazioni di errore delle SFC 55 fino a 59 ....................................................................165
7.10 Lettura di parametri predefiniti con l'SFB 81 "RD_DPAR" .........................................................165
8 SFB DPV1 secondo PNO AK 1131 .........................................................................................................167
8.1 Lettura di un set di dati con l'SFB 52 "RDREC".........................................................................167
8.2 Scrittura di un set di dati con l'SFB 53 "WRREC"......................................................................169
8.3 Ricezione di un allarme con l'SFB 54 "RALRM" ........................................................................171
8.4 Allarme inviato al master DP con l'SFB 75 "SALRM" ................................................................189
8.5 Ricezione di un set di dati con l'SFB 73 "RCVREC"..................................................................196
8.6 Messa a disposizione di un set di dati con l'SFB 74 "PRVREC" ...............................................199
9 SFC per la gestione di allarmi dall'orologio .........................................................................................203
9.1 Gestione di allarmi dall'orologio .................................................................................................203
9.2 Caratteristiche delle SFC 28 ... 31 .............................................................................................204
9.3 Impostazione di un allarme dall'orologio con la SFC 28 "SET_TINT" .......................................206
9.4 Cancellazione di un allarme dall'orologio con la SFC 29 "CAN_TINT" .....................................207
9.5 Attivazione di un allarme dall'orologio con la SFC 30 "ACT_TINT"...........................................208
9.6 Interrogazione di un allarme dall'orologio con la SFC 31 "QRY_TINT".....................................209

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


10 Manuale di riferimento, 05/2010, A5E02789979-01
Indice

10 SFC per la gestione di allarmi di ritardo ...............................................................................................211


10.1 Gestione di allarmi di ritardo ......................................................................................................211
10.2 Attivazione di un allarme di ritardo con la SFC 32 "SRT_DINT" ...............................................213
10.3 Interrogazione dello stato di un allarme di ritardo con la SFC 34 "QRY_DINT"........................214
10.4 Cancellazione di un allarme di ritardo con la SFC 33 "CAN_DINT" ..........................................216
11 SFC per la gestione di eventi di errori di sincronismo........................................................................217
11.1 Mascheramento di eventi di errori di sincronismo .....................................................................217
11.2 Mascheramento di eventi di errori di sincronismo con la SFC 36 "MSK_FLT"..........................225
11.3 Demascheramento di eventi di errori di sincronismo con la SFC 37 "DMSK_FLT" ..................226
11.4 Lettura del registro di stato eventi con la SFC 38 "READ_ERR" ..............................................227
12 SFC per la gestione di allarmi e di eventi di errori di asincronismo..................................................229
12.1 Ritardo e disabilitazione di allarmi ed eventi di errore di asincronismo .....................................229
12.2 Disabilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo
con la SFC 39 "DIS_IRT"...........................................................................................................231
12.3 Abilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo
con lSFC 40 "EN_IRT" ..............................................................................................................233
12.4 Ritardo della risposta ad allarmi ed eventi di errori di asincronismo di pi alta priorit
con la SFC 41 "DIS_AIRT" ........................................................................................................235
12.5 Abilitazione della risposta ad allarmi ed eventi di errori di asincronismo di pi alta priorit
con la SFC 42 "EN_AIRT" .........................................................................................................236
13 SFC per la diagnostica............................................................................................................................237
13.1 Diagnostica di sistema ...............................................................................................................237
13.2 Lettura dell'informazione di avvio dell'OB attuale con la SFC 6 "RD_SINFO" ..........................237
13.3 Lettura di una lista parziale SZL o di un estratto della lista parziale SZL con la SFC 51
"RDSYSST"................................................................................................................................240
13.4 Scrittura di un evento di diagnostica definito dall'utente nel buffer di diagnostica
con la SFC 52 "WR_USMSG"..................................................................................................247
13.5 Rilevamento del tempo di esecuzione del programma OB con l'SFC 78 "OB_RT" ..................251
13.6 Determinazione dello stato attuale del collegamento con la SFC 87 "C_DIAG" .......................256
13.7 Definizione della topologia di bus in un sistema master DP con la SFC 103 "DP_TOPOL" .....261
14 SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit.................265
14.1 Aggiornamento dell'immagine di processo degli ingressi con la SFC 26 "UPDAT_PI".............265
14.2 Aggiornamento delle uscite delle unit di periferia con la SFC 27 "UPDAT_PO" .....................267
14.3 Aggiornamento con sincronizzazione di clock dell'immagine di processo parziale
degli ingressi con l'SFC 126 "SYNC_PI" ...................................................................................269
14.4 Aggiornamento con sincronizzazione di clock dell'immagine di processo parziale
delle uscite con l'SFC 127 "SYNC_PO".....................................................................................271
14.5 Impostazione del campo di bit nell'area periferia con la SFC 79 "SET" ....................................273
14.6 Resettaggio del campo di bit nell'area periferia con la SFC 80 "RSET"....................................274
14.7 Realizzazione di un dispositivo di avanzamento a passi con l'SFB 32 "DRUM" .......................275
15 Funzioni di sistema per l'indirizzamento di unit ................................................................................279
15.1 Rilevamento dell'indirizzo di base logico di un'unit con la SFC 5 "GADR_LGC".....................279
15.2 Rilevamento del posto connettore appartenente ad un indirizzo logico
con la SFC 49 "LGC_GADR".....................................................................................................281
15.3 Rilevamento di tutti gli indirizzi logici di un'unit con la SFC 50 "RD_LGADR".........................283
15.4 Determinazione dell'indirizzo iniziale di un'unit con la SFC 70 "GEO_LOG"...........................284
15.5 Determinazione del posto connettore corrispondente a un indirizzo logico
con la SFC 71 "LOG_GEO" .......................................................................................................286

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


Manuale di riferimento, 05/2010, A5E02789979-01 11
Indice

16 SFC per periferia decentrata o per PROFINET IO ................................................................................289


16.1 Attivazione di un interrupt di processo nel master DP con l'SFC 7 "DP_PRAL" .......................289
16.2 Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR" .........................................292
16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP"....298
16.4 Lettura di dati di diagnostica (diagnostica slave) di uno slave DP
con l'SFC 13 "DPNRM_DG" ......................................................................................................305
16.5 Lettura di dati coerenti di uno slave standard DP/PROFINET IO Device
con l'SFC 14 "DPRD_DAT"........................................................................................................309
16.6 Scrittura coerente di dati utili ad uno slave standard DP/PROFINET IO Device
con l'SFC 15 "DPWR_DAT".......................................................................................................312
17 PROFInet ..................................................................................................................................................315
17.1 Informazioni sulle SFC 112, 113 e 114......................................................................................315
17.2 Aggiornamento degli ingressi dell'interfaccia del programma utente dei componenti
PROFINET CBA con l'SFC 112 "PN_IN"...................................................................................318
17.3 Aggiornamento delle uscite dell'interfaccia PROFINET del componente PROFINET CBA
con lSFC 113 "PN_OUT" ..........................................................................................................319
17.4 Aggiornamento delle interconnessioni DP con lSFC 114 "PN_DP"..........................................320
18 SFC e SFB per le CPU PROFINET..........................................................................................................321
18.1 Attivazione/sincronizzazione di pagine Web personalizzate con l'SFC 99 "WWW"..................321
18.2 Impostazione della configurazione IP con l'SFB 104 "IP_CONF" .............................................323

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


12 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 13
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 priorit Spiegazione


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
OB 31 Allarme di schedulazione orologio 1 (default: clock 2 s) 8 schedulazione orologio
OB 32 Allarme di schedulazione orologio 2 (default: clock 1 s) 9
OB 33 Allarme di schedulazione orologio 3 (default: clock 500 10
OB 34 ms) 11
OB 35 Allarme di schedulazione orologio 4 (default: clock 200 12
ms)
OB 36 13
Allarme di schedulazione orologio 5 (default: clock 100
OB 37 14
ms)
OB 38 15
Allarme di schedulazione orologio 6 (default: clock 50
ms)
Allarme di schedulazione orologio 7 (default: clock 20
ms)
Allarme di schedulazione orologio 8 (default: clock 10
ms)
OB 40 Interrupt di processo 0 16 Interrupt di processo
OB 41 Interrupt di processo 1 17
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

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


14 Manuale di riferimento, 05/2010, A5E02789979-01
Blocchi organizzativi
1.1 Panoramica degli OB

OB Evento di avvio Classe di priorit Spiegazione


preimpostata
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 sincronismo
OB 62 Allarme in sincronismo di clock 2 25 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
OB 72 Errore di ridondanza della CPU (solo nelle CPU H) 28 ridondanza
OB 73 OB di errore di ridondanza di comunicazione (solo nelle 25
CPU H)
OB 80 Errore temporale 26, 28 1 Allarmi di errori di
asincronismo
OB 81 Errore di alimentazione 26, 28 1) con
S7-300,
1)
25, 28 con
S7-400
e CPU 318
OB 82 Allarme di diagnostica 26, 28 1) con
S7-300,
25, 28 1) con
S7-400
e CPU 318
OB 83 Allarme di estrazione/inserimento 26, 28 1) con
S7-300,
25, 28 1) con
S7-400
e CPU 318
OB 84 Errore hardware CPU 26, 28 1) con
S7-300,
1)
25, 28 con
S7-400
e CPU 318
OB 85 Errore di esecuzione programma 26, 28 1) con
S7-300,
1)
25, 28 con
S7-400
e CPU 318
OB 86 Avaria di un'apparecchiatura di ampliamento, di un 26, 28 1) con
sistema master DP o di una stazione con periferia S7-300,
1)
decentrata 25, 28 con
S7-400
e CPU 318

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


Manuale di riferimento, 05/2010, A5E02789979-01 15
Blocchi organizzativi
1.1 Panoramica degli OB

OB Evento di avvio Classe di priorit Spiegazione


preimpostata
OB 87 Errore di comunicazione 26, 28 1) con
S7-300,
1)
25, 28 con
S7-400
e CPU 318
OB 88 Interruzione elaborazione 28
OB 90 Nuovo avviamento (avviamento a caldo) o avviamento a 29 2) 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.
OB 100 Nuovo avviamento (avviamento a caldo) 27 1) Avviamento
1)
OB 101 Riavviamento 27
OB 102 Avviamento a freddo 27 1)
OB 121 Errore di programmazione Priorit dell'OB Allarmi di errori di
che causa l'errore sincronismo
OB 122 Errore di accesso alla periferia 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 / Volume 2


16 Manuale di riferimento, 05/2010, A5E02789979-01
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 dellimmagine 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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 17
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_TIME Data e ora in cui stato richiamato l'OB

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


18 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 19
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 / Volume 2


20 Manuale di riferimento, 05/2010, A5E02789979-01
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 CAN_TINT Il sistema operativo cancella l'evento di avvio (data e ora)
e annulla un allarme dall'orologio. dell'allarme dall'orologio. Occorre reimpostare e attivare l'evento
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 OB (10)
sistema della CPU, si impostata l'ora in 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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 21
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_TIME Data e ora in cui stato richiamato l'OB

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


22 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 23
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_ BYTE TEMP Riservato
1
OB20_RESERVED_ BYTE TEMP Riservato
2
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_TIME TEMP Data e ora in cui stato richiamato l'OB

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


24 Manuale di riferimento, 05/2010, A5E02789979-01
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 s 10
OB 34 200 s 11
OB 35 100 s 12
OB 36 50 s 13
OB 37 20 s 14
OB 38 10 s 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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 25
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.
Come nomi di variabili sono stati scelti i nomi di default dell'OB 35.

Variabile Tipo di dati Descrizione


OB35_EV_CLASS BYTE Classe d'evento e identificazioni:
B#16#11: Allarme attivo
OB35_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. mit Weckalarmtakt kleiner eine
Millisekunde
OB_35_PRIORITY BYTE Classe di priorit parametrizzata: valori di default: da 7 (OB 30)
a 15 (OB 38)
OB35_OB_NUMBR BYTE Numero OB (da 30 a 38)
OB35_RESERVED_1 BYTE Riservato
OB35_RESERVED_2 BYTE Riservato
OB35_PHASE_OFFSET WORD Se OB35_STRT_INF=B#16#3A: spostamento delle fasi
ins
in tutti gli altri casi: spostamento delle fasi in ms
OB35_RESERVED_3 INT Riservato
OB35_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
OB35_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 / Volume 2


26 Manuale di riferimento, 05/2010, A5E02789979-01
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.
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.

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


Manuale di riferimento, 05/2010, A5E02789979-01 27
Blocchi organizzativi
1.6 OB di interrupt di processo (da OB 40 a OB 47)

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 /71/ o /101/.).
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

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 / Volume 2


28 Manuale di riferimento, 05/2010, A5E02789979-01
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.

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. Ci si pu verificare quando un componente (unit o modulo) di uno
slave DPV1 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.

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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 29
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 DP 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 nel 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 illustra dettagliatamente questo comportamento.

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


30 Manuale di riferimento, 05/2010, A5E02789979-01
Blocchi organizzativi
1.7 OB di allarme di stato (OB 55)

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#0000: riservato
W#16#0001: allarme di diagnostica (entrante)
W#16#0002: interrupt di processo
W#16#0003: allarme di estrazione
W#16#0004: allarme di inserimento
W#16#0005: allarme di stato
W#16#0006: allarme di aggiornamento
W#16#0007: allarme di ridondanza
W#16#0008: controllato dal supervisore (Controlled by supervisor)
W#16#0009: abilitato
W#16#000A: stato inserito un modulo errato
W#16#000B: ripristino del sottomodulo
W#16#000C: allarme di diagnostica (uscente)
W#16#000D: messaggio di collegamento alla comunicazione diretta
W#16#000E: messaggio di modifica dei valori adiacenti
W#16#000F: messaggio del sincronismo di clock (del bus)
W#16#0010: messaggio del sincronismo di clock (dei dispositivi)
W#16#0011: messaggio die componenti di rete
W#16#0012: messaggio del sincronismo di clock (del bus)
W#16#0013 001E: riservato
W#16#001F: allarme di estrazione dell'unit
W#16#0020 ... 007F: allarme specifico del produttore
W#16#0080 FFFF: riservato

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


Manuale di riferimento, 05/2010, A5E02789979-01 31
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 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: diagnostica specifica del produttore non disponibile
- 1: 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 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 / Volume 2


32 Manuale di riferimento, 05/2010, A5E02789979-01
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.

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. Ci si pu verificare quando si esegue una modifica di
parametrizzazione nel posto connettore di uno slave DPV1 (con accesso locale o remoto). Gli eventi
specifici che attivano un allarme di aggiornamento sono riportati nella documentazione del produttore
dello slave DPV1.

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 PN 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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 33
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 DP 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 nel 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 illustra dettagliatamente questo comportamento.

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


34 Manuale di riferimento, 05/2010, A5E02789979-01
Blocchi organizzativi
1.8 OB di allarme di aggiornamento (OB 56)

Significato dell'OB56_Z2

OB56_STRT_INF Significato dell'OB56_Z2


B#16#56 Low byte: ID del tipo di allarme "Allarme di stato"
High byte: lunghezza del blocco dati che genera l'allarme
B#16#59 ID del tipo di allarme:
W#16#0000: riservato
W#16#0001: allarme di diagnostica (entrante)
W#16#0002: interrupt di processo
W#16#0003: allarme di estrazione
W#16#0004: allarme di inserimento
W#16#0005: allarme di stato
W#16#0006: allarme di aggiornamento
W#16#0007: allarme di ridondanza
W#16#0008: controllato dal supervisore (Controlled by supervisor)
W#16#0009: abilitato
W#16#000A: stato inserito un sottomodulo errato
W#16#000B: ripristino del sottomodulo
W#16#000C: allarme di diagnostica (uscente)
W#16#000D: messaggio di collegamento alla comunicazione diretta
W#16#000E: messaggio di modifica dei valori adiacenti
W#16#000F: messaggio del sincronismo di clock (del bus)
W#16#0010: messaggio del sincronismo di clock (dei dispositivi)
W#16#0011: messaggio die componenti di rete
W#16#0012: messaggio del sincronismo di clock (del bus)
W#16#0013 001E: riservato
W#16#001F: allarme di estrazione dell'unit
W#16#0020 007F: allarme specifico del produttore
W#16#0080 FFFF: riservato

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


Manuale di riferimento, 05/2010, A5E02789979-01 35
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: diagnostica specifica del produttore non disponibile
- 1: diagnostica specifica del produttore disponibile
Bit 13: stato della diagnostica del sottomodulo:
- 0: informazione di stato non disponibile, tutti gli errori sono stato
confermati
- 1: almeno un messaggio di diagnostica di canale e/o un'informazione di
stato disponibili.
Bit 14: riservato
Bit 15: Application Relationship 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 / Volume 2


36 Manuale di riferimento, 05/2010, A5E02789979-01
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.

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.

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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 37
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 DP 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 nel 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 illustra dettagliatamente questo comportamento.

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


38 Manuale di riferimento, 05/2010, A5E02789979-01
Blocchi organizzativi
1.9 OB per allarmi produttore (OB 57)

Significato dell'OB57_Z2

OB57_STRT_INF Significato dell'OB57_Z2


B#16#57 Low byte: ID del tipo di allarme "Allarme di stato"
High byte: lunghezza del blocco dati che genera l'allarme
B#16#5A ID del tipo di allarme:
W#16#0000: riservato
W#16#0001: allarme di diagnostica (entrante)
W#16#0002: interrupt di processo
W#16#0003: allarme di estrazione
W#16#0004: allarme di inserimento
W#16#0005: allarme di stato
W#16#0006: allarme di aggiornamento
W#16#0007: allarme di ridondanza
W#16#0008: controllato dal supervisore (Controlled by supervisor)
W#16#0009: abilitato
W#16#000A: stato inserito un sottomodulo errato
W#16#000B: ripristino del sottomodulo
W#16#000C: allarme di diagnostica (uscente)
W#16#000D: messaggio di collegamento alla comunicazione diretta
W#16#000E: messaggio di modifica dei valori adiacenti
W#16#000F: messaggio del sincronismo di clock (del bus)
W#16#0010: messaggio del sincronismo di clock (dei dispositivi)
W#16#0011: messaggio die componenti di rete
W#16#0012: messaggio del sincronismo di clock (del bus)
W#16#0013 001E: riservato
W#16#001F: allarme di estrazione dell'unit
W#16#0020 007F: allarme specifico del produttore
W#16#0080 FFFF: riservato

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


Manuale di riferimento, 05/2010, A5E02789979-01 39
Blocchi organizzativi
1.9 OB per allarmi produttore (OB 57)

Significato dell'OB57_Z3

OB57_STRT_INF Significato dell'_vOB57_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#5A 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: diagnostica specifica del produttore non disponibile
- 1: 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 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 / Volume 2


40 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 41
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 / Volume 2


42 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 43
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 / Volume 2


44 Manuale di riferimento, 05/2010, A5E02789979-01
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 lOB 70 se si verifica una perdita di ridondanza sul
PROFIBUS DP (p. es. nel caso di guasto del bus sul master DP attivo oppure in caso di errore
nell'interfaccia dello slave DP) oppure se cambia il master DP con gli slave DP con periferia condivisa.
La CPU non passa allo stato di funzionamento STOP, se compare un relativo evento di avvio e l'OB
70 non programmato. Se l'OB 70 caricato ed il sistema H si trova in funzionamento ridondato, l'OB
70 viene elaborato in entrambe le CPU. Il sistema H rimane in funzionamento ridondato.

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 dellOB 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 d'identificazione d'errore (valori possibili:
B#16#A2, B#16#A3)
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 derrore
OB70_INFO_2 WORD Dipendente dal codice di identificazione derrore
OB70_INFO_3 WORD Dipendente dal codice di identificazione derrore
OB70_DATE_TIME DATE_AND_TIME Data e ora in cui stato richiamato lOB

La tabella seguente mostra quale evento ha causato l'avviamento dellOB 70.

OB70_EV_CLASS OB70_FLT_ID Evento di avvio dell'OB 70


B#16#73 B#16#A2 Guasto di un master DP o di un sistema master DP
B#16#73/B#16#72 B#16#A3 Perdita di ridondanza/ritorno della ridondanza sullo slave DP

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


Manuale di riferimento, 05/2010, A5E02789979-01 45
Blocchi organizzativi
1.13 OB di errore di ridondanza della periferia (OB 70)

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

Codice errore Bit Significato


B#16#A2
- OB70_INFO_1: Indirizzo logico di base del master DP interessato
- OB70_INFO_2: Riservato
- OB70_INFO_3: da 0 a 7: Riservato
da 8 a 15: ID del sistema master DP interessato
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

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 / Volume 2


46 Manuale di riferimento, 05/2010, A5E02789979-01
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 dellOB 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#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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 47
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 lOB

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


48 Manuale di riferimento, 05/2010, A5E02789979-01
Blocchi organizzativi
1.14 OB di errore di ridondanza della CPU (OB 72)

La tabella seguente mostra quale evento ha causato l'avviamento dellOB 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 allimpianto 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#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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 49
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 / Volume 2


50 Manuale di riferimento, 05/2010, A5E02789979-01
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, 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.

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 d'evento e identificazioni: B#16#35
OB80_FLT_ID BYTE Codice d'identificazione d'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)
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_CLASS BYTE Classe dell'evento che ha causato l'errore
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 51
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.
Il numero dell'OB in elaborazione quando si verificato
OB80_OB_NUM
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
Classe di priorit dell'OB che ha causato l'errore
OB80_OB_PRIORITY (ad es.: 7 per OB30/classe di priorit 7 che
avrebbe dovuto essere avviato, ma non stato
possibile avviare).
Numero dell'OB che ha causato l'errore (ad es.: "30
OB80_OB_NUM: 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
OB80_ERR_EV_CLASS: Bit 7 impostato: per l'allarme dall'orologio 7 il momento di avvio si trova
nel passato
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
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.)

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


52 Manuale di riferimento, 05/2010, A5E02789979-01
Blocchi organizzativi
1.16 OB di errore temporale (OB 80)

Codice errore Bit Significato


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 dellallarme 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

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


Manuale di riferimento, 05/2010, A5E02789979-01 53
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_TIME Data e ora in cui stato richiamato l'OB

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


54 Manuale di riferimento, 05/2010, A5E02789979-01
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 dellalimentazione 24V in almeno un'apparecchiatura centrale
ridondata.
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 55
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 dellOB di diagnostica. Nel caso di questi allarmi
si tratta di eventi di diagnostica dellinterfaccia PROFINET.
Per default questi eventi non creano un richiamo 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
B#16#39: Evento entrante
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

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


56 Manuale di riferimento, 05/2010, A5E02789979-01
Blocchi organizzativi
1.18 OB di allarme di diagnostica (OB 82)

Variabile Tipo di dati Descrizione


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_FLT BOOL Intera bufferizzazione guasta
OB82_RESERVED_2 BOOL Richiesta di manutenzione
OB82_RACK_FLT BOOL Guasto dell'apparecchiatura di ampliamento
OB82_PROC_FLT BOOL Guasto processore
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_TIME Data e ora in cui stato richiamato l'OB

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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 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 lOB 83 nei seguenti casi:
dopo lestrazione o linserimento di ununit progettata
dopo aver modificato dei parametri di ununit in STEP 7 nel corso di una modifica allimpianto 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.
LOB di lestrazione/inserimento pu essere disabilitato o ritardato e abilitato di nuovo con laiuto 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.
Loperazione di estrazione/linserimento di unit S7-400 nel sistema viene sorvegliata secondo per
secondo. Affinch la CPU rilevi lestrazione e linserimento di ununit 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 / Volume 2


58 Manuale di riferimento, 05/2010, A5E02789979-01
Blocchi organizzativi
1.19 OB di estrazione/inserimento (OB 83)

Riparametrizzazione di unit
Le unit presenti possono essere riparametrizzate nel corso di una modifica allimpianto in funzione
(operazione CiR). La riparametrizzazione prevede il trasferimento dei record dati dei parametri nelle
unit desiderate.
Si svolge come segue:
1. LOB 83 si avvia dopo lesecuzione della modifica dei parametri di ununit in STEP 7 ed il loro
caricamento nella CPU in RUN (evento di avvio W#16#3367). Tra le informazioni di avvio
dellOB sono importanti lindirizzo 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 dellOB segue la riparametrizzazione dellunit.
3. Al termine delloperazione di riparametrizzazione lOB 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 dellunit 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 linvio dei record dati allunit.

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
B#16#33: inizio riparametrizzazione unit
B#16#38: unit inserita
B#16#39: unit estratta o non indirizzabile o fine
riparametrizzazione
OB83_FLT_ID BYTE Codice di errore (valori possibili: B#16#51, B#16#54, B#16#55,
B#16#56, B#16#58, 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

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


Manuale di riferimento, 05/2010, A5E02789979-01 59
Blocchi organizzativi
1.19 OB di estrazione/inserimento (OB 83)

Variabile Tipo di dati Descrizione


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 decentrato: indirizzo fisico: bit di
identificazione (bit 15, 1 = PROFINET IO), ID di sistema
IO (bit da 11 a 14) e numero stazione (bit da 0 a 10)
OB83_MDL_TYPE WORD PROFIBUS DP centrale o decentrato:
Tipo di unit interessata
(X: non rilevante per l'utente):
- W#16#X5XX: unit analogica
- W#16#X8XX: unit funzionale
- W#16#XCXX: CP
- W#16#XFXX: unit digitale
- W#16#8340: ID di sostituzione per l'unit di ingresso
- W#16#9340: ID di sostituzione per l'unit di uscita
- W#16#A340: ID di sostituzione per l'unit mista (I/O)
- W#16#F340: ID di sostituzione per l'unit vuota o non
identificabile (p. es con indirizzi compressi)
PROFINET IO decentrato:
- W#16#8101: il tipo di unit inserito uguale al tipo di
unit estrattp
- W#16#8102: il tipo di unit inserito diverso dal tipo di
unit estratto
OB83_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 / Volume 2


60 Manuale di riferimento, 05/2010, A5E02789979-01
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#58 Errore di accesso al sotto-modulo PROFINET IO eliminato
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 61
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
S7-400H: in caso di riduzione delle prestazioni dell'accoppiamento di ridondanza tra le due CPU
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 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 Codice di errore (B#16#82, B#16#83, B#16#85, B#16#86,
B#16#87)
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

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#39 B#16#86 Prestazioni di un accoppiamento H-Sync compromesse
B#16#35 B#16#87 Errore di memoria a pi bit riconosciuto e corretto

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


62 Manuale di riferimento, 05/2010, A5E02789979-01
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_CLAS BYTE Classe dell'evento che ha generato l'errore
S
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)
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_TIME Data e ora in cui stato richiamato l'OB

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


Manuale di riferimento, 05/2010, A5E02789979-01 63
Blocchi organizzativi
1.21 OB di errore esecuzione programma (OB 85)

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 di dati


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
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
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

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


64 Manuale di riferimento, 05/2010, A5E02789979-01
Blocchi organizzativi
1.21 OB di errore esecuzione programma (OB 85)

OB85_EV_CLASS OB85_FLT_ID Significato


B#16#39 B#16#B1 Errore di accesso alla periferia durante l'aggiornamento dell'immagine di
processo degli ingressi
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#57: trasferimento di un'area di coerenza progettata
OB85_Z1: riservato a uso interno della CPU: indirizzo di base logico
dell'unit
Se l'OB85_RESERVED_2 ha il valore B#16#76, l'OB85_Z1 contiene
il valore di ritorno della SFC corrispondente (SFC 14, 15, 26 o 27).
OB85_Z23:
- Byte 0: n. dell'immagine parziale di processo
- Byte 1: irrilevante se l'OB85_DKZ23=B#16#10, 20 o 30;
lunghezza dell'area di coerenza in byte se
l'OB85_DKZ23=B#16#57
Byte 2 e 3: indirizzo di periferia che ha causato l'errore di accesso alla
periferia, se l'OB85_DKZ23=B#16#10, 20 o 30;
indirizzo logico iniziale dell'area di coerenza se l'OB85_DKZ23=B#16#57
B#16#39 B#16#B2 Errore di accesso alla periferia durante il trasferimento dell'immagine di
processo delle uscite alle unit di uscita
OB85_DKZ23, OB85_Z1 e OB85_Z23 come per
OB85_FLT_ID=B#16#B1
Vengono emessi i codici di identificazione dellerrore B#16#B1 e B#16#B2 nel caso sia stato programmato il
richiamo ripetuto dell'OB 85 degli errori di accesso alla periferia per l'aggiornamento dellimmagine di processo
da parte del sistema.
B#16#39/B#16#38 B#16#B3 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#57: trasferimento di un'area di coerenza progettata
OB85_Z1: riservato a uso interno della CPU: indirizzo di base logico
dell'unit
Se l'OB85_RESERVED_2 ha il valore B#16#76, l'OB85_Z1 contiene
il valore di ritorno della SFC corrispondente (SFC 14, 15, 26 o 27).
OB85_Z23:
- Byte 0: n. dell'immagine parziale di processo
- Byte 1: irrilevante se l'OB85_DKZ23=B#16#10, 20 o 30;
lunghezza dell'area di coerenza in byte se
l'OB85_DKZ23=B#16#57
Byte 2 e 3: indirizzo di periferia che ha causato l'errore di accesso alla
periferia, se l'OB85_DKZ23=B#16#10, 20 o 30;
indirizzo logico iniziale dell'area di coerenza se l'OB85_DKZ23=B#16#57

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


Manuale di riferimento, 05/2010, A5E02789979-01 65
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 il trasferimento dell'immagine di
processo delle uscite alle unit di uscita
OB85_DKZ23, OB85_Z1, OB85_Z23 come per OB85_FLT_ID=B#16#B3
Vengono emessi i codici di identificazione dellerrore B#16#B3 e B#16#B4 nel caso in cui, per l'aggiornamento
dellimmagine 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 vengono segnalati come errori di accesso
alla periferia entranti tutti gli accessi agli ingressi e uscite non presenti.

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


66 Manuale di riferimento, 05/2010, A5E02789979-01
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 guasto (sia con evento entrante che uscente).ad un'apparecchiatura di
ampliamento centrale (non nell'S7 300).
Riconoscimento guasto ad un sistema master DP (sia con evento entrante che uscente).
Riconoscimento guasto ad una stazione della periferia decentrata (PROFIBUS DP o PROFINET
IO) (sia con evento entrante che uscente).
Disattivazione, da parte dell'utente, di una stazione della periferia decentrata (PROFIBUS DP o
PROFINET IO) con l'SFC 12 "D_ACT_DP" tramite MODE=4
.Attivazione, da parte dell'utente, di una stazione della periferia decentrata (PROFIBUS DP o
PROFINET IO) con l'SFC 12 "D_ACT_DP" tramite MODE=4
Se l'OB 86 non stato programmato e se si presenta un errore simile, 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)
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
OB86_RACKS_FLTD ARRAY [0 ..31] Dipendente dal codice di identificazione errore
OF BOOL
OB86_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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 67
Blocchi organizzativi
1.22 OB di guasto telaio di montaggio (OB 86)

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 di dati


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).
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.

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


68 Manuale di riferimento, 05/2010, A5E02789979-01
Blocchi organizzativi
1.22 OB di guasto telaio di montaggio (OB 86)

OB86_EV_CLASS OB86_FLT_ID Significato


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
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

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


Manuale di riferimento, 05/2010, A5E02789979-01 69
Blocchi organizzativi
1.22 OB di guasto telaio di montaggio (OB 86)

OB86_EV_CLASS OB86_FLT_ID Significato


B#16#38 B#16#C8 Ritorno di una stazione DP ma con scostamento tra configurazione
prefissata/attuale
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 dello slave DP
- Bit 31: identificazione I/O
B#16#32/B#16#33 B#16#C9 Attivazione/Disattivazione di uno slave DP con l'SFC 12 "D_ACT_DP"
tramite MODE=3/MODE=4
OB86_MDL_ADDR: indirizzo di base logico del master DP
OB86_Z23: indirizzo dello slave DP corrispondente:
- Bit 0 ... 7: N. della stazione DP
- Bit 8 ... 15: ID del master DP
- Bit 16 30: indirizzo di base logico di uno slave S7 o indirizzo
di diagnostica di uno slave standard DP
- Bit 31: identificazione I/O
B#16#39 B#16#CA Guasto del sistema PROFINET IO
OB86_MDL_ADDR: indirizzo logico di base dell'IO Controller
OB86_Z23:
- Bit 0 ... 10: 0 (numero dispositivo)
- Bit 11 ... 14: ID sistema IO
- Bit 15: 1
- Bit 16 ... 31: 0
B#16#39/38 B#16#CB Guasto/ripristino della stazione PROFINET IO
OB86_RESERVED_1: B#16#C4
OB86_MDL_ADDR: indirizzo logico di base dell'IO Controller
OB86_Z23:
- Bit 0 ... 10: numero stazione
- Bit 11 ... 14: ID sistema IO
- Bit 15: 1
- Bit 16 ... 30: indirizzo logico di base della stazione
- Bit 31: identificazione I/O
B#16#38 B#16#CC Ripristino della stazione PROFINET IO con guasto
OB86_RESERVED_1: B#16#C4
OB86_MDL_ADDR: indirizzo logico di base dell'IO Controller
OB86_Z23:
- Bit 0 ... 10: numero della stazione
- Bit 11 ... 14: ID sistema IO
- Bit 15: 1
- Bit 16 ... 30: indirizzo logico di base della stazione
- Bit 31: identificazione I/O

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


70 Manuale di riferimento, 05/2010, A5E02789979-01
Blocchi organizzativi
1.22 OB di guasto telaio di montaggio (OB 86)

OB86_EV_CLASS OB86_FLT_ID Significato


B#16#38 B#16#CD Ripristino della stazione PROFINET IO, la configurazione prefissata
diverge da quella attuale
OB86_MDL_ADDR: indirizzo logico di base dell'IO Controller
OB86_Z23:
- Bit 0 ...10: numero della stazione
- Bit 11 ... 14: ID sistema IO
- Bit 15: 1
- Bit 16 .. 30: indirizzo logico di base della stazione
- Bit 31: identificazione I/O
B#16#38 B#16#CE Ripristino della stazione PROFINET IO, errore di parametrizzazione
dell'unit
OB86_MDL_ADDR: indirizzo logico di base dell'IO Controller
OB86_Z23:
- Bit 0 ... 10: numero della stazione
- Bit 11 ... 14: ID sistema IO
- Bit 15: 1
- Bit 16 ... 30: indirizzo logico di base 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 logico di base dell'IO Controller
OB86_Z23:
- Bit 0 ... 10: numero della stazione
- Bit 11... 14: ID sistema IO
- Bit 15: 1
- Bit 16 ... 30: indirizzo logico di base 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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 71
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_TIME Data e ora in cui stato richiamato l'OB

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


72 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 73
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 lOB 88 nel caso in caso di interruzione dellelaborazione 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 uninterruzione di elaborazione nel caso in cui lOB 88 non sia programmato, la CPU
passa in modalit STOP (Evento W#16#4570).
La CPU passa in modalit STOP se linterruzione di elaborazione si verifica nella classe di priorit 28.
LOB 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 lOB 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 devento 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 / Volume 2


74 Manuale di riferimento, 05/2010, A5E02789979-01
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 lerrore:
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 dellOB che causa lerrore
OB88_FLT_OB_NUMBR BYTE Numero dellOB che causa lerrore
OB88_BLK_NUM WORD Numero del blocco con il comando MC7 che causa
lerrore
OB88_PRG_ADDR WORD Indirizzo relativo del comando MC7 che causa lerrore
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 75
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 / Volume 2


76 Manuale di riferimento, 05/2010, A5E02789979-01
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_TIME Data e ora in cui stato richiamato l'OB

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


Manuale di riferimento, 05/2010, A5E02789979-01 77
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 lavviamento


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 / Volume 2


78 Manuale di riferimento, 05/2010, A5E02789979-01
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_TIME Data e ora in cui stato richiamato l'OB

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


Manuale di riferimento, 05/2010, A5E02789979-01 79
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)
allavviamento 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 funzionamento
appena eseguito 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 / Volume 2


80 Manuale di riferimento, 05/2010, A5E02789979-01
Blocchi organizzativi
1.26 OB di avviamento (OB 100, OB 101 e OB 102)

N. Significato Valori Spiegazione


binari
possibili
0001 0100 Nuovo avviamento (avviamento a caldo) tramite manovra
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)
7-0 Ultima manovra valida o 0000 0000 Nessun tipo di avviamento
regolazione del tipo di 0000 0001 Nuovo avviamento (avviamento a caldo) con funzionamento
avviamento automatico multicomputing senza manovra sulla CPU corrispondente
con ALIMENTAZIONE 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

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


Manuale di riferimento, 05/2010, A5E02789979-01 81
Blocchi organizzativi
1.26 OB di avviamento (OB 100, OB 101 e OB 102)

N. Significato Valori Spiegazione


binari
possibili
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 / Volume 2


82 Manuale di riferimento, 05/2010, A5E02789979-01
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
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)

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


Manuale di riferimento, 05/2010, A5E02789979-01 83
Blocchi organizzativi
1.27 OB di errore di programmazione (OB 121)

Variabile Tipo di dati Descrizione


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_TIME Data e ora in cui stato richiamato l'OB

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 / Volume 2


84 Manuale di riferimento, 05/2010, A5E02789979-01
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
ammesso.
OB121_FLT_REG: Numero SFC
B#16#3E: Accesso ad un FB non caricato; Il numero FB si trova nel settore ammesso.

OB121_FLT_REG: Numero FB
B#16#3F: Accesso ad un SFB non caricato; Il numero SFB si trova nel settore ammesso.

OB121_FLT_REG: Numero SFB

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


Manuale di riferimento, 05/2010, A5E02789979-01 85
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_NUMBR BYTE Numero di OB (122)
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)
OB122_MEM_AREA BYTE Area di memoria e tipo di accesso:
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_ADDR WORD Indirizzo di memoria in cui si verificato l'errore

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


86 Manuale di riferimento, 05/2010, A5E02789979-01
Blocchi organizzativi
1.28 OB di errore di accesso alla periferia (OB 122)

Variabile Tipo di dati Descrizione


OB122_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
OB122_PRG_ADDR WORD Indirizzo relativo del comando MC7 che ha causato l'errore (con
S7-300 qui non viene registrato nessun valore valido)
OB122_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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 87
Blocchi organizzativi
1.28 OB di errore di accesso alla periferia (OB 122)

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


88 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 89
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 / Volume 2


90 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 91
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.

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


92 Manuale di riferimento, 05/2010, A5E02789979-01
Parametri generali relativi alle SFC
2.1 Analisi degli errori con il parametro di uscita RET_VAL

Codice di Significato
errore
(W#16#...)
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.
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.

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"

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


Manuale di riferimento, 05/2010, A5E02789979-01 93
Parametri generali relativi alle SFC
2.1 Analisi degli errori con il parametro di uscita RET_VAL

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 / Volume 2


94 Manuale di riferimento, 05/2010, A5E02789979-01
Parametri generali relativi alle SFC
2.1 Analisi degli errori con il parametro di uscita RET_VAL

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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 95
Parametri generali relativi alle SFC
2.1 Analisi degli errori con il parametro di uscita RET_VAL

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 / Volume 2


96 Manuale di riferimento, 05/2010, A5E02789979-01
Parametri generali relativi alle SFC
2.1 Analisi degli errori con il parametro di uscita RET_VAL

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.

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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 97
Parametri generali relativi alle SFC
2.1 Analisi degli errori con il parametro di uscita RET_VAL

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


98 Manuale di riferimento, 05/2010, A5E02789979-01
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.

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

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


Manuale di riferimento, 05/2010, A5E02789979-01 99
Funzioni di copiatura e di blocco
3.1 Copia di un'area di memoria con la SFC 20 "BLKMOV"

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 Dichiarazione Tipo di Area di memoria Descrizione


dati
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.

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.

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


100 Manuale di riferimento, 05/2010, A5E02789979-01
Funzioni di copiatura e di blocco
3.1 Copia di un'area di memoria con la SFC 20 "BLKMOV"

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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 101
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 p. 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 Area di memoria Descrizione


dati
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 / Volume 2


102 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 103
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 / Volume 2


104 Manuale di riferimento, 05/2010, A5E02789979-01
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 Dichiarazione Tipo Area di memoria Descrizione


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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 105
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 / Volume 2


106 Manuale di riferimento, 05/2010, A5E02789979-01
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 dellarea 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 Dichiarazione Tipo Area di memoria Descrizione


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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 107
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 / Volume 2


108 Manuale di riferimento, 05/2010, A5E02789979-01
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 Dichiarazione Tipo Area di memoria Descrizione


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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 109
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 / Volume 2


110 Manuale di riferimento, 05/2010, A5E02789979-01
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 Dichiarazione Tipo Area di memoria Descrizione


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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 111
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 Dichiarazione Tipo Area di memoria Descrizione


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 / Volume 2


112 Manuale di riferimento, 05/2010, A5E02789979-01
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 (p. 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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 113
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 Dichiarazione Tipo Area di memoria Descrizione


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 errore (W#16#....) Descrizione


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 / Volume 2


114 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 115
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 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 / Volume 2


116 Manuale di riferimento, 05/2010, A5E02789979-01
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" 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, p. 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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 117
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 / Volume 2


118 Manuale di riferimento, 05/2010, A5E02789979-01
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 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 (p. 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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 119
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 / Volume 2


120 Manuale di riferimento, 05/2010, A5E02789979-01
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 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 (p. 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.
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 121
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

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


122 Manuale di riferimento, 05/2010, A5E02789979-01
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
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.
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 123
Funzioni di copiatura e di blocco
3.12 Creazione di un blocco dati con la SFC 85 "CREA_DB"

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


124 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 125
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 ms. 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 Dichiarazione Tipo Area di memoria Descrizione


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

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 / Volume 2


126 Manuale di riferimento, 05/2010, A5E02789979-01
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 Dichiarazione Tipo Area di memoria Descrizione


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 Significato
errore
(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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 127
SFC per il controllo del programma
4.5 Comando dell operazione CiR con la SFC 104 "CiR"

4.5 Comando delloperazione CiR con la SFC 104 "CiR"


Con la SFC 104 "CiR" possibile influenzare la riconfigurazione in RUN nel modo seguente:
Loperazione 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".
Loperazione 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 lanalisi della configurazione
modificata per mezzo della CPU ha una durata inferiore a questo limite massimo.
possibile verificare se loperazione 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 Dichiarazione Tipo Area di Descrizione


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
loperazione 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 / Volume 2


128 Manuale di riferimento, 05/2010, A5E02789979-01
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 Loperazione CiR abilitata (questo codice di errore possibile solamente con MODE=0.)
0002 Loperazione CiR completamente disabilitata (questo codice di errore possibile solamente
con MODE=0.)
0003 Loperazione CiR disabilitata in alcune circostanze (questo codice di errore possibile
solamente con MODE=0.)
8001 La CPU non pronta per unoperazione 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 dellinizio dellintervallo di
tempo con intensa attivit di processo:
Richiamo della SFC 104 con MODE = 2 (disabilitare completamente loperazione CiR)
Al termine dellintervallo di tempo con intensa attivit di processo installare nella CPU la seguente
parte di programma:
Richiamo della SFC 104 con MODE = 1 (riabilitare loperazione CiR) o MODE=3 (disabilitare
limitatamente loperazione CiR)

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


Manuale di riferimento, 05/2010, A5E02789979-01 129
SFC per il controllo del programma
4.6 Attivazione della protezione in scrittura con l'SFC 109 "PROTECT"

4.6 Attivazione della protezione in scrittura con l'SFC 109 "PROTECT"

Descrizione
Se in STEP 7 "Configurazione HW" stato impostato il livello di protezione 1, possibile, tramite
l'SFC 109 "PROTECT", commutare sul livello 2 ed eventualmente ritornare su 1.

Avvertenza
Se in STEP 7 "Configurazione HW" stato impostato il livello di protezione 2 oppure 3, un eventuale
richiamo dell'SFC 109 rimane inefficacie.
Se in STEP 7 "Configurazione HW" stato impostato, mediante l'opzione "Annullabile tramite
password" il livello di protezione 1, dopo l'inserimento della password, un eventuale richiamo
dell'SFC 109 rimane anche in questo caso inefficacie.

I livelli di protezione 1 e 2 hanno il seguente significato (consultare anche il manuale del prodotto
Sistema di automazione S7-400 Dati della CPU ed il manuale Sistema di automazione S7-300 Dati
della CPU):

Livello di Significato
protezione
1 Sono consentite tutte le funzioni PG
2 consentito il caricamento di oggetti dalla CPU al PG, ovvero sono consentite soltanto
funzioni PG in lettura.
Sono consentite le funzioni di esecuzione, controllo e comunicazione del processo.
Sono consentite tutte le funzioni.

Per ulteriori informazioni sull'efficacia del livello di protezione 2 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 / Volume 2


130 Manuale di riferimento, 05/2010, A5E02789979-01
SFC per il controllo del programma
4.6 Attivazione della protezione in scrittura 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 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
Modifiche al programma e/o alla configurazione
nello stato di funzionamento STOP della CPU
dell'S7-400
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 richiamando l'SFC 109 con
MODE = W#16#0001
RETE ON bufferizzata Rimane invariato
Modifica dello stato di funzionamento RUN/AVVIO/ALT Rimane invariato
-> 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 Dichiarazione Tipo di Area di memoria Descrizione


dati
MODE INPUT WORD E, A, M, D, L, Konst. ID del job
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 (impossibile modificare il
programma e la configurazione della
CPU. La lettura del programma nella
CPU pu essere eseguita con il PG)
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 131
SFC per il controllo del programma
4.6 Attivazione della protezione in scrittura 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.

Esempi applicativi
Si intende proteggere la CPU nello stato di funzionamento RUN da qualsiasi tipo di accesso. 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.

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


132 Manuale di riferimento, 05/2010, A5E02789979-01
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 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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 133
SFC per la gestione dell'orologio
5.2 Lettura dell orologio con la SFC 1 "READ_CLK"

5.2 Lettura dellorologio 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 Dichiarazione Tipo Area di Descrizione


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 / Volume 2


134 Manuale di riferimento, 05/2010, A5E02789979-01
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 (p. 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 dallintervallo 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 Dichiarazione Tipo Area di Descrizione


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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 135
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 / Volume 2


136 Manuale di riferimento, 05/2010, A5E02789979-01
SFC per la gestione dell'orologio
5.4 Impostazione dell'orologio e del relativo stato con la SFC 100 "SET_CLKS"

Parametri Dichiarazione Tipo Area di Descrizione


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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 137
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 / Volume 2


138 Manuale di riferimento, 05/2010, A5E02789979-01
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 lSFC 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.

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


Manuale di riferimento, 05/2010, A5E02789979-01 139
SFC per la gestione del contatore del tempo di esercizio
6.1 Contatore del tempo di esercizio

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 / Volume 2


140 Manuale di riferimento, 05/2010, A5E02789979-01
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 Area di memoria Descrizione


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
nellultimo valore indicato ed emette la
segnalazione di errore "Overflow".
1: avvio (con lultimo 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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 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"

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).
Nellestratto 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 lestratto
della lista parziale con ID SZL W#16#0132 e indice W#16#0008.

Informazioni di errore

Codice errore Spiegazione


(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 / Volume 2


142 Manuale di riferimento, 05/2010, A5E02789979-01
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 Dichiarazione Tipo Area di memoria Descrizione


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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 143
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 Dichiarazione Tipo Area di memoria Descrizione


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 / Volume 2


144 Manuale di riferimento, 05/2010, A5E02789979-01
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".

Parametri Dichiarazione Tipo Area di memoria Descrizione


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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 145
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 a ... viene cancellato e riparte da "0".
caldo)
Avviamento a freddo

Parametri Dichiarazione Tipo Area di Descrizione


memoria
RET_VAL OUTPUT TIME E, A, M, D, L Il parametro RET_VAL contiene il tempo di sistema
letto, area compresa tra 0 e 231-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 / Volume 2


146 Manuale di riferimento, 05/2010, A5E02789979-01
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.

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


Manuale di riferimento, 05/2010, A5E02789979-01 147
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 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 del Contenuto Dimensione Restrizione Possibilit di


set di dati scrittura con SFC
0 Parametri con S7-300: possibilit 56 "WR_DPARM"
da 2 a 14 byte scrittura solo con 57 "PARM_MOD"
S7-400
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"

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

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


148 Manuale di riferimento, 05/2010, A5E02789979-01
SFC/SFB per il trasferimento di set di dati
7.1 Scrittura e lettura di set di dati

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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 149
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 Dichiarazione Tipo Area di memoria Descrizione


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 / Volume 2


150 Manuale di riferimento, 05/2010, A5E02789979-01
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 Dichiarazione Tipo Area di memoria Descrizione


REQ INPUT BOOL E, A, M, D, L REQ = 1: richiesta di lettura
LADDR INPUT WORD E, A, M, D, L, cost. Qualunque indirizzo dell'unit. In caso di unit
delle uscite occorre impostare il bit con il valore
maggiore
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 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 comporta 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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 151
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 Dichiarazione Tipo Area di memoria Descrizione


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 comporta 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 / Volume 2


152 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 153
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 Dichiarazione Tipo Area di memoria Descrizione


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 / Volume 2


154 Manuale di riferimento, 05/2010, A5E02789979-01
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 Dichiarazione Tipo Area di memoria Descrizione


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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 155
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 (p. 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 / Volume 2


156 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 157
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 Dichiarazione Tipo Area di memoria Descrizione


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 comporta 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 / Volume 2


158 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 159
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 Dichiarazione Tipo Area di memoria Descrizione


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 / Volume 2


160 Manuale di riferimento, 05/2010, A5E02789979-01
SFC/SFB per il trasferimento di set di dati
7.8 Lettura di set di dati con la SFC 59 "RD_REC"

Parametri Dichiarazione Tipo Area di memoria Descrizione


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 comporta 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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 161
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).

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].

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


162 Manuale di riferimento, 05/2010, A5E02789979-01
SFC/SFB per il trasferimento di set di dati
7.8 Lettura di set di dati con la SFC 59 "RD_REC"

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 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 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
lettura o unit difettosa) "RD_REC"
80A1 Conferma negativa durante la scrittura all'unit (unit sfilata durante solo con SFC58
la scrittura o unit difettosa) "WR_REC"
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.
80B1 L'indicazione della lunghezza in parametri RECORD errata. Con SFC 58 "WR_REC":
lunghezza errata
Con SFC 59 "RD_REC"
(possibile solo 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
parametro o in un valore "RD_REC

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


Manuale di riferimento, 05/2010, A5E02789979-01 163
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#...)
80C0 Nell'SFC 58 "WR_REC": la scrittura dei dati possibile soltanto nello Con SFC 58 "WR_REC" o
stato di funzionamento STOP della CPU. Nota: la scrittura dei dati SFC 59 "RD_REC" o
con il programma utente non pertanto possibile. Quest'operazione SFC 13 "DPN_RM_DG"
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 / Volume 2


164 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 165
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,i n
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 / Volume 2


166 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 167
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.

Parametri Dichiarazione Tipo 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 (p. 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
comporta un messaggio di errore nel programma
utente.

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 / Volume 2


168 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 169
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 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 (p. 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
comporta un messaggio di errore nel programma
utente.

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 Allarme ricevuto con l'SFB 54 "RALRM"

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


170 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 171
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 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
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
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.

Attenzione
Se l'area di destinazione TINFO o AINFO scelta troppo piccola, l'SFB 54 non in grado di registrare
l'intera informazione.

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


172 Manuale di riferimento, 05/2010, A5E02789979-01
SFB DPV1 secondo PNO AK 1131
8.3 Ricezione di un allarme con l'SFB 54 "RALRM"

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

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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 173
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 oppure set di dati 1)
0010: DPS7 V1 (struttura del set di
dati 0 oppure set di dati 1)
0011: DPV1 (struttura secondo
PROFIBUS DP Standard)
0100 0111: riservato
1000: PROFINET IO (struttura
secondo PROFINET IO
Standard)
da 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 / Volume 2


174 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 175
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 / Volume 2


176 Manuale di riferimento, 05/2010, A5E02789979-01
SFB DPV1 secondo PNO AK 1131
8.3 Ricezione di un allarme con l'SFB 54 "RALRM"

Byte Tipo di dati Significato


3 BYTE centrale: Riservato
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.

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


Manuale di riferimento, 05/2010, A5E02789979-01 177
SFB DPV1 secondo PNO AK 1131
8.3 Ricezione di un allarme con l'SFB 54 "RALRM"

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
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 / Volume 2


178 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 179
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 / Volume 2


180 Manuale di riferimento, 05/2010, A5E02789979-01
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 do 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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 181
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
23 WORD Tipo di blocco
45 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
01 ID del formato W#16#8002
23 Numero di canale
45 Propriet del canale
67 Tipo di errore
89 Valore supplementare dell'errore
10 13 Informazione supplementare di errore

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


182 Manuale di riferimento, 05/2010, A5E02789979-01
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
01 ID del formato W#16#8003
23 Numero di canale
45 Propriet del canale
67 Tipo di errore
89 Valore supplementare dell'errore
10 13 Informazione supplementare di errore
14 17 Qualified Channel Qualifier

W#16#8100: informazione di manutenzione

Byte Significato
01 ID del formato W#16#8100
23 Tipo di blocco
45 Lunghezza del blocco
67 Versione blocco
89 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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 183
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 processo 4x S S S Centrale: No
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 / Decentrato: Come fornito da
inserimento 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
Guasto telaio di 86 S S No No
montaggio /
stazione
... tutti gli altri OB S No No No

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


184 Manuale di riferimento, 05/2010, A5E02789979-01
SFB DPV1 secondo PNO AK 1131
8.3 Ricezione di un allarme con l'SFB 54 "RALRM"

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

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

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


Manuale di riferimento, 05/2010, A5E02789979-01 185
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
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 (p. 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)
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

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


186 Manuale di riferimento, 05/2010, A5E02789979-01
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
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.
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.
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.

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


Manuale di riferimento, 05/2010, A5E02789979-01 187
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
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 nellAnalisi 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.
In PROFINET IO al parametro STATUS[4] viene assegnato il valore 0.

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


188 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 189
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
AINFO IN_OUT ANY E, A, M, D, L alarm information
Area sorgente per le informazioni di
allarme supplementari.

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


190 Manuale di riferimento, 05/2010, A5E02789979-01
SFB DPV1 secondo PNO AK 1131
8.4 Allarme inviato al master DP con l'SFB 75 "SALRM"

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.

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

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


Manuale di riferimento, 05/2010, A5E02789979-01 191
SFB DPV1 secondo PNO AK 1131
8.4 Allarme inviato al master DP con l'SFB 75 "SALRM"

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.
p. 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

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).

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


192 Manuale di riferimento, 05/2010, A5E02789979-01
SFB DPV1 secondo PNO AK 1131
8.4 Allarme inviato al master DP con l'SFB 75 "SALRM"

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.

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.

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


Manuale di riferimento, 05/2010, A5E02789979-01 193
SFB DPV1 secondo PNO AK 1131
8.4 Allarme inviato al master DP con l'SFB 75 "SALRM"

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.

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.

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


194 Manuale di riferimento, 05/2010, A5E02789979-01
SFB DPV1 secondo PNO AK 1131
8.4 Allarme inviato al master DP con l'SFB 75 "SALRM"

ERROR STATUS[2,3] Spiegazione


(W#16# ...)
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 (p. 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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 195
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 / Volume 2


196 Manuale di riferimento, 05/2010, A5E02789979-01
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

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


Manuale di riferimento, 05/2010, A5E02789979-01 197
SFB DPV1 secondo PNO AK 1131
8.5 Ricezione di un set di dati con l'SFB 73 "RCVREC"

Parametri Dichiara- Tipo di Area di memoria Descrizione


zione dati
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)
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
comporta 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 / Volume 2


198 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 199
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

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


200 Manuale di riferimento, 05/2010, A5E02789979-01
SFB DPV1 secondo PNO AK 1131
8.6 Messa a disposizione di un set di dati con l'SFB 74 "PRVREC"

Parametri Dichiara- Tipo di Area di memoria Descrizione


zione dati
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)
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
comporta 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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 201
SFB DPV1 secondo PNO AK 1131
8.6 Messa a disposizione di un set di dati con l'SFB 74 "PRVREC"

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


202 Manuale di riferimento, 05/2010, A5E02789979-01
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).

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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 203
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:
Il sistema operativo richiama l'OB 801.
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 manipolati
2
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 avviamento a freddo, tutte le configurazioni di
allarmi dall'orologio, assegnate da programma tramite SFC, vengono cancellate.
Attivi diventano allora i parametri assegnati tramite STEP 7.

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


204 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 205
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 Dichiarazione Tipo Area di memoria Descrizione


OB_NR INPUT INT E, A, M, D, L, cost. Numero dell'OB che viene richiamato 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, cost. Periodo a partire dall'istante SDT:
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.

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 / Volume 2


206 Manuale di riferimento, 05/2010, A5E02789979-01
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 Dichiarazione Tipo Area di memoria Descrizione


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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 207
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 Dichiarazione Tipo Area di memoria Descrizione


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 / Volume 2


208 Manuale di riferimento, 05/2010, A5E02789979-01
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 Dichiarazione Tipo Area di memoria Descrizione


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 dell'allarme 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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 209
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 / Volume 2


210 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 211
SFC per la gestione di allarmi di ritardo
10.1 Gestione di allarmi di ritardo

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 / Volume 2


212 Manuale di riferimento, 05/2010, A5E02789979-01
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 Dichiarazione Tipo Area di memoria Descrizione


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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 213
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 Dichiarazione Tipo Area di memoria Descrizione


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 / Volume 2


214 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 215
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 Dichiarazione Tipo Area di memoria Descrizione


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 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 / Volume 2


216 Manuale di riferimento, 05/2010, A5E02789979-01
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 lS7-400).
Il mascheramento viene effettuato mediante il richiamo dell'SFC 36 "MSK_FLT".
Se si presenta un evento di errore dopo il suo demascheramento, il sistema operativo avvia il
rispettivo OB di errore. Per la reazione all'errore di programmazione programmare l'OB 121 e per la
reazione all'errore di accesso programmare l'OB 122.
possibile leggere gli eventi di errore mascherati e quegli che sono effettivamente avvenuti mediante
la SFC 38 "READ_ERR".
Avvertenza: indipendentemente dal mascheramento o demascheramento degli eventi di errore,
nell'S7-300, fatta eccezione della CPU 318, essi vengono registrati nel buffer di diagnostica e il LED di
raccolta errori della CPU lampeggia.

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


Manuale di riferimento, 05/2010, A5E02789979-01 217
SFC per la gestione di eventi di errori di sincronismo
11.1 Mascheramento di eventi di errori di sincronismo

Gestire un errore in generale


Se in un programma utente hanno luogo errori di programma o di accesso, possibile reagire ad essi
in diversi modi:
si pu programmare un OB di servizio all'errore; il sistema operativo richiama questo OB se
avviene l'evento di errore corrispondente.
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.

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 / Volume 2


218 Manuale di riferimento, 05/2010, A5E02789979-01
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.

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


Manuale di riferimento, 05/2010, A5E02789979-01 219
SFC per la gestione di eventi di errori di sincronismo
11.1 Mascheramento di eventi di errori di sincronismo

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"

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".

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


220 Manuale di riferimento, 05/2010, A5E02789979-01
SFC per la gestione di eventi di errori di sincronismo
11.1 Mascheramento di eventi di errori di sincronismo

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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 221
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 (p. 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).

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


222 Manuale di riferimento, 05/2010, A5E02789979-01
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 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]
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 223
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 / Volume 2


224 Manuale di riferimento, 05/2010, A5E02789979-01
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 Dichiarazione Tipo Area di memoria Descrizione


PRGFLT_SET_MASK INPUT DWORD E, A, M, D, L, cost. Errori di programma da mascherare
ACCFLT_SET_MASK INPUT DWORD E, A, M, D, L, cost. Errori di accesso da mascherare
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 225
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 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 / Volume 2


226 Manuale di riferimento, 05/2010, A5E02789979-01
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 Dichiarazione Tipo Area di memoria Descrizione


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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 227
SFC per la gestione di eventi di errori di sincronismo
11.4 Lettura del registro di stato eventi con la SFC 38 "READ_ERR"

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


228 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 229
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

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 (p. 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 (p. 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 / Volume 2


230 Manuale di riferimento, 05/2010, A5E02789979-01
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 Dichiarazione Tipo Area di memoria Descrizione


MODE INPUT BYTE E, A, M, D, L, cost. Indica quali richieste di eventi di allarme e di
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 231
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 / Volume 2


232 Manuale di riferimento, 05/2010, A5E02789979-01
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 lSFC 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 Dichiarazione Tipo Area di memoria Descrizione


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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 233
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 / Volume 2


234 Manuale di riferimento, 05/2010, A5E02789979-01
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 Dichiarazione Tipo Area di memoria Descrizione


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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 235
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 Dichiarazione Tipo Area di memoria Descrizione


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 / Volume 2


236 Manuale di riferimento, 05/2010, A5E02789979-01
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 Dichiarazione Tipo Area di memoria Descrizione


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_SI OUTPUT STRUCT D, L Informazione di avvio dell'ultimo OB di
avviamento

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


Manuale di riferimento, 05/2010, A5E02789979-01 237
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 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 / Volume 2


238 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 239
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/.

Parametri Dichiarazione Tipo Area di memoria Descrizione


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

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


240 Manuale di riferimento, 05/2010, A5E02789979-01
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 Dichiarazione Tipo Area di memoria Descrizione


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.

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.

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


Manuale di riferimento, 05/2010, A5E02789979-01 241
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"

Codice di Spiegazione
errore
(W#16#...)
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

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 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

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


242 Manuale di riferimento, 05/2010, A5E02789979-01
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#...)
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
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
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 unimmagine 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

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


Manuale di riferimento, 05/2010, A5E02789979-01 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"

SZL_ID Lista parziale INDICE


(W#16#...) (W#16#...)
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
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 dellinterfaccia 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 indicato/nella Telaio o ID sistema master DP e
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 / Volume 2


244 Manuale di riferimento, 05/2010, A5E02789979-01
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 uninterfaccia 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 dellintera batteria tampone di tutti i rack/telai di 0
montaggio di una CPU
0592 Stato dellalimentazione 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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 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"

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 PROFINET ID del sistema PROFINET IO
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 / Volume 2


246 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 247
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 Riservatobt
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.

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).

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


248 Manuale di riferimento, 05/2010, A5E02789979-01
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"

Registrazione del tempo


Questa registrazione del tempo del tipo Date_and_Time.

Parametri Dichiarazione Tipo Area di memoria Descrizione


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.

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.

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


Manuale di riferimento, 05/2010, A5E02789979-01 249
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"

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.

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
8087 Lunghezza di INFO2 non ammessa
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 / Volume 2


250 Manuale di riferimento, 05/2010, A5E02789979-01
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 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. L'elaborazione degli
errori di sincronismo rientra nel tempo di
elaborazione del rispettivo OB che ha
causato lerrore. Lindicazione degli
OB 121 e 122 o degli OB non generati
nella CPU produce un messaggio di
errore.
Se lOB=0 vengono trasmessi i dati
dellOB contestualmente al quale stata
richiamata lSFC. Al richiamo
dellSFC 78 negli OB 121 o 122
mediante OB_NR=0, vengono indicati i
tempi dellOB che ha causato lallarme
inclusi i tempi dellOB 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 dellOB, 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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 251
SFC per la diagnostica
13.5 Rilevamento del tempo di esecuzione del programma OB con l'SFC 78 "OB_RT"

Parametri Dichiarazione Tipo 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 lOB del quale si intende rilevare i tempi
di esecuzione in corso di elaborazione,
tenere presente che :
Al primo richiamo della SFC 78 durante
lelaborazione in corso dellOB desiderato, il
tempo di esecuzione dellultima richiesta di
OB completata specificato in LAST_RT.
Ad ogni successivo richiamo della SFC 78
durante lelaborazione in corso dellOB
desiderato, in LAST_RT viene specificato:
DW#16#FFFF FFFF se nellOB
desiderato ha gi avuto luogo un
richiamo della SFC 78 con OB NR=0.
Il tempo di esecuzione dellultima
richiesta di OB completata se nellOB
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 / Volume 2


252 Manuale di riferimento, 05/2010, A5E02789979-01
SFC per la diagnostica
13.5 Rilevamento del tempo di esecuzione del programma OB con l'SFC 78 "OB_RT"

Parametri Dichiarazione Tipo Area di memoria Descrizione


LAST_ET OUTPUT DINT E, A, M, D, L Tempo in microsecondi trascorso dallultima
richiesta di OB e la fine dellelaborazione
dellOB indicato in microsecondi, e
precisamente lultima elaborazione
completata dellOB indicato.
Al primo richiamo della SFC 78 durante
lelaborazione in corso dellOB desiderato, il
tempo trascorso tra lultima richiesta di OB
completamente elaborata e la fine
dellelaborazione dellOB indicato
specificato in LAST_ET.
Ad ogni successivo richiamo della SFC 78
durante lelaborazione in corso dellOB
desiderato, in LAST_ET viene specificato:
DW#16#FFFF FFFF se nellOB
desiderato ha gi avuto luogo un
richiamo della SFC 78 con OB NR=0.
Il tempo trascorso tra lultima richiesta di
OB completamente elaborata e la fine
dellelaborazione dellOB desiderato, se
in questultimo 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 lOB 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.
CUR_RT OUTPUT DINT E, A, M, D, L Tempo di esecuzione finora trascorso,
espresso in microsecondi e relativo
allelaborazione attuale dellOB indicato.
CUR_RT uguale a 0 se lOB 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.

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


Manuale di riferimento, 05/2010, A5E02789979-01 253
SFC per la diagnostica
13.5 Rilevamento del tempo di esecuzione del programma OB con l'SFC 78 "OB_RT"

Parametri Dichiarazione Tipo Area di memoria Descrizione


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
dellOB 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.

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)
dellOB indicato specificata in PRIO
I parametri runtime (CUR_RT, CUR_ET, LAST_RT, LAST_ET, NEXT_ET) restituisce 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.

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


254 Manuale di riferimento, 05/2010, A5E02789979-01
SFC per la diagnostica
13.5 Rilevamento del tempo di esecuzione del programma OB con l'SFC 78 "OB_RT"

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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 255
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, p. 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 / Volume 2


256 Manuale di riferimento, 05/2010, A5E02789979-01
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).

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

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


Manuale di riferimento, 05/2010, A5E02789979-01 257
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
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
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 in caso
venisse raggiunto il massimo numero di
collegamenti supportato dalla CPU.

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


258 Manuale di riferimento, 05/2010, A5E02789979-01
SFC per la diagnostica
13.6 Determinazione dello stato attuale del collegamento con la SFC 87 "C_DIAG"

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.

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

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


Manuale di riferimento, 05/2010, A5E02789979-01 259
SFC per la diagnostica
13.6 Determinazione dello stato attuale del collegamento con la SFC 87 "C_DIAG"

Parametro Tipo di Descrizione


dati
DIS_PCON BOOL Le transizioni W#16#12 -> W#16#13 e W#16#13 -> W#16#12 di
CON_ARR[i].STAT_CON dallultimo 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.
DIS_CON BOOL Qualsiasi modifica di CON_ARR[i].STAT_CON dallultimo 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 / Volume 2


260 Manuale di riferimento, 05/2010, A5E02789979-01
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 lerrore. Linformazione 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 lelaborazione
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 261
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 lutente 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 Area di memoria Descrizione


zione
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 / Volume 2


262 Manuale di riferimento, 05/2010, A5E02789979-01
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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 263
SFC per la diagnostica
13.7 Definizione della topologia di bus in un sistema master DP con la SFC 103 "DP_TOPOL"

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


264 Manuale di riferimento, 05/2010, A5E02789979-01
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 unimmagine 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.
Unimmagine di processo parziale aggiornata con la SFC 26 non pu essere aggiornata
contemporaneamente con la SFC 126 "SYNC_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 Dichiarazione Tipo Area di memoria Descrizione


PART INPUT BYTE E, A, M, D, L, cost. Numero dell'immagine di processo parziale da
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.

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


Manuale di riferimento, 05/2010, A5E02789979-01 265
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"

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.
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 / Volume 2


266 Manuale di riferimento, 05/2010, A5E02789979-01
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 Dichiarazione Tipo Area di memoria Descrizione


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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 267
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 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
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 / Volume 2


268 Manuale di riferimento, 05/2010, A5E02789979-01
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_PI"

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 Dichiarazione Tipo Campo di valori Preconfigurazione Descrizione


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 / Volume 2


Manuale di riferimento, 05/2010, A5E02789979-01 269
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_PI"

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 / Volume 2


270 Manuale di riferimento, 05/2010, A5E02789979-01
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
&q