Visualizza - Siemens Support

Transcript

Visualizza - Siemens Support
SIMATIC
Software di sistema per S7-300/400
- Funzioni standard e di sistema Volume 1 / Volume 2
Manuale di riferimento
Il presente manuale fa parte del pacchetto
di documentazione con il numero di ordinazione:
6ES7810-4CA10-8EW1
05/2010
A5E02789979-01
Blocchi organizzativi
1
Parametri generali relativi alle SFC
2
Funzioni di copiatura e di blocco
3
SFC per il controllo del programma
4
SFC per la gestione dell'orologio
5
SFC per la gestione del contatore
del tempo di esercizio
6
SFC/SFB per il trasferimento di set
di dati
7
SFB DPV1 secondo PNO AK 1131
8
SFC per la gestione di allarmi
dall'orologio
9
SFC per la gestione di allarmi di
ritardo
10
SFC per la gestione di eventi di
errori di sincronismo
11
SFC per la gestione di allarmi e di
eventi di errori di asincronismo
12
SFC per la diagnostica
13
SFC per l'aggiornamento
dell'immagine di processo e
l'elaborazione del campo di bit
14
Funzioni di sistema per
l'indirizzamento di unità
15
SFC per periferia decentrata o per
PROFINET IO
16
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
Industry Sector
Postfach 48 48
90026 NÜRNBERG
GERMANIA
A5E02789979-01
Ⓟ 02/2010
Copyright © Siemens AG 2010.
Con riserva di eventuali modifiche tecniche
Prefazione
Scopo del manuale
Questo manuale, suddiviso in volume 1 A5E02789979-01 e volume 2 A5E02790056-01 offre una
panoramica completa dei blocchi organizzativi (OB), delle funzioni di sistema (SFC), dei blocchi
funzionali di sistema e dei blocchi funzionali standard (SFB) nonché delle funzioni IEC, contenuti nei
sistemi operativi delle CPU dei sistemi S7-300 e S7-400. Nell’appendice sono descritti i dati di
diagnostica, la lista di stato di sistema (SZL) e gli eventi.
Avvertenza
Quali di queste funzioni e blocchi sono integrati in quale CPU viene descritto nella parte bibliografica
del manuale “Sistema di automazione S7-300, Configurazione e dati della CPU: CPU 31xC e
CPU 31x“ e "Sistema di automazione S7-300, Configurazione e dati della CPU: CPU 312 IFM 318-2
DP" /70/ o del manuale “Sistemi di automazione S7-400, M7-400, Dati delle unità /101/ o della lista
operazioni: “Sistema di automazione S7-400: Dati della CPU“ /102/, nella versione valida per la CPU
utilizzata. Le caratteristiche funzionali per le SFB di comunicazione per i collegamenti progettati e le
funzioni di segnalazione S7 si trovano nei manuali /70/ e /101/.
Informazioni relative ai sistemi operativi delle CPU, allo sviluppo di programmi e alle possibilità di
comunicazione e di diagnostica delle CPU sono riportate nel manuale /234/. Come potete richiamare
le funzioni e i blocchi funzionali dal proprio programma è spiegato nelle descrizioni dei linguaggi.
Tutte le funzioni indicate vengono programmate e parametrizzate con il software di base STEP 7, che
non viene spiegato in questo manuale. La relativa documentazione è offerta dal manuale /231/ e dalla
Guida online STEP 7.
Destinatari
I destinatari di questo manuale sono i programmatori e gli ingegneri che hanno familiarità con il
controllo dei processi e che scrivono programmi per i sistemi di automazione.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / 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
personale tecnico: procedure per la
realizzazione di compiti di controllo
con STEP 7 e S7-300/400
6ES7810-4CA10-8EW0
Nozioni di riferimento sui linguaggi
di programmazione KOP, FUP,
AWL, nonché sulle funzioni
standard e di sistema;
perfezionamento delle conoscenze
di base di STEP 7.
6ES7810-4CA10-8EW1
•
Primi passi ed esercitazioni con STEP 7
•
Programmazione con STEP 7
•
Configurazione dell’hardware e
progettazione di collegamenti con
STEP 7
•
Manuale di conversione: STEP 7,
da S5 a S7
Nozioni di riferimento di STEP 7 con
4
•
Manuali KOP/FUP/AWL per S7 300/400
•
Funzioni standard e di sistema per
S7-300/400
Volume 1 A5E02789979-01 e
Volume 2 A5E02790056-01
Guide online
Scopo
Numero di ordinazione
Guida a STEP 7
Conoscenze di base per la
programmazione e la configurazione
hardware con STEP 7
Parte del pacchetto
software STEP 7
Guide di riferimento a AWL/KOP/FUP
Guida di riferimento a SFB/SFC
Guida di riferimento ai blocchi organizzativi
Guida di riferimento sensibile al
contesto
Parte del pacchetto
software 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
Prefazione
Guida in linea
Come completamento del manuale è possibile avvalersi in fase operativa della dettagliata Guida in
linea integrata nel software.
Il sistema della Guida è integrato nel software mediante differenti interfacce.
• Nel menu ? sono disponibili diversi comandi: Argomenti della Guida apre l'indice della Guida di
STEP 7.
• Uso della Guida offre istruzioni dettagliate sulla possibilità di reperire informazioni nella Guida in
linea.
• La Guida al contesto offre informazioni sul contesto attuale, p. es. su una finestra di dialogo aperta
o su una finestra attiva. È richiamabile con il pulsante "?" o con il tasto F1.
• Una forma ulteriore di Guida al contesto è data dalla barra di stato: appena il cursore del mouse si
trova su un comando viene visualizzata nella barra di stato una breve spiegazione.
• Una tale spiegazione viene riportata anche nella barra degli strumenti se il mouse si sofferma
brevemente su una icona.
Se si preferisce leggere le informazioni della Guida in linea su carta, sarà possibile stampare dei
singoli argomenti o libri della Guida, o perfino l'intera Guida.
Questo manuale è un'estratto della Guida in linea a STEP 7 basata sul formato HTML. Poichè la
struttura del manuale e della Guida in linea è quasi identica, è possibile passare facilmente dal
manuale alla Guida in linea.
Altri manuali
Le singole CPU dell’S7-300 e S7-400 nonché le unità S7-300 e S7-400 sono descritte
•
per il sistema di automazione S7-300 nei manuali /70/, /71/ e in /72/.
•
per il sistema di automazione S7-400 nel manuale /101/ e in /102/.
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.
•
L’indice 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
6
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
8
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
Indice
1
Blocchi organizzativi.................................................................................................................................13
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
1.12
1.13
1.14
1.15
1.16
1.17
1.18
1.19
1.20
1.21
1.22
1.23
1.24
1.25
1.26
1.27
1.28
2
Parametri generali relativi alle SFC .........................................................................................................89
2.1
3
Panoramica degli OB ...................................................................................................................13
Programma ciclico (OB 1)............................................................................................................17
OB di allarme dall'orologio (da OB 10 a OB 17) ..........................................................................19
OB di allarme di ritardo (da OB 20 a OB 23) ...............................................................................23
OB di schedulazione orologio (da OB 30 a OB 38) .....................................................................25
OB di interrupt di processo (da OB 40 a OB 47) .........................................................................27
OB di allarme di stato (OB 55) .....................................................................................................29
OB di allarme di aggiornamento (OB 56).....................................................................................33
OB per allarmi produttore (OB 57) ...............................................................................................37
OB di allarme di multicomputing (OB 60) ....................................................................................41
OB di allarme in sincronismo di clock (da OB 61 a OB 64) .........................................................43
OB di allarme di sincronismo tecnologico (OB 65) ......................................................................44
OB di errore di ridondanza della periferia (OB 70) ......................................................................45
OB di errore di ridondanza della CPU (OB 72)............................................................................47
OB di errore di ridondanza di comunicazione OB (OB73)...........................................................50
OB di errore temporale (OB 80)...................................................................................................51
OB di errore di alimentazione (OB 81).........................................................................................54
OB di allarme di diagnostica (OB 82) ..........................................................................................56
OB di estrazione/inserimento (OB 83) .........................................................................................58
OB di errore hardware CPU (OB 84) ...........................................................................................62
OB di errore esecuzione programma (OB 85) .............................................................................63
OB di guasto telaio di montaggio (OB 86) ...................................................................................67
OB di errore di comunicazione (OB 87).......................................................................................72
OB di interruzione di elaborazione (OB 88) .................................................................................74
OB di priorità bassa (OB 90)........................................................................................................76
OB di avviamento (OB 100, OB 101 e OB 102) ..........................................................................78
OB di errore di programmazione (OB 121)..................................................................................83
OB di errore di accesso alla periferia (OB 122) ...........................................................................86
Analisi degli errori con il parametro di uscita RET_VAL ..............................................................89
Funzioni di copiatura e di blocco ............................................................................................................99
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
Copia di un'area di memoria con la SFC 20 "BLKMOV" .............................................................99
Copia della variabile senza interruzioni con la SFC 81 "UBLKMOV" ........................................102
Inizializzazione di aree di memoria con la SFC 21 "FILL" .........................................................104
Creazione di un blocco dati con la SFC 22 "CREAT_DB".........................................................107
Cancellazione di un blocco dati con la SFC 23 "DEL_DB"........................................................109
Test di un blocco dati con la SFC 24 "TEST_DB" .....................................................................111
Compressione della memoria utente con la SFC 25 "COMPRESS".........................................112
Copiatura del valore sostitutivo in ACCU 1 con la SFC 44 "REPL_VAL"..................................114
Creazione di un blocco dati nella memoria di caricamento con la SFC 82 "CREA_DBL".........115
Lettura di un blocco dati nella memoria di caricamento con la SFC 83 "READ_DBL"..............118
Scrittura di un blocco dati nella memoria di caricamento con la SFC 84 "WRIT_DBL" ............120
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
4.2
4.3
4.4
4.5
4.6
5
SFC per la gestione dell'orologio ..........................................................................................................133
5.1
5.2
5.3
5.4
6
Lettura di un set di dati con l'SFB 52 "RDREC".........................................................................167
Scrittura di un set di dati con l'SFB 53 "WRREC"......................................................................169
Ricezione di un allarme con l'SFB 54 "RALRM" ........................................................................171
Allarme inviato al master DP con l'SFB 75 "SALRM" ................................................................189
Ricezione di un set di dati con l'SFB 73 "RCVREC"..................................................................196
Messa a disposizione di un set di dati con l'SFB 74 "PRVREC" ...............................................199
SFC per la gestione di allarmi dall'orologio .........................................................................................203
9.1
9.2
9.3
9.4
9.5
9.6
10
Scrittura e lettura di set di dati ...................................................................................................147
Lettura di parametri predefiniti con la SFC 54 "RD_DPARM" ...................................................150
Lettura di parametri predefiniti con la SFC 102 "RD_DPARA" ..................................................151
Scrittura di parametri dinamici con la SFC 55 "WR_PARM" .....................................................152
Scrittura di parametri predefiniti con la SFC 56 "WR_DPARM" ................................................154
Parametrizzazione di unità con la SFC 57 "PARM_MOD" ........................................................155
Scrittura di set di dati con la SFC 58 "WR_REC" ......................................................................158
Lettura di set di dati con la SFC 59 "RD_REC" .........................................................................160
Altre informazioni di errore delle SFC 55 fino a 59 ....................................................................165
Lettura di parametri predefiniti con l'SFB 81 "RD_DPAR" .........................................................165
SFB DPV1 secondo PNO AK 1131 .........................................................................................................167
8.1
8.2
8.3
8.4
8.5
8.6
9
Contatore del tempo di esercizio ...............................................................................................139
Gestione dei contatori del tempo di esercizio con la SFC 101 "RTM".......................................141
Impostazione del contatore con la SFC 2 "SET_RTM" .............................................................143
Avvio e arresto del contatore con la SFC 3 "CTRL_RTM" ........................................................144
Lettura del contatore con la SFC 4 "READ_RTM"...................................................................145
Lettura del tempo di sistema con la SFC 64 "TIME_TCK" ........................................................146
SFC/SFB per il trasferimento di set di dati ...........................................................................................147
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
7.9
7.10
8
Impostazione dell'orologio con la SFC 0 "SET_CLK" ................................................................133
Lettura dell’orologio con la SFC 1 "READ_CLK" .......................................................................134
Sincronizzazione di orologi slave con la SFC 48 "SNC_RTCB"................................................135
Impostazione dell'orologio e del relativo stato con la SFC 100 "SET_CLKS" ...........................136
SFC per la gestione del contatore del tempo di esercizio ..................................................................139
6.1
6.2
6.3
6.4
6.5
6.6
7
Retrigger del controllo tempo del ciclo con la SFC 43 "RE_TRIGR" .........................................125
Commutazione della CPU in STOP con la SFC 46 "STP" ........................................................125
Ritardo dell'elaborazione del programma utente con la SFC 47 "WAIT"...................................126
Attivazione interrupt di multicomputing con la SFC 35 "MP_ALM"............................................127
Comando dell’operazione CiR con la SFC 104 "CiR"................................................................128
Attivazione della protezione in scrittura con l'SFC 109 "PROTECT".........................................130
Gestione di allarmi dall'orologio .................................................................................................203
Caratteristiche delle SFC 28 ... 31 .............................................................................................204
Impostazione di un allarme dall'orologio con la SFC 28 "SET_TINT" .......................................206
Cancellazione di un allarme dall'orologio con la SFC 29 "CAN_TINT" .....................................207
Attivazione di un allarme dall'orologio con la SFC 30 "ACT_TINT"...........................................208
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
Manuale di riferimento, 05/2010, A5E02789979-01
Indice
10
SFC per la gestione di allarmi di ritardo ...............................................................................................211
10.1
10.2
10.3
10.4
11
SFC per la gestione di eventi di errori di sincronismo........................................................................217
11.1
11.2
11.3
11.4
12
12.3
12.4
12.5
13.4
13.5
13.6
13.7
Diagnostica di sistema ...............................................................................................................237
Lettura dell'informazione di avvio dell'OB attuale con la SFC 6 "RD_SINFO" ..........................237
Lettura di una lista parziale SZL o di un estratto della lista parziale SZL con la SFC 51
"RDSYSST"................................................................................................................................240
Scrittura di un evento di diagnostica definito dall'utente nel buffer di diagnostica
con la SFC 52 "WR_USMSG"..................................................................................................247
Rilevamento del tempo di esecuzione del programma OB con l'SFC 78 "OB_RT" ..................251
Determinazione dello stato attuale del collegamento con la SFC 87 "C_DIAG" .......................256
Definizione della topologia di bus in un sistema master DP con la SFC 103 "DP_TOPOL" .....261
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit.................265
14.1
14.2
14.3
14.4
14.5
14.6
14.7
15
Ritardo e disabilitazione di allarmi ed eventi di errore di asincronismo .....................................229
Disabilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo
con la SFC 39 "DIS_IRT"...........................................................................................................231
Abilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo
con l’SFC 40 "EN_IRT" ..............................................................................................................233
Ritardo della risposta ad allarmi ed eventi di errori di asincronismo di più alta priorità
con la SFC 41 "DIS_AIRT" ........................................................................................................235
Abilitazione della risposta ad allarmi ed eventi di errori di asincronismo di più alta priorità
con la SFC 42 "EN_AIRT" .........................................................................................................236
SFC per la diagnostica............................................................................................................................237
13.1
13.2
13.3
14
Mascheramento di eventi di errori di sincronismo .....................................................................217
Mascheramento di eventi di errori di sincronismo con la SFC 36 "MSK_FLT"..........................225
Demascheramento di eventi di errori di sincronismo con la SFC 37 "DMSK_FLT" ..................226
Lettura del registro di stato eventi con la SFC 38 "READ_ERR" ..............................................227
SFC per la gestione di allarmi e di eventi di errori di asincronismo..................................................229
12.1
12.2
13
Gestione di allarmi di ritardo ......................................................................................................211
Attivazione di un allarme di ritardo con la SFC 32 "SRT_DINT" ...............................................213
Interrogazione dello stato di un allarme di ritardo con la SFC 34 "QRY_DINT"........................214
Cancellazione di un allarme di ritardo con la SFC 33 "CAN_DINT" ..........................................216
Aggiornamento dell'immagine di processo degli ingressi con la SFC 26 "UPDAT_PI".............265
Aggiornamento delle uscite delle unità di periferia con la SFC 27 "UPDAT_PO" .....................267
Aggiornamento con sincronizzazione di clock dell'immagine di processo parziale
degli ingressi con l'SFC 126 "SYNC_PI" ...................................................................................269
Aggiornamento con sincronizzazione di clock dell'immagine di processo parziale
delle uscite con l'SFC 127 "SYNC_PO".....................................................................................271
Impostazione del campo di bit nell'area periferia con la SFC 79 "SET" ....................................273
Resettaggio del campo di bit nell'area periferia con la SFC 80 "RSET"....................................274
Realizzazione di un dispositivo di avanzamento a passi con l'SFB 32 "DRUM" .......................275
Funzioni di sistema per l'indirizzamento di unità ................................................................................279
15.1
15.2
15.3
15.4
15.5
Rilevamento dell'indirizzo di base logico di un'unità con la SFC 5 "GADR_LGC".....................279
Rilevamento del posto connettore appartenente ad un indirizzo logico
con la SFC 49 "LGC_GADR".....................................................................................................281
Rilevamento di tutti gli indirizzi logici di un'unità con la SFC 50 "RD_LGADR".........................283
Determinazione dell'indirizzo iniziale di un'unità con la SFC 70 "GEO_LOG"...........................284
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
16.2
16.3
16.4
16.5
16.6
17
PROFInet ..................................................................................................................................................315
17.1
17.2
17.3
17.4
18
Informazioni sulle SFC 112, 113 e 114......................................................................................315
Aggiornamento degli ingressi dell'interfaccia del programma utente dei componenti
PROFINET CBA con l'SFC 112 "PN_IN"...................................................................................318
Aggiornamento delle uscite dell'interfaccia PROFINET del componente PROFINET CBA
con l’SFC 113 "PN_OUT" ..........................................................................................................319
Aggiornamento delle interconnessioni DP con l’SFC 114 "PN_DP"..........................................320
SFC e SFB per le CPU PROFINET..........................................................................................................321
18.1
18.2
12
Attivazione di un interrupt di processo nel master DP con l'SFC 7 "DP_PRAL" .......................289
Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR" .........................................292
Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP"....298
Lettura di dati di diagnostica (diagnostica slave) di uno slave DP
con l'SFC 13 "DPNRM_DG" ......................................................................................................305
Lettura di dati coerenti di uno slave standard DP/PROFINET IO Device
con l'SFC 14 "DPRD_DAT"........................................................................................................309
Scrittura coerente di dati utili ad uno slave standard DP/PROFINET IO Device
con l'SFC 15 "DPWR_DAT".......................................................................................................312
Attivazione/sincronizzazione di pagine Web personalizzate con l'SFC 99 "WWW"..................321
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
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
OB 11
Allarme dall'orologio 1
2
OB 12
Allarme dall'orologio 2
2
Nessuna
assegnazione clock
default
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
OB 21
Allarme di ritardo 1
4
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
OB 31
Allarme di schedulazione orologio 1 (default: clock 2 s)
8
OB 32
Allarme di schedulazione orologio 2 (default: clock 1 s)
9
OB 33
Allarme di schedulazione orologio 3 (default: clock 500
ms)
10
Allarme di schedulazione orologio 4 (default: clock 200
ms)
12
Allarme di schedulazione orologio 5 (default: clock 100
ms)
14
OB 34
OB 35
OB 36
OB 37
OB 38
Allarme di schedulazione orologio 6 (default: clock 50
ms)
Nessuna
assegnazione clock
default
Allarmi di
schedulazione orologio
11
13
15
Allarme di schedulazione orologio 7 (default: clock 20
ms)
Allarme di schedulazione orologio 8 (default: clock 10
ms)
14
OB 40
Interrupt di processo 0
16
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
Interrupt di processo
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
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
OB 62
Allarme in sincronismo di clock 2
25
Allarmi di sincronismo
di clock
OB 63
Allarme in sincronismo di clock 3
25
OB 64
Allarme in sincronismo di clock 4
25
OB 65
Allarme di sincronismo tecnologico
25
Allarme di sincronismo
tecnologico
OB 70
Errore di ridondanza della periferia (solo nelle CPU H)
25
OB 72
Errore di ridondanza della CPU (solo nelle CPU H)
28
Allarmi di errore di
ridondanza
OB 73
OB di errore di ridondanza di comunicazione (solo nelle
CPU H)
25
OB 80
Errore temporale
26, 28 1
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
sistema master DP o di una stazione con periferia
decentrata
26, 28 1) con
S7-300,
1)
25, 28 con
S7-400
e CPU 318
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
Allarmi DPV1
Allarmi di errori di
asincronismo
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)
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)
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)
2)
16
27 1)
Ciclo di sfondo
Le classi di priorità 27 e 28 sono valide nel modello della classe di priorità dell'avviamento.
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
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 dell‘immagine di processo delle
uscite nelle unità di uscita) fino a quando non è stato raggiunto il tempo di ciclo minimo.
I campi dei valori per i parametri del tempo di ciclo massimo e minimo sono riportati nei manuali /70/ e
/101/. La modifica dei parametri viene eseguita con STEP 7.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / 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.
18
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
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
Intervallo
impostato
20
Ora attuale
Istante della prima esecuzione
dell'OB di allarme 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
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
sistema della CPU, si è impostata l'ora in
avanti e si è saltata la data o l'ora
dell'evento di avvio per l'OB ora del giorno.
Il sistema operativo chiama OB 80 e codifica il numero di OB (10)
e le informazioni dell'evento di avvio in OB 80.
Nel sincronizzare o correggere l'orologio di
sistema della CPU, l'ora è stata riportata
indietro e si ripete la data o l'ora dell'evento
di avvio per un OB di allarme dall'orologio.
CPU S7-400 e CPU 318:
Se l'OB di allarme dall'orologio era già attivato prima di riportare
indietro l'orologio, esso non viene di nuovo richiamato per i tempi
già trascorsi.
Il sistema operativo esegue quindi l'OB di allarme dall'orologio
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.
CPU S7-300: viene eseguito l'OB di allarme dall'orologio
La CPU esegue un nuovo avviamento
(avviamento a caldo) o un avviamento a
freddo.
Ogni OB di allarme dall'orologio che è stato configurato con una
SFC riprende la configurazione che è stata progettata con
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
eseguito quando si verifica l'evento di avvio
per il prossimo intervallo.
Il sistema operativo chiama OB 80. Se OB 80 non è
programmato, la CPU passa in STOP.
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
22
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
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)
24
OB20_PRIORITY
BYTE
TEMP
Classe di priorità parametrizzata: valori di default
da 3 (OB 20) fino a 6 (OB 23)
OB20_OB_NUMBR
BYTE
TEMP
Numero di OB (da 20 a 23)
OB20_RESERVED_
1
BYTE
TEMP
Riservato
OB20_RESERVED_
2
BYTE
TEMP
Riservato
OB20_SIGN
WORD
TEMP
Identificazione utente: Parametro di ingresso SIGN
dal richiamo della SFC 32 ”SRT_DINT”
OB20_DTIME
TIME
TEMP
Tempo di ritardo parametrizzato in ms
OB20_DATE_TIME
DATE_AND_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
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
temporale
Valore di default per la classe di
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
OB35_PHASE_OFFSET WORD
Riservato
•
Se OB35_STRT_INF=B#16#3A: spostamento delle fasi
inìs
•
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
26
•
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
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
Unità di ingresso: B#16#54
BYTE
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.
28
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
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:
Unità/modulo uscite: B#16#55
OB55_DATE_TIME
DATE_AND_TIME
•
Bit 0 ... 1: specificatore allarme
•
Bit 2: Add_Ack
•
Bit 3 … 7: n. sequenziale
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.
30
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
•
•
B#16#58
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)
Alarm Specifier:
•
Bit 0 ... 10: numero di sequenza (campo valori 0 ... 2047)
•
Bit 11: diagnostica di canale
•
•
•
•
32
low byte: Specifier
-
-
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
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
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:
Unità/modulo uscite: B#16#55
OB56_DATE_TIME
DATE_AND_TIME
•
Bit 0 ... 1: specificatore allarme
•
Bit 2: Add_Ack
•
Bit 3 ... 7: n. sequenziale
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.
34
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
•
•
B#16#59
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)
Alarm Specifier:
•
Bit 0 ... 10: numero di sequenza (campo valori 0 ... 2047)
•
Bit 11: diagnostica di canale
•
•
•
•
36
Low byte: Specifier
-
-
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
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:
OB57_DATE_TIME
DATE_AND_TIME
•
Bit 0 ... 1: specificatore allarme
•
Bit 2: Add_Ack
•
Bit 3 ... 7: n. sequenziale
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.
38
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
•
•
B#16#5A
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)
Alarm Specifier:
•
Bit 0 ... 10: numero di sequenza (campo valori 0 ... 2047)
•
Bit 11: diagnostica di canale
•
•
•
•
40
Low byte: Specifier
-
-
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
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"
Elaborazione
dell'OB60
Elaborazione
dell'OB60
CPU 2:
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
OB60_OB_NUMBR
BYTE
OB60_RESERVED_1 BYTE
Numero OB: 60
Riservato
OB60_RESERVED_2 BYTE
Riservato
OB60_JOB
Identificazione di job: variabile di ingresso JOB dell'SFC 35
”MP_ALM”
INT
OB60_RESERVED_3 INT
Riservato
OB60_REVERVED_4 INT
Riservato
OB60_DATE_TIME
42
Classe di priorità: 25
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
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
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
B#16#67: richiesta di avvio per l'OB 64
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:
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
B#16#11: evento entrante, classe di evento 1
44
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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 l‘OB 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 dell‘OB 70.
Variabile
Tipo di dati
Descrizione
OB70_EV_CLASS
BYTE
Classe di evento e identificazioni:
•
B#16#72: evento uscente
•
B#16#73: evento entrante
OB70_FLT_ID
BYTE
Codice d'identificazione d'errore (valori possibili:
OB70_PRIORITY
BYTE
Classe di priorità; parametrizzabile con STEP 7
(Configurazione hardware)
B#16#A2, B#16#A3)
OB70_OB_NUMBR
BYTE
Numero di OB (70)
OB70_RESERVED_1
WORD
Riservato
OB70_INFO_1
WORD
Dipendente dal codice di identificazione d‘errore
OB70_INFO_2
WORD
Dipendente dal codice di identificazione d‘errore
OB70_INFO_3
WORD
Dipendente dal codice di identificazione d‘errore
OB70_DATE_TIME
DATE_AND_TIME
Data e ora in cui è stato richiamato l‘OB
La tabella seguente mostra quale evento ha causato l'avviamento dell‘OB 70.
OB70_EV_CLASS
OB70_FLT_ID
Evento di avvio dell'OB 70
B#16#73
B#16#A2
Guasto di un master DP 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:
-
OB70_INFO_2:
-
OB70_INFO_3
Indirizzo logico di base del master DP interessato
Slave DP interessato.
da 0 a 14:
Indirizzo logico di base di uno slave S7 o indirizzo di
diagnostica di uno slave DP standard
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.
46
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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 dell‘OB 72.
Variabile
Tipo di dati
Descrizione
OB72_EV_CLASS
BYTE
Classe di evento e identificazioni:
•
B#16#78: Evento uscente
•
B#16#73, B#16#75, B#16#79: Evento entrante
OB72_FLT_ID
BYTE
Codice d'identificazione d'errore (valori possibili: B#16#01,
B#16#02, B#16#03, B#16#20, B#16#21, B#16#22, B#16#23,
B#16#31, B#16#33, B#16#34, B#16#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
48
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
Blocchi organizzativi
1.14 OB di errore di ridondanza della CPU (OB 72)
La tabella seguente mostra quale evento ha causato l'avviamento dell‘OB 72.
OB72_EV_CLASS
OB72_FLT_ID
Evento di avvio dell'OB 72
B#16#73
B#16#01
Perdita di ridondanza (1v2) dovuta a guasto della CPU
B#16#73
B#16#02
Perdita di ridondanza (1v2) dovuta a STOP della riserva, causato
dall'utente
B#16#73
B#16#03
Sistema H (1v2) passato al funzionamento ridondato
B#16#73
B#16#20
Errore nel confronto della RAM
B#16#73
B#16#21
Errore nel confronto del valore iniziale dell'immagine di processo
B#16#73
B#16#22
Errore nel confronto di merker, temporizzatori o contatori
B#16#73
B#16#23
Riconosciuti dati del sistema operativo diversi
B#16#73
B#16#31
Commutazione riserva-master dovuta a guasto del master
B#16#73
B#16#33
Commutazione riserva-master nel corso di una modifica all’impianto in
funzione
B#16#73
B#16#34
Commutazione riserva-master dovuta a un guasto del collegamento
sul modulo di sincronizzazione
B#16#73
B#16#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.
50
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
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
B#16#01
Significato
Tempo ciclo superato
OB80_ERROR_INFO:
Tempo esecuzione dell'ultimo ciclo (ms)
OB80_ERR_EV_CLASS:
Classe dell'evento che ha causato l'allarme
OB80_ERR_EV_NUM:
Numero dell'evento che ha causato l'allarme
OB80_OB_PRIORITY:
Classe di priorità dell'OB in elaborazione quando si è
verificato l'errore.
OB80_OB_NUM
Il numero dell'OB in elaborazione quando si è verificato
l'errore.
B#16#02
L'OB richiamato è ancora in elaborazione.
OB80_ERROR_INFO:
La relativa variabile temporanea dell'OB richiamato,
che è determinato da
OB80_ERR_EV_CLASS e
OB80_ERR_EV_NUM.
OB80_ERR_EV_CLASS:
Classe dell'evento che ha causato
l'allarme
OB80_ERR_EV_NUM:
Numero dell'evento che ha causato l'allarme
Classe di priorità dell'OB che ha causato l'errore
(ad es.: “7” per OB30/classe di priorità 7 che
avrebbe dovuto essere avviato, ma non è stato
possibile avviare).
OB80_OB_PRIORITY
Numero dell'OB che ha causato l'errore (ad es.: "30”
per l'OB30 che avrebbe dovuto essere avviato, ma non
è stato possibile avviare).
OB80_OB_NUM:
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:
OB80_OB_PRIORITY:
OB80_OB_NUM:
non utilizzato
non utilizzato
non utilizzato
non utilizzato
B#16#07
Per il significato dei parametri
vedere il codice d'errore
B#16#02.
52
Overflow del buffer di richiesta dell'OB per l'attuale
classe di priorità
(ogni richiesta di avvio dell'OB per la classe di priorità
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
Manuale di riferimento, 05/2010, A5E02789979-01
Blocchi organizzativi
1.16 OB di errore temporale (OB 80)
Codice errore
Bit
Significato
B#16#08
Significato dei parametri: vedere
codice di errore B#16#02
Errore temporale di allarme in sincronismo di clock
B#16#09
Perdita dell’allarme a causa di un elevato carico di
allarmi
Significato dei parametri: vedere
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
Numero di OB (81)
Riservato
OB81_RESERVED_2 BYTE
Riservato
OB81_RACK_CPU
•
Bit da 0 a 7: B#16#00
•
Bit da 8 a 15:
WORD
-
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
54
BYTE
OB81_RESERVED_1 BYTE
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
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.
Bit 0
Bit 1
Bit 2
Bit 3
Bit 4
Bit 5
Bit 6
Bit 7
OB81_RESERVED_6
OB81_RESERVED_5
OB81_RESERVED_4
OB81_RESERVED_3
riservato
1. apparecch. di ampl.
2. apparecch. di ampl.
3. apparecch. di ampl.
4. apparecch. di ampl.
5. apparecch. di ampl.
6. apparecch. di ampl.
7. apparecch. di ampl.
8. apparecch. di ampl.
9. apparecch. di ampl.
10. apparecch. di ampl.
11. apparecch. di ampl.
12. apparecch. di ampl.
13. apparecch. di ampl.
14. apparecch. di ampl.
15. apparecch. di ampl.
16. apparecch. di ampl.
17. apparecch. di ampl.
18. apparecch. di ampl.
19. apparecch. di ampl.
20. apparecch. di ampl.
21. apparecch. di ampl.
Riservato
Riservato
riservato
riservato
riservato
riservato
riservato
riservato
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
B#16#39/B#16#38
B#16#39/B#16#38
B#16#39/B#16#38
B#16#22
B#16#23
B#16#25
B#16#39/B#16#38
B#16#26
B#16#39/B#16#38
B#16#27
B#16#39/B#16#38
B#16#31
B#16#39/B#16#38
B#16#32
B#16#39/B#16#38
B#16#33
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.
Tensione buffer nell'apparecchiatura centrale manca/eliminata (BAF).
Guasto dell'alimentazione 24V nell'apparecchiatura centrale/eliminata.
Almeno una batteria tampone in almeno un'apparecchiatura centrale
ridondata scarica/eliminata (BATTF).
Tensione buffer in almeno un'apparecchiatura centrale ridondata
scarica/eliminata (BAF).
Guasto dell‘alimentazione 24V in almeno un'apparecchiatura centrale
ridondata.
Almeno una batteria tampone di un'apparecchiatura di ampliamento
scarica/eliminata (BATTF).
Tensione del buffer di una delle apparecchiature di ampliamento
manca/eliminata (BAF).
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 dell’OB di diagnostica. Nel caso di questi allarmi
si tratta di eventi di diagnostica dell’interfaccia PROFINET.
Per default questi eventi non creano un richiamo OB 82.
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.
56
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
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 l’OB 83 nei seguenti casi:
•
dopo l’estrazione o l’inserimento di un’unità progettata
•
dopo aver modificato dei parametri di un’unità in STEP 7 nel corso di una modifica all’impianto in
funzione (operazione CiR) ed aver caricato queste modifiche di parametri nella CPU in RUN.
Se non è stato programmato l'OB 83, la CPU commuta nello stato di funzionamento STOP.
L’OB di l’estrazione/inserimento può essere disabilitato o ritardato e abilitato di nuovo con l’aiuto delle
SFC da 9 a 42.
Estrazione ed inserimento di unità
Ogni estrazione e inserimento di un'unità progettata (non ammesse: unità di alimentazione, CPU,
capsule di adattamento e IM) negli stati di funzionamento RUN, STOP e AVVIAMENTO provoca un
allarme di estrazione/inserimento. Questo allarme determina una registrazione rispettivamente nel
buffer di diagnostica e nella lista di stato di sistema della rispettiva CPU. Inoltre, nello stato di
funzionamento RUN viene avviato l'OB di estrazione/inserimento. Se questo OB non è stato
programmato, la CPU passa nel modo di funzionamento STOP.
L’operazione di estrazione/l’inserimento di unità S7-400 nel sistema viene sorvegliata secondo per
secondo. Affinché la CPU rilevi l’estrazione e l’inserimento di un’unità S7-400, tra le due operazioni
deve intercorrere un tempo minimo di due secondi. Altre unità richiedo un intervallo più lungo.
L'OB 83 viene avviato quando si estrae nello stato di funzionamento RUN una unità progettata. È
possibile identificare prima un errore durante l'accesso diretto o l'aggiornamento dell'immagine di
processo.
Quando si inserisce una unità in un posto connettore progettato nello stato RUN, il sistema operativo
verifica se il tipo dell'unità innestata coincide con la progettazione. Successivamente viene avviato
l'OB 83, e, in caso di corrispondenza dei tipi di unità, ha luogo la parametrizzazione.
Particolarità dell'S7-300
58
•
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
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 all’impianto in funzione
(operazione CiR). La riparametrizzazione prevede il trasferimento dei record dati dei parametri nelle
unità desiderate.
Si svolge come segue:
1. L’OB 83 si avvia dopo l’esecuzione della modifica dei parametri di un’unità in STEP 7 ed il loro
caricamento nella CPU in RUN (evento di avvio W#16#3367). Tra le informazioni di avvio
dell’OB sono importanti l’indirizzo logico di base (OB83_MDL_ADDR) e il tipo di unità
(OB83_MDL_TYPE). Da questo momento i dati di ingresso e di uscita possono non essere
più corretti e possono non esservi più SFC attive che inviano record dati a questa unità.
2. Al termine dell’OB segue la riparametrizzazione dell’unità.
3. Al termine dell’operazione di riparametrizzazione l’OB 83 viene nuovamente avviato (evento di
avvio W#16#3267 in caso di parametrizzazione riuscita, o W#16#3268 in caso di
parametrizzazione non riuscita). I dati di ingresso e di uscita dell’unità si comportano come
dopo un allarme di inserimento, vale a dire che in alcuni casi da quel momento possono non
essere corretti. È ammesso il richiamo immediato delle SFC per l’invio dei record dati all’unità.
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
OB83_MDL_TD
OB83_MDL_ADDR
BYTE
WORD
Identificazione per l'unità o il sotto-modulo/modulo di interfaccia
Campo:
•
B#16#54: area periferia degli ingressi (PI)
•
B#16#55: area periferia delle uscite (PU)
•
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:
OB83_MDL_TYPE
WORD
•
•
OB83_DATE_TIME
60
-
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)
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
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
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.
62
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
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
S
BYTE
Classe dell'evento che ha generato l'errore
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
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: 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
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
•
64
-
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
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 dell‘errore 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 dell‘immagine 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 dell‘errore B#16#B3 e B#16#B4 nel caso in cui, per l'aggiornamento
dell‘immagine di processo da parte del sistema, sia stato progettato il richiamo dell'OB 85 solo in caso di errori
di accesso alla periferia entranti e uscenti. Dopo l'avviamento a freddo o il nuovo avviamento (avviamento a
caldo), con il successivo aggiornamento dell'immagine di processo vengono segnalati come errori di accesso
alla periferia entranti tutti gli accessi agli ingressi e uscite non presenti.
66
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
ARRAY [0 ..31]
Dipendente dal codice di identificazione errore
OB86_RACKS_FLTD
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.
-
B#16#38
B#16#C1
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
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
68
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
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
•
B#16#39/B#16#38
B#16#C4
•
B#16#C6
B#16#38
B#16#C6
Bit 0 … 7: riservati
-
Bit 8 … 15: ID sistema master DP
-
Bit 16 … 31: riservati
Guasto di una stazione DP
•
B#16#38
OB86_Z23: ID del sistema master 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
Ripristino di una stazione DP, tuttavia stazione guasta
OB86_MDL_ADDR e OB86_Z23 come in FLT_ID=B#16#C4
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
B#16#38
B#16#C7
-
Sono presenti unità con identificazione errata
-
sono presenti unità con parametri mancanti o errati.
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
•
•
B#16#32/B#16#33
B#16#39
B#16#39/38
B#16#38
B#16#C9
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
Attivazione/Disattivazione di uno slave DP con l'SFC 12 "D_ACT_DP"
tramite MODE=3/MODE=4
B#16#CA
•
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
Guasto del sistema PROFINET IO
B#16#CB
•
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
Guasto/ripristino della stazione PROFINET IO
B#16#CC
•
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
Ripristino della stazione PROFINET IO con guasto
•
70
OB86_MDL_ADDR: indirizzo logico di base del master DP
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
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
B#16#38
B#16#32/B#16#33
B#16#CE
B#16#CF
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
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
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
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
72
Classe di priorità; parametrizzabile con STEP 7 (Configurazione
hardware)
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
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)
Non contiene nessuna ulteriore informazione
OB87_RESERVED_3:
Non contiene nessuna ulteriore informazione
OB87_RESERVED_4:
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
Identificazione interfaccia (0: bus K, 1: MPI)
OB87_RESERVED_3:
OB87_RESERVED_4:
high byte:
Numero circuito GD
low byte:
Non contiene nessuna ulteriore informazione
Lo stato del pacchetto GD non è registrabile in un DB
B#16#E2:
Numero DB
OB87_RESERVED_3:
OB87_RESERVED_4:
high word:
Non contiene nessuna ulteriore informazione
low word:
•
Numero circuito GD (high byte)
•
Numero pacchetto GD (low-byte)
Errore di accesso a DP per lo scambio dati tramite blocchi
funzionali di comunicazione
B#16#E5:
Riservato per impiego interno della CPU
OB87_RESERVED_3:
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 l’OB 88 nel caso in caso di interruzione dell’elaborazione di un
modulo di programma. Le possibili cause di interruzione sono:
•
Livello di annidamento eccessivo in caso di errori di sincronizzazione
•
Livello di annidamento eccessivo di richiami di blocco (stack U)
•
Errore di allocazione di dati locali
Se si verifica un’interruzione di elaborazione nel caso in cui l’OB 88 non sia programmato, la CPU
passa in modalità STOP (Evento W#16#4570).
La CPU passa in modalità STOP se l’interruzione di elaborazione si verifica nella classe di priorità 28.
L’OB di interruzione elaborazione può essere disabilitato o ritardato e abilitati di nuovo con l'aiuto delle
SFC da 39 a 42.
Dati locali per OB di interruzione elaborazione
La tabella seguente contiene le variabili temporanee (TEMP) per l’OB di interruzione elaborazione.
Come nomi di variabili sono stati scelti i nomi di default di OB 88.
Variabile
Tipo di dati
Descrizione
OB88_EV_CLASS
BYTE
Classe d’evento e identificazioni: B#16#35
OB88_EW_FLT
BYTE
Codice di errore
valori possibili:
•
B#16#71: profondità di annidamento troppo elevata
del livello di parentesi
•
B#16#72: profondità di annidamento troppo elevata
del master Control Relais
•
B#16#73: Profondità di annidamento troppo elevata
con errori di sincronizzazione
•
B#16#74: Profondità di annidamento troppo elevata
dei richiami dei blocchi (stack U)
•
B#16#75: Profondità di annidamento troppo elevata
dei richiami dei blocchi (stack B)
•
B#16#76: Errore durante la localizzazione dei dati
locali
•
B#16#78: Istruzione sconosciuta
•
B#16#7A:Istruzione di salto al di fuori del blocco
Consultare la lista operazioni della CPU per informazioni
sui codici di errore validi..
74
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
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 l’errore:
•
B#16#88: OB
•
B#16#8C: FC
•
B#16#8E: FB
•
B#16##00: punto di interruzione non individuabile
OB88_RESERVED_1
BYTE
Riservato
OB88_FLT_PRIORITY
BYTE
Classe di priorità dell’OB che causa l’errore
OB88_FLT_OB_NUMBR
BYTE
Numero dell’OB che causa l’errore
OB88_BLK_NUM
WORD
Numero del blocco con il comando MC7 che causa
l’errore
OB88_PRG_ADDR
WORD
Indirizzo relativo del comando MC7 che causa l’errore
OB88_DATE_TIME
DATE_AND_TIME
Data e ora in cui è stato richiamato l'OB
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / 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.
76
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
OB90_OB_NUMBR
BYTE
Classe di priorità: 29 (corrisponde alla priorità 0.29)
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 l‘avviamento
La CPU esegue un avviamento
•
dopo ALIMENTAZIONE ON
•
se il selettore dei modi operativi viene commutato da STOP a RUN/RUN-P
•
dopo la richiesta tramite una funzione di comunicazione (tramite comando del menù da PG o
tramite richiamo dei blocchi funzionali di comunicazione 19 ”START” o 21 ”RESUME” su un'altra
CPU).
•
mediante sincronizzazione in funzionamento multicomputing
•
in un sistema H dopo l'accoppiamento (solo sulla CPU di riserva)
A seconda dell'evento di avvio della CPU presente o dei suoi parametri registrati viene richiamato il
rispettivo OB di avviamento (OB 100, OB 101 e OB 102). In esso si possono eseguire le
preimpostazioni per il proprio programma ciclico (eccezione: con un sistema H viene eseguito un
avviamento sulla CPU di riserva dopo l'accoppiamento, tuttavia senza il richiamo di un OB di
avviamento.
78
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
binari
possibili
Spiegazione
31 - 24
Informazione
all‘avviamento
0000 xxxx
N. telaio di montaggio 0 (solo con CPU H)
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).
23 - 16
Tipo di avviamento
appena eseguito
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
0000 0001
Nuovo avviamento (avviamento a caldo) con funzionamento
multicomputing senza manovra sulla CPU corrispondente
alla parametrizzazione (solo S7-400)
0000 0011
Nuovo avviamento (avviamento a caldo) con selettore modi
operativi
0000 0100
Nuovo avviamento (avviamento a caldo) tramite manovra
MPI
0000 0101
Avviamento a freddo con funzionamento multicomputing
senza manovra sulla CPU corrispondente alla
parametrizzazione (solo S7-400)
0000 0111
Avviamento a freddo con selettore modi operativi
0000 1000
Avviamento a freddo tramite manovra MPI
Riavviamento con funzionamento multicomputing senza
manovra sulla CPU corrispondente alla parametrizzazione
(solo S7-400)
80
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
Manuale di riferimento, 05/2010, A5E02789979-01
Blocchi organizzativi
1.26 OB di avviamento (OB 100, OB 101 e OB 102)
N.
15 - 12
11 - 8
7-0
Significato
Ammissibilità dei tipi di
avviamento automatico
Ammissibilità dei tipi di
avviamento manuale
Valori
binari
possibili
Spiegazione
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
0000
Avviamento automatico non ammesso
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)
0000
Avviamento non ammesso
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)
Ultima manovra valida o 0000 0000
regolazione del tipo di
0000 0001
avviamento automatico
con ALIMENTAZIONE
ON
0000 0011
Nessun tipo di avviamento
Nuovo avviamento (avviamento a caldo) con funzionamento
multicomputing senza manovra sulla CPU corrispondente
alla parametrizzazione (solo S7-400)
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.
82
Significato
Valori
binari
possibili
Spiegazione
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
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.:
OB121_BLK_NUM
WORD
•
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
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:
B#16#26:
Errore con numero temporizzatore
B#16#27:
Errore con numero contatore
OB121_FLT_REG:
84
Contiene nel byte basso l'identificazione dell'area non ammessa (B#16#86
area propria dati locali)
Numero non ammesso
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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:
B#16#3C:
OB121_FLT_REG:
B#16#3D:
OB121_FLT_REG:
B#16#3E:
OB121_FLT_REG:
B#16#3F:
OB121_FLT_REG:
Numero DB
Accesso ad una FC non caricata; Il numero FC si trova nel settore ammesso.
Numero FC
Accesso ad una SFC non caricata; Il numero SFC si trova nel settore
ammesso.
Numero SFC
Accesso ad un FB non caricato; Il numero FB si trova nel settore ammesso.
Numero FB
Accesso ad un SFB non caricato; Il numero SFB si trova nel settore ammesso.
Numero SFB
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / 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à:
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,
Classe di priorità dell'OB in cui si è verificato l'errore
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:
•
•
OB122_MEM_ADDR
86
WORD
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
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
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)
88
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
SFC mediante la CPU
BIE
Valore di ritorno
Segno dell'intero
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
8 7
15
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.
90
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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.
Bit
15
1
8
7
numero di parametro
numero di evento
0
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.
Bit
15
1
8
0
7
1
classe d'errore
4 3
0
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
errore
(W#16#...)
8x7F
Significato
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.
92
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
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
errore
(W#16#...)
Significato
8x42
È avvenuto un errore di accesso, mentre il sistema voleva leggere un'area della periferia degli
ingressi.
8x43
È avvenuto un errore di accesso, mentre il sistema voleva scrivere un'area della periferia delle
uscite.
8x44
8x45
Errore all'ennesimo (N > 1) accesso di lettura dopo che si è presentato un errore.
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
94
•
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
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.
96
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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.
richiamo
Tipo
richiamo
REQ
RET_VAL
BUSY
1
Primo
richiamo
1
W#16#7001
1
2 fino a (n-1)
Richiamo
intermedio
Irrilevante W#16#7002
1
n
Ultimo
richiamo
Irrilevante W#16#0000 (eccezioni: SFC 59 "RD_REC" se
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
0
Codice di errore
Codice di errore, se si sono verificati errori
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
0
0
97
Parametri generali relativi alle SFC
2.1 Analisi degli errori con il parametro di uscita RET_VAL
98
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
DB10. DBW10
E
F
G
H
Copia
La copiatura
avviene in
direzione di
indirizzi crescenti
MW 12
A
C
B
D
MW 14
E
F
MW 16
G
H
MW 10
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
dati
Area di memoria
Descrizione
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.
100
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
(W#16#...)
Spiegazione
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".
102
Parametri
Dichiarazione
Tipo di
dati
Area di memoria
Descrizione
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
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
(W#16#...)
Spiegazione
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
BVAL
A
B
MW 14
A
B
MW 100
C
D
MW 16
C
D
MW 102
F
MW 104
E
F
MW 18
E
G
H
MW 20
G
H
MW 106
BLK
A
B
MW 108
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.
104
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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.
106
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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 dell‘area lo stesso
valore, corrispondente al numero desiderato. Numeri di DB già utilizzati nel programma non possono
più venire assegnati. La lunghezza del DB deve essere un numero pari.
Possibilità di interruzione
La SFC "CREAT_DB" può essere interrotta da OB di più elevata priorità. Se, a sua volta, in un OB di
più elevata priorità viene richiamata una SFC 22 "CREAT_DB", questo richiamo viene respinto con il
codice di identificazione dell'errore W#16#8091.
Parametri
Parametri
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
errore
(W#16#...)
Significato
0000
Nessun errore
8091
La SFC 22 è stata richiamata annidata.
8092
80A1
80A2
108
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.
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
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
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
parola chiave UNLINKED
può essere cancellato
è 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
errore
(W#16#...)
Significato
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é
80A1
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
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
110
•
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
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.
BOOL
E, A, M, D, L
Informazione sulla protezione da scrittura del
DB selezionato (1 significa protetto in
scrittura).
WRITE_PROT OUTPUT
Informazioni di errore
Codice di
errore
(W#16#...)
Significato
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.
112
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
errore
Significato
(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é
8xyy
•
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
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
VAL
INPUT
DWORD E, A, M, D, L, cost.
Valore sostitutivo
RET_VAL
OUTPUT
INT
Se durante l'elaborazione della funzione avviene
un errore, il valore di ritorno contiene un codice di
errore.
E, A, M, D, L
Descrizione
Informazioni di errore
114
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
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
116
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
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
(W#16#...)
Descrizione
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
8093
La funzione "Crea DB" non è momentaneamente eseguibile perché
•
la funzione "Comprimi la memoria utente" è attiva
•
il numero max. di blocchi della CPU è stato raggiunto
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:
80A2
80B1
•
Il numero è 0
•
Limite inferiore > limite superiore
Errore nella lunghezza del DB:
•
La lunghezza è 0
•
La lunghezza è un numero dispari
•
La lunghezza è maggiore di quanto consentito dalla CPU
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.
118
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
(W#16#...)
Descrizione
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".
120
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
(W#16#...)
Descrizione
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.
122
Parametri
Dichiarazione
Tipo di
dati
Area di memoria
Descrizione
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,
Konst.
Il valore limite superiore è il numero più
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
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
dati
Area di memoria
Descrizione
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
(W#16#...)
Desrcizione
0000
Nessun errore
8091
È stata richiamata la SFC 85 annidata.
8092
8094
80A1
80A2
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.
Valore non consentito in ATTRIB
Errore nel numero del DB:
•
Il numero è 0
•
Il numero supera il numero di DB specifico della CPU
•
Limite inferiore > limite superiore
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"
124
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
E, A, M, D, L, cost.
Il parametro WT contiene il tempo di ritardo in
ms.
INT
Informazioni di errore
La SFC 47 "WAIT" non fornisce alcuna informazione di errore.
126
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
errore
Significato
(W#16#...)
0000
Nessun errore.
8091
Il parametro di ingresso JOB contiene un valore non ammesso.
80A0
Sulla propria o su un'altra CPU l'esecuzione dell'OB 60 del precedente allarme di
multicomputing non è ancora conclusa.
80A1
Errato stato di funzionamento (AVVIAMENTO invece di RUN).
8xyy
Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / 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 dell’operazione CiR con la SFC 104 "CiR"
Con la SFC 104 "CiR" è possibile influenzare la riconfigurazione in RUN nel modo seguente:
L’operazione CiR può essere completamente disabilitata, impedendo il caricamento nella CPU di una
configurazione modificata da PG. La disabilitazione rimane attiva fino alla sua eliminazione con la
SFC 104 "CiR".
L’operazione CiR può essere disabilitata limitatamente a determinate condizioni impostando un limite
massimo per il tempo di sincronizzazione CiR. In questo caso il caricamento nella CPU di una
configurazione modificata da PG verrà ammesso solamente se l’analisi della configurazione
modificata per mezzo della CPU ha una durata inferiore a questo limite massimo.
È possibile verificare se l’operazione CiR è abilitata o meno. Nel caso sia abilitata o lo sia solo
limitatamente, nel parametro A_FT è specificato anche il limite massimo corrente del tempo di
sincronizzazione CiR.
Avvertenza
Durante il tempo di sincronizzazione CiR le uscite sono congelate e gli ingressi non vengono
analizzati.
Parametri
Parametri
Dichiarazione Tipo
Area di
memoria
Descrizione
MODE
INPUT
E, A, M, D, L,
cost.
Identificazione di job
FRZ_TIME INPUT
BYTE
TIME
E, A, M, D, L,
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.
"freeze time"
Limite superiore del tempo di sincronizzazione CiR in
ms
Campo di valori ammesso: 60 ... 2500 ms (valore di
default: 1000 ms)
Avvertenza: FRZ_TIME è rilevante solo per
MODE=3.
RET_VAL
OUTPUT
INT
E, A, M, D, L
Se durante l'elaborazione della funzione avviene un
errore, il valore di ritorno contiene un codice di errore
Con MODE=, in RET_VAL è specificato se
l’operazione CiR è abilitata o meno.
A_FT
128
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
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
errore
(W#16#...)
Spiegazione
0000
Il job è stato eseguito senza errori (questo codice di errore è ammesso solamente con MODE
=1 o MODE=2 o MODE=3.
0001
L’operazione CiR è abilitata (questo codice di errore è possibile solamente con MODE=0.)
0002
L’operazione CiR è completamente disabilitata (questo codice di errore è possibile solamente
con MODE=0.)
0003
L’operazione CiR è disabilitata in alcune circostanze (questo codice di errore è possibile
solamente con MODE=0.)
8001
La CPU non è pronta per un’operazione CiR. Utilizzare una CPU H nel sistema H
(funzionamento singolo) oppure lavorare con una CPU standard in funzionamento
multicomputing.
8xyy
Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL
Esempio applicativo della SFC 104
Con la SFC 104 "CIR" è possibile impedire che vengano avviate operazioni CiR negli intervalli di
tempo in cui è opportuna e necessaria la massima efficienza della CPU.
A tal fine occorre installare la seguente parte di programma nella CPU prima dell’inizio dell’intervallo di
tempo con intensa attività di processo:
•
Richiamo della SFC 104 con MODE = 2 (disabilitare completamente l’operazione CiR)
Al termine dell’intervallo di tempo con intensa attività di processo installare nella CPU la seguente
parte di programma:
•
Richiamo della SFC 104 con MODE = 1 (riabilitare l’operazione CiR) o MODE=3 (disabilitare
limitatamente l’operazione CiR)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / 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
protezione
Significato
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.
130
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
•
RETE ON non bufferizzata
Viene impostato sul livello di protezione 1 (sono
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
•
Nuovo avviamento (avviamento a caldo)
RETE ON bufferizzata
Viene impostato dal sistema operativo sul livello di
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
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
automaticamente dopo RETE ON)
Rimane invariato
Parametri
Parametri
Dichiarazione
Tipo di
dati
Area di memoria
MODE
INPUT
WORD
E, A, M, D, L, Konst.
Descrizione
ID del job
Valori possibili:
RET_VAL
OUTPUT
INT
E, A, M, D, L
•
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)
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
errore
(W#16#...)
Spiegazione
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.
132
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
errore
(W#16#...)
Spiegazione
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 dell’orologio con la SFC 1 "READ_CLK"
Descrizione
Con la SFC 1 "READ_CLK" (read system clock) si legge l'orologio della CPU. In questo modo si
ricavano la data e l'ora attuali.
Parametri
Dichiarazione Tipo
Area di
memoria
Descrizione
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
134
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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 dall’intervallo di sincronizzazione parametrizzato.
Presupposto per effettuare la sincronizzazione è che la SFC 48 venga richiamata su una CPU, il cui
orologio in tempo reale è stato parametrizzato come orologio master per almeno un segmento di bus.
La parametrizzazione è stata eseguita con STEP 7.
Parametri
Dichiarazione Tipo
Area di
memoria
Descrizione
RET_VAL
OUTPUT
E, A, M, D, L
Se avviene un errore durante l'elaborazione della
funzione, il valore di ritorno contiene un codice di
errore.
INT
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
(B#16#...)
Significato
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:
03
•
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.
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".
136
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
memoria
Descrizione
MODE
INPUT
BYTE
E, A, M, D, L,
cost.
Tipo di funzionamento
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,
cost.
Valore di correzione (griglia di 0,5 h)
Possibili valori: da -24 a +26
SUMMER
INPUT
BOOL
E, A, M, D, L,
cost.
Indicazione ora solare/legale:
ANN_1
RET_VAL
INPUT
OUTPUT
BOOL
INT
•
0 = ora solare
•
1 = ora legale
E, A, M, D, L,
cost.
Ora di preavviso:
E, A, M, D, L
Codice di errore
1: con il successivo cambio dell'ora, l'ora legale
viene commutata in ora solare e viceversa.
Informazioni di errore
Codice errore
(W#16#...)
Spiegazione
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"
138
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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 l’SFC 101 "RTM" è possibile
impostare, avviare, arrestare e leggere tali contatori.
Avvertenza
Le SFC 2, 3 e 4 possono essere utilizzate anche per contatori del tempo di esercizio a 32 bit. In
questo caso tuttavia i contatori del tempo di esercizio si comportano come contatori a 16 bit (campo di
validità da 0 a 32767 ore).
Vedi anche Set di dati dell'estratto della lista parziale con ID SZL W#16#0132 Indice W#16#000B.
Uso
Un contatore può essere usato per le applicazioni più disparate:
•
calcolo della durata di esercizio della CPU
•
calcolo della durata di esercizio delle apparecchiature di controllo.
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à
140
•
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
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
nell’ultimo valore indicato ed emette la
segnalazione di errore "Overflow".
•
1: avvio (con l’ultimo valore di
conteggio)
•
2: arresto
•
4: impostazione (sul valore indicato in
PV)
•
5: impostazione (sul valore indicato in
PV) e avvio
•
6: impostazione (sul valore indicato in
PV) e arresto
PV
INPUT
DINT
E, A, M, D, L, Konst.
Nuovo valore del contatore del tempo di
esercizio
RET_VAL
OUTPUT
INT
E, A, M, D, L
Nel caso di un errore durante l'elaborazione
della funzione, il valore di ritorno contiene
un codice di errore.
CQ
OUTPUT
BOOL
E, A, M, D, L
Stato del contatore del tempo di esercizio
(1: funzionamento)
CV
OUTPUT
DINT
E, A, M, D, L
Valore corrente del contatore del tempo di
esercizio
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / 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).
Nell’estratto della lista parziale con ID SZL-W#16#0132 e indice W#16#0008 i contatori del tempo di
esercizio da 0 a 7 vengono visualizzati come contatori a 16 bit. Questo consente di continuare ad
utilizzare programmi concepiti per una CPU con contatori del tempo di esercizio a 16 bit, e l’estratto
della lista parziale con ID SZL W#16#0132 e indice W#16#0008.
Informazioni di errore
Codice errore Spiegazione
(W#16#...)
142
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
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
E, A, M, D, L, cost.
L'ingresso NR contiene il numero del contatore
che si vuole regolare.
BYTE
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
errore
Spiegazione
(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
E, A, M, D, L, cost.
L'ingresso NR contiene il numero del contatore,
che si vuole avviare o fermare.
BYTE
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
errore
Spiegazione
(W#16#...)
144
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
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
E, A, M, D, L, cost.
L'ingresso NR contiene il numero del contatore,
che si vuole avviare o fermare.
INPUT
BYTE
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
errore
Spiegazione
(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
memoria
Descrizione
RET_VAL
OUTPUT
E, A, M, D, L
Il parametro RET_VAL contiene il tempo di sistema
letto, area compresa tra 0 e 231-1 ms.
TIME
Informazioni di errore
La SFC 64 "TIME_TCK" non fornisce alcuna informazione di errore.
146
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
set di dati
Dimensione
Restrizione
Possibilità di
scrittura con SFC
0
con S7-300:
possibilità
scrittura solo con
S7-400
56 "WR_DPARM"
da 2 a 14 byte
con S7-300:
-
55 "WR_PARM"
1
da 2 a 127
Parametri
Parametri
Dati utente
57 "PARM_MOD"
da 2 a 14 byte
56 "WR_DPARM"
(DS0 e DS1 hanno insieme
esattamente 16 byte)
57 "PARM_MOD"
ognuno v240 byte
-
55 "WR_PARM"
56 "WR_DPARM"
57 "PARM_MOD"
58 "WR_REC"
da 128 a
240
Parametri
ognuno v240 byte
-
55 "WR_PARM"
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
del set di
dati
Contenuto
Dimensione
Possibilità di lettura con SFC
0
Dati di diagnostica specifici
dell'unità (determinati allo stesso
modo per tutti i sistemi)
4 byte
51 "RDSYSST"
Dati di diagnostica specifici del
canale (incl. set di dati 0)
con S7-300: 16 byte
1
(SZL_ID 00B1H)
59 "RD_REC"
51 "RDSYSST"
con S7-400: da 4 a 220 byte (SZL_ID 00B2H e 00B3H)
59 "RD_REC"
148
da 2 a 127 Dati utente
ognuno v240 byte
59 "RD_REC"
da 128 a
240
ognuno v240 byte
59 "RD_REC"
Dati di diagnostica
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
IOID
INPUT
E, A, M, D, L, cost.
BYTE
Descrizione
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".
150
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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:
BUSY
OUTPUT
RECORD OUTPUT
•
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.
BOOL
E, A, M, D, L
BUSY = 1: il job non è ancora concluso.
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.
152
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
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".
154
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
errore
(W#16#...)
Spiegazione
Restrizione
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
valore 1.
Periferia decentrata
7002
Richiamo intermedio (REQ irrilevante): trasferimento dati già attivo;
BUSY ha il valore 1.
Periferia decentrata
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à
sfilata durante la trasmissione o unità difettosa)
1)
80A2
•
Errore di protocollo DP sul livello 2 (p. es. guasto dello slave o
del bus)
Periferia decentrata
•
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
dati.
1)
La lunghezza del set di dati da trasferire è errata.
-
80B1
Con SFC54 "RD_DPARM": la lunghezza del campo di destinazione
indirizzato da RECORD non è sufficiente.
156
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
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
errore
(W#16#...)
Spiegazione
Restrizione
80C1
I dati del job di scrittura precedente sull'unità per lo stesso set di dati
non sono stati ancora rielaborati dall'unità.
1)
80C2
L'unità elabora momentaneamente il numero massimo possibile di
job per una CPU.
1)
80C3
Le apparecchiature necessarie (memoria ecc.) sono
momentaneamente occupate.
1)
Errore interno temporaneo. Impossibile eseguire il job.
1)
80C4
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
interruzione della classe di priorità (riavviamento oppure sfondo)
Periferia decentrata 1)
80D0
Nel rispettivo SDP non è presente nessuna registrazione per l'unità.
-
Codice di
errore
(W#16#...)
Spiegazione
Restrizione
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
di SDB
solo con S7-300
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.
158
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
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.
160
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
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].
162
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
errore
(W#16#...)
Spiegazione
Restrizione
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
valore 1.
Periferia decentrata
7002
Richiamo intermedio (REQ irrilevante): trasferimento dati già attivo;
BUSY ha il valore 1.
Periferia decentrata
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
lettura o unità difettosa)
solo con SFC59
"RD_REC"
80A1
Conferma negativa durante la scrittura all'unità (unità sfilata durante
la scrittura o unità difettosa)
solo con SFC58
"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
parametro o in un valore
Solo con SFC 59
"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
errore
(W#16#...)
Spiegazione
Restrizione
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.
164
80C5
Periferia decentrata non disponibile
Periferia decentrata
80C6
Il trasferimento del set di dati è stato interrotto a causa di
un'interruzione della classe di priorità (riavviamento oppure sfondo)
Periferia decentrata
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
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
dati
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.
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".
166
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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"
168
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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"
170
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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.
172
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
TINFO
Tipo di
dati
Significato
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
23
BYTE
BYTE
centrale:
•
decentrato: •
Bit 0 ... 3:
Tipo di slave
•
Bit 4 ... 7:
Tipo di profilo
Riservato
Bit 0 ... 3:
Tipo di
0000:
informazione
di allarme
Trasparente, per PROFINET
IO è sempre così
(l'allarme proviene da
un'unità decentrata
progettata)
centrale:
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
0
decentrato: •
•
174
0: set di dati 0 oppure 1
Bit 4 ... 7:
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
Versione
0000:
della struttura da 0001:
Iniziale
Riservato
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
TINFO
Tipo di
dati
24
BYTE
Significato
centrale:
0
decentrato: Flag dell'interfaccia master PROFIBUS DP/PROFINET IO Controller
25
BYTE
centrale:
•
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
•
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.
•
Bit 1 ... 7:
Riservato
Il bit è 1 se l'IO Device è guasto.
Struttura dell'informazione dell'amministrazione - byte da 26 a 27 con PROFIBUS e nella
configurazione centrale
N. byte
TINFO
Tipo di dati
Significato
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
TINFO
Tipo di dati
Significato
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
0
BYTE
1
2
176
BYTE
BYTE
Significato
Lunghezza in byte dell'informazione di allarme ricevuta
centrale:
decentrato:
4 ... 224
centrale:
Riservato
decentrato:
ID del tipo di allarme
4 ... 63
1:
2:
3:
4:
5:
6:
31
Allarme di diagnostica
Interrupt di processo
Allarme di estrazione
Allarme di inserimento
Allarme di stato
Allarme di aggiornamento
Guasto di un'apparecchiatura di ampliamento,
di un sistema master DP o di una stazione DP
32 ... 126:
Allarme produttore
Posto connettore del componente causa dell'errore
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
Lunghezza del blocco
2e3
WORD
•
4e5
WORD
Versione:
6e7
178
WORD
•
Dai bit 0 a 7: low byte
•
Dai bit 8 a 15: high byte
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
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:
2 ... n
BYTE
Consultare il manuale del costruttore.
W#16#0000 ... W#16#7FFF: diagnostica 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
4
WORD
BYTE
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
Bit 0 ... 2:
Riservato
Bit 3 ... 4:
Tipo di errore
Bit 5 ... 7:
5
180
BYTE
•
0: riservato
•
1: errore entrante
•
2: errore uscente
•
3: errore uscente, sono presenti altri errori
Tipo di canale
•
0: riservato
•
1: canale di ingresso
•
2: canale di uscita
•
3: canale di ingresso/uscita
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
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
0 …1
WORD
Significato
ID del formato per la struttura dei dati dell'informazione supplementare di allarme
W#16#8001: diagnostica del costruttore e /o del canale
2…3
WORD
Tipo di blocco
4…5
WORD
Lunghezza del blocco
6
BYTE
Versione: high byte
7
BYTE
Versione: low byte
8 … 11
DWORD
API (soltanto se il low byte appartiene alla versione = 1)
12 … 13
WORD
ID del posto connettore
14 … 15
WORD
ID del posto connettore subordinato
16 … 17
WORD
Numero di canale
18 … 19
WORD
Proprietà del canale
20 … 21
WORD
ID del formato:
22 … n
BYTE
•
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
Dati in funzione dell'ID del formato
Avvertenza
La parte a partire da "Tipo di blocco" può presentarsi da 1 a n volte.
•
182
W#16#8002: diagnostica di canale avanzata
Byte
Significato
0…1
ID del formato W#16#8002
2…3
Numero di canale
4…5
Proprietà del canale
6…7
Tipo di errore
8…9
Valore supplementare dell'errore
10 … 13
Informazione supplementare di errore
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
0…1
ID del formato W#16#8003
2…3
Numero di canale
4…5
Proprietà del canale
6…7
Tipo di errore
8…9
Valore supplementare dell'errore
10 … 13
Informazione supplementare di errore
14 … 17
Qualified Channel Qualifier
•
W#16#8100: informazione di manutenzione
Byte
Significato
0…1
ID del formato W#16#8100
2…3
Tipo di blocco
4…5
Lunghezza del blocco
6…7
Versione blocco
8…9
Riservato
10 … 13
Stato di manutenzione
Avvertenza
Per informazioni più dettagliate sulla configurazione dell'informazione di stato dell'allarme, consultare il
manuale di programmazione SIMATIC PROFINET IO Migrazione da PROFIBUS DP a PROFINET IO
e la Norma IEC 61158-6-10-1 aggiornata.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / 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
Interrupt di processo 4x
TINFO
OB informazione di
stato
TINFO
Informazione
amministrazione
AINFO
Informazione
intestazione
AINFO
informazione supplementare
allarme
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
aggiornamento
56
Sì
Sì
Sì
Sì
Sì
Allarme produttore
57
Sì
Sì
Sì
Sì
Sì
Errore periferia
ridondata
70
Sì
Sì
No
No
No
Allarme di
diagnostica
82
Sì
Sì
Sì
Centrale:
Set di dati 1
Decentrato:
Come fornito da
slave PROFIBUS
DP/PROFINET IO
Device
Allarme di
estrazione /
inserimento
83
Centrale:
No
Decentrato:
Come fornito da
slave PROFIBUS
DP/PROFINET IO
Device
Forma speciale di
allarme di
estrazione:
83
Sì
Sì
Sì
Solo PROFINET IO
83
Sì
Sì
Sì
Solo PROFINET IO
Unità inserita non
progettata
83
Sì
Sì
Sì
Solo PROFINET IO
Guasto telaio di
montaggio /
stazione
86
Sì
Sì
No
No
Sì
No
No
No
Sì
Sì
Sì
Controllato dal
Supervisor
Forma speciale di
allarme di
inserimento:
Abilitato dal
Supervisor
... tutti gli altri OB
184
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
(B#16#...)
Sorgente
Significato
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
(B#16#...)
Error_Code_1 Spiegazione
(B#16#...)
secondo DVP1
Significato
00
00
Nessun errore, nessun avviso
70
00
01
02
reserved, reject
reserved, reject
reserved, reject
Primo richiamo; nessun trasferimento del set di dati attivo
Primo richiamo; trasferimento del set di dati avviato
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
(B#16#...)
80
Error_Code_1 Spiegazione
(B#16#...)
secondo DVP1
Significato
90
92
93
Indirizzo logico iniziale non valido
Tipo di puntatore ANY non ammesso
Il componente DP indirizzato tramite ID o F_ID non è
stato configurato.
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.
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).
Conferma negativa della lettura dall'unità
Conferma negativa della scrittura nell'unità
Errore di protocollo DP sul livello 2 (p. es. guasto allo
slave o al bus)
•
PROFIBUS DP: errore di protocollo DP con
Direct-Data-Link-Mapper o User-Interface/User
•
PROFINET IO: errore CM generaler
Comunicazione disturbata nel bus K
Slave DP o unità occupati (errore temporaneo)
Slave DP o unità segnalano versioni diverse
Funzione non supportata dallo slave DP p dall'unità
reserved, pass
reserved, pass
reserved, pass
95
96
186
A0
A1
A2
read error
write error
module failure
A3
reserved, pass
A4
A5
A7
A8
A9
AA - AF
reserved, pass
reserved, pass
reserved, pass
version conflict
feature not
supported
user specific
B0
invalid index
B1
write length error
B2
B3
B4
invalid slot
type conflict
invalid area
Slave DP o unità segnalano un errore del produttore
dell'applicazione. Consultare la documentazione del
produttore dello slave DP o dell'unità.
Set di dati sconosciuto all'unità
numero del set di dati ≥256 non consentito
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
Il posto connettore progettato non è occupato.
Tipo di unità effettivo diverso da quello di riferimento
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
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
(B#16#...)
Error_Code_1 Spiegazione
(B#16#...)
secondo DVP1
Significato
B5
B6
B7
state conflict
access denied
invalid range
B8
B9
invalid parameter
invalid type
BA - BF
user specific
C0
read constrain
conflict
C1
write constrain
conflict
C2
resource busy
C3
Resource
unavailable
Slave DP o unità non pronti
Slave DP o unità rifiutano l'accesso
Slave DP o unità segnalano un'area non ammessa di un
parametro o un valore
Slave DP o unità segnalano un parametro non ammesso
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)
Slave DP o unità segnalano un errore del produttore
dell'applicazione. Consultare la documentazione del
produttore dello slave DP o dell'unità.
Nell'SFB 53 "WRREC": la scrittura dei dati è possibile
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.
I dati dell'ordine di scrittura precedente dell'unità per lo
stesso set di dati non sono ancora stati elaborati
dall'unità.
L'unità elabora attualmente il numero massimo di ordine
consentito per una CPU.
Le risorse necessarie sono momentaneamente
occupate.
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.
Slave DP o unità non disponibili.
Trasmissione del set di dati interrotta per interruzione
classi di priorità
Interruzione del task per nuovo avviamento (avviamento
a caldo) o avviamento a freddo del master DP.
Slave DP o unità segnalano un errore del produttore
relativo alle risorse. Consultare la documentazione del
produttore dello slave DP o dell'unità.
Specifico dello slave DP. Vedere la descrizione dello
slave DP.
C4
C5
C6
C7
C8 - CF
Dx
user specific
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
(B#16#...)
Error_Code_1 Spiegazione
(B#16#...)
secondo DVP1
Significato
8x (x = 1, ... 9, 00 - FF
A, B, C, D, E, F)
Errore nel y-esimo parametro di richiamo (y = 1, ...15)
•
Error_Code_1 = 00: modo di funzionamento non
ammesso
•
Per tutti gli altri valori di Error_Code_1 vedere
"Codici di errore generali” nell’Analisi degli errori con
il parametro di uscita RET_VAL
FE, FF
Errore specifico del profilo
00 … FF
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:
188
•
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
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:
ASPEC
190
INPUT
INT
E, A, M, D, L, cost.
•
1: allarme di diagnostica
•
2: interrupt di processo
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
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
norma DPV1
OB attivato nel master DP S7
Modo DP
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
OB 47)
-
Sì
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).
192
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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],
STATUS[3]
corrisponde al parametro di uscita RET_VAL delle SFC
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.
194
ERROR STATUS[2,3]
(W#16# ...)
Spiegazione
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
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]
(W#16# ...)
Spiegazione
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.
196
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
Dichiarazione
Tipo di
dati
Area di memoria
Descrizione
MODE
INPUT
INT
E, A, M, D, L, cost.
Modo di funzionamento
F_ID
INPUT
DWORD
E, A, M, D, L, cost.
Subslot nell'area di trasferimento dell'I Device per
il set di dati da ricevere (di rilievo solo per
MODE=2) (high word va sempre impostato a
zero)
MLEN
INPUT
INT
E, A, M, D, L, cost.
Lunghezza max. del set di dati da ricevere in byte
CODE1
INPUT
BYTE
E, A, M, D, L, cost.
Zero (con MODE=3) oppure codice di errore 1
(con MODE=4)
CODE2
INPUT
BYTE
E, A, M, D, L, cost.
Zero (con MODE=3) oppure codice di errore 2
(con MODE=4)
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"
198
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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:
200
•
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
SFB DPV1 secondo PNO AK 1131
8.6 Messa a disposizione di un set di dati con l'SFB 74 "PRVREC"
Parametri
Dichiarazione
Tipo di
dati
Area di memoria
Descrizione
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"
202
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
(richiamo della SFC 28 "SET_TINT")
l'allarme dall'orologio attivo viene automaticamente
cancellato
L'allarme dall'orologio viene cancellato (richiamo della
SFC 29 "CAN_TINT")
la data e l'ora di inizio vengono cancellate. L'allarme
dall'orologio deve allora venire nuovamente impostato
prima di poter diventare attivo
L'OB di allarme dall'orologio non è presente all'istante
del richiamo
viene generato automaticamente un errore di classe di
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
avanti
Se la data e l'ora di inizio vengono superate dallo
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
all'indietro
CPU S7-400 e CPU 318:
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
2
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.
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.
204
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
di attivazione, allora l'OB di allarme dall'orologio
interrompe l'esecuzione ciclica del programma al
prossimo istante possibile "data e ora iniziali + multiplo
intero del periodo assegnato"
(ogni minuto, ogni ora, ogni giorno, ogni settimana,
ogni mese, ogni anno)
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.
INPUT
WORD
E, A, M, D, L, cost.
Periodo a partire dall'istante SDT:
PERIOD
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
206
Codice di
errore
(W#16#...)
Descrizione
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
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
errore
(W#16#...)
Descrizione
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
208
Codice di
errore
(W#16#...)
Descrizione
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
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.
•
=0: l'interrupt è abilitato.
•
=1: l'interrupt è stato bloccato dal richiamo dell'SFC 39 "DIS_IRT".
•
=0: l'interrupt non è attivo o si è concluso.
•
=1: l'interrupt è attivo.
1
2
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
210
Codice di
errore
(W#16#...)
Descrizione
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
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
(richiamo della SFC 32
"SRT_DINT")
l'allarme di ritardo è già stato
avviato
il tempo di ritardo viene
riaggiornato; l'allarme di ritardo
viene nuovamente avviato
l'OB di allarme di ritardo non è
presente all'istante del richiamo
il sistema operativo genera un
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
OB di avviamento e il tempo di
ritardo è trascorso prima che la
CPU si trovi in RUN,
il richiamo dell'OB di allarme di
ritardo viene ritardato fino a quando
la CPU si trova 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.
212
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
errore
(W#16#...)
Descrizione
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
OB_NR
INPUT
E, A, M, D, L, cost.
INT
Descrizione
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.
•
=0: l'interrupt è abilitato.
•
=1: l'interrupt è stato bloccato dal richiamo dell'SFC 39 "DIS_IRT".
•
=0: l'interrupt non è attivo o si è concluso.
•
=1: l'interrupt è attivo.
1
2
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
214
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
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
errore
(W#16#...)
Descrizione
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
OB_NR
INPUT
E, A, M, D, L, cost.
INT
Descrizione
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
216
Codice di
errore
(W#16#...)
Descrizione
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
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 l‘S7-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
rore. (la CPU si porta in
STOP se l'OB di errore
non è programmato).
Il richiamo di un OB di er
rore viene disabilitato.
(la CPU non si porta in
STOP nel caso che un er
rore abbia luogo).
In OB è programmata la
reazione desiderata ad
un certo errore.
L'evento di errore viene
registrato nel registro di
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.
218
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
=
"0"
Per SFC 38
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".
220
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
evento
(W#16#...)
L'errore ha luogo...
Errore di conversione
BCD
2521
... se il valore da convertire non è un numero BCD (p. es. 5E8).
Errore di lunghezza
campo in lettura
2522
... se un operando indirizzato non giace completamente all'interno o
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
campo in scrittura
2523
... se un operando indirizzato non giace completamente all'interno o
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
scrittura
2525
... 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
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.
222
Errore di numero di
temporizzatore
2526
Errore di numero di
contatore
2527
.... se si vuole accedere ad un temporizzatore non esistente.
Esempio: SI T [MW 0] con MW 0 = 129; il temporizzatore 129 deve
essere avviato, ma sono presenti solo 128 temporizzatori.
.... se si vuole accedere ad un contatore non esistente.
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
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
evento
(W#16#...)
Errore di indirizzamento in 2528
lettura
L'errore ha luogo...
... se si indirizza un byte, una parola o una doppia parola con un
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
scrittura
... se si indirizza un byte, una parola o una doppia parola con un
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
dati
2530
... se il blocco dati nel quale si vuole scrivere è protetto in scrittura.
Errore di scrittura blocco
dati di istanza
2531
... se il blocco dati di istanza nel quale si vuole scrivere è protetto in
scrittura.
Errore di numero di blocco 2532
DB
... se si vuole aprire un blocco dati, il cui numero è maggiore del
numero massimo permesso.
Errore di numero di blocco 2533
DI
... se si vuole aprire un blocco dati di istanza, il cui numero è
maggiore del numero massimo permesso.
Errore di numero di blocco 2534
FC
... se si vuole richiamare una funzione il cui numero è maggiore del
numero massimo permesso.
Errore di numero di blocco 2535
FB
... se si vuole richiamare un blocco funzionale il cui numero è
maggiore del numero massimo permesso.
DB non è caricato
... se il blocco dati da aprire non è caricato.
253A
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
(W#16#...)
L'errore ha luogo ...
Errore di accesso alla periferia in
lettura
2942
... se all'indirizzo nell'area di periferia non è associata
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
scrittura
2943
... se all'indirizzo nell'area di periferia non è associata
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).
224
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
errore
(W#16#...)
Descrizione
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
226
Codice di
errore
(W#16#...)
Descrizione
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
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
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
Informazione di errore
Informazioni di errore
Codice di
errore
(W#16#...)
Descrizione
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"
228
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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.
230
Eventi di errore di asincronismo
OB
Errore di tempo (p. es. superamento del max. tempo
ciclo)
OB 80
Guasto all'alimentazione (p.e. batteria difettosa)
OB 81
Allarme di diagnostica (p.e. fusibile difettoso in una
scheda di I/O)
OB 82
Allarme di estrazione / inserimento
OB 83
Evento di errore hardware della CPU (p. es. errore di
interfaccia)
OB 84
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
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
(B#16#...)
Significato
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
232
Codice di
errore
(W#16#...)
Descrizione
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
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 l’SFC 40 "EN_IRT"
Descrizione
Con la SFC 40 "EN_IRT" (enable interrupt) si riabilitano richieste di allarmi e di eventi di errori di
asincronismo disabilitate. Abilitare significa che il sistema operativo della CPU, al verificarsi di un
evento di interruzione
•
richiama un OB di allarme oppure un OB di errori di asincronismo
oppure
•
provoca la reazione stabilita in caso di OB di allarme oppure di OB di errori di asincronismo non
programmati.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
MODE
INPUT
E, A, M, D, L, cost.
Indica quali richieste di allarme ed eventi di errore
di asincronismo vengono abilitate (vedere uanto
segue).
BYTE
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:
2
•
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
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
234
Codice di
errore
(W#16#...)
Descrizione
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
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
E, A, M, D, L
Numero dei ritardi ( = numero die richiami della
SFC 41)
INT
Valore di ritorno
La tabella seguente contiene il valore di ritorno della SFC 41, fornito dal parametro RET_VAL.
Valore di
ritorno
Descrizione
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
E, A, M, D, L
Numero dei ritardi ancora programmati dopo
l'esecuzione della SFC 42 oppure messaggio di
errore.
INT
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.
236
Valore di
ritorno e
codice di
errore
Descrizione
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
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
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
Bit da 4 a 7: classe dell'evento
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.
238
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
Elemento di struttura
EV_CLASS
EV_NUM
PRIORITY
NUM
TYP2_3
TYP1
ZI1
ZI2_3
OB 80
Tipo di
dati
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
WORD
DWORD
Variabile locale corrispondente
OB80_EV_CLASS
OB80_FLT_ID
OB80_PRIORITY
OB80_OB_NUMBR
OB80_RESERVED_1
OB80_RESERVED_2
OB80_ERROR_INFO
OB80_ERR_EV_CLASS
OB80_ERR_EV_NUM
OB80_OB_PRIORITY
OB80_OB_NUM
Tipo di
dati
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
WORD
BYTE
BYTE
BYTE
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
Elemento di struttura
EV_CLASS
EV_NUM
PRIORITY
NUM
TYP2_3
TYP1
ZI1
ZI2_3
OB 100
Tipo di
dati
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
WORD
DWORD
Variabile locale
OB100_EV_CLASS
OB100_STRTUP
OB100_PRIORITY
OB100_OB_NUMBR
OB100_RESERVED_1
OB100_RESERVED_2
OB100_STOP
OB100_STRT_INFO
Tipo di
dati
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
WORD
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
240
STRUCT D, L
Vedere sotto
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
E, A, M, L, D
Campo di destinazione della lista parziale
SZL trasferita oppure dell'estratto della lista
parziale SZL trasferito:
ANY
•
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
errore
(W#16#...)
Spiegazione
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
errore
(W#16#...)
Spiegazione
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
(W#16#...)
Lista parziale
INDICE
(W#16#...)
0111
Un set di dati di identificazione
Identificazione unità
Identificazione dell'unità
0001
Identificazione dell'hardware di base
0006
Identificazione del firmware di base
0007
Caratteristiche CPU
0012
Tutte le caratteristiche
0112
Caratteristiche di un gruppo
0F12
242
Irrilevante
Unità di elaborazione in MC7
0000
Sistema di tempo
0100
Comportamento sistema
0200
Descrizione linguaggio MC7
0300
Disponibilità di SFC 87 e SFC
0400
Solo informazione 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
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
(W#16#...)
Lista parziale
INDICE
(W#16#...)
0113
Un set di dati per l'area di memoria indicata
Aree di memoria utente
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
001C
Identificazione di tutti i componenti
011C
Identificazione di un componente
Identificazione di un componente
Irrilevante
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
sistema H
N. rack
031C
Identificazione di un componente di tutte le CPU ridondate
di un sistema H
Indice
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
OB
Irrilevante
0125
Assegnazone di un’immagine di processo parziale al
rispettivo OB
N. immagine di processo parziale
0225
Assegnazione di un OB alla rispettiva immagine di
processo parziale
N. OB.
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
(W#16#...)
Lista parziale
INDICE
(W#16#...)
0132
Dati di stato di una parte della comunicazione
Dati sullo stato della comunicazione
0232
Diagnostica
0005
Caratteristiche orologio
0008
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
0C75
Stato di comunicazione tra il sistema H ed uno slave DP
attivato
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
Slave DP attivati nel sistema H
Indirizzo di diagnostica
dell’interfaccia slave DP
Informazioni sistema master DP
Informazioni sullo stato delle unità (vengono forniti al max. 27 set di dati)
244
0191
Informazione di stato di tutte le unità/sottomoduli inseriti
Irrilevante
0191
Informazione di stato di tutte le unità non disattivate/telai
con identificazione scorretta dell'unità
Irrilevante
0291
Informazione di stato di tutte le unità guaste e non
disattivate
Irrilevante
0591
Informazione di stato unità di tutte di tutti i sottomoduli
dell'unità host
Irrilevante
0991
Informazione di stato unità di un sistema master DP
ID sistema master DP
0C91
Informazione di stato di un'unità nella configurazione
centrale, in una interfaccia DP integrata oppure in
un'interfaccia PROFINET (integrata o esterna)
Indirizzo di base logico
4C91
Informazione di stato unità di un'unità in una interfaccia DP
esterna
Indirizzo di base logico
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
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
(W#16#...)
Lista parziale
INDICE
(W#16#...)
0092
Stato di riferimento dei telai nella struttura centrale / delle
stazioni di un sistema master DP
0 / ID sistema master DP
4092
Stato di riferimento delle stazioni di un sistema master DP
collegato tramite una interfaccia DP esterna
ID sistema master DP
0192
Stato di attivazione delle stazioni di un sistema master DP
collegato per mezzo di un’interfaccia DP-A integrata
ID sistema master DP
0292
Stato attuale dei telai nella struttura centrale / delle stazioni
di un sistema master DP
0 / ID sistema master DP
4292
Stato attuale delle stazioni di un sistema master DP
collegato tramite interfaccia DP esterna
ID sistema master DP
0392
Stato della batteria tampone di un rack/telaio di montaggio
di una CPU, in caso di guasto di almeno una batteria
0
0492
Stato dell’intera batteria tampone di tutti i rack/telai di
montaggio di una CPU
0
0592
Stato dell’alimentazione da 24 V-di tutti i rack/telai di
montaggio di una CPU
0
0692
Stato di diagnostica delle apparecchiature di ampliamento
in una configurazione centrale / delle stazioni di un sistema
master DP collegato tramite un'interfaccia DP integrata.
0 / ID sistema master DP
4692
Stato di diagnostica delle stazioni di un sistema master DP
collegato tramite un'interfaccia DP esterna
ID sistema master DP
0094
Stato di riferimento dei telai nella struttura centrale / delle
stazioni di un sistema IO-Controller
0194
Stato di attivazione delle stazioni di un sistema
IO-Controller progettato e disattivato
0294
Stato attuale dei telai nella struttura centrale / delle stazioni
di un sistema IO-Controller
0 / ID del sistema subordinato
PNIO
0694
Stato della diagnostica delle apparecchiature di
ampliamento nella struttura centrale / delle stazioni di un
sistema IO-Controller
0 / ID del sistema subordinato
PNIO
0794
Stato di manutenzione del rack centrale
un sistema IO-Controller
0 / ID del sistema subordinato
PNIO
0F94
Soltanto informazione di intestazione
0195
Maggiori informazioni su un sistema master DP
ID sistema master DP
0F95
Solo informazioni nell'intestazione della lista SZL
0000
0696
Informazione di stato di tutti i sottomoduli di un'unità
indicata (soltanto con PROFINET IO su un'interfaccia
integrata)
Indirizzo ID con ID di ingressi e
uscite
0C96
Informazione di stato di un'unità /di un sottomodulo
centrale o su un'interfaccia PROFIBUS DP integrata
oppure su un'interfaccia PROFINET (integrata o esterna)
Indirizzo iniziale con con ID di
ingressi e uscite
Informazione di stato di telai e stazioni
Informazione di stato di telai e stazioni
/ delle stazioni di
0 / ID del sistema subordinato
PNIO
ID del sistema subordinato PNIO
-
Informazioni supplementari sul sistema master DP/PROFINET IO
Baugruppenzustandsinformation PROFINET IO und PROFIBUS DP
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
(W#16#...)
Lista parziale
INDICE
(W#16#...)
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
Informazioni sui commutatori (PROFINET IO)
Buffer di diagnostica
(vengono forniti 21 set di dati al massimo)
00A0
Tutte le registrazioni fornibili nello stato di funzionamento
attuale
Irrilevante
01A0
Le registrazioni più recenti, il numero viene indicato tramite
l'indice
Numero
0FA0
Solo informazione intestazione della lista parziale SZL
Irrilevante
Dati di diagnostica su unità
246
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
unità DP)
Telaio, posto connettore
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
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
SEND=
TRUE
Buffer di trasmis
sione
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).
248
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
errore
(W#16#...)
Spiegazione
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)
250
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
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 l’errore. L’indicazione degli
OB 121 e 122 o degli OB non generati
nella CPU produce un messaggio di
errore.
Se l‘OB=0 vengono trasmessi i dati
dell‘OB contestualmente al quale è stata
richiamata l‘SFC. Al richiamo
dell‘SFC 78 negli OB 121 o 122
mediante OB_NR=0, vengono indicati i
tempi dell’OB che ha causato l’allarme
inclusi i tempi dell’OB 12x.
RET
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.
VAL
In caso contrario RET_VAL contiene il
numero dell‘OB, per il quale tali dati sono
stati richiamati.
PRIO
OUTPUT
INT
E, A, M, D, L
Il parametro PRIO fornisce la classe di
priorità dell'OB interrogato.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / 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
OUTPUT
DINT
E, A, M, D, L
Tempo di esecuzione dell'ultima
elaborazione relativa all'OB indicato
espresso in microsecondi.
RT
Se l’OB del quale si intende rilevare i tempi
di esecuzione è in corso di elaborazione,
tenere presente che :
Al primo richiamo della SFC 78 durante
l’elaborazione in corso dell’OB desiderato, il
tempo di esecuzione dell’ultima richiesta di
OB completata è specificato in LAST_RT.
Ad ogni successivo richiamo della SFC 78
durante l’elaborazione in corso dell’OB
desiderato, in LAST_RT viene specificato:
•
DW#16#FFFF FFFF se nell’OB
desiderato ha già avuto luogo un
richiamo della SFC 78 con OB NR=0.
•
Il tempo di esecuzione dell’ultima
richiesta di OB completata se nell’OB
desiderato non ha avuto luogo alcun
richiamo della SFC 78 con OB NR=0.
Avvertenza: i tempi di interruzione dovuti a
OB di livello di priorità superiore non sono
indicati in LAST_RT. La performance del
sistema operativo relativa agli OB,(p.es. la
creazione e l'approntamento
dell'informazione di start dell'OB,
l'aggiornamento dell'immagine di processo e
di quella di porcesso parziale) è indicata nel
parametro LAST_RT
252
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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 dall’ultima
richiesta di OB e la fine dell’elaborazione
dell’OB indicato in microsecondi, e
precisamente l’ultima elaborazione
completata dell’OB indicato.
Al primo richiamo della SFC 78 durante
l’elaborazione in corso dell’OB desiderato, il
tempo trascorso tra l’ultima richiesta di OB
completamente elaborata e la fine
dell’elaborazione dell’OB indicato è
specificato in LAST_ET.
Ad ogni successivo richiamo della SFC 78
durante l’elaborazione in corso dell’OB
desiderato, in LAST_ET viene specificato:
•
DW#16#FFFF FFFF se nell’OB
desiderato ha già avuto luogo un
richiamo della SFC 78 con OB NR=0.
•
Il tempo trascorso tra l’ultima richiesta di
OB completamente elaborata e la fine
dell’elaborazione dell’OB desiderato, se
in quest’ultimo non ha avuto luogo alcun
richiamo della SFC 78 con OB NR=0.
Avvertenza: i tempi di interruzione dovuti a
OB di livello di priorità superiore sono indicati
in LAST_ET.
CUR_T
OUTPUT
DINT
E, A, M, D, L
Tempo della richiesta OB per l’OB indicato e
attualmente elaborato, come tempo relativo
espresso in microsecondi. Se l'OB indicato
non viene attualmente elaborato, il
parametro CUR_T assume il valore 0.
Avvertenza: il tempo di sistema è un
contatore che conta da 0 a 2 147 483 647
microsecondi. In caso di overflow il contatore
riparte nuovamente con 0.
CUR_RT
OUTPUT
DINT
E, A, M, D, L
Tempo di esecuzione finora trascorso,
espresso in microsecondi e relativo
all’elaborazione attuale dell’OB indicato.
CUR_RT è uguale a 0 se l‘OB non viene
elaborato o non è ancora stato elaborato. Ad
elaborazione conclusa, il tempo di
esecuzione viene acquisito da LAST_RT e
CUR_RT viene impostato su 0.
Avvertenza: i tempi di interruzione dovuti
a OB di livello di priorità superiore non
sono indicati in CUR_RT. La
performance del sistema operativo
relativa agli OB, realizzata fino al
momento del richiamo dell' SFC 78, è
indicata nel parametro CUR_RT.
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
dell’OB indicato prima che sia stata
completata la richiesta corrente, in NEXT-ET
viene indicato in microsecondi il tempo
compreso tra il momento corrente ed il
momento della successiva richiesta.
NEXT_ET è uguale a 0, se non esiste, per
l'OB interessato, nessun altro evento di avvio
oltre a quello in attesa di elaborazione o
attualmente elaborato.
WinLC RTX e le CPU S7-400 non utilizzano
questo parametro. In questi componenti,
NEXT_ET ha valore DW#16#FFFFFFFF.
Avvertenza: i tempi di interruzione dovuti a
OB di livello di priorità superiore sono indicati
in NEXT_ET.
I tempi comprendono anche i tempi di esecuzione delle elaborazioni degli allarmi per gli errori di
sincronismo (OB 121, OB 122) eventualmente annidate.
Avvertenza
Se in OB_NR si specifica un numero di OB presente nella configurazione della CPU, ma il cui OB
corrispondente non è ancora stato richiamato dal sistema operativo o non ancora caricato nella CPU,
il numero di OB indicato è specificato in RET_VAL, la priorità progettata (se necessario di default)
dell’OB indicato è specificata in PRIO
I parametri runtime (CUR_RT, CUR_ET, LAST_RT, LAST_ET, NEXT_ET) 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:
254
•
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
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
evento
Spiegazione
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).
256
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
(B#16#...)
La SFC copia i dati del collegamento nel
programma utente
00
No
Sì
01
Sì
Sì
02
•
Sì, se i dati del collegamento sono
cambiati
•
No, se i dati del non collegamento sono
cambiati
03
Sì
La SFC trasmette l'informazione di
conferma al sistema operativo
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
di dati
REQ
INPUT
BOOL
E, A, M, D, L, cost.
Descrizione
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
di dati
Descrizione
MODE
INPUT
BYTE
Identificazione job
E, A, M, D, L, cost.
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.
258
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
dati
Descrizione
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
STBY_CON
BYTE
N. di collegamento parziale del collegamento standby (B#16#FF:
nessun collegamento standby)
Valori possibili: 0, 1, 2, 3
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
dati
Descrizione
DIS_PCON
BOOL
Le transizioni W#16#12 -> W#16#13 e W#16#13 -> W#16#12 di
CON_ARR[i].STAT_CON dall’ultimo richiamo di SFC impostano
CON_ARR[i].DIS_PCON a 1. Tutte le altre modifiche di stato del
collegamento i lasciano CON_ARR[i].DIS_PCON invariato.
Avvertenza:
DIS_CON
BOOL
•
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.
Qualsiasi modifica di CON_ARR[i].STAT_CON dall’ultimo richiamo
di SFC ad eccezione delle transizioni W#16#12 -> W#16#13 e
W#16#13 -> W#16#12 imposta CON_ARR[i].DIS_CON su 1.
Avvertenza:
•
Con MODE=B#16#01 e 02, il bit corrispondente a DIS_CON
nel sistema operativo viene resettato in seguito alla copiatura
dei dati di collegamento nella zona del traguardo.
•
Con MODE=B#16#03, il bit corrispondente a DIS_CON nel
sistema operativo rimane invariato..
RES0
BYTE
Riservato (B#16#00)
RES1
BYTE
Riservato (B#16#00)
Informazioni sugli errori
Codice di
errore
(W#16#...)
Spiegazione
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
•
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:
0001
7000
260
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
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 l’errore. L’informazione di diagnostica completa può essere letta con la SFC 13
"DPNRM_DG" o con STEP7. Se nessun repeater di diagnostica segnala un errore, le uscite DPR e
DPRI hanno il valore ZERO.
Se in seguito al verificarsi di un errore si intende avviare nuovamente la definizione della topologia, è
necessario innanzitutto eseguire il resettaggio dell'SFC 103. Il resettaggio avviene richiamanfo
l'SFC 103 mediante REQ=0 e R=1.
Procedimento
La SFC 103 "DP_TOPOL" è una SFC a funzionamento asincrono, vale a dire che l’elaborazione
comprende più richiami di SFC. Per avviare la definizione della topologia di bus, richiamare SFC 103
con REQ=1. Per interrompere il processo richiamre la SFC 103 con R=1.
Per mezzo dei parametri di uscita RET_VAL e BUSY viene visualizzato lo stato del job, vedi anche
Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono.
Avvertenza
La definizione della topologia può richiedere diversi minuti.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / 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 l’utente ha richiamato la SFC 103 "DP_TOPOL" e la richiama nuovamente prima di terminare la
definizione della topologia, la SFC si comporta in un determinato modo se è stato richiamato lo stesso
job: se il parametro DP_ID corrisponde a un job non ancora concluso, il richiamo della SFC viene
interpretato come richiamo successivo, e in RET_VAL viene registrato il valore W#16#7002. Se invece
si tratta di un altro job, la CPU lo respinge.
Parametri
Dichiarazione
Tipo
Area di memoria
Descrizione
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.
262
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
errore
(W#16#...)
Spiegazione
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"
264
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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 un‘immagine di processo parziale degli
ingressi definita con STEP 7.
Nel caso che come procedura di segnalazione per l'aggiornamento dell'immagine di processo da parte
del sistema sia stata progettata la segnalazione ripetuta di tutti gli errori di accesso alla periferia, con
la SFC 26 viene sempre eseguito l'aggiornamento dell'immagine di processo parziale selezionata.
Altrimenti questo aggiornamento con la SFC 26 viene eseguito solo se l'immagine di processo
parziale selezionata non viene aggiornata da parte del sistema, vale a dire
•
se questa immagine di processo parziale non è stata assegnata ad alcun OB di allarme,
oppure
•
se è stata selezionata l'immagine di processo parziale 0 e (per mezzo della progettazione) è stato
disinserito l'aggiornamento dell'immagine di processo dell'OB1.
Avvertenza
Ogni indirizzo logico che è stato assegnato ad un'immagine di processo parziale degli ingressi non fa
più parte dell'immagine di processo dell'OB1 degli ingressi.
Un’immagine di processo parziale aggiornata con la SFC 26 non può essere aggiornata
contemporaneamente con la SFC 126 "SYNC_PI”.
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
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)
BYTE
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
errore
Spiegazione
(W#16#...)
0000
Nessun errore.
8090
Valore non ammesso per il parametro PART.
8091
L'immagine di processo parziale indicata non è stata ancora definita oppure non si trova
nell'area dell'immagine di processo ammessa della CPU.
8092
L'immagine di processo parziale viene aggiornata dal sistema con un OB e non è stata allo
scopo progettata la segnalazione ripetuta di tutti gli errori di accesso alla periferia. Non è
stato ancora eseguito un aggiornamento con la SFC 26 "UPDAT PI".
80A0
Durante l'accesso alla periferia è stato riconosciuto un errore di accesso.
8xyy
Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL
Avvertenza
Se si utilizza l'SFC 26 "UPDAT_PI" per immagini di processo parziale degli slave normalizzati DP per
cui sono state definite aree coerenti superiori a 32 byte, anche i codici di errore dell'SFC 14
"DPRD_DAT".
266
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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".
268
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
PART
INPUT
da 1 a 30
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.
BYTE
Preconfigurazione Descrizione
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
Numero dell'immagine
di processo parziale
degli ingressi che
dev'essere aggiornata
con sincronizzazione di
clock.
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
evento
Spiegazione
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".
270
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
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
"SYNC_PO"
14.4
Aggiornamento con sincronizzazione di clock dell'immagine di
processo parziale delle uscite con l'SFC 127 "SYNC_PO"
Descrizione
Con l'SFC 127 "SYNC_PO" è possibile aggiornare l'immagine di processo parziale delle uscite con
sincronizzazione di clock. L'SFC consente quindi a un programma utente collegato a un clock DP o a
un intervallo di trasmissione PN di trasmettere all'unità di periferia, in modo coerente e in sincronismo
di clock, i dati di uscita calcolati di un'immagine di processo parziale delle uscite.
L'SFC 127 può essere interrotta ed è richiamabile solo negli OB 61, 62, 63 e 64.
Avvertenza
È consentito richiamare l'SFC 127 "SYNC_PO" negli OB 61 - 64 soltanto se la corrispondente
immagine di processo parziale è stata assegnata al rispettivo OB in Configurazione HW.
Un'immagine di processo parziale aggiornata con l'SFC 127 non può essere aggiornata
contemporaneamente con l'SFC 27 "UPDAT_PO".
Parametri
Parametri
Dichiarazione Tipo
Campo di valori
Preconfigurazione
PART
INPUT
BYTE
da 1 a 30
RET_VAL
OUTPUT
INT
Se durante l'elaborazione
della funzione si verifica un
errore, il valore di risposta
contiene un codice di errore.
FLADDR
OUTPUT
WORD
Indirizzo del primo byte che
causa l'errore.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
Descrizione
Numero dell'immagine di
processo parziale delle
uscite che dev'essere
aggiornata con
sincronizzazione di clock.
271
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
14.4 Aggiornamento con sincronizzazione di clock dell'immagine di processo parziale delle uscite con l'SFC 127
"SYNC_PO"
Informazioni sugli errori
Classe di
evento
Spiegazione
Codice di
errore
W#16#0001
Messaggio di avviso sulla coerenza. L'aggiornamento dell'immagine di processo parziale è
stato suddiviso in due cicli DP o PN. Tuttavia i dati interni a uno slave o a un IO Device sono
stati trasmessi coerentemente.
W#16#8090
Valore non ammesso per il parametro PART o l'aggiornamento dell'immagine di processo
parziale delle uscite non è consentito in questo OB. Le uscite non sono state trasmesse
all'unità periferica. L'immagine di processo parziale delle uscite rimane inalterata.
W#16#8091
L'immagine di processo parziale indicata non è stata ancora definita oppure non si trova
nell'area dell'immagine di processo ammessa della CPU. Le uscite non sono state trasmesse
all'unità periferica. L'immagine di processo parziale delle uscite rimane inalterata.
W#16#80A0
Durante l'aggiornamento dell'immagine di processo parziale delle uscite è stato rilevato un
errore di accesso. Le uscite errate non sono state inoltrate alla periferia. Nell'immagine di
processo parziale queste uscite rimangono invariate.
W#16#80A1
Errore di accesso con avviso sulla coerenza
Durante l'aggiornamento dell'immagine di processo parziale delle uscite è stato rilevato un
errore di accesso con simultaneo avviso di constatata incoerenza.
•
I dati delle uscite errate non sono stati inoltrati alla periferia. Nell'immagine di processo
parziale queste uscite rimangono invariate.
•
L'aggiornamento dei dati delle uscite non coinvolte dall'errore di accesso è stato suddiviso
in due cicli DP o PN.
W#16#80A2
Il momento dell'aggiornamento è posteriore all'intervallo di accesso. Le uscite non sono state
trasmesse all'unità periferica. L'immagine di processo parziale delle uscite rimane inalterata.
W#16#80C1
Il momento dell'aggiornamento è anteriore all'intervallo di accesso. Le uscite non sono state
trasmesse all'unità periferica. L'immagine di processo parziale delle uscite rimane inalterata.
W#16#8xyy
Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL
Avvertenza
Se si impiega la SFC 127 "SYNC_PO" per parti dell'immagine di processo di slave DP normalizzati
per i quali sono state definite aree di coerenza maggiori di 32 byte, sono possibili anche i codici di
errore della SFC 15 "DPWR_DAT".
272
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
14.5 Impostazione del campo di bit nell'area periferia con la SFC 79 "SET"
14.5
Impostazione del campo di bit nell'area periferia con la SFC 79
"SET"
Descrizione
Un richiamo della SFC 79 "SET" (set range of outputs) ha l'effetto seguente:
•
il campo di bit selezionato nell'area di periferia tramite i parametri N e SA viene impostato
•
anche i bit corrispondenti nell'immagine di processo delle uscite vengono impostati
indipendentemente se si trovano in un'immagine di processo parziale delle uscite.
Il campo di bit deve essere situato nella parte dell'area di periferia a cui è attribuita un'immagine di
processo.
In caso per una parte del campo di bit selezionato non esista una periferia, la SFC 79 tenta altrimenti
di impostare l'intero campo e fornisce in RET_VAL la corrispondente informazione di errore.
Avvertenza
Durante l'esecuzione della SFC 79, byte interi vengono sempre scritti nell'area di periferia.
Se il campo di bit selezionato tramite i parametri N e SA non inizia o termina su un limite byte, un
richiamo della SFC 79 ha l'effetto seguente:
•
I bit sul primo e sull'ultimo dei byte da trasferire all'area della periferia che non appartengono al
campo di bit selezionato, ricevono il valore dei bit corrispondenti nell'immagine di processo delle
uscite. Ciò può dare luogo p. es. all'avviamento involontario di motori o alla disattivazione di
sistemi di raffreddamento
•
Per i bit che appartengono al campo di bit selezionato vale quanto già detto sopra.
•
Se si parametrizza N con "0", un richiamo della SFC 79 non ha alcun effetto.
Se non è impostato il relè master control, il richiamo della SFC 79 non ha alcun effetto.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
N
INPUT
RET_VAL
OUTPUT
INT
E, A, M, D, L, cost.
Numero dei bit da impostare
INT
E, A, M, D, L
Informazioni sugli errori
SA
OUTPUT
POINTER P
Puntatore sul primo bit da impostare
Informazioni di errore
Come analizzare le informazioni di errore del parametro RET_VAL è spiegato nel capitolo Analisi degli
errori con il parametro di uscita RET_VAL. In questo capitolo vengono riportate anche le informazioni
di errore generali delle SFC. La SFC 79 non fornisce informazioni sugli errori specifiche per il
parametro RET_VAL.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
273
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
14.6 Resettaggio del campo di bit nell'area periferia con la SFC 80 "RSET"
14.6
Resettaggio del campo di bit nell'area periferia con la SFC 80
"RSET"
Descrizione
Un richiamo della SFC 80 "RSET" (reset range of outputs) ha l'effetto seguente:
•
il campo di bit selezionato nell'area della periferia tramite i parametri N e SA viene resettato
•
anche i bit corrispondenti nell'immagine di processo delle uscite vengono resettati
indipendentemente se si trovano in un'immagine di processo parziale delle uscite.
Il campo di bit deve essere situato nella parte dell'area di periferia a cui è attribuita un'immagine di
processo.
In caso per una parte del campo di bit selezionato non esista una periferia, la SFC 80 tenta altrimenti
di impostare l'intero campo e fornisce in RET_VAL la corrispondente informazione di errore.
Avvertenza
Con l'esecuzione della SFC 80, vengono sempre scritti interi byte nell'area della periferia.
Se il campo di bit selezionato tramite i parametri N e SA inizia o termina su un limite byte, un richiamo
della SFC 80 ha l'effetto seguente:
•
I bit sul primo e sull'ultimo dei byte da trasferire all'area della periferia che non appartengono al
campo di bit selezionato, ricevono il valore dei bit corrispondenti nell'immagine di processo delle
uscite. Ciò può dare luogo p. es. all'avviamento involontario di motori o la disattivazione di sistemi
di raffreddamento.
•
Per i bit che appartengono al campo di bit selezionato vale quanto già detto sopra.
•
Se si parametrizza N con "0", un richiamo della SFC 80 non ha alcun effetto.
Se il relè master control non è impostato, un richiamo della SFC 80 non ha alcun effetto.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
N
INPUT
RET_VAL
OUTPUT
INT
E, A, M, D, L, cost.
Numero dei bit da reimpostare
INT
E, A, M, D, L
Informazioni sugli errori
SA
OUTPUT
POINTER P
Puntatore sul primo bit da reimpostare
Informazioni di errore
Come analizzare le informazioni di errore del parametro RET_VAL è spiegato nel capitolo Analisi degli
errori con il parametro di uscita RET_VAL. In questo capitolo vengono riportate anche le informazioni
di errore generali delle SFC. La SFC 80 non fornisce informazioni sugli errori specifiche per il
parametro RET_VAL.
274
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
14.7 Realizzazione di un dispositivo di avanzamento a passi con l'SFB 32 "DRUM"
14.7
Realizzazione di un dispositivo di avanzamento a passi con
l'SFB 32 "DRUM"
Descrizione
L'SFB 32 "DRUM" realizza un dispositivo di avanzamento a passi con al massimo 16 passi. Il numero
del primo passo viene assegnato con il parametro DSP e il numero dell'ultimo passo con il parametro
LST_STEP.
In ogni passo vengono descritti tutti i 16 bit di uscita, da OUT0 a OUT15 e il parametro di uscita
OUT_WORD (in cui sono riuniti i bit di uscita). A un bit di uscita viene assegnato il bit relativo del
campo OUT_VAL oppure lo stesso bit d'uscita del passo precedente. Il valore assegnato dipende da
come vengono occupati i bit di maschera nel parametro S_MASK (vedere tabella seguente).
Avvertenza
La preimpostazione dei bit della maschera è 0. Per modificare l'impostazione attuale di uno o più bit
della maschera, procedere alla modifica nel DB di istanza.
L'SFB 32 "DRUM" si inserisce nel passo successivo se all'ingresso JOG di fronte al richiamo dell'SFB
precedente è emerso un fronte di salita. Se l'SFB si trova già nell'ultimo passo, le variabili Q e EOD
vengono poste in JOG con fronte di salita, DDC riceve valore 0 e l'SFB rimane nell'ultimo passo fino a
che l'ingresso RESET non viene occupato da 1.
Inoltre è possibile anche un avanzamento in funzione del tempo nel successivo passo. Per fare ciò è
necessario che il parametro DRUM_EN sia occupato da 1. Il passaggio nel passo successivo avviene
•
se è impostato il bit di evento EVENTi relativo al passo attuale e
•
se è trascorso il tempo assegnato per il passo attuale.
Questo tempo risulta dal prodotto della base tempo DTBP e del fattore tempo valido per il passo
attuale (dal campo S_PRESET)
Avvertenza
Il tempo di esecuzione DCC rimasto ancora nel passo attuale viene ridotto solo se il relativo bit
d'evento EVENTi è impostato.
Se richiamando l'SFB all'ingresso RESET è presente 1, il dispositivo di avanzamento a passi va nel
passo il cui numero è stato attribuito all'ingresso DSP.
Avvertenza
Se è stato selezionato DRUM_EN a 1 si ha il particolare caso di
•
avanzamento dei passi su interrupt periodico selezionando EVENTi = 1 per DSP i LST_STEP.
•
avanzamento dei passi su interrupt di evento tramite i bit di evento EVENTi selezionando
DTBP = 0.
È inoltre possibile fare avanzare in qualsiasi momento il dispositivo di avanzamento a passi (anche
con DRUM EN=1) tramite l'ingresso JOG.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
275
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
14.7 Realizzazione di un dispositivo di avanzamento a passi con l'SFB 32 "DRUM"
Al primo richiamo del blocco è necessario occupare l'ingresso RESET con 1.
Se il dispositivo di avanzamento a passi si trova nell'ultimo passo (DSC ha il valore di LST_STEP) e
se il tempo di elaborazione assegnato per questo passo è trascorso, le uscite Q e EOD vengono
impostate e l'SFB rimane nell'ultimo passo finché non si occupa l'ingresso RESET con 1.
Un temporizzatore DRUM funziona solo negli stati di esercizio AVVIAMENTO e RUN.
Il sistema operativo resetta l'SFB 32 "DRUM" all'avviamento a freddo, ma non al nuovo avviamento
(avviamento a caldo). Se l'SFB 32 "DRUM" deve essere inizializzato dopo il nuovo avviamento
(avviamento a caldo), lo si deve richiamare nell'OB 100 con RESET = 1.
276
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
RESET
INPUT
BOOL
E, A, M, D, L, cost.
Il livello 1 causa il resettaggio del
dispositivo di avanzamento a passi. Al
primo richiamo del blocco è necessario
occupare RESET con 1.
JOG
INPUT
BOOL
E, A, M, D, L, cost.
Un fronte di salita (davanti all'ultimo
richiamo di SFB) causa l'avanzamento nel
passo successivo, se per caso il
dispositivo di avanzamento a passi non si
trova ancora nell'ultimo passo.
L'avanzamento avviene
indipendentemente dal valore attribuito a
DRUM_EN.
DRUM_EN
INPUT
BOOL
E, A, M, D, L, cost.
Parametro di comando che stabilisce se è
possibile un avanzamento in funzione del
tempo nel passo successivo (1:
avanzamento in funzione del tempo
possibile).
LST_STEP
INPUT
BYTE
E, A, M, D, L, cost.
Numero dell'ultimo passo
valori possibili: da 1 a 16
EVENTi 1≤ i ≤16
INPUT
BOOL
E, A, M, D, L, cost.
Bit d'evento n. i (appartiene al passo i)
OUTj 0≤ j≤15
OUTPUT
BOOL
E, A, M, D, L
Bit d'uscita n. j (identico al bit n. j di
OUT_WORD)
Q
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato che indica se il tempo
assegnato per l'elaborazione dell'ultimo
passo è trascorso.
OUT_WORD
OUTPUT
WORD
E, A, M, D, L, P
Bit di uscita riuniti in una variabile
ERR_CODE
OUTPUT
WORD
E, A, M, D, L, P
Se durante l'elaborazione dell'SFB si
presenta un errore, ERR_CODE contiene
l'informazione di errore.
JOG_HIS
VAR
BOOL
E, A, M, D, L, cost.
(non rilevante per l'utente: parametro
d'ingresso JOG del richiamo SFB
precedente).
EOD
VAR
BOOL
E, A, M, D, L, cost.
Identico al parametro di uscita Q
DSP
VAR
BYTE
E, A, M, D, L, P,
cost.
Numero del primo passo
valori possibili: da 1 a 16
DSC
VAR
BYTE
E, A, M, D, L, P,
cost.
Numero del passo attuale
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
14.7 Realizzazione di un dispositivo di avanzamento a passi con l'SFB 32 "DRUM"
Parametri
Dichiarazione Tipo
Area di memoria
DCC
VAR
DWORD E, A, M, D, L, P,
cost.
Tempo di elaborazione rimasto ancora nel
passo attuale in ms (rilevante solo se
DRUM_EN = 1 e relativo bit d'evento = 1).
DTBP
VAR
WORD
Base tempo in ms valida per tutti i passi
PREV_TIME
VAR
DWORD E, A, M, D, L, cost.
(Non rilevante per l'utente: tempo sistema
del richiamo SFB precedente)
S_PRESET
VAR
ARRAY
of
WORD
E, A, M, D, L, cost.
Campo unidimensionale con fattori tempo
per ogni passo.
Scelta sensata degli indizi: [da 1 a 16].
In questo caso S_PRESET [x] contiene il
fattore tempo del passo x.
OUT_VAL
VAR
ARRAY E, A, M, D, L, cost.
of BOOL
Campo bidimensionale con i valori da
emettere in ogni passo, se non li si ha
cancellati tramite S_MASK.
Scelta sensata degli indizi: [da 1 a 16, da
0 a 15]. In questo caso OUT_VAL [x,y]
contiene il valore che viene assegnato al
bit d'uscita OUTy nel passo x.
S_MASK
VAR
ARRAY E, A, M, D, L, cost.
of BOOL
Campo bidimensionale con i bit di
maschera per ogni passo.
Scelta sensata degli indizi: [da 1 a 16, da
0 a 15]. In questo caso S_MASK [x,y]
contiene il bit di maschera per il valore
y-esimo da emettere nel passo x.
Significato dei bit di maschera:
E, A, M, D, L, P,
cost.
Descrizione
•
0: il valore relativo del passo
precedente viene attribuito al bit
d'uscita relativo
•
1: il valore relativo da OUT_VAL viene
attribuito al relativo bit d'uscita.
Informazioni di errore
Se dovesse verificare una delle condizioni indicate nella seguente tabella, l'SFC 32 "DRUM" rimane
nello stato attuale e l'uscita ERR_CODE viene impostata in base a ciò.
Codice di
errore
Spiegazione
(W#16#...)
0000
Nessun errore.
8081
Valore non ammesso per LST_STEP
8082
Valore non ammesso per DSC
8083
Valore non ammesso per DSP
8084
Il prodotto DCC = DTBP * S_PRESET [DSC] supera il valore 2**31-1 (circa 24,86 giorni)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
277
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
14.7 Realizzazione di un dispositivo di avanzamento a passi con l'SFB 32 "DRUM"
278
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
15
Funzioni di sistema per l'indirizzamento di unità
15.1
Rilevamento dell'indirizzo di base logico di un'unità con la SFC 5
"GADR_LGC"
Descrizione
Conoscendo il posto connettore di un canale di un'unità di ingresso/uscita e l'offset dell'area di
indirizzamento dati utili, è possibile con la SFC 5 "GADR_LGC" (convert geographical address to
logical address) rilevare l'indirizzo di base logico corrispondente di un'unità, ovvero l'indirizzo E o A più
piccolo.
Impiegando l'SFC 5 su moduli power o su moduli con indirizzi compressi (ET 200S), viene fornito
l'indirizzo di diagnostica.
Parametri
Dichiarazione
Tipo
Area di memoria
SUBNETID
INPUT
BYTE
E, A, M, D, L, cost. Identificazione dell'area:
RACK
INPUT
WORD
Descrizione
•
0, se il posto connettore si trova in uno dei
telai di montaggio 0 (apparecchiatura centrale)
o da 1 a 21 (apparecchiatura di ampliamento)
•
ID sistema master DP del sistema periferico
decentrale, se il posto connettore si trova in
un dispositivo di periferia decentrata.
E, A, M, D, L, cost. •
•
Numero del telaio di montaggio se
l'identificazione dell'area è 0
Numero di stazione del dispositivo di periferia
decentrata se l'identificazione dell'area > 0
SLOT
INPUT
WORD
E, A, M, D, L, cost. N. del posto connettore
SUBSLOT
INPUT
BYTE
E, A, M, D, L, cost. Posto connettore del sotto-modulo (se non è
possibile collocare alcun sotto-modulo, indicare 0)
SUBADDR
INPUT
WORD
E, A, M, D, L, cost. Offset nell'area di indirizzamento dati utili dell'unità
RET_VAL
OUTPUT
INT
E, A, M, D, L
IOID
OUTPUT
BYTE
E, A, M, D, L
Informazioni sugli errori
Identificazione dell'area:
B#16#54: Ingresso periferia (PE)
B#16#55: Uscita periferia (PA)
In caso di unità miste la SFC fornisce
l'identificazione dell'area dell'indirizzo più basso. In
caso di indirizzi uguali la SFC fornisce
l‘identificazione B#16#54.
LADDR
OUTPUT
WORD
E, A, M, D, L
Indirizzo di base logico dell‘unità
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
279
Funzioni di sistema per l'indirizzamento di unità
15.1 Rilevamento dell'indirizzo di base logico di un'unità con la SFC 5 "GADR_LGC"
Informazioni di errore
Codice di
errore
Spiegazione
(W#16#...)
280
0000
Nessun errore.
8093
Valore non consentito nel parametro SUBNETID (non è ammesso l'uso dell'SFC 5 per
PROFINET IO).
8094
Nessuna sotto-rete è stata configurata con la SUBNETID indicata.
8095
Valore non ammesso nel parametro RACK
8096
Valore non ammesso nel parametro SLOT
8097
Valore non ammesso nel parametro SUBSLOT
8098
Valore non ammesso nel parametro SUBADDR
8099
Il posto connettore non è stato progettato
809A
Il sotto-indirizzo per il posto connettore selezionato non è progettato (possibile soltanto nella
periferia a livello centrale per la CPU e l'IM).
8xyy
Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
Funzioni di sistema per l'indirizzamento di unità
15.2 Rilevamento del posto connettore appartenente ad un indirizzo logico con la SFC 49 "LGC_GADR"
15.2
Rilevamento del posto connettore appartenente ad un indirizzo
logico con la SFC 49 "LGC_GADR"
Descrizione
Con la SFC 49 "LGC_GADR" (convert logical address to geographical address) è possibile rilevare il
posto connettore dell'unità appartenente ad un indirizzo logico e l'offset nell'area di indirizzamento dati
utili dell'unità.
Avvertenza
L'applicazione della SFC 49 "LGC_GADR" a un modulo con indirizzi compressi (ET 200S) non è
ammessa.
Parametri
Dichiarazione Tipo
Area di memoria
IOID
INPUT
E, A, M, D, L, cost.
BYTE
Descrizione
Identificazione dell'area di indirizzamento:
•
B#16#00: il bit 15 di LADDR indica se
l'indirizzo è un ingresso (bit15=0) o un'uscita
(bit15=1).
•
B#16#54 = ingresso di periferia (PE)
•
B#16#55 = uscita di periferia (PA)
Se si tratta di un'unità mista si deve indicare
l'identificazione dell'area dell'indirizzo minore. Se
gli indirizzi sono uguali si deve indicare B#16#54.
LADDR
INPUT
WORD
E, A, M, D, L, cost.
Indirizzo logico
Con un'unità mista si deve indicare il minore dei
due indirizzi.
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazioni sugli errori
AREA
OUTPUT
BYTE
E, A, M, D, L
Identificazione dell'area: indica come interpretare
i parametri di uscita rimanenti.
RACK
OUTPUT
WORD
E, A, M, D, L
N. del telaio di montaggio
SLOT
OUTPUT
WORD
E, A, M, D, L
N. del posto connettore
SUBADDR OUTPUT
WORD
E, A, M, D, L
Offset nell'area di indirizzamento dati utili
dell'unità corrispondente.
Avvertenza
Se si impiega un sistema di automazione S7-400H in funzionamento ridondato e, richiamando la
SFC 49, si indica nel parametro LADDR l'indirizzo logico di un'unità di uno slave DP collegato,
nell'high byte del parametro RACK viene emessa l'ID del sistema master DP del canale attivo. Se non
esiste un canale attivo, viene emessa l'ID del sistema master DP corrispondente della CPU master.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
281
Funzioni di sistema per l'indirizzamento di unità
15.2 Rilevamento del posto connettore appartenente ad un indirizzo logico con la SFC 49 "LGC_GADR"
Parametri di uscita AREA
Il parametro di uscita AREA indica come interpretare i parametri di uscita RACK, SLOT e SUBADDR.
La tabella seguente spiega questo rapporto di dipendenza.
Valore di AREA
Sistema
0
S7-400
Significato di RACK, SLOT e SUBADDR
RACK : N. del telaio di montaggio
SLOT : N. del posto connettore
SUBADDR : differenza tra l'indirizzo logico e l'indirizzo logico di base
1
S7-300
RACK : N. del telaio di montaggio
SLOT : N. del posto connettore
SUBADDR : differenza tra l'indirizzo logico e l'indirizzo logico di base
2
DP
RACK (low byte): numero di stazione
RACK (high byte): ID del sistema master DP
SLOT: numero di slot nella stazione
SUBADDR: offset nell'area indirizzamento dati utili indirizzo logico dell'unità
corrispondente
3
Area S5-P
RACK : N. del telaio di montaggio
SLOT : N. del posto connettore della capsula di adattamento
SUBADDR : indirizzo nell'area S5 x
4
Area S5-Q
RACK : N. del telaio di montaggio
SLOT : N. del posto connettore della capsula di adattamento
SUBADDR : indirizzo nell'area S5 x
5
Area S5-IM3
RACK : N. del telaio di montaggio
SLOT : N. del posto connettore della capsula di adattamento
SUBADDR : indirizzo nell'area S5 x
6
Area S5-IM4
RACK : N. del telaio di montaggio
SLOT : N. del posto connettore della capsula di adattamento
SUBADDR : indirizzo nell'area S5 x
Informazioni di errore
Codice di errore Spiegazione
(W#16#...)
282
0000
Nessun errore.
8090
L'indirizzo logico indicato non è valido o valore non ammissibile con parametro IOID
8093
Per le unità selezionate tramite IOID e LADDR questa SFC non è consentita.
8xyy
Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
Funzioni di sistema per l'indirizzamento di unità
15.3 Rilevamento di tutti gli indirizzi logici di un'unità con la SFC 50 "RD_LGADR"
15.3
Rilevamento di tutti gli indirizzi logici di un'unità con la SFC 50
"RD_LGADR"
Descrizione
Partendo da un indirizzo logico di un'unità, di un sotomodulo centrale o di un sottomodulo PNIO è
possibile, con l'SFC 50 "RD_LGADR" (read module logical addresses), determinare tutti gli indirizzi
logici convenzionati di questa unità o di questo sottomodulo. Gli indirizzi devono essere stati assegnati
alle unità o ai sottomoduli in precedenza con STEP 7. L'SFC 50 registra gli indirizzi logici rilevati nel
campo PEADDR o nel campo PAADDR in ordine crescente.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
IOID
INPUT
E, A, M, D, L, cost.
Identificazione dell'area di indirizzamento:
BYTE
•
B#16#00: il bit 15 di LADDR indica se
l'indirizzo è un ingresso (bit15=0) o un'uscita
(bit15=1).
•
B#16#54 = ingresso di periferia (PE)
•
B#16#55 = uscita di periferia (PA)
LADDR
INPUT
WORD
E, A, M, D, L, cost.
Un indirizzo logico
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazioni sugli errori
PEADDR
OUTPUT
ANY
E, A, M, D, L
Campo per gli indirizzi PE, gli elementi di campo
devono essere del tipo WORD.
PECOUNT OUTPUT
INT
E, A, M, D, L
Numero degli indirizzi PE forniti
PAADDR
ANY
E, A, M, D, L
Campo per gli indirizzi PA, gli elementi di campo
devono essere del tipo WORD.
INT
E, A, M, D, L
Numero degli indirizzi PA forniti
OUTPUT
PACOUNT OUTPUT
Informazioni di errore
Codice di
errore
Spiegazione
(W#16#...)
0000
Nessun errore.
8090
L'indirizzo logico indicato non è valido
80A0
Errore nel parametro di uscita PEADDR: il tipo dei dati degli elementi di campo non è WORD.
(Questo codice di errore esiste solo in S7-400 e nella CPU 318.)
80A1
Errore nel parametro di uscita PAADDR: il tipo dei dati degli elementi di campo non è WORD.
(Questo codice di errore esiste solo in S7-400 e nella CPU 318.)
80A2
Errore nel parametro di uscita PEADDR: il campo indicato non ha potuto accogliere tutti gli
indirizzi logici.
80A3
Errore nel parametro di uscita PAADDR: il campo indicato non ha potuto accogliere tutti gli
indirizzi logici.
8xyy
Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
283
Funzioni di sistema per l'indirizzamento di unità
15.4 Determinazione dell'indirizzo iniziale di un'unità con la SFC 70 "GEO_LOG"
15.4
Determinazione dell'indirizzo iniziale di un'unità con la SFC 70
"GEO_LOG"
Descrizione
Dal canale di un'unità degli ingressi e delle uscite si ricava il rispettivo posto connettore dell'unità. La
SFC 70 "GEO_LOG" ("convert geographical address to logical address") consente di determinare da
tali dati il corrispondente indirizzo iniziale dell'unità, vale a dire l'indirizzo E o A più basso.
Impiegando l'SFC 70 su moduli power oppure su moduli con indirizzi compressi (ET 200S), viene
restituito l'indirizzo di diagnostica.
Parametri
Parametri
Dichiarazione
Tipo di
dati
Area di memoria
Descrizione
MASTER
INPUT
INT
E, A, M, D, L, cost.
Identificatore area:
STATION
INPUT
INT
E, A, M, D, L, cost.
•
0 se il posto connettore si trova
nella configurazione centrale: telai
di montaggio 0-3 (S7-300) oppure
0-21 (S7-400)
•
1 ... 32: ID del sistema master DP
della rispettiva apparecchiatura da
campo se il posto connettore si
trova in un'apparecchiatura da
campo di PROFIBUS
•
100 … 115: ID del sistema
PROFINET IO della rispettiva
apparecchiatura da campo se il
posto connettore si trova in
un'apparecchiatura da campo di
PROFINET
Numero del telaio di montaggio se
l'identificatore area è = 0
Numero della stazione
dell'apparecchiatura da campo se
l'identificatore area è > 0
284
SLOT
INPUT
INT
E, A, M, D, L, cost.
Numero del posto connettore
SUBSLOT
INPUT
INT
E, A, M, D, L, cost.
Posto connettore del sotto-modulo (se
non è possibile inserire sotto-moduli, qui
va indicato 0)
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazione di errore
LADDR
OUTPUT
WORD
E, A, M, D, L
Indirizzo iniziale dell'unità
il bit 15 di LADDR indica se l'indirizzo
disponibile è un indirizzo di ingresso
(bit 15 = 0) oppure un indirizzo di
uscita (Bit 15 = 1).
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
Funzioni di sistema per l'indirizzamento di unità
15.4 Determinazione dell'indirizzo iniziale di un'unità con la SFC 70 "GEO_LOG"
Informazioni di errore
Codice di
errore
(W#16#...)
Spiegazione
0000
Non si sono verificati errori
8094
Non è stata configurata una sottorete con la SUBNETID indicata
8095
Valore non consentito per il parametro STATION
8096
Valore non consentito per il parametro SLOT
8097
Valore non consentito per il parametro SUBSLOT
8099
Il posto connettore non è stato progettato
809A
L'indirizzo del sotto-modulo per il posto connettore selezionato non è stato progettato
8xyy
Informazione di errore generale, vedere anche Analisi degli errori con il parametro di uscita
RET_VAL
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
285
Funzioni di sistema per l'indirizzamento di unità
15.5 Determinazione del posto connettore corrispondente a un indirizzo logico con la SFC 71 "LOG_GEO"
15.5
Determinazione del posto connettore corrispondente a un indirizzo
logico con la SFC 71 "LOG_GEO"
Descrizione
La SFC 71 "LOG_GEO" ("convert logical address to geographical address") consente di determinare il
posto connettore dell'unità corrispondente a un indirizzo logico e l'offset nell'area di indirizzi dei dati
utili dell'unità.
Parametri
Parametri
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
LADDR
INPUT
WORD
E, A, M, D, L, cost. Un qualsiasi indirizzo logico dell'unità
Indicare nel bit 15 se l'indirizzo disponibile
è un indirizzo di ingresso (bit 15 = 0)
oppure un indirizzo di uscita (Bit 15 = 1).
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazione di errore
AREA
OUTPUT
INT
E, A, M, D, L
Identificatore area: indica in che modo
vanno interpretati i restanti parametri di
uscita.
MASTER
OUTPUT
INT
E, A, M, D, L, cost. Identificatore area:
STATION
OUTPUT
INT
E, A, M, D, L
•
0 se il posto connettore si trova nella
configurazione centrale: telai di
montaggio 0-3 (S7-300) oppure 0-21
(S7-400)
•
1 ... 32: ID del sistema master DP
della rispettiva apparecchiatura da
campo se il posto connettore si trova
in un'apparecchiatura da campo di
PROFIBUS
•
100 … 115: ID del sistema PROFINET
IO della rispettiva apparecchiatura da
campo se il posto connettore si trova
in un'apparecchiatura da campo di
PROFINET
Numero del telaio di montaggio se
l'identificatore area è = 0
Numero della stazione dell'apparecchiatura
da campo se l'identificatore area è > 0
286
SLOT
OUTPUT
INT
E, A, M, D, L
Numero del posto connettore
SUBSLOT
OUTPUT
INT
E, A, M, D, L
Numero del sotto-modulo
OFFSET
OUTPUT
INT
E, A, M, D, L
Offset nell'area di indirizzi dei dati utili
dell'unità corrispondente
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
Funzioni di sistema per l'indirizzamento di unità
15.5 Determinazione del posto connettore corrispondente a un indirizzo logico con la SFC 71 "LOG_GEO"
Parametro di uscita AREA
Valore di
AREA
Sistema
Significato di RACK, SLOT e SUBADDR
0
S7-400
MASTER: 0
STATION: numero del telaio di montaggio
SLOT: numero del posto connettore
SUBSLOT: 0
OFFSET: differenza tra indirizzo logico e indirizzo logico di base
1
S7-300
MASTER: 0
STATION: numero del telaio di montaggio
SLOT: Numero del posto connettore
SUBSLOT: 0
OFFSET: Differenza tra indirizzo logico e indirizzo logico di base
2
PROFIBUS DP
MASTER: ID sistema master DP
STATION: numero della stazione
SLOT: numero del posto connettore nella stazione
SUBSLOT: 0
OFFSET: offset nell'area di indirizzi dei dati utili dell'unità
corrispondente
PROFINET IO
MASTER: ID sistema PROFINET IO
STATION: numero della stazione
SLOT: numero del posto connettore nella stazione
SUBSLOT: numero del sotto-modulo
OFFSET: offset nell'area di indirizzi dei dati utili dell'unità
corrispondente
3
Area S5 P
MASTER: 0
STATION: numero del telaio di montaggio
SLOT: numero del posto connettore della capsula di adattamento
SUBSLOT: 0
OFFSET: indirizzo nell'area S5 "x"
4
Area S5 Q
MASTER: 0
STATION: numero del telaio di montaggio
SLOT: numero del posto connettore della capsula di adattamento
SUBSLOT: 0
OFFSET: indirizzo nell'area S5 "x"
5
Area S5 IM3
MASTER: 0
STATION: numero del telaio di montaggio
SLOT: numero del posto connettore della capsula di adattamento
OFFSET: indirizzo nell'area S5 "x"
6
Area S5 IM4
MASTER: 0
STATION: numero del telaio di montaggio
SLOT: numero del posto connettore della capsula di adattamento
SUBSLOT: 0
OFFSET: indirizzo nell'area S5 "x"
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
287
Funzioni di sistema per l'indirizzamento di unità
15.5 Determinazione del posto connettore corrispondente a un indirizzo logico con la SFC 71 "LOG_GEO"
Informazioni di errore
288
Codice di
errore
(W#16#...)
Spiegazione
0000
Non si sono verificati errori
8090
L'indirizzo logico indicato non è valido
8xyy
Informazione di errore generale, vedere anche Analisi degli errori con il parametro di uscita
RET_VAL
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
16
SFC per periferia decentrata o per PROFINET IO
16.1
Attivazione di un interrupt di processo nel master DP con l'SFC 7
"DP_PRAL"
Campo di validità
L'SFC descritta in questo capitolo può essere utilizzata solo se si usa una CPU 315-2DP come slave
intelligente.
Descrizione
Con l'SFC 7 "DP_PRAL" viene attivato, dal programma utente di uno slave intelligente, un interrupt di
processo nel relativo master DP. Questo fa in modo che venga avviato l'OB 40 nel master DP.
Con il parametro di ingresso AL_INFO è possibile contrassegnare la causa dell'interrupt di processo
desiderato. Questa identificazione di interrupt viene trasferita al master DP e può essere analizzata
nell'OB 40 (variabile OB40_POINT_ADDR).
L'interrupt di processo richiesto viene definito in modo univoco tramite i parametri di ingresso IOID e
LADDR. Per ogni area di indirizzamento progettata nella memoria di trasferimento è possibile attivare
un interrupt di processo esattamente nel momento desiderato.
Metodo di lavoro
L'SFC 7 "DP_PRAL" è un'SFC asincrona, vale a dire che l'elaborazione comprende più richiami
dell'SFC. La richiesta di interrupt di processo viene avviata richiamando l'SFC 7 con REQ=1.
Lo stato dell'ordine viene visualizzato tramite i parametri di uscita RET_VAL e BUSY, vedere anche il
capitolo Significato dei parametri REQ, RET_VAL e BUSY nelle SFC asincrone. L'ordine è terminato
quando si è conclusa l'elaborazione dell'OB 40 nel master DP.
Avvertenza
Se lo slave DP viene utilizzato come uno slave standard, l'ordine è concluso non appena il
telegramma di diagnostica è stato ritirato dal master DP.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
289
SFC per periferia decentrata o per PROFINET IO
16.1 Attivazione di un interrupt di processo nel master DP con l'SFC 7 "DP_PRAL"
Identificazione di un ordine
I parametri di ingresso IOID e LADDR definiscono un ordine in modo univoco.
Se l'SFC 7 "DP_PRAL" è stata richiamata su uno slave DP e la si richiama nuovamente prima che il
master DP abbia confermato l'interrupt di processo richiesto, il successivo comportamento
dell'SFC dipende in maniera decisiva dal fatto che il nuovo richiamo riguardi lo stesso ordine: se i
parametri IOID e LADDR concordano con un ordine non ancora concluso, il richiamo SFC viene
interpretato come richiamo conseguente, indipendentemente dal valore del parametro AL_INFO, e in
RET_VAL viene registrato il valore W#16#7002.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L, cost.
REQ=1: attivazione interrupt di processo sul
relativo master DP
IOID
INPUT
BYTE
E, A, M, D, L, cost.
Identificazione dell'area di indirizzamento nella
memoria di trasferimento (dal punto di vista dello
slave DP):
•
B#16#00: il bit 15 di LADDR indica la
presenza di un indirizzo di ingresso (bit
15=0) o di uscita (bit 15=1).
•
B#16#54 =
ingresso di periferia (PE)
•
B#16#55 =
uscita di periferia (PA)
Se si tratta di un'unità mista occorre specificare
l'identificatore di area dell'indirizzo più basso. Se
gli indirizzi sono uguali occorre indicare B#16#54.
LADDR
INPUT
WORD
E, A, M, D, L, cost.
Indirizzo di partenza dell'area di indirizzamento
nella memoria di trasferimento (dal punto di vista
dello slave DP).
Se si tratta di un'area appartenente ad un'unità
mista si deve indicare il minore dei due indirizzi.
AL_INFO
INPUT
DWORD E, A, M, D, L, cost.
Identificazione di interrupt
Questa identificazione viene fornita all'OB 40 che
deve essere avviato sul relativo master DP
(variabile OB40_POINT_ADDR).
Se lo slave intelligente viene operato su un
master non S7 il telegramma di diagnostica deve
essere analizzato nel master (vedere /70/).
RET_VAL
OUTPUT
INT
E, A, M, D, L
Se durante l'elaborazione si verifica un errore, il
valore di ritorno contiene un codice di errore.
BUSY
OUTPUT
BOOL
E, A, M, D, L
BUSY=1:
L'interrupt di processo attivato non è stato ancora
confermato dal master DP.
290
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
SFC per periferia decentrata o per PROFINET IO
16.1 Attivazione di un interrupt di processo nel master DP con l'SFC 7 "DP_PRAL"
Informazioni di errore
Codice di
errore
(W#16#...)
Spiegazione
0000
Il L'ordine è stato eseguito senza errori
7000
Primo richiamo con REQ=0. Nessuna richiesta di interrupt di processo attiva; BUSY ha valore
0.
7001
Primo richiamo con REQ=1. È stato richiesto un interrupt di processo al master DP; BUSY ha
valore 1.
7002
Richiamo intermedio (REQ è irrilevante): l'interrupt di processo attivato non è stato ancora
confermato dal master DP; BUSY ha valore 1.
8090
Indirizzo di partenza dell'area di indirizzamento nella memoria di trasferimento errato.
8091
Interrupt inibito tramite la progettazione.
8093
Tramite la coppia di parametri IOID e LADDR viene indirizzata un'unità dalla quale non è
possibile una richiesta di interrupt di processo.
80B5
Richiamo nel master DP non ammesso
80C3
Alcune risorse necessarie (memoria ecc.) sono attualmente occupate.
80C5
La periferia decentrata non è attualmente disponibile (p. es. guasto della stazione).
80C8
Lo stato di funzionamento attuale del master DP non consente di eseguire questa funzione.
8xyy
Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
291
SFC per periferia decentrata o per PROFINET IO
16.2 Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR"
16.2
Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR"
Descrizione
Con l'SFC 11 "DPSYC_FR" è possibile sincronizzare uno o più gruppi di slave DP.
A tale scopo occorre inviare una delle seguenti istruzioni di comando, o una combinazione di esse, ai
gruppi interessati:
•
SYNC (emissione e congelamento simultanei degli stati delle uscite con gli slave DP)
•
UNSYNC (annulla nuovamente l'istruzione di comando SYNC)
•
FREEZE (congelamento degli stati degli ingressi con gli slave DP)
•
UNFREEZE (annulla nuovamente l'istruzione di comando FREEZE)
Avvertenza
Osservare che i comandi di controllo SYNC e FREEZE restano attivi anche in seguito a un nuovo
avviamento o a un avviamento a freddo.
Osservare inoltre che è consentito attivare un solo ordine SYNC/UNSYNC o un solo ordine
FREEZE/UNFREEZE alla volta.
Presupposti
Prima di inviare le istruzioni di comando sopra indicate, gli slave DP devono essere stati suddivisi in
gruppi con STEP 7 (vedere /231/). Occorre sapere a quale gruppo e con quale numero è stato
assegnato un determinato slave DP e quali caratteristiche hanno i singoli gruppi in merito al
comportamento SYNC/FREEZE.
Metodo di lavoro
L'SFC 11 "DPSYC_FR" è un'SFC asincrona, vale a dire che l'elaborazione comprende più richiami
dell'SFC. L'ordine viene avviato richiamando l'SFC 11 con REQ=1.
Lo stato dell'ordine viene visualizzato tramite i parametri di uscita RET_VAL e BUSY, vedere anche il
paragrafo Significato dei parametri REQ, RET_VAL e BUSY nelle SFC asincrone.
Identificazione di un ordine
Se è stato attivato un ordine SYNC/FREEZE e viene nuovamente richiamata l'SFC 11 prima che
questo ordine sia stato concluso, il successivo comportamento dell'SFC dipende in maniera decisiva
dal fatto che il nuovo richiamo riguardi lo stesso ordine. Se i parametri di ingresso LADDR, GROUP e
MODE concordano, il richiamo SFC viene interpretato come richiamo conseguente.
292
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
SFC per periferia decentrata o per PROFINET IO
16.2 Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR"
Descrizione delle uscite delle unità DP
La descrizione delle uscite di unità DP viene attivata da
•
Comandi di trasferimento
•
Scrittura dell'immagine di processo delle uscite nelle unità (da parte del sistema operativo alla fine
dell'OB1 oppure richiamando l'SFC 27 "UPDAT_PO"),
•
Richiamo dell'SFC 15 "DPWR_DAT".
Normalmente il master DP trasferisce i dati di uscita alle uscite dello slave DP in modo ciclico (nel
ciclo del bus PROFIBUS DP).
Quando si desidera inviare simultaneamente alle uscite del processo determinati dati di uscita che
possono essere ripartiti tra diversi slave, è possibile inviare l'istruzione di comando SYNC al rispettivo
master DP con l'ausilio di SFC 11 "DPSYC_FR":
Funzione di SYNC
Con l'istruzione di comando SYNC gli slave DP dei gruppi indicati vengono commutati nel modo Sync,
ciò significa che il master DP ordina agli slave DP interessati di congelare le uscite sugli ultimi valori
ricevuti. Nei telegrammi di uscita successivi gli slave DP memorizzano i dati di uscita in un buffer
interno; lo stato delle uscite rimane invariato.
Dopo ogni istruzione di comando SYNC gli slave DP dei gruppi selezionati inviano i dati di uscita del
loro buffer interno alle uscite del processo.
Le uscite vengono di nuovo aggiornate ciclicamente solo quando viene data l'istruzione di comando
UNSYNC con l'ausilio dell'SFC 11 "DPSYC_FR".
Avvertenza
Se slave DP del gruppo/i selezionato/i non sono nella rete o sono guasti nell'istante in cui viene data
l'istruzione di comando, questi non vengono commutati nel modo Sync e non ne viene data
comunicazione tramite il valore di ritorno dell'SFC.
Lettura degli ingressi di unità DP
I dati di ingresso delle unità DP vengono letti
•
con comandi di caricamento
•
durante l'aggiornamento dell'immagine di processo degli ingressi (da parte del sistema operativo
all'inizio dell'OB1 oppure richiamando l'SFC 26 "UPDAT_PI"),
richiamando l'SFC 14 "DPRD_DAT".
Normalmente il master DP riceve questi dati di ingresso ciclicamente (nel ciclo del bus PROFIBUS
DP) e dai suoi slave DP e li mette a disposizione della CPU.
Se si desidera importare dal processo in modo perfettamente simultaneo determinati dati di ingresso
che possono essere ripartiti tra diversi slave, inviare l'istruzione di comando FREEZE al rispettivo
master DP con la funzione SFC 11 "DPSYC_FR".
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
293
SFC per periferia decentrata o per PROFINET IO
16.2 Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR"
Funzione di FREEZE
Con l'istruzione di comando FREEZE gli slave DP interessati vengono commutati nel modo Freeze,
ciò significa che il master DP ordina agli slave DP interessati di congelare lo stato attuale degli
ingressi. Gli slave DP trasferiscono poi questo stato momentaneo al master DP nell'ambito del
trasferimento ciclico.
Dopo ogni istruzione di comando FREEZE gli slave DP congelano di nuovo lo stato degli ingressi.
Il master DP riceve allora lo stato attuale degli ingressi nuovamente in modo ciclico solo quando viene
data l'istruzione di comando UNFREEZE con l'ausilio dell'SFC 11 "DPSYC_FR".
Avvertenza
Se slave DP del gruppo/i selezionato/i non sono nella rete o sono guasti nell'istante in cui viene data
l'istruzione di comando, questi non vengono commutati nel modo Sync e non ne viene data
comunicazione tramite il valore di ritorno dell'SFC.
Coerenza dei dati
A causa del metodo di lavoro asincrono e la probabilità di interruzione della funzione dovuta a classi di
priorità superiore, nell'utilizzare l'SFC 11 "DPSYC_FR" si dovrebbe fare attenzione che le immagini di
processo siano coerenti con gli ingressi e le uscite effettive della periferia.
Ciò avviene quando viene osservata una delle regole di coerenza seguenti:
•
Definire le immagini di processo parziali adatte per le "uscite SYNC" e gli "ingressi FREEZE" (solo
possibile con S7-400). Richiamare l'SFC 27 "UPDAT_PO" immediatamente prima del rispettivo
primo richiamo di un ordine SYNC. Richiamare l'SFC 26 "UPDAT_PI" subito dopo il rispettivo
ultimo richiamo di un ordine FREEZE.
•
Oppure: per le uscite che sono interessate da un ordine SYNC e gli ingressi interessati da un
ordine FREEZE utilizzare solo accessi diretti alla periferia. Quando un ordine SYNC è in corso di
svolgimento, non devono essere scritte le uscite interessate e quando un ordine FREEZE è in
corso di svolgimento non devono essere importati gli ingressi interessati.
Utilizzo dell'SFC 15 e SFC 14
Nel caso venga utilizzata l'SFC 15 "DPWR_DAT", questa SFC deve essere stata terminata prima di
inviare un ordine SYNC per le rispettive uscite.
Nel caso venga utilizzata l'SFC 14 "DPRD_DAT", questa SFC deve essere stata terminata prima di
inviare un ordine FREEZE per i rispettivi ingressi.
294
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
SFC per periferia decentrata o per PROFINET IO
16.2 Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR"
Avviamento e SFC 11 "DPSYC_FR"
È esclusivo compito dell'utente dare le istruzioni di comando SYNC e FREEZE negli OB di
avviamento.
Se le uscite di uno o più gruppi devono funzionare in modo Sync già all'avviamento del programma
utente, durante l'avviamento queste uscite devono essere inizializzate e l'SFC 11 "DPSYC_FR" deve
essere elaborata completamente con l'istruzione di comando SYNC.
Se gli ingressi di uno o più gruppi devono funzionare in modo FREEZE già all'avviamento del
programma utente, durante l'avviamento l'SFC 11 "DPSYC_FR" deve essere elaborata
completamente per questi ingressi con l'istruzione di comando FREEZE.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L, cost.
Parametro di comando attivato al raggiungimento
del limite REQ1 attivazione dell'ordine
SYNC/FREEZE
LADDR
INPUT
WORD
E, A, M, D, L, cost.
Indirizzo logico del master DP
GROUP
INPUT
BYTE
E, A, M, D, L, cost.
Selezione gruppi
Bit 0 = 1: selezionato gruppo 1
Bit 1 = 1: selezionato gruppo 2
:
Bit 7 = 1: selezionato gruppo 8
Possono essere selezionati più gruppi per ordine
Il valore B#16#0 non è ammesso.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
295
SFC per periferia decentrata o per PROFINET IO
16.2 Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR"
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
MODE
INPUT
E, A, M, D, L, cost.
Identificativo dell'ordine (codifica secondo EN
50170, volume 2, PROFIBUS)
BYTE
Bit 0: riservato (valore 0)
Bit 1: riservato (valore 0)
Bit 2:
-
1: UNFREEZE viene eseguito
-
0: senza significato
Bit 3:
-
1: FREEZE viene eseguito
-
0: senza significato
Bit 4:
-
1: UNSYNC viene eseguito
-
senza significato
Bit 5:
-
1: SYNC viene eseguito
-
0 : senza significato
Bit 6: riservato (valore 0)
Bit 7: riservato (valore 0)
Possibili valori:
•
•
RET_VAL
OUTPUT
INT
E, A, M, D, L
Con esattamente un identificativo per ordine:
-
B#16#04 (UNFREEZE),
-
B#16#08 (FREEZE),
-
B#16#10 (UNSYNC),
-
B#16#20 (SYNC)
Con più identificativo per ordine:
-
B#16#14 (UNSYNC, UNFREEZE),
-
B#16#18 (UNSYNC, FREEZE),
-
B#16#24 (SYNC, UNFREEZE),
-
B#16#28 (SYNC, FREEZE)
Se durante l'elaborazione della funzione si
verifica un errore, il valore di ritorno contiene un
codice di errore.
RET_VAL è valido solo per un ciclo, ovvero dal
primo comando che segue il richiamo
dell'SFC fino al richiamo SFC successivo. Ne
consegue che RET_VAL deve essere analizzato
dopo ogni elaborazione del blocco.
BUSY
OUTPUT
BOOL
E, A, M, D, L
BUSY=1:
L'ordine SYNC/FREEZE non è stato ancora
terminato.
296
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
SFC per periferia decentrata o per PROFINET IO
16.2 Sincronizzazione di gruppi di slave DP con l'SFC 11 "DPSYC_FR"
Informazioni di errore
Avvertenza
Se si accede agli slave DPV1, è possibile inoltrare informazioni sugli errori di tali slave dal master DP
all'SFC. Per maggiori informazioni a riguardo vedere Allarme ricevuto da uno slave DP con l'SFB 54
"RALRM" STATUS[3].
Codice di
errore
(W#16#...)
Spiegazione
0000
L'ordine è stato eseguito senza errori
7000
Primo richiamo con REQ=0. L'ordine definito da LADDR, GROUP e MODE non è attivo; BUSY
ha valore 0.
7001
Primo richiamo con REQ=1. L'ordine definito da LADDR, GROUP e MODE è stato attivato;
BUSY ha valore 1.
7002
Richiamo intermedio (REQ è irrilevante): l'ordine SYNC/FREEZE attivato non è ancora in corso;
BUSY ha valore 1.
8090
L'unità selezionata tramite LADDR non è un master DP.
8093
Questa SFC non è ammessa per l'unità selezionata tramite LADDR (progettazione o versione del
master DP).
8094
Parametro GROUP errato
8095
Parametro MODE errato.
80B0
Il gruppo selezionato tramite GROUP non è stato progettato.
80B1
Il gruppo selezionato tramite GROUP non è stato assegnato a questa CPU.
80B2
L'ordine SYNC specificato tramite MODE non è ammesso sul gruppo selezionato tramite
GROUP.
80B3
L'ordine FREEZE specificato tramite MODE non è ammesso sul gruppo selezionato tramite
GROUP.
80C2
Mancanza temporanea di risorse del master DP: il master DP elabora momentaneamente il
massimo possibile di ordini per una CPU.
80C3
Questo ordine SYNC/UNSYNC non può essere momentaneamente attivato, in quanto in uno
stesso momento può essere attivato solo un ordine SYNC-/UNSYNC. Controllare il programma
utente.
80C4
Questo ordine FREEZE/UNFREEZE non può essere momentaneamente attivato, in quanto in
uno stesso momento può essere attivato solo un ordine FREEZE/UNFREEZE. Controllare il
programma utente.
80C5
Cortocircuito direttamente nell'interfaccia DP
80C6
Interruzione dell'ordine perché la CPU ha bloccato l'accesso alla periferia
80C7
Interruzione dell'ordine a causa del nuovo avviamento (avviamento a caldo) o avviamento a
freddo del master DP.
8xyy
Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
297
SFC per periferia decentrata o per PROFINET IO
16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP"
16.3
Disattivazione e attivazione di slave DP/PROFINET IO Device con
l'SFC 12 "D_ACT_DP"
Descrizione
L'SFC 12 "D_ACT_DP" consente la disattivazione e la riattivazione mirate di slave DP/PROFINET IO
Device progettati. È inoltre possibile determinare, per ciascun slave DP o PROFINET IO Device
utilizzati, se questi componenti sono attualmente attivati o disattivati.
Disattivando un router di tipo IE/PB Link PN IO con l'ausilio dell'SFC 12, si avrà la disattivazione di tutti
gli slave PROFIBUS DP ad esso collegati. Il mancato funzionamento viene segnalato.
L'SFC 12 non è applicabile su apparecchiature da campo PROFIBUS PA che sono collegate ad un
sistema master DP tramite DP/PA Link.
Avvertenza
Finché sono attivi uno o più ordini SFC 12 non è possibile caricare dal PG alla CPU configurazioni
modificate (in ambito CiR).
Durante il caricamento dal PG alla CPU di una configurazione modificata in ambito CiR, la CPU rifiuta
l'attivazione di un ordine SFC 12.
L'elaborazione di un ordine di attivazione o di disattivazione richiede l'esecuzione di diversi cicli nel
punto di controllo del ciclo. In un loop programmato non è pertanto possibile attendere la fine di un
ordine di questo tipo.
Scopo
Se in una CPU vengono configurati slave DP/ PROFINET IO Device che non esistono realmente
oppure che al momento non sono necessari, la CPU accede regolarmente a questi slave DP/
PROFINET IO Device. Dopo la loro disattivazione non vi sono più altri accessi della CPU. In
PROFIBUS DP si ottiene così il ciclo di bus DP più veloce possibile e non compaiono più i relativi
eventi di errore.
Esempi applicativi
Nella costruzione di macchine in serie il costruttore prevede una varietà di opzioni. Ogni macchina
fornita comprende tuttavia solo una combinazione particolare di determinate opzioni.
Tutte le opzioni possibili della macchina sono progettate dal costruttore come slave DP/ PROFINET IO
Device al fine di creare e tenere aggiornato un programma utente comprendente tutte le opzioni
possibili. Con l'SFC 12 è possibile disattivare all'avviamento della macchina tutti gli slave DP /
PROFINET IO Device non disponibili.
Una situazione analoga esiste per le macchine utensili che comprendono molti utensili ma che ne
utilizzano solo pochi in un determinato momento. Qui gli utensili vengono realizzati come slave DP/
PROFINET IO Device. Il programma utente attiva con l'ausilio dell'SFC 12 gli utensili attualmente
necessari e disattiva gli utensili che vengono riutilizzati solo in un secondo momento.
298
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
SFC per periferia decentrata o per PROFINET IO
16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP"
Modalità operative
L'SFC 12 "D_ACT_DP" è una SFC asincrona, vale a dire che l'elaborazione comprende più richiami
dell'SFC. L'ordine viene avviato richiamando l'SFC 12 con REQ=1.
Lo stato dell'ordine viene visualizzato tramite i parametri di uscita RET_VAL e BUSY, vedere anche
Significato di REQ, RET_VAL e BUSY nelle SFC asincrone.
Identificazione di un ordine
Nel caso è stato avviato un ordine di disattivazione e attivazione e viene di nuovo richiamata l'SFC 12
prima che questo sia stato concluso, il successivo comportamento dell'SFC dipende in maniera
decisiva dal fatto che il nuovo richiamo riguardi lo stesso ordine. Se il parametro LADDR concorda con
lo stesso parametro dell'ordine, il richiamo SFC viene interpretato come richiamo conseguente.
Disattivazione di slave DP/ PROFINET IO Device
Se uno slave DP o un PROFINET IO Device vengono disattivati con l'SFC 12, le relative uscite di
processo vengono impostate sui valori sostitutivi progettati oppure su 0 (stato sicuro). Il relativo master
DP /PROFINET IO Controller d'ora in poi non accede più a questi componenti. Gli slave DP
/PROFINET IO Device disattivati non vengono identificati come disturbati o mancanti nei LED di errore
del master DP/ PROFINET IO Controller o della CPU
L'immagine di processo degli ingressi degli slave DP/ PROFINET IO Device disattivati viene
aggiornata con 0, ciò sta ad indicare che essa viene trattata come slave DP/ PROFINET IO Device
guasti.
Nel caso nel proprio programma vi sia accesso diretto ai dati utili di uno slave DP /PROFINET IO
Device precedentemente disattivati, viene richiamato l'OB di errore di accesso alla periferia (OB 122)
ed il relativo evento di avvio viene immesso nel buffer di diagnostica. Nel caso si acceda tramite
SFC (p. es. SFC 59 "RD_REC") ad uno slave DP /PROFINET IO Device disattivati, in RET_VAL si
ottiene la stessa informazione di errore emessa per slave DP/PROFINET IO Device non disponibili.
La disattivazione di uno slave DP/ PROFINET IO Device non causa un avvio dell'OB di errore di
esecuzione del programma (OB 85), anche se i suoi ingressi o uscite appartengono all'immagine di
processo da aggiornare da parte del sistema. Non vengono nemmeno eseguite registrazioni nel buffer
di diagnostica.
In funzione del parametro MODE, la disattivazione di uno slave DP/ PROFINET IO Device può
comportare un avvio dell'OB di guasto del telaio (OB 86) nonché una registrazioni nel buffer di
diagnostica.
MODE
Start OB 86
Registrazione nel buffer di diagnostica
2
no
no
4
sì
sì
Se una stazione DP/ PNO si guasta dopo essere stata disattivata con l'SFC 12, il guasto non viene
riconosciuto dal sistema operativo. Pertanto non avviene né un avvio dell'OB86 né un'introduzione nel
buffer di diagnostica.
Con PROFIBUS DP vale: se si intende disattivare slave DP che partecipano come mittenti alla
comunicazione diretta, si raccomanda di disattivare prima i riceventi (auditori) che ascoltano quali dati
di ricezione il mittente invia al proprio master DP. Solo al termine di questa procedura disattivare il
mittente.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
299
SFC per periferia decentrata o per PROFINET IO
16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP"
Attivazione di slave DP/ PROFINET IO Device
Riattivando uno slave DP o un PROFINET IO Device con l'SFC 12, questi componenti vengono
configurati e parametrizzati dal relativo master DP/ PROFINET IO Controller (come nel caso del
ripristino di stazioni DP/PROFINET IO guaste). L'attivazione è da considerarsi conclusa quando questi
componenti sono in grado di trasferire i dati utili.
L'attivazione di slave DP/ PROFINET IO Device non provoca un avvio dell'OB di errore di esecuzione
del programma (OB 85), anche se i suoi ingressi o le sue uscite appartengono all'immagine di
processo da aggiornare da parte del sistema. Non vengono nemmeno eseguite registrazioni nel buffer
di diagnostica.
In funzione del parametro MODE, la disattivazione di uno slave DP/ PROFINET IO Device può
comportare un avvio dell'OB di guasto del telaio (OB 86) nonché una registrazioni nel buffer di
diagnostica.
MODE
Start OB 86
Registrazione nel buffer di diagnostica
2
no
no
4
sì
sì
Se si cerca di attivare con l'SFC 12 uno slave disattivato separato fisicamente dal bus DP l'SFC invia il
codice di errore W#16#80A2 e lo slave rimane disattivato. Nel caso sia di nuovo collegato al bus DP in
un secondo momento, occorre riattivare lo slave per mezzo dell'SFC 12 .
Se viene effettuato il tentativo di attivare un PROFINET IO Device fisicamente separato dal bus
PROFINET, l'SFC 12 rimane attiva. A differenza di quanto avviene negli slave DP, l'interruzione
automatica dopo un determinato intervallo in questo caso non ha luogo. L'interruzione dell'ordine in
corso deve essere eseguita dall'utente
Avvertenza
L'attivazione di uno slave DP/ PROFINET IO Device può durare un certo lasso di tempo. Se si
desidera interrompere un ordine di attivazione in corso, avviare l'SFC 12 con lo stesso valore per
LADDR e MODE = 2. Ripetere il richiamo dell'SFC 12 con MODE = 2 finché non viene visualizzata
l'avvenuta interruzione dell'ordine di attivazione con RET_VAL = 0.
Se si vogliono attivare slave DP che partecipano alla comunicazione diretta si raccomanda di attivare
prima i mittenti e poi i destinatari (auditori).
300
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
SFC per periferia decentrata o per PROFINET IO
16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP"
Avviamento della CPU
Il sistema operativo della CPU mostra nei diversi tipi di avviamento il comportamento seguente
rispetto agli slave DP/ PROFINET IO Device:
•
•
Nei modi di avviamento a freddo e Nuovo avviamento (avviamento a caldo) vengono riattivati gli
slave/ i dispositivi disattivati.
-
Nell'S7 400: l'attivazione di Slave DP/PROFINET IO Device può richiedere tempi piuttosto
lunghi. In questo caso la CPU si avvia ugualmente, tuttavia, fino alla conclusione
dell'attivazione, si verificano errori di accesso alla periferia. La reazione della CPU varia in
funzione della parametrizzazione (richiamo dell'OB 85 in caso di errori di accesso alla
periferia) e del programma nell'OB 85. La soppressione di questi errori di accesso alla
periferia non è possibile.
-
Nell'S7 300: l'attivazione di Slave DP/PROFINET IO Device può richiedere tempi piuttosto
lunghi. In questo caso la CPU attende la conclusione dell'attivazione degli Slave
DP/PROFINET IO Device. Il tempo di attesa max. per l'attivazione comprende ca. 1 minuto. In
questo intervallo non si verificano errori di accesso alla periferia.
Nel modo di avviamento Riavviamento rimane immutato lo stato di attivazione degli slave/ dei
dispositivi: gli slave / i dispositivi attivati rimangono attivati, gli slave/ i dispositivi disattivati
rimangono disattivati.
Dopo l'avviamento la CPU cerca di stabilire un contatto in modo ciclico con tutti gli slave/ i dispositivi
progettati e non disattivati che non sono presenti o non sono indirizzabili.
Avvertenza
La CPU S7-300-CPU non supporta un richiamo dell'SFC 12 negli OB di avviamento.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
301
SFC per periferia decentrata o per PROFINET IO
16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP"
Parametri
Parametri dell'SFC 12 "D_ACT_DP"
302
Parametri
Dichiarazione
Tipo
di dati
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L,
cost.
Parametro di comando attivato al raggiungimento
del limite
REQ=1:
Eseguire attivazione o disattivazione
MODE
INPUT
BYTE
E, A, M, D, L,
cost.
Identificativo di ordine
Possibili valori:
•
0: fornisce informazioni
sull'attivazione/la disattivazione
del componente interpellato
•
1: attiva slave DP/ PROFINET IO Device
•
2: disattiva slave DP/ PROFINET IO Device
•
3: attiva slave DP/PROFINET IO Device e
dopo la commutazione dello stato di
attivazione, richiama l'OB 86
•
4: disattiva slave DP/PROFINET IO Device e
dopo la commutazione dello stato di
attivazione, richiama l'OB 86
LADDR
INPUT
WORD
E, A, M, D, L,
cost.
Indirizzo logico qualunque di slave DP/
PROFINET IO Device
RET_VAL
OUTPUT
INT
E, A, M, D, L
Se durante l'elaborazione della funzione
si verifica un errore, il valore di ritorno
contiene un codice di errore.
BUSY
OUTPUT
BOOL
E, A, M, D, L
Identificativo attivo:
•
BUSY=1: l'ordine è ancora attivo
•
BUSY=0: l'ordine è stato terminato
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
SFC per periferia decentrata o per PROFINET IO
16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP"
Informazioni di errore
Codice di
errore
(W#16#...)
Spiegazione
0000
L'ordine è stato eseguito senza errori
0001
Lo slave DP/ il PROFINET IO Device è attivato (questo codice di errore è solo possibile con
MODE = 0.)
0002
Lo slave DP/ il PROFINET IO Device è disattivato (questo codice di errore è solo possibile con
MODE = 0.)
7000
Primo richiamo con REQ=0. L'ordine definito con LADDR non è attivo; BUSY ha valore 0.
7001
Primo richiamo con REQ=1. L'ordine definito con LADDR è stato attivato; BUSY ha valore 1.
7002
Richiamo intermedio (REQ è irrilevante): L'ordine attivato è ancora in fase di esecuzione;
BUSY ha valore 1.
8090
•
L'utente non ha progettato un'unità con l'indirizzo indicato in LADDR.
•
L'utente utilizza la propria CPU come slave I e ha indicato in LADDR un indirizzo di
questo slave I.
8092
L'operazione di disattivazione in corso di uno slave DP /PROFINET IO Device (MODE=2) non
può essere interrotta dalla sua attivazione (MODE=1)
Attivare i componenti in un secondo momento.
8093
All'indirizzo indicato in LADDR non appartiene alcuno slave DP /PROFINET IO Device
(assenza di una progettazione ), oppure il parametro MODE non è noto.
8094
È stato effettuato il tentativo di attivare un dispositivo probabilmente partner della porta alterna
di uno strumento sulla quale attualmente è già attivato un altro dispositivo. Questo dispositivo
rimane attivato.
80A1
Non è stato possibile parametrizzare il componente indirizzato. (Questo codice di errore è
possibile soltanto con MODE = 1).
Avvertenza:
Quest'informazione di errore viene fornita dall'SFC soltanto in caso di guasto dello slave/del
dispositivo attivati durante la parametrizzazione. Se soltanto la parametrizzazione di una
singola unità non è riuscita, l'SFC fornisce l'informazione di errore W#16#0000.
80A2
Lo slave DP interrogato non risponde (quest'informazione di errore non esiste nei PROFINET
IO Device. L'operazione non è soggetta al controllo del tempo in PROFINET).
80A3
Il master DP /PROFINET IO Controller in oggetto non supporta questa funzione.
80A4
La CPU non supporta questa funzione per master DP/PROFINET IO Controller esterni.
80A6
Errore di posto connettore nello slave DP /PROFINET IO Device; non è possibile accedere a
tutti i dati utili (questo codice di errore è possibile solo con MODE=1).
Avvertenza:
Quest'informazione di errore viene fornita dall'SFC soltanto se dopo la relativa
parametrizzazione e prima della fine dell'SFC, il componente attivato subisce nuovamente un
guasto. Se il gusto concerne una singola unità, l'SFC fornisce l'informazione di errore
W#16#0000.
80C1
L'SFC 12 è stata avviata e viene continuata con un altro indirizzo logico (questo codice di
errore è possibile solo con MODE=1 e con MODE=2).
80C3
•
Errore di risorse temporaneo: la CPU elabora momentaneamente il maggior numero
possibile di ordini di attivazione o disattivazione. (Questo codice di errore è possibile
soltanto con MODE = 1 e MODE = 2.)
•
È in corso una modifica della configurazione della CPU. La disattivazione e l'attivazione di
slave DP /PROFINET IO Device non è per il momento possibile.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
303
SFC per periferia decentrata o per PROFINET IO
16.3 Disattivazione e attivazione di slave DP/PROFINET IO Device con l'SFC 12 "D_ACT_DP"
304
Codice di
errore
(W#16#...)
Spiegazione
80C5
DP: gli ordini non ancora accettati dall'utente vengono ignorati dopo il riavviamento.
80C6
PROFINET: gli ordini non ancora accettati dall'utente vengono ignorati dopo il riavviamento.
8xyy
Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
SFC per periferia decentrata o per PROFINET IO
16.4 Lettura di dati di diagnostica (diagnostica slave) di uno slave DP con l'SFC 13 "DPNRM_DG"
16.4
Lettura di dati di diagnostica (diagnostica slave) di uno slave DP
con l'SFC 13 "DPNRM_DG"
Diagnostica slave
Con l'SFC 13 "DPNRM_DG" (read diagnosis data of a DP-slave) è possibile leggere i dati di
diagnostica di uno slave DP nella forma stabilita da EN 50 170 Volume 2, PROFIBUS.
La struttura generale della diagnostica slave è riportata nella seguente tabella, ulteriori informazioni
nei manuali relativi agli slave DP.
Byte
Significato
0
Stato di stazione 1
1
Stato di stazione 2
2
Stato di stazione 3
3
Numero stazione master
4
Identificazione del costruttore (byte superiore)
5
6 ...
Identificazione del costruttore (byte inferiore)
Altre diagnostiche specifiche dello slave
Descrizione
Con l'SFC 13 "DPNRM_DG" (read diagnosis data of a DP-slave) è possibile leggere i dati di
diagnostica di uno slave DP nella forma stabilita da EN 50 170 Volume 2, PROFIBUS. Al termine del
corretto trasferimento dati, i dati letti vengono registrati nell'area di destinazione rappresentata da
RECORD.
L'operazione di lettura viene avviata occupando con 1 il parametro di ingresso REQ al momento di
richiamo dell'SFC 13.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
305
SFC per periferia decentrata o per PROFINET IO
16.4 Lettura di dati di diagnostica (diagnostica slave) di uno slave DP con l'SFC 13 "DPNRM_DG"
Metodo di lavoro
L'operazione di lettura viene eseguita in modo asincrono, cioè l'operazione si estende su un arco di
più chiamate dell'SFC 13. Tramite i parametri di uscita RET_VAL e BUSY viene visualizzato lo stato
dell'ordine, vedere il capitolo Significato dei parametri REQ, RET_VAL e BUSY nelle SFC asincrone.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L, cost.
REQ=1: richiesta di lettura
LADDR
INPUT
WORD
E, A, M, D, L, cost.
Indirizzo di diagnostica progettato dello slave DP
Avvertenza:
l'indirizzo deve essere indicato in formato
esadecimale. Ad es. l'indirizzo 1022 significa:
LADDR:=W#16#3FE.
RET_VAL
OUTPUT
INT
E, A, M, D, L
Se durante l'elaborazione si verifica un errore, il
valore di ritorno contiene un codice di errore. Se
invece non ci sono stati errori, in RET_VAL c'è la
lunghezza dei dati trasferiti.
RECORD
OUTPUT
ANY
E, A, M, D, L
Area di destinazione per i dati di diagnostica letti.
Solo il tipo dei dati BYTE è ammesso. La
lunghezza minima del set di dati da leggere o
dell'area di destinazione è 6, la lunghezza
massima del set di dati da leggere è 240; negli
slave standard in cui il numero di dati di
diagnostica standard è superiore a 240 byte e
arriva fino a max. 244, i primi 240 byte vengono
trasferiti nell'area di destinazione e nei dati viene
impostato il bit di overflow corrispondente.
Avvertenza: osservare che nelle CPU S7-300 il
parametro RECORD richiede sempre
l'indicazione completa dei parametri DB (ad es.:
P#DB13.DBX0.0 byte 100). Tralasciare un n. di
DB esplicito nelle CPU S7-300 non è consentito e
comporta un messaggio di errore nel programma
utente.
BUSY
OUTPUT
BOOL
E, A, M, D, L
BUSY=1:
L'operazione di lettura non è ancora terminata.
306
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
SFC per periferia decentrata o per PROFINET IO
16.4 Lettura di dati di diagnostica (diagnostica slave) di uno slave DP con l'SFC 13 "DPNRM_DG"
Parametro di ingresso RECORD
La CPU valuta la lunghezza effettiva dei dati di diagnostica:
Se l'indicazione della lunghezza di RECORD
•
è minore del numero dei dati forniti, i dati vengono annullati e in RET_VAL viene registrato il
codice di errore corrispondente.
•
è maggiore o uguale al numero dei dati forniti, i dati passano all'area di destinazione e in
RET_VAL viene registrata la lunghezza effettiva come valore positivo.
Avvertenza
I parametri attuali di RECORD devono concordare in tutti i richiami che appartengono ad un ordine.
Un ordine è definito in modo univoco con il parametro di ingresso LADDR.
Slave standard con più di 240 byte di dati di diagnostica
Per slave standard, in cui il numero dei dati di diagnostica standard è posto tra i 241 e i 244 byte, si
deve fare attenzione a quanto segue:
Se l'indicazione della lunghezza di RECORD
•
è minore di 240 byte, i dati vengono annullati e in RET_VAL viene registrata la relativa
informazione di errore.
•
è maggiore di od uguale a 240 byte, i primi 240 byte dei dati di diagnostica standard vengono
trasferiti nell'area di destinazione e il relativo bit di overflow viene impostato nei dati.
Parametro di uscita RET_VAL
•
Se durante l'esecuzione della funzione si è verificato un errore, il valore di ritorno conterrà un
codice di errore.
•
Se durante il trasferimento non si è verificato alcun errore, RET_VAL conterrà la lunghezza dei
dati letti in byte come numero positivo.
Avvertenza
Il numero di dati letti dipende, in uno slave DP, dal suo stato di diagnostica.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
307
SFC per periferia decentrata o per PROFINET IO
16.4 Lettura di dati di diagnostica (diagnostica slave) di uno slave DP con l'SFC 13 "DPNRM_DG"
Informazioni di errore
Per analizzare le informazioni di errore del parametro RET_VAL, vedere anche Analisi degli errori con
il parametro di uscita RET_VAL. In questo capitolo sono riportate anche le informazioni di errore
generali delle SFC. Le informazioni di errore specifiche per l'SFC 13 sono una parte delle informazioni
sugli errori per l'SFC 59 "RD_REC", vedere Lettura di set di dati con l'SFC 59 "RD_REC".
Risorse del sistema dell'S7-400
Nell'S7-400, con il richiamo dell'SFC 13 "DPNRM_DG" relativo ad un ordine attualmente non
elaborato, vengono occupate risorse (dell'area di memoria) della CPU. L'SFC 13 può essere
richiamata in modo ripetuto per vari slave DP se non viene superato il numero massimo di ordini
SFC 13 attivi contemporaneamente. L'informazione relativa alla cifra massima suddetta può essere
consultata in /101/.
In caso di ordini attivi "contemporaneamente", è garantito il fatto che questi vengano eseguiti tutti
senza influenzarsi l'uno con l'altro.
RET_VAL comunica quando si arriva al limite delle risorse di sistema. In questo caso, L'ordine va
ripetuto.
308
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
SFC per periferia decentrata o per PROFINET IO
16.5 Lettura di dati coerenti di uno slave standard DP/PROFINET IO Device con l'SFC 14 "DPRD_DAT"
16.5
Lettura di dati coerenti di uno slave standard DP/PROFINET IO
Device con l'SFC 14 "DPRD_DAT"
Coerenza dei dati
Vedere il capitolo: Informazioni generali sui blocchi di comunicazione S7 e di comunicazione di base
S7 - Coerenza dei dati.
Scopo dell'SFC 14
L'SFC 14 "DPRD_DAT" è necessaria in quanto con i comandi di caricamento che hanno accesso alla
periferia e all'immagine di processo degli ingressi è possibile leggere in modo coerente un massimo di
quattro byte.
Avvertenza
I dati coerenti si possono eventualmente leggere anche attraverso l'immagine di processo degli
ingressi.
Per verificare se la CPU S7-300 utilizzata supporta questa funzionalità, leggere il manuale Sistemi di
automazione S7-300: Configurazione e dati della CPU.
Tutte le CPU S7-400 supportano questa funzionalità.
!
Cautela
In caso di utilizzo dell'SFC 14 "DPRD_DAT" evitare gli accessi ad aree della periferia le cui immagini
di processo parziali sono assegnate con collegamento OB6x (allarmi in sincronismo di clock).
Descrizione
Con l'SFC 14 "DPRD_DAT" (read consistent data of a DP-normslave) è possibile leggere dati coerenti
da uno slave standard DP/PROFINET IO Device. Le informazioni relative alla lunghezza massima per
le CPU S7-300 sono indicate nei manuali Sistemi di automazione S7-300: Configurazione e dati della
CPU, ET 200S, Modulo di interfaccia IM151-7 CPU oppure Modulo di base BM147 CPU. Per quanto
riguarda le CPU S7-400, la lunghezza massima è indicata nel manuale Sistema di automazione
S7-400 Dati della CPU. Se il trasferimento dati è avvenuto correttamente, i dati letti vengono registrati
nell'area di destinazione rappresentata da RECORD.
L'area di destinazione deve avere la stessa lunghezza di quella programmata con STEP 7 per l'unità
selezionata.
Con uno slave standard DP con struttura modulare e varie identificazioni DP, è possibile con un
richiamo dell'SFC 14, accedere solo ai dati di un'unità/identificazione DP sotto l'indirizzo iniziale
progettato.
Avvertenza
Un eventuale accesso tramite l'SFC 14 "DPRD_DAT"è possibile soltanto in aree dati con una
lunghezza di tre byte oppure in aree con una lunghezza superiore a quattro byte, In caso contrario
l'accesso viene respinto con il codice di errore W#16#8090.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
309
SFC per periferia decentrata o per PROFINET IO
16.5 Lettura di dati coerenti di uno slave standard DP/PROFINET IO Device con l'SFC 14 "DPRD_DAT"
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
LADDR
INPUT
E, A, M, D, L, cost.
Indirizzo iniziale progettato dall'area E dall'unità
da cui si deve leggere.
WORD
Avvertenza:
l'indirizzo deve essere indicato in formato
esadecimale. Ad es. l'indirizzo 100 significa:
LADDR:=W#16#64.
RET_VAL
OUTPUT
INT
E, A, M, D, L
Se durante l'elaborazione si verifica un errore, il
valore di ritorno contiene un codice di errore.
RECORD
OUTPUT
ANY
E, A, M, D, L
Area di destinazione per i dati utili letti. Deve
essere della stessa lunghezza progettata con
STEP 7 per l'unità selezionata. Solo il tipo di dati
BYTE è ammesso.
Avvertenza: osservare che nelle CPU S7-300 il
parametro RECORD richiede sempre
l'indicazione completa dei parametri DB (ad es.:
P#DB13.DBX0.0 byte 100). Tralasciare un n. di
DB esplicito nelle CPU S7-300 non è consentito e
comporta un messaggio di errore nel programma
utente.
310
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
SFC per periferia decentrata o per PROFINET IO
16.5 Lettura di dati coerenti di uno slave standard DP/PROFINET IO Device con l'SFC 14 "DPRD_DAT"
Informazioni di errore
Avvertenza
Se si accede agli slave DPV1, è possibile inoltrare informazioni sugli errori di tali slave dal master DP
all'SFC. Per maggiori informazioni a riguardo vedere Allarme ricevuto da uno slave DP con l'SFB 54
"RALRM" STATUS[3].
Codice di errore
(W#16#...)
Spiegazione
0000
Nessun errore.
8090
•
Nessuna unità progettata per l'indirizzo logico base indicato oppure
•
non è osservata la limitazione relativa alla lunghezza dei dati oppure
•
l'indirizzo iniziale del parametro LADDR non è stato indicato in formato esadecimale.
8092
Nel riferimento ANY è indicato un tipo non uguale a BYTE.
8093
Nessuna unità DP/ nessun PROFINET IO Device per l'indirizzo logico indicato da LADDR
dalla quale potete leggere dati coerenti.
80A0
Durante l'accesso alla periferia è stato riconosciuto un errore di accesso.
80B0
Guasto dello slave con interfaccia DP esterna
80B1
La lunghezza dell'area di destinazione indicata non è uguale alla lunghezza dei dati utili
progettata con STEP 7.
80B2
Errore di sistema con interfaccia DP esterna
80B3
Errore di sistema con interfaccia DP esterna
80C0
I dati non sono stati ancora letti dall'unità
80C2
Errore di sistema con interfaccia DP esterna
80Fx
Errore di sistema con interfaccia DP esterna
87xy
Errore di sistema con interfaccia DP esterna
808x
Errore di sistema con interfaccia DP esterna
8xyy
Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
311
SFC per periferia decentrata o per PROFINET IO
16.6 Scrittura coerente di dati utili ad uno slave standard DP/PROFINET IO Device con l'SFC 15 "DPWR_DAT"
16.6
Scrittura coerente di dati utili ad uno slave standard DP/PROFINET
IO Device con l'SFC 15 "DPWR_DAT"
Coerenza dei dati
Vedere il capitolo: Informazioni generali sui blocchi di comunicazione S7 e di comunicazione di base
S7 - Coerenza dei dati.
Scopo dell'SFC 15
L'SFC 15 "DPWR_DAT" è necessaria in quanto con i comandi di trasferimento che hanno accesso
alla periferia e all'immagine di processo degli ingressi è possibile scrivere in modo coerente un
massimo di quattro byte.
Avvertenza
I dati coerenti si possono eventualmente scrivere anche attraverso l'immagine di processo delle
uscite.
Per verificare se la CPU S7-300 utilizzata supporta questa funzionalità, leggere il manuale Sistemi di
automazione S7-300: Configurazione e dati della CPU.
Tutte le CPU S7-400 supportano questa funzionalità.Non utilizzare, durante la scrittura di dati coerenti,
entrambe le funzioni contemporaneamente: optare o per l'SFC 15 o per la scrittura tramite immagine
di processo parziale delle uscite.
!
312
Cautela
In caso di utilizzo dell'SFC 15 "DPWR_DAT" evitare gli accessi ad aree della periferia le cui immagini
di processo parziali sono assegnate con collegamento OB6x (allarmi in sincronismo di clock).
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
SFC per periferia decentrata o per PROFINET IO
16.6 Scrittura coerente di dati utili ad uno slave standard DP/PROFINET IO Device con l'SFC 15 "DPWR_DAT"
Descrizione
Con l'SFC 15 "DPWR_DAT" (write consistent data to a DP-normslave) vengono trasferiti i dati in
RECORD in modo coerente allo slave standard DP/PROFINET IO Device indirizzato ed
eventualmente all'immagine di processo (vale a dire se l'utente ha progettato l'area di indirizzamento
dello slave DP standard come area di coerenza in un'immagine di processo). Le informazioni relative
alla lunghezza massima dei dati da trasferire per le CPU S7-300 sono indicate nei manuali Sistemi di
automazione S7-300: Configurazione e dati della CPU, ET 200S, Modulo di interfaccia IM151-7 CPU
oppure Modulo di base BM147 CPU. Per quanto riguarda le CPU S7-400, la lunghezza massima è
indicata nel manuale Sistema di automazione S7-400 Dati della CPU . Il trasferimento avviene in
modo sincrono, cioè al termine dell'SFC, anche l'operazione di scrittura è terminata.
L'area sorgente deve avere la stessa lunghezza di quella programmata con STEP 7 per l'unità
selezionata.
Con uno slave standard DP con struttura modulare e varie identificazioni DP, è possibile accedere
solo ad una unità dello slave DP.
Avvertenza
Un eventuale accesso tramite l'SFC 15 "DPWR_DAT" è possibile soltanto in aree dati con una
lunghezza di tre byte oppure in aree con una lunghezza superiore a quattro byte, In caso contrario
l'accesso viene respinto con il codice di errore W#16#8090.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
LADDR
INPUT
E, A, M, D, L, cost.
Indirizzo iniziale progettato dall'area IPU dall'unità
a cui si deve scrivere.
WORD
Avvertenza:
l'indirizzo deve essere indicato in formato
esadecimale. Ad es. l'indirizzo 100 significa:
LADDR:=W#16#64.
RECORD
INPUT
ANY
E, A, M, D, L
Area sorgente per i dati utili letti. Deve essere
della stessa lunghezza progettata con STEP 7
per l'unità selezionata. Solo il tipo di dati BYTE è
ammesso.
Avvertenza: osservare che nelle CPU S7-300 il
parametro RECORD richiede sempre
l'indicazione completa dei parametri DB (ad es.:
P#DB13.DBX0.0 byte 100). Tralasciare un n. di
DB esplicito nelle CPU S7-300 non è consentito e
comporta un messaggio di errore nel programma
utente.
RET_VAL
OUTPUT
INT
E, A, M, D, L
Se durante l'elaborazione si verifica un errore, il
valore di ritorno contiene un codice di errore.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
313
SFC per periferia decentrata o per PROFINET IO
16.6 Scrittura coerente di dati utili ad uno slave standard DP/PROFINET IO Device con l'SFC 15 "DPWR_DAT"
Informazioni di errore
Avvertenza
Se si accede agli slave DPV1, è possibile inoltrare informazioni sugli errori di tali slave dal master DP
all'SFC. Per maggiori informazioni a riguardo vedere Allarme ricevuto da uno slave DP con l'SFB 54
"RALRM" STATUS[3].
314
Codice di
errore
(W#16#...)
Spiegazione
0000
Nessun errore.
808x
Errore di sistema sull'interfaccia DP esterna
8090
•
Nessuna unità progettata per l'indirizzo logico base indicato oppure
•
non è osservata la limitazione relativa alla lunghezza dei dati oppure
•
l'indirizzo iniziale del parametro LADDR non è stato indicato in formato esadecimale.
8092
Nel riferimento ANY è indicato un tipo non uguale a BYTE.
8093
Nessuna unità DP/nessun PROFINET IO Device per l'indirizzo logico indicato da LADDR su
cui si possono scrivere dati coerenti.
80A1
Durante l'accesso alla periferia è stato riconosciuto un errore di accesso.
80B0
Guasto dello slave con interfaccia DP esterna.
80B1
La lunghezza dell'area sorgente indicata non è uguale alla lunghezza dei dati utili progettata
con STEP 7.
80B2
Errore di sistema con interfaccia DP esterna
80B3
Errore di sistema con interfaccia DP esterna
80C1
I dati del ordine di scrittura precedente sull'unità non sono stati ancora elaborati dall'unità.
80C2
Errore di sistema con interfaccia DP esterna
80Fx
Errore di sistema con interfaccia DP esterna
80xy
Errore di sistema con interfaccia DP esterna
80x
Errore di sistema con interfaccia DP esterna
8xyy
Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
17
PROFInet
17.1
Informazioni sulle SFC 112, 113 e 114
Avvertenza
Il sistema operativo aggiorna per default sia il componente PROFINET CBA che le interconnessioni
DP nel punto di controllo del ciclo. Questi aggiornamenti sono indispensabili e vanno eseguiti
comunque, anche se l'utente ha disattivato gli aggiornamenti automatici al momento della
progettazione (p. es. per incidere meglio sul comportamento temporale della CPU). In questo caso
occorre richiamare le SFC da 112 a 114 al momento opportuno.
Gli aggiornamenti indicati si possono disattivare al momento della progettazione solamente tutti
insieme.
Memoria ombra
Il DB di interfaccia costituisce l'interfaccia del programma utente dei componente PROFINET CBA.
Per garantire che i suoi ingressi e le sue uscite siano coerenti al momento dell'esecuzione delle
corrispondenti parti del programma, per ogni DB di interfaccia è disponibile un'area di memoria,
identica per configurazione, che viene gestita dal sistema operativo ed è definita memoria ombra. Nel
programma utente è possibile accedere soltanto al DB di interfaccia, mentre altri componenti (esterni)
PROFINET CBA possono accedere soltanto alla memoria ombra. In questo modo si evita qualunque
conflitto di accesso agli ingressi e alle uscite del DB di interfaccia.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
315
PROFInet
17.1 Informazioni sulle SFC 112, 113 e 114
Aggiornamento del componente PROFINET CBA
Poiché la coerenza dei dati viene garantita per mezzo della memoria ombra, secondo la descrizione
precedente, l'aggiornamento del componente PROFINET CBA è costituito dalle due azioni seguenti:
•
Copia degli ingressi della memoria ombra negli ingressi del DB di interfaccia prima di elaborare il
programma utente appartenente del componente PROFINET CBA
•
Copia delle uscite del DB di interfaccia nelle uscite della memoria ombra dopo aver elaborato il
programma utente appartenente al componente PROFINET CBA.
L'aggiornamento del componente PROFINET CBA viene eseguito, in CPU con interfaccia PROFINET
integrata, automaticamente dal sistema operativo oppure dall'utente, richiamando le SFC 112 e 113
(secondo la progettazione definita al momento della creazione del compo_nente PROFINET CBA nel
SIMATIC Manager). La figura seguente mostra uno schema dell'aggiornamento per mezzo delle
SFC 112 e 113.
316
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
PROFInet
17.1 Informazioni sulle SFC 112, 113 e 114
L'aggiornamento da parte del sistema avviene sempre nel punto di controllo del ciclo.
Per eseguire l'aggiornamento tramite le SFC 112 e 113, richiamare la SFC 112 all'inizio dell'OB nel
quale si trova il programma appartenente al componente PROFINET CBA e l'SFC 113 alla fine dello
stesso OB. La figura seguente mostra un esempio utilizzando l'OB 30.
Avvertenza sui componenti multifunzione (più DB di interfaccia PROFINET su un dispositivo):
I componenti multifunzione consentono l’aggiornamento di tutti i DB di interfaccia con un _unico ordine
SFC (DBNO=0) (analogamente all’aggiornamento nel punto di controllo del ciclo triggerato tramite
SFC). Se durante l’aggiornamento di un DB di interfaccia si verifica un errore, l‘operazione di
aggiornamento dell’altro DB non viene interrotta. Un eventuale valore negativo di RET_VAL si riferisce
ad uno die DB di interfaccia aggiornati.
Aggiornamento delle interconnessioni DP
L'aggiornamento delle interconnessioni DP viene eseguito da parte del sistema operativo oppure per
mezzo della SFC 114, secondo la progettazione definita al momento della creazione del componente
PROFINET CBA nel SIMATIC Manager.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
317
PROFInet
17.2 Aggiornamento degli ingressi dell'interfaccia del programma utente dei componenti PROFINET CBA con
l'SFC 112 "PN_IN"
17.2
Aggiornamento degli ingressi dell'interfaccia del programma utente
dei componenti PROFINET CBA con l'SFC 112 "PN_IN"
Descrizione
La SFC 112 "PN_IN" consente di copiare i dati di ingresso contenuti in PROFINET CBA dalla memoria
ombra del componente PROFINET CBA al DB rispettivo di interfaccia. Al termine della SFC i dati di
ingresso attuali sono a disposizione dell'applicazione utente.
Parametri
Dichia-ra Tipo di
zione
dati
Area di memoria
Descrizione
DBNO
INPUT
WORD
E, A, M, D, L, cost.
Numero del DB di interfaccia (DBNO=0:
aggiornamento di tutti i DB di interfaccia
PROFINET CBA )
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazione di errore
Informazioni di errore
Codice di
errore
(W#16#...)
318
Spiegazione
0000
Non si sono verificati errori.
8001
Progettazione PROFINET CBA mancante o non valida.
8002
Il numero del DB non corrisponde alla progettazione del componente.
8004
Il numero del DB corrisponde alla progettazione del componente ma il DB non è stato
caricato.
8005
Il DB di interfaccia è stato compilato con la parola chiave UNLINKED, questo indica che esso
si trova soltanto nella memoria di caricamento ma non nella memoria di lavoro.
8006
Il DB di interfaccia è protetto in scrittura nella CPU.
80B1
Errore di lunghezza in lettura o scrittura. La progettazione del componente non è compatibile
con il DB caricato.
8xyy
Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
PROFInet
17.3 Aggiornamento delle uscite dell'interfaccia PROFINET del componente PROFINET CBA con l’ SFC 113
"PN_OUT"
17.3
Aggiornamento delle uscite dell'interfaccia PROFINET del
componente PROFINET CBA con l’SFC 113 "PN_OUT"
Descrizione
La SFC 113 "PN_OUT" consente di copiare i dati di uscita creati nell'applicazione dell'utente dal DB di
interfaccia del componente PROFINET CBA nella corrispondente memoria ombra. Al termine della
SFC i dati di uscita attuali sono a disposizione di altri componenti PROFINET CBA
Parametri
Dichia-ra Tipo di
zione
dati
Area di memoria
Descrizione
DBNO
INPUT
WORD
E, A, M, D, L, cost.
Numero del DB di interfaccia (DBNO=0:
aggiornamento di tutti i DB di interfaccia
PROFINET)
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazione di errore
Informazioni di errore
Codice di
errore
(W#16#...)
Spiegazione
0000
Non si sono verificati errori.
8001
La progettazione PROFINET CBA manca o non è valida.
8002
Il numero del DB non corrisponde alla progettazione del componente.
8004
Il numero del DB corrisponde alla progettazione del componente ma il DB non è stato
caricato.
8005
Il DB di interfaccia è stato compilato con la parola chiave UNLINKED, questo indica che esso
si trova soltanto nella memoria di caricamento ma non nella memoria di lavoro.
8006
Il DB di interfaccia è protetto in scrittura nella CPU.
80B1
Errore di lunghezza in lettura o scrittura. La progettazione del componente non è compatibile
con il DB caricato.
8xyy
Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
319
PROFInet
17.4 Aggiornamento delle interconnessioni DP con l’ SFC 114 "PN_DP"
17.4
Aggiornamento delle interconnessioni DP con l’SFC 114 "PN_DP"
Descrizione
La SFC 114 "PN_DP" consente di aggiornare
•
Tutte le interconnessioni tra componenti PROFINET CBA nel PROFIBUS locale e
•
Tutte le interconnessioni con trasferimento ciclico tra componenti PROFINET CBA nel PROFIBUS
locale e componenti PROFINET CBA esterni. Queste interconnessioni sono valide oltre i limiti di
rete (tra Industrial Ethernet e PROFIBUS DP).
Procedimento
La SFC 114 "PN_DP" è una SFC asincrona, la cui elaborazione si può estendere per più richiami di
SFC. L'aggiornamento delle interconnessioni DP si avvia richiamando la SFC 114 con REQ=1.
Lo stato dell'ordine viene visualizzato attraverso i parametri di uscita RET_VAL e BUSY (vedere
anche: Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono).
Parametri
Dichiarazione
Tipo
Area di memoria
di dati
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L, cost.
REQ=1: avvio dell'aggiornamento delle
interconnessioni DP
RET_VAL
OUTPUT
INT
E, A, M, D, L
Se durante l'elaborazione della funzione si verifica un
errore, il valore di ritorno contiene un codice di errore.
BUSY
OUTPUT
BOOL
E, A, M, D, L
BUSY=1:
L'aggiornamento delle interconnessioni DP non è
ancora terminato.
Informazioni di errore
320
Codice di
errore
(W#16#...)
Spiegazione
0000
Ordine eseguito senza errori.
7000
Primo richiamo con REQ=0. L'aggiornamento delle interconnessioni DP non viene avviato.
BUSY ha il valore 0.
7001
(di rilievo soltanto nell'S7-400:) Primo richiamo con REQ=1. BUSY ha il valore 1.
7002
(di rilievo soltanto nell'S7-400:) Richiamo intermedio (REQ è irrilevante). L'aggiornamento delle
interconnessioni DP non è ancora concluso. BUSY ha il valore 1.
8001
La progettazione PROFINET CBA manca o non è valida.
8095
È stato avviato un ulteriore aggiornamento delle interconnessioni DP in una classe di
priorità maggiore. Tuttavia l'aggiornamento nella classe con priorità inferiore (tramite
sistema operativo o elaborazione di una SFC 114) è ancora in corso.
8xyy
Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita RET_VAL
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
18
SFC e SFB per le CPU PROFINET
18.1
Attivazione/sincronizzazione di pagine Web personalizzate con
l'SFC 99 "WWW"
Introduzione
Il tool di configurazione S7-Web2PLC consente di integrare pagine Web personalizzate nei programmi
STEP 7 e nelle CPU S7-PROFINET.
Ogni applicazione Web nella CPU comprende i seguenti DB, che vengono creati da S7-Web2PLC:
•
Un Web Control DB
•
Fino a 16 Fragment DB
Il Web Control DB contiene tutte le informazioni sulla struttura dell'applicazione Web. I Fragment DB
contengono le pagine Web personalizzate codificate. L'SFC 99 consente di attivare o sincronizzare la
propria applicazione Web nella CPU.
I contenuti delle pagine accedono ai dati della CPU automaticamente o perché comandati dal
programma utente. Una descrizione più dettagliata è contenuta nella Guida in linea al tool di
configurazione S7-Web2PLC (vedere oltre).
Descrizione
I richiami dell'SFC 99 dipendono dalla modalità di aggiornamento delle pagine Web:
•
Aggiornamento automatico di pagine Web
Dopo l'avviamento della CPU il server Web non riconosce le pagine Web personalizzate. Perciò è
necessario richiamare una volta l'SFC 99 "WWW" per far conoscere la propria pagina Web al
server Web. Questo richiamo si può effettuare ad es. nell'OB1.
•
Aggiornamento delle pagine Web comandato dal programma utente
L'SFC 99 "WWW" viene richiamata ciclicamente, sincronizzando così il programma della CPU e il
server Web. Questo richiamo ciclico si può effettuare ad es. nell'OB1. In seguito il Web Control
DB contiene tutte le informazioni essenziali per l'elaborazione e l'abilitazione di una richiesta del
browser.
Parametri
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
CTRL_DB
INPUT
BLOCK_DB
D
Web Control DB
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazione di errore
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
321
SFC e SFB per le CPU PROFINET
18.1 Attivazione/sincronizzazione di pagine Web personalizzate con l'SFC 99 "WWW"
Informazioni di errore
Codice di errore (W#16#...)
Spiegazione
0000
Non si sono verificati errori.
00xy
x=1: l'inizializzazione del Web Control DB è fallita. L'errore che si è verificato
è descritto più dettagliatamente in "last_error" (nel Web Control DB). Un
errore potrebbe essere ad es. l'incompatibilità tra Fragment DB e Web
Control DB.
y indica in quale dei 4 canali il programma utente dovrebbe ricevere un
ordine.
803A
Nella CPU non esiste il Web Control DB indicato.
8081
Versione o formato del Web Control DB errati.
80C1
Non sono disponibili risorse per inizializzare l'applicazione Web. Per risorse si
intende qui il numero massimo di applicazioni del programma utente
consentite simultaneamente (diversi Web Control DB).
Ulteriori informazioni
La descrizione dettagliata del Web Control DB è contenuta nella Guida in linea al tool di
configurazione S7-Web2PLC. La Guida è disponibile sul DVD di STEP 7, directory CD_2\Optional
Components\Web Addon, file "Web2PLCAppx.chm" (x=e per la lingua italiana, x=b per la lingua
inglese).
322
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
SFC e SFB per le CPU PROFINET
18.2 Impostazione della configurazione IP con l'SFB 104 "IP_CONF"
18.2
Impostazione della configurazione IP con l'SFB 104 "IP_CONF"
Descrizione
L'SFB 104 "IP_CONF" consente una configurazione comandata da programma dell'interfaccia
PROFINET integrata della CPU. I dati di configurazione validi fino a questo momento vengono
sovrascritti.
Le possibili impostazioni per la configurazione dell'interfaccia sono le seguenti:
•
Impostazioni IP: indirizzo IP, maschera sotto-rete, indirizzo router
•
Nome del dispositivo PROFINET IO (se la CPU viene utilizzata come PROFINET IO Device)
I dati di configurazione vanno salvati in un DB di configurazione.
L'impostazione della configurazione IP comandata da programma con l'SFB 104 è un'alternativa alla
progettazione con STEP 7. Tuttavia essa è attiva solo dopo aver predefinito esplicitamente in
Configurazione HW l'assegnazione dei parametri IP "in altro modo" (rispetto a quanto indicato in
Configurazione HW).
Procedimento
L'SFB 104 "IP_CONF" è un SFB asincrono, la cui elaborazione si può estendere per più richiami di SFB.
Richiamando l'SFB 104 con REQ = 1 si avvia l'operazione di trasmissione.
Può essere attivo solo un ordine per volta.
Lo stato dell'ordine viene visualizzato attraverso i parametri di uscita BUSY e STATUS. STATUS
corrisponde al parametro di uscita RET_VAL delle SFC asincrone (vedere anche Significato dei
parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono).
La tabella seguente indica il rapporto tra BUSY, DONE ed ERROR. Essa consente di stabilire in quale
stato si trova attualmente l'SFB 104 o quando è conclusa la trasmissione dei dati di configurazione.
BUSY
DONE
ERROR
Descrizione
TRUE
Irrilevante
Irrilevante
L'ordine è in corso.
FALSE
TRUE
FALSE
L'ordine si è concluso senza errori.
FALSE
FALSE
TRUE
L'ordine si è concluso con un errore. La causa dell'errore
è indicata nel parametro STATUS.
FALSE
FALSE
FALSE
All'SFB non è stato assegnato nessun (nuovo) ordine.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
323
SFC e SFB per le CPU PROFINET
18.2 Impostazione della configurazione IP con l'SFB 104 "IP_CONF"
Parametri
Parametri
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
Parametro di comando REQUEST;
avvia la trasmissione con un fronte di
salita.
LADDR
INPUT
WORD
M, D, cost.
Indirizzo di diagnostica dell'interfaccia
PROFINET
CONF_DB
INPUT
ANY
D
Puntatore ai dati di configurazione (tipi
di dati ammessi: BYTE, WORD,
Block_DB)
DONE
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato DONE:
0: l'ordine non è ancora stato avviato o
è ancora in corso
1: l'ordine è stato eseguito senza errori.
BUSY
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato BUSY:
0: l'ordine è concluso
1: l'ordine è ancora in corso.
ERROR
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato ERROR:
ERROR=1: durante l'elaborazione si è
verificato un errore. STATUS fornisce
informazioni dettagliate sul tipo di
errore.
324
STATUS
OUTPUT
DWORD
E, A, M, D, L
Parametro di stato STATUS:
informazione di errore
ERR_LOC
OUTPUT
DWORD
E, A, M, D, L
Sorgente dell'errore (field_id e
subfield_type_id) del blocco di
parametri che ha causato l'errore
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
SFC e SFB per le CPU PROFINET
18.2 Impostazione della configurazione IP con l'SFB 104 "IP_CONF"
DB di configurazione
La figura seguente mostra come i dati di configurazione da trasferire vengono salvati nel DB di
configurazione.
I dati di configurazione quindi sono formati esattamente da un campo e diversi sottocampi:
•
•
Il campo è costituito da un'intestazione e dai sottocampi. L'intestazione a sua volta è costituita dai
seguenti elementi:
-
field_type_id (tipo di dati INT): zero
-
field_id (tipo di dati INT): zero
-
subfield_cnt (tipo di dati INT): numero die sottocampi
Ogni sottocampo è formato a sua volta da un'intestazione (subfield_type_id, subfield_length,
subfield_mode) e dai parametri specifici del sottocampo. Ogni sottocampo deve contenere un
numero pari di byte.
Per subfield_mode sono ammessi i seguenti valori:
-
1: validità permanente dei dati di configurazione
-
2: validità temporanea dei dati di configurazione, inclusa la cancellazione dei dati di
configurazione permanenti esistenti
Avvertenza
Attualmente è ammesso esattamente un campo, i cui parametri "field_type_id" e "field_id" devono
avere il valore zero. Ulteriori campi con altri valori per field_type_id e field_id sono riservati ad
ampliamenti futuri.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
325
SFC e SFB per le CPU PROFINET
18.2 Impostazione della configurazione IP con l'SFB 104 "IP_CONF"
Sottocampi consentiti
subfield_type_id
Nome del sottocampo
Spiegazione
30
SUB_IP_SUITE_IPV4
Impostazioni IP: indirizzo IP, maschera sotto-rete, indirizzo
router
40
SUB_NOS
Nome del dispositivo PROFINET IO (Name of Station)
Definizione dei tipi per i sottocampi consentiti
•
Sottocampo "SUB_IP_SUITE_IPV4"
TYPE ”SUB_IP_SUITE_V4”
STRUCT
id:
len:
mode:
int := 30;
int := 18;
int := 1;
ipaddr_3:
ipaddr_2:
ipaddr_1:
ipaddr_0:
BYTE
BYTE
BYTE
BYTE
// subfield_type_id
// subfield_length
// subfield_mode (1:
:=
:=
:=
:=
b#16#c8;
b#16#0c;
b#16#01;
b#16#90;
//
//
//
//
indirizzo
indirizzo
indirizzo
indirizzo
snmask_3
snmask_2
snmask_1
snmask_0
:
:
:
:
BYTE
BYTE
BYTE
BYTE
:=
:=
:=
:=
b#16#FF;
b#16#FF;
b#16#FF;
b#16#00;
//
//
//
//
maschera
maschera
maschera
maschera
router_3
router_2
router_1
router_0
:
:
:
:
BYTE
BYTE
BYTE
BYTE
:=
:=
:=
:=
b#16#c8;
b#16#0c;
b#16#01;
b#16#01;
//
//
//
//
router
router
router
router
IP
IP
IP
IP
permanente, 2:
temporaneo)
high byte: 200
high byte: 12
low byte: 1
low byte: 144
sotto-rete
sotto-rete
sotto-rete
sotto-rete
high byte: 255
high byte: 255
low byte: 255
low byte: 0
high byte: 200
high byte: 12
low byte: 1
low byte: 1
END_STRUCT
END_TYPE
•
Sottocampo "SUB_NOS"
TYPE ”SUB_NOS”
STRUCT
id:
int := 40;
len:
int := 246;
mode:
int := 1;
nos:
ARRAY[1..240] of BYTE := 0;
// subfield_type_id
// subfield_length
// subfield_mode (1: permanente, 2: temporaneo)
Nome della stazione: occorre assegnare i valori
all'ARRAY dal primo byte. Se l’ARRAY è più lungo del
nome della stazione da assegnare, è necessario indicare
un byte zero dopo il nome effettivo della stazione (in
conformità con la norma IEC 61158-6-10). Altrimenti
viene rifiutato ”nos” e L’SFB 104 registra il codice
di errore DW#16#C0809400 in STATUS.
Se si occupa il primo bite con zero, il nome della
stazione viene cancellato.
END_STRUCT
END_TYPE
326
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
SFC e SFB per le CPU PROFINET
18.2 Impostazione della configurazione IP con l'SFB 104 "IP_CONF"
Il nome della stazione è sottoposto alle seguenti limitazioni:
•
Limitazione a un totale di 240 caratteri (minuscole, cifre, trattino o punto)
•
Un componente all'interno del nome della stazione, ovvero una stringa di caratteri tra due punti,
può avere una lunghezza max. di 63 caratteri.
•
Non sono ammessi caratteri speciali come umlaut, parentesi, caratteri di sottolineatura, barre,
spazi vuoti ecc. Il trattino è l'unico carattere speciale consentito.
•
Il nome della stazione non deve iniziare né finire con il carattere" - ".
•
Il nome della stazione non deve iniziare con cifre.
•
Il nome della stazione non deve avere il formato n.n.n.n (n = 0, ... 999).
•
Il nome della stazione non deve iniziare con la stringa di caratteri "port-xyz" o "port-xyz-abcde" (a,
b, c, d, e, x, y, z = 0, ... 9).
Avvertenza
È possibile creare l'ARRAY "nos" anche con meno di 240 byte, tuttavia la lunghezza minima è di 2
byte. In questo caso è necessario adeguare opportunamente la variabile "len" (lunghezza del
sottocampo).
Informazioni di errore
ERROR
STATUS
(W#16#...)
ERR_LOC
Spiegazione
0
0x00000000
0
Elaborazione dell'ordine conclusa senza errori
0
0x00700000
0
Nessuna elaborazione dell'ordine attiva
0
0x00700100
0
Avvio dell'elaborazione dell'ordine
0
0x00700200
0
Richiamo intermedio (non di rilievo per REQ)
1
0xC08xyy00
0
Informazione generale di errore; vedere l'analisi degli
errori con il parametro di uscita RET_VAL
1
0xC0808000
0
LADDR non è valido
1
0xC0808100
0
LADDR non è stato assegnato all'interfaccia
PROFINET supportata
1
0xC0808200
0
Errore nel parametro CONF_DB: il tipo di dati non viene
supportato
1
0xC0808300
0
Errore nel parametro CONF_DB: il puntatore indica su
un campo non supportato
1
0xC0808400
0
Errore nel parametro CONF_DB: lunghezza del
puntatore ANY errata
1
0xC0808800
f, 0
field_type_id ha un valore non consentito
1
0xC0808900
f, 0
field_id ha un valore non consentito
1
0xC0808A00
f, 0
Numero scorretto in subfield_cnt
1
0xC0808B00
f, t
subfield_id ha un valore non consentito
1
0xC0808C00
f, t
Sottocampo utilizzato più volte
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
327
SFC e SFB per le CPU PROFINET
18.2 Impostazione della configurazione IP con l'SFB 104 "IP_CONF"
ERROR
STATUS
(W#16#...)
ERR_LOC
Spiegazione
1
0xC0808D00
f, t
subfield_len ha un valore errato o non consentito
1
0xC0808E00
f, t
subfield_mode ha un valore non consentito
1
0xC0808F00
f, t
Nel sottocampo è presente un conflitto con un
sottocampo precedente.
1
0xC0809000
f, t
I parametri del sottocampo sono protetti in scrittura. I
parametri potrebbero ad es. essere stati predefiniti
tramite progettazione oppure è attivo il funzionamento
PNIO.
1
0xC0809400
f, t
Valore del parametro nel sottocampo non definito o non
consentito.
1
0xC080C200
0
Impossibile eseguire il trasferimento (ad es. perché
l'interfaccia non è accessibile)
1
0xC080C300
0
Risorse insufficienti (ad es. richiamo multiplo
dell'SFB 104 con parametri diversi)
1
0xC080C400
0
Errore di comunicazione temporaneo
Nella tabella, "f" indica field_id mentre "t" indica subfield_type_id del blocco di parametri causa degli
errori.
328
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1 / Volume 2
Manuale di riferimento, 05/2010, A5E02789979-01
Fehler! Kein gültiges Resultat für
Tabelle.
19
SFC per la comunicazione di dati
globali
20
Panoramica della comunicazione
S7 e della comunicazione di base
S7
21
SIMATIC
Software di sistema per S7-300/400
- Funzioni standard e di sistema Volume 2 / Volume 2
Manuale di riferimento
Il presente manuale fa parte del pacchetto
di documentazione con il numero di ordinazione:
6ES7810-4CA10-8EW1
Comunicazione S7
22
Comunicazione di base S7
23
Comunicazione aperta tramite
Industrial Ethernet
24
Creazione di segnalazioni riferite ai
blocchi
25
Temporizzatore IEC e contatore IEC
26
Funzioni IEC
27
SFB per la regolazione integrata
28
SFB per CPU compatte
29
SFC per le CPU H
30
Funzioni integrate (per CPU con
ingressi/uscite integrati)
31
Tecnica delle materie plastiche
32
Dati di diagnostica
33
Lista di stato di sistema SZL
34
Eventi
35
Lista delle SFC e degli SFB
36
05/2010
A5E02790056-01
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
Industry Sector
Postfach 48 48
90026 NÜRNBERG
GERMANIA
A5E02790056-01
Ⓟ 02/2010
Copyright © Siemens AG 2010.
Con riserva di eventuali modifiche tecniche
Indice
19
FB per l'accesso ciclico ai dati utili secondo PNO ..............................................................................337
19.1
19.2
19.2.1
19.3
19.4
19.5
20
SFC per la comunicazione di dati globali .............................................................................................345
20.1
20.2
21
Trasmissione programmata di un blocco GD con la SFC 60 "GD_SND"..................................345
Rilevamento programmato di un blocco GD ricevuto con la SFC 61 "GD_RCV" .....................348
Panoramica della comunicazione S7 e della comunicazione di base S7..........................................351
21.1
21.2
21.3
21.4
22
Introduzione agli FB per l'accesso ciclico ai dati utili secondo PNO .........................................337
Lettura di tutti gli ingressi di uno slave DP standard /PROFINET IO Device
tramite l'FB 20 "GETIO" .............................................................................................................338
Descrizione ................................................................................................................................338
Scrittura di tutte le uscite di uno slave DP standard /PROFINET IO Device
con l'FB 21 "SETIO"...................................................................................................................339
Lettura di una parte degli ingressi di uno slave DP standard /PROFINET IO Device
con l'FB 22 "GETIO_PART".......................................................................................................340
Scrittura di una parte delle uscite di uno slave DP standard /PROFINET IO Device
con l'FB 23 "SETIO_PART" .......................................................................................................342
Differenze fra i blocchi di comunicazione S7 e i blocchi di comunicazione di base S7.............351
Coerenza dei dati .......................................................................................................................354
Informazioni generali sui blocchi di comunicazione S7 .............................................................356
Panoramica dei blocchi di comunicazione di base S7...............................................................359
Comunicazione S7 ..................................................................................................................................363
22.1
22.2
22.3
22.4
22.5
22.6
22.7
22.8
22.9
22.10
22.11
22.12
22.13
22.14
22.15
22.16
22.17
22.18
22.19
Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 ........................................363
Comportamento all'avviamento degli SFB di comunicazione S7 ..............................................368
Comportamento in caso di disturbi degli SFB di comunicazione S7 .........................................370
Trasmissione non coordinata di dati con l'SFB/FB 8 "USEND".................................................372
Ricezione non coordinata di dati con l'SFB/FB 9 "URCV".........................................................376
Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND".........................................................380
Ricezione di dati a blocchi con l'SFB 13/FB "BRCV".................................................................384
Trasmissione non coordinata di dati con l'FB 28 "USEND_E" ..................................................388
Ricezione non coordinata di dati con l'FB 29 "URCV_E" ..........................................................391
Lettura dei dati da una CPU remota con l'FB 34 "GET_E"........................................................394
Scrittura di dati in una CPU remota con l'FB 35 "PUT_E" .........................................................397
Scrittura di dati in una CPU remota con l'SFB/FB 15 "PUT" .....................................................400
Lettura dei dati di una CPU remota con l'SFB/FB 14 "GET" .....................................................404
Invio di dati ad una stampante con l'SFB 16 "PRINT" ...............................................................407
Esecuzione di un nuovo avviamento (avviamento a caldo) o un avviamento a freddo nel
dispositivo remoto con l'SFB 19 "START" .................................................................................414
Commutazione di un dispositivo remoto nello stato di funzionamento STOP
con l'SFB 20 "STOP" .................................................................................................................417
Esecuzione di un riavviamento in un dispositivo remoto con l'SFB 21 "RESUME"...................420
Interrogazione dello stato di un dispositivo partner remoto con l'SFB 22 "STATUS"................422
Ricezione del cambiamento di stato di un dispositivo remoto con l'SFB 23 "USTATUS" .........424
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
331
Indice
22.20
22.21
22.22
23
Comunicazione di base S7 .....................................................................................................................433
23.1
23.2
23.3
23.4
23.5
23.6
23.7
23.8
23.9
24
Parametri comuni delle SFC di comunicazione di base S7 .......................................................433
Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati ...........435
Invio di dati ad un partner di comunicazione esterno alla propria stazione S7
con la SFC 65 "X_SEND" ..........................................................................................................439
Ricezione di dati da un partner di comunicazione esterno alla propria stazione S7
con la SFC 66 "X_RCV".............................................................................................................441
Scrittura di dati in un partner di comunicazione esterno alla propria stazione S7
con la SFC 68 "X_PUT" .............................................................................................................446
Lettura di dati da un partner di comunicazione esterno alla propria stazione S7
con la SFC 67 "X_GET" .............................................................................................................448
Scrittura di dati in un partner di comunicazione interno alla propria stazione S7
con la SFC 73 "I_PUT"...............................................................................................................451
Lettura di dati da un partner di comunicazione interno alla propria stazione S7
con la SFC 72 "I_GET" ..............................................................................................................453
Annullamento di un collegamento con un partner di comunicazione interno
alla propria stazione S7 con la SFC 74 "I_ABORT"...................................................................455
Comunicazione aperta tramite Industrial Ethernet ..............................................................................457
24.1
24.2
24.3
24.4
24.5
24.6
24.7
24.8
24.9
24.10
24.11
24.12
24.13
24.14
24.15
332
Interrogazione dello stato del collegamento appartenente ad un'istanza SFB
di comunicazione con la SFC 62 "CONTROL" ..........................................................................427
Interrogazione dello stato di un collegamento con la FC 62 "C_CNTRL" .................................430
Fabbisogno di memoria di lavoro dei blocchi di comunicazione S7 ..........................................432
Panoramica ................................................................................................................................457
Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet ...................458
Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP
e ISO on TCP.............................................................................................................................463
Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP ......469
Struttura dell’informazione di indirizzo del partner remoto con il protocollo UDP......................471
Incidenza delle varianti di protocollo (connection_type) richieste dalla CPU
sulla lunghezza dei dati trasferibili .............................................................................................472
Esempi di parametrizzazione di collegamenti di comunicazione aperti.....................................473
Inizializzazione del collegamento con l'FB 65 "TCON"..............................................................484
Sconnessione con l'FB 66 "TDISCON"......................................................................................488
Invio di dati tramite i protocolli TCP e ISO on TCP con l'FB 63 "TSEND ..................................490
Ricezione di dati tramite i protocolli TCP e ISO on TCP con l'FB 64 "TRCV" ...........................493
Invio di dati tramite il protocollo UDP con l‘FB 67 "TUSEND" ...................................................498
Ricezione di dati tramite il protocollo UDP con l'FB 68 "TURCV"..............................................501
Accoppiamento mediante TCP ad un sistema di terzi utilizzando i servizi
FETCH e WRITE forniti dall'FB 210 "FW_TCP" ........................................................................504
Accoppiamento mediante ISO on TCP ad un sistema di terzi utilizzando i servizi
FETCH e WRITE forniti dall'FB 220 "S5FW_IOT" .....................................................................505
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Indice
25
Creazione di segnalazioni riferite ai blocchi ........................................................................................507
25.1
25.2
25.3
25.4
25.5
25.6
25.7
25.8
25.9
25.10
25.11
25.12
25.13
25.14
25.15
25.16
25.17
26
Temporizzatore IEC e contatore IEC .....................................................................................................551
26.1
26.2
26.3
26.4
26.5
26.6
27
Introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB ................................507
Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma
con l'SFB 36 "NOTIFY" ..............................................................................................................511
Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma
con l'SFB 31 "NOTIFY_8P"........................................................................................................513
Creazione di segnalazioni riferite ai blocchi con visualizzazione della conferma
con l'SFB 33 "ALARM"...............................................................................................................516
Creazione di segnalazioni riferite ai blocchi con variabili per otto segnali
con l'SFB 35 "ALARM_8P" ........................................................................................................519
Creazione di segnalazioni riferite ai blocchi senza variabili per otto segnali
con l'SFB 34 "ALARM_8"...........................................................................................................522
Trasmissione di dati di archivio con l'SFB 37 "AR_SEND"........................................................525
Inibizione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni cumulative
tecnologiche con la SFC 10 "DIS_MSG" ...................................................................................528
Abilitazione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni cumulative
tecnologiche con la SFC 9 "EN_MSG" ......................................................................................530
Comportamento all'avviamento degli SFB per la creazione di segnalazioni riferite ai blocchi..532
Comportamento in caso di disturbo degli SFB per la creazione di segnalazioni riferite
ai blocchi ....................................................................................................................................533
Introduzione alla creazione di segnalazioni riferite ai blocchi con le SFC .................................534
Creazione di segnalazioni confermabili riferite ai blocchi con la SFC 17 "ALARM_SQ"
e di segnalazioni riferite ai blocchi sempre confermate con la SFC 18 "ALARM_S" ................537
Rilevamento dello stato di conferma dell'ultima segnalazione ALARM_SQ/ALARM_DQ
arrivata con la SFC 19 "ALARM_SC" ........................................................................................541
Creazione di segnalazioni confermabili e sempre confermate riferite ai blocchi
con le SFC 107 "ALARM_DQ" e 108 "ALARM_D" ....................................................................543
Lettura di risorse di sistema a occupazione dinamica con la SFC 105 "READ_SI" ..................546
Abilitazione di risorse di sistema a occupazione dinamica con la SFC 106 "DEL_SI"..............549
Creazione di un impulso con l'SFB 3 "TP".................................................................................551
Creazione di ritardo all'inserzione con l'SFB 4 "TON" ...............................................................553
Creazione di ritardo alla disinserzione con l'SFB 5 "TOF".........................................................554
Conteggio in avanti con l'SFB 0 "CTU"......................................................................................555
Conteggio all'indietro con l'SFB 1 "CTD" ...................................................................................556
Conteggio in avanti e all'indietro con l'SFB 2 "CTUD" ...............................................................557
Funzioni IEC.............................................................................................................................................559
27.1
27.2
27.3
27.4
27.5
27.6
27.7
27.8
27.9
Sommario...................................................................................................................................559
Dati tecnici relativi alle funzioni IEC ...........................................................................................561
Data e ora come tipi di dati composti.........................................................................................563
Funzioni orologio........................................................................................................................564
Confronto tra variabili DATE_AND_TIME..................................................................................568
Modifica della variabile STRING ................................................................................................571
Confronto tra variabili STRING ..................................................................................................576
Conversione dei formati .............................................................................................................579
Modifica dei valori numerici........................................................................................................582
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
333
Indice
28
SFB per la regolazione integrata ...........................................................................................................585
28.1
28.2
28.3
28.4
29
SFB per CPU compatte ...........................................................................................................................615
29.1
29.2
29.3
29.4
29.5
29.6
29.7
29.8
29.9
29.10
29.11
29.12
30
Panoramica della struttura dei dati di diagnostica .....................................................................701
Dati di diagnostica......................................................................................................................702
Struttura dei dati di diagnostica specifici del canale ..................................................................705
Lista di stato di sistema SZL ..................................................................................................................709
34.1
34.2
34.3
34.4
34.5
34.6
34.7
34.8
34.9
34.10
34.11
34.12
34.13
34.14
34.15
334
SFC 63 (AB_CALL)....................................................................................................................699
Dati di diagnostica...................................................................................................................................701
33.1
33.2
33.3
34
SFB 29 (HS_COUNT) ................................................................................................................693
SFB 30 (FREQ_MES) ................................................................................................................695
SFB 38 (HSC_A_B) ...................................................................................................................696
SFB 39 (POS) ............................................................................................................................697
Tecnica delle materie plastiche .............................................................................................................699
32.1
33
Influenza delle sequenze nei sistemi H con la SFC 90 "H_CTRL" ............................................689
Funzioni integrate (per CPU con ingressi/uscite integrati).................................................................693
31.1
31.2
31.3
31.4
32
Posizionamento con uscita analogica con l'SFB 44 "Analogico"...............................................615
Posizionamento con uscita digitale con l'SFB 46 "Digitale".......................................................630
Comando del contatore con l'SFB 47 "COUNT"........................................................................644
Comando della misurazione della frequenza con l'SFB 48 "FREQUENC" ...............................650
Comando della modulazione dell'ampiezza degli impulsi con l'SFB 49 "PULSE".....................654
Invio di dati (ASCII, 3964(R)) con l'SFB 60 "SEND_PTP" .........................................................657
Ricezione di dati (ASCII, 3964(R)) con l'SFB 61 "RCV_PTP" ...................................................660
Cancellazione del buffer ricevente (ASCII, 3964(R)) con l'SFB 62 "RES_RCVB" ....................663
Invio di dati (RK 512) con l'SFB 63 "SEND_RK" .......................................................................665
Prelievo di dati (RK 512) con l'SFB 64 "FETCH RK" .................................................................669
Ricezione e messa a disposizione di dati (RK 512) con l'SFB 65 "SERVE_RK" ......................674
Ulteriori informazioni di errore degli SFB da 60 a 65 .................................................................679
SFC per le CPU H.....................................................................................................................................689
30.1
31
Regolazione continua con l'SFB 41/FB 41 "CONT_C" ..............................................................585
Regolazione a passi con l'SFB 42/FB 42 "CONT_S" ................................................................593
Formazione di impulsi con l'SFB 43/FB 43 "PULSEGEN".........................................................600
Esempio con un blocco PULSEGEN .........................................................................................611
Panoramica della lista di stato di sistema (SZL) ........................................................................709
Struttura di una lista parziale SZL..............................................................................................711
ID SZL ......................................................................................................................................712
Liste parziali SZL possibili..........................................................................................................713
ID SZL W#16#xy11 - Identificazione di unità ...........................................................................714
ID SZL W#16#xy12 - Caratteristiche della CPU ......................................................................715
ID SZL W#16#xy13 - Aree di memoria utente .........................................................................718
ID SZL W#16#xy14 - Aree di sistema ......................................................................................720
ID SZL W#16#xy15 - Tipi di blocchi .........................................................................................722
ID SZL W#16#xy1C - Identificazione di un componente ...........................................................723
ID SZL W#16#xy22 – Stato degli allarmi ...................................................................................728
ID SZL W#16#xy25 - Associazione tra immagini di processo parziali e OB .............................731
ID SZL W#16#xy32 - Dati di stato della comunicazione ..........................................................734
Set di dati dell'estratto della lista parziale con ID SZL W#16#0132 Indice W#16#0005........735
Set di dati dell'estratto della lista parziale con ID SZL W#16#0132 Indice W#16#0008........736
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Indice
34.16
34.17
34.18
34.19
34.20
34.21
34.22
34.23
34.24
34.25
34.26
34.27
34.28
34.29
34.30
34.31
34.32
34.33
35
Eventi........................................................................................................................................................779
35.1
35.2
35.3
35.4
35.5
35.6
35.7
35.8
35.9
35.10
35.11
35.12
36
Set di dati dell’estratto della lista parziale con ID SZL W#16#0132 Indice W#16#000B...........738
Set di dati dell’estratto della lista parziale con ID SZL W#16#0132 Indice W#16#000C ..........739
Set di dati dell'estratto della lista parziale con ID SZL W#16#0232 Indice W#16#0004 ...........740
ID SZL W#16#xy71 - Informazione cumulativa della CPU H ....................................................741
ID SZL W#16#xy74 - Stato dei LED dell'unità .........................................................................744
ID SZL W#16#xy75 - Slave DP connessi nel sistema H ...........................................................747
ID SZL W#16#xy90 - Informazioni sul sistema master DP........................................................749
ID SZL W#16#xy91 - Informazione sullo stato delle unità .......................................................751
ID SZL W#16#xy92 - Informazione sullo stato del telaio di montaggio/della stazione ............757
ID SZL W#16#0x94 – Telaio di montaggio / informazione di stato della stazione ....................761
SZL-ID W#16#xy95 - Informazioni supplementari sul sistema master DP / PROFINET IO......763
ID SZL W#16#xy96 – Informazioni sullo stato delle unità PROFINET IO e PROFIBUS DP.....765
ID SZL W#16#xy9C - Informazioni sui commutatori (PROFINET IO) .......................................768
ID SZL W#16#xyA0 - Buffer di diagnostica..............................................................................772
ID SZL W#16#00B1 - Informazione di diagnostica unità .........................................................774
ID SZL W#16#00B2 - Set di dati di diagnostica1 tramite indirizzo fisico .................................776
ID SZL W#16#00B3 - Dati di diagnostica unità tramite indirizzo di base logico ......................777
ID SZL W#16#00B4 - Dati di diagnostica di uno slave DP........................................................778
Eventi e ID di evento..................................................................................................................779
Classe di evento 1 - Eventi di OB standard ...............................................................................780
Classe di evento 2 - Eventi di errore di sincronismo..................................................................781
Classe di evento 3 - Eventi di errore di asincronismo................................................................782
Classe di evento 4 - Eventi di stop ed altri passaggi tra diversi stati di funzionamento ............785
Classe di evento 5 - Elaborazione stati di funzionamento .........................................................789
Classe di evento 6 - Eventi di comunicazione ...........................................................................791
Classe di evento 7 - Eventi H/F .................................................................................................793
Classe di evento 8 - Eventi di diagnostica per unità ..................................................................796
Classe di evento 9 - Eventi utente standard ..............................................................................798
Classe di evento A e B - Eventi utente liberi..............................................................................800
Classe di evento riservata..........................................................................................................800
Lista delle SFC e degli SFB ....................................................................................................................801
36.1
36.2
36.3
36.4
Lista delle SFC, in ordine numerico...........................................................................................801
Lista delle SFC, in ordine alfabetico ..........................................................................................804
Lista degli SFB, in ordine numerico ...........................................................................................807
Lista degli SFB, in ordine alfabetico ..........................................................................................809
Glossario ............................................................................................................................................................813
Bibliografia .........................................................................................................................................................811
Indice analitico...................................................................................................................................................829
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
335
Indice
336
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
19
FB per l'accesso ciclico ai dati utili secondo PNO
19.1
Introduzione agli FB per l'accesso ciclico ai dati utili secondo PNO
Panoramica
Gli FB per l'accesso ciclico ai dati utili secondo PNO consistono nei seguneti blocchi (il cui significato
è spiegato in parentesi):
•
FB 20 "GETIO" (lettura di tutti gli ingressi di uno slave DP standard /PROFINET IO Device)
•
FB 21 "SETIO" (scrittura di tutte le uscite di uno slave DP standard /PROFINET IO Device)
•
FB 22 "GETIO_PART" (lettura di una parte degli ingressi di uno slave DP standard /PROFINET IO
Device)
•
FB 23 "SETIO_PART" (scrittura di una parte delle uscite di uno slave DP standard /PROFINET IO
Device)
Interfacce degli FB per l'accesso ciclico ai dati utili secondo PNO
Le interfacce degli FB sopracitati sono identiche agli FB omonimi definiti nella Norma "PROFIBUS and
PROFINET Communication Function Blocks on PROFIBUS DP and PROFINET IO
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
337
FB per l'accesso ciclico ai dati utili secondo PNO
19.2 Lettura di tutti gli ingressi di uno slave DP standard /PROFINET IO Device tramite l'FB 20 "GETIO"
19.2
Lettura di tutti gli ingressi di uno slave DP standard /PROFINET IO
Device tramite l'FB 20 "GETIO"
19.2.1
Descrizione
L'FB 20 "GETIO" consente la lettura coerente di tutti gli ingressi di uno slave DP standard /PROFINET
IO Device. L'FB 20 richiama per questo scopo l'SFC 14 "DPRD_DAT". Se la trasmissione dati avviene
correttamente, i dati letti vengono inseriti nell'area di destinazione creata da INPUTS.
La lunghezza dell'area di destinazione deve essere identica a quella progettata in STEP 7 per il
componente selezionato.
Utilizzando uno slave DP standard a struttura modulare o dotato di più identificativi DP, è possibile,
con un singolo richiamo dell'FB 20, accedere di volta in volta soltanto ai dati di un componente o ad un
identificativo DP nell'ambito degli indirizzi iniziali progettati.
Parametri
Dichiara
zione
Tipo di
dati
Area di memoria
Descrizione
ID
INPUT
DWORD
E, A, M, D, L, Cost.. •
•
Low word: indirizzo logico degli slave DP
/dei componenti PROFINET IO (unità o
modulo)
High word: non di rilievo
STATUS
OUTPUT
DWORD
E, A, M, D, L
Contiene l'informazione di errore
dell'SFC 14 "DPRD_DAT" nel formato
DW#16#40xxxx00
LEN
OUTPUT
INT
E, A, M, D, L
Numero dei dati letti in byte
INPUTS
IN_OUT
ANY
E, A, M, D
Area di destinazione dei dati letti. La lunghezza
di quest'area deve essere identica a quella
progettata in STEP 7 per gli slave DP / per i
componenti PROFINET IO selezionati. È
consentito soltanto il tipo di dati BYTE.
Informazioni di errore
Vedere Lettura coerente dei dati di uno slave DP standard/PROFINET IO Device con l'SFC 14
"DPRD_DAT"
338
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
FB per l'accesso ciclico ai dati utili secondo PNO
19.3 Scrittura di tutte le uscite di uno slave DP standard /PROFINET IO Device con l'FB 21 "SETIO"
19.3
Scrittura di tutte le uscite di uno slave DP standard /PROFINET IO
Device con l'FB 21 "SETIO"
Descrizione
L'FB 21 "SETIO" consente il trasferimento coerente dei dati dall'area sorgente creata da OUTPUTS
allo slave DP standard / PROFINET IO Device indirizzati ed eventualmente all'immagine di processo
(nel caso in cui l'area indirizzi interessata dello slave DP standard sia stata progettata come area
coerente in un'immagine di processo). L'FB 21 richiama per questo scopo l'SFC 15 "DPWR_DAT".
La lunghezza dell'area sorgente deve essere identica a quella progettata in STEP 7 per il
componente selezionato.
Utilizzando uno slave DP standard a struttura modulare o dotato di più identificativi DP, è possibile,
con un singolo richiamo dell'FB 20, accedere soltanto ad un componente o ad un identificativo dello
slave DP.
Parametri
Dichiara
zione
Tipo di
dati
Area di memoria
Descrizione
ID
INPUT
DWORD
E, A, M, D, L, Cost.. •
•
Low word: indirizzo logico degli slave DP
/dei componenti PROFINET IO (unità o
modulo)
High word: non di rilievo
LEN
INPUT
INT
E, A, M, D, L
Non di rilievo
STATUS
OUTPUT
DWORD
E, A, M, D, L
Contiene l'informazione di errore
dell'SFC 15 "DPWR_DAT" nel formato
DW#16#40xxxx00
OUTPUTS
IN_OUT
ANY
E, A, M, D
Area sorgente die dati da scrivere. La lunghezza
di quest'area deve essere identica a quella
progettata in STEP 7 per gli slave DP / per i
componenti PROFINET IO selezionati. È
consentito soltanto il tipo di dati BYTE.
Informazioni di errore
Vedere Scrittura coerente dei dati di uno slave DP standard/PROFINET IO Device con l'SFC 15
"DPWR_DAT".
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
339
FB per l'accesso ciclico ai dati utili secondo PNO
19.4 Lettura di una parte degli ingressi di uno slave DP standard /PROFINET IO Device con l'FB 22
"GETIO_PART"
19.4
Lettura di una parte degli ingressi di uno slave DP standard
/PROFINET IO Device con l'FB 22 "GETIO_PART"
Descrizione
L'FB 22 "GETIO_PART" consente la lettura coerente dell'area di un'immagine di processo
appartenente ad uno slave DP standard / PROFINET IO Device. L'FB 22 richiama per questo scopo
l'SFC 81 "UBLKMOV".
Avvertenza
Assegnare un'immagine di processo parziale degli ingressi all'OB nel quale viene richiamato l'FB 22
"GETIO_PART". È inoltre necessario, prima del richiamo dell'FB 22, acquisire il relativo slave DP
standard o il relativo PROFINET IO Device nell'immagine di processo parziale degli ingressi. Se la
CPU non conosce le immagini di processo parziali o se si intende richiamare l'FB 22 nell'OB 1, è
necessario, prima di procedere al richiamo dell'FB 22, acquisire il relativo slave DP standard o il
relativo PROFINET IO Device nell'immagine di processo degli ingressi
I parametri OFFSET e LEN consentono di stabilire quale la parte dell'area dell'immagine di processo
dei componenti indirizzati tramite l'ID debba essere letta.
Se la trasmissione dati si è conclusa correttamente, al parametro ERROR viene assegnato il valore
FALSE e i dati letti vengono inseriti nell'area di destinazione creata da INPUTS.
Se durante la trasmissione dati si sono verificati errori, al parametro ERROR viene assegnato il valore
TRUE e nel parametro STATUS viene inoltrata l'informazione di errore dell'SFC 81 "UBLKMOV".
Se l'area di destinazione (parametro INPUTS) è inferiore a LEN, vengono trasmessi tanti byte quanti è
in grado di riceverne il parametro INPUTS. Al parametro ERROR viene assegnato il valore FALSE. Se
l'area di destinazione è superiore a LEN, vengono scritti i primi byte LEN dell'area di destinazionne. Al
parametro ERROR viene assegnato il valore FALSE.
Avvertenza
Nell'immagine di processo degli ingressi, l'FB 22 "GETIO_PART" non effettua il controllo dei limiti tra i
dati appartenenti ai diversi componenti PROFIBUS-DP e PROFINET IO. È pertanto compito
dell'utente accertarsi che l'area dell'immagine di processo determinata tramite i parametri OFFSET e
LEN appartenga ad un componente univoco. Una lettura globale dei dati dei componenti, in grado di
operare una distinzione di appartenenza degli stessi, non può essere garantita nel sistemi futuri. La
trasferibilità in sistemi di altri costruttori viene quindi compromessa.
340
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
FB per l'accesso ciclico ai dati utili secondo PNO
19.4 Lettura di una parte degli ingressi di uno slave DP standard /PROFINET IO Device con l'FB 22
"GETIO_PART"
Parametri
Dichiara
zione
Tipo di
dati
Area di memoria
Descrizione
ID
INPUT
DWORD
E, A, M, D, L, Cost.. •
OFFSET
INPUT
INT
E, A, M, D, L, Cost..
LEN
INPUT
INT
E, A, M, D, L, Cost.. Numero dei byte da leggere
STATUS
OUTPUT
DWORD
E, A, M, D, L
Contiene l'informazione di errore dell'SFC 81
"UBLKMOV" nel formato DW#16#40xxxx00, se
ERROR = TRUE
ERROR
OUTPUT
BOOL
E, A, M, D, L
Segnalazione di errore:
ERROR = TRUE, se al richiamo dell'SFC 81
"UBLKMOV" si verifica un errore.
INPUTS
IN_OUT
ANY
E, A, M, D
Area di destinazione dei dati letti:
•
Low word: indirizzo logico degli slave DP
/dei componenti PROFINET IO (unità o
modulo)
High word: non di rilievo
Numero dei primi byte che devono essere letti
nell'immagine di processo del componente
(valore minimo: 0)
•
Se l'area di destinazione è inferiore a LEN,
vengono trasmessi tanti byte quanti è in
grado di riceverne il parametro INPUTS. Al
parametro ERROR viene assegnato il valore
FALSE
•
Se l'area di destinazione è superiore a LEN,
vengono scritti i primi byte LEN dell'area di
destinazionne. Al parametro ERROR viene
assegnato il valore FALSE.
Informazioni di errore
Vedere Copiatura continuata di variabili con l'SFC 81 "UBLKMOV".
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
341
FB per l'accesso ciclico ai dati utili secondo PNO
19.5 Scrittura di una parte delle uscite di uno slave DP standard /PROFINET IO Device con l'FB 23
"SETIO_PART"
19.5
Scrittura di una parte delle uscite di uno slave DP standard
/PROFINET IO Device con l'FB 23 "SETIO_PART"
Descrizione
L'FB 23 "SETIO_PART" consente il trasferimento coerente di dati dall'area sorgente creata dal
parametro OUTPUTS ad una parte dell'area dell'immagine di processo appartenente ad uno slave DP
standard / PROFINET IO Device. L'FB 23 richiama per questo scopo l'SFC 81 "UBLKMOV".
Avvertenza
Assegnare un'immagine di processo parziale delle uscite all'OB nel quale viene richiamato l'FB 23
"SETIO_PART". È inoltre necessario, prima del richiamo dell'FB 23, acquisire il relativo slave DP
standard o il relativo PROFINET IO Device nell'immagine di processo parziale delle uscite. Se la CPU
non conosce le immagini di processo parziale o se si intende richiamare l'FB 23 nell'OB 1, è
necessario, prima di procedere al richiamo dell'FB 23, acquisire il relativo slave DP standard o il
relativo PROFINET IO Device nell'immagine di processo delle uscite
I parametri OFFSET e LEN consentono di stabilire in quale parte dell'area dell'immagine di processo
dei componenti indirizzati tramite l'ID debba avvenire la scrittura.
Se la trasmissione dati si è conclusa correttamente, al parametro ERROR viene assegnato il valore
FALSE.
Se durante la trasmissione dati si sono verificati errori, al parametro ERROR viene assegnato il valore
TRUE e nel parametro STATUS viene inoltrata l'informazione di errore dell'SFC 81 "UBLKMOV".
Se l'area sorgente (parametro OUTPUTS) è inferiore a LEN, vengono trasmessi tanti byte quanti ne
aono contenuri nel parametro OUTPUTS. Al parametro ERROR viene assegnato il valore FALSE. Se
l'area sorgente è superiore a LEN, vengono trasferiti i primi byte LEN dal parametro OUTPUTS. Al
parametro ERROR viene assegnato il valore FALSE.
Avvertenza
Nell'immagine di processo della uscite, l'FB 23 "SETIO_PART" non effettua il controllo dei limiti tra i
dati appartenenti ai diversi componenti PROFIBUS-DP e PROFINET IO. È pertanto compito
dell'utente accertarsi che l'area dell'immagine di processo determinata tramite i parametri OFFSET e
LEN appartenga ad un componente univoco. Una scrittura globale dei dati dei componenti, in grado di
operare una distinzione di bappartenenza degli stessi, non può essere garantita nel sistemi futuri. La
trasferibilità in sistemi di altri costruttori viene quindi compromessa.
342
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
FB per l'accesso ciclico ai dati utili secondo PNO
19.5 Scrittura di una parte delle uscite di uno slave DP standard /PROFINET IO Device con l'FB 23
"SETIO_PART"
Parametri
Dichiara
zione
Tipo di
dati
Area di memoria
Descrizione
ID
INPUT
DWORD
E, A, M, D, L, Cost.. •
OFFSET
INPUT
INT
E, A, M, D, L, Cost..
Numero dei primi byte che devono essere scritti
nell'immagine di processo del componente
(valore minimo: 0)
LEN
INPUT
INT
E, A, M, D, L, Cost..
Numero dei byte da scrivere
STATUS
OUTPUT
DWORD
E, A, M, D, L
Contiene l'informazione di errore dell'SFC 81
"UBLKMOV" nel formato DW#16#40xxxx00, se
ERROR = TRUE
ERROR
OUTPUT
BOOL
E, A, M, D, L
Segnalazione di errore:
ERROR = TRUE, se al richiamo dell'SFC 81
"UBLKMOV" si verifica un errore.
OUTPUTS
IN_OUT
ANY
E, A, M, D
Area sorgente die dati da scrivere:
•
Low word: indirizzo logico degli slave DP
/dei componenti PROFINET IO (unità o
modulo)
High word: non di rilievo
•
Se l'area sorgente è inferiore a LEN,
vengono trasmessi tanti byte quanti ne sono
contenuri nel parametro OUTPUTS. Al
parametro ERROR viene assegnato il valore
FALSE
•
Se l'area sorgente è superiore a LEN,
vengono trasferiti i primi byte LEN dal
parametro OUTPUTS. Al parametro ERROR
viene assegnato il valore FALSE.
Informazioni di errore
Vedere Copiatura continuata di variabili con l'SFC 81 "UBLKMOV".
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
343
FB per l'accesso ciclico ai dati utili secondo PNO
19.5 Scrittura di una parte delle uscite di uno slave DP standard /PROFINET IO Device con l'FB 23
"SETIO_PART"
344
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
20
SFC per la comunicazione di dati globali
20.1
Trasmissione programmata di un blocco GD con la SFC 60
"GD_SND"
Descrizione
Con la SFC 60 "GD_SND" (global data send) vengono raccolti i dati di un blocco GD, i quali vengono
poi trasmessi sul percorso definito nello stesso blocco GD. Il blocco GD deve essere progettato
precedentemente con STEP 7.
La SFC 60 "GD_SND" può essere richiamata in un qualsiasi punto del programma utente.
Il conteggio di scansione nonché la raccolta sistematica e la trasmissione dei dati al punto di controllo
del ciclo non vengono influenzati dai richiami della SFC 60.
Interruzione della funzione
La SFC 60 "GD_SND" può essere interrotta da livelli di esecuzione di priorità più elevata. È anche
possibile il caso in cui, nel livello di esecuzione a priorità più elevata, la SFC 60 venga richiamata di
nuovo per lo stesso blocco GD.
Nel livello a priorità più elevata vengono quindi raccolti e trasmessi i dati. Al ritorno nella
SFC interrotta, quest'ultima viene subito terminata e i dati qui raccolti vengono annullati.
Questo tipo di procedura garantisce che i dati presenti nell'elaborazione del livello a priorità più
elevata vengano trasmessi in modo coerente (in modo concorde alla definizione di coerenza come
definita per i dati globali).
Coerenza dei dati per GD
In riferimento alla coerenza dei dati raccolti dalle rispettive aree di memoria e poi così trasmessi vale
ciò che segue:
Coerenti sono
•
i tipi di dati semplici (bit, byte, parola e doppia parola)
•
un array del tipo di dati byte, parola e doppia parola fino ad una lunghezza specifica della
rispettiva CPU in ricezione.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
345
SFC per la comunicazione di dati globali
20.1 Trasmissione programmata di un blocco GD con la SFC 60 "GD_SND"
Garanzia di coerenza per l'intero blocco GD
Un blocco GD della CPU di trasmissione ha un struttura tale che non è possibile garantire a priori che i
dati raccolti siano coerenti, così come per esempio nel caso in cui il blocco GD sia formato da un array
di byte e il numero di byte superi la lunghezza massima ammessa per la CPU utilizzata.
Se tuttavia si richiede la coerenza dell'intero blocco GD, è necessario procedere nel seguente modo:
•
Inibire o ritardare la presenza di eventi di allarme o di errori di asincronismo a priorità più elevata
con il richiamo della SFC 39 "DIS_IRT" o della SFC 41 "DIS_AIRT".
•
Richiamare la SFC 60 "GD_SND".
•
Abilitare di nuovo gli eventi di allarme o di errori di asincronismo a priorità più elevata (con il
richiamo della SFC 40 "EN_IRT" o SFC 42 "EN_AIRT").
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
CIRCLE_I
D
INPUT
E, A, M, D, L, cost.
Numero del circolo GD in cui si trova il blocco GD
da trasmettere. Questo numero viene
preimpostato da STEP 7 nella progettazione dei
dati globali.
BYTE
Valori ammessi: da 1 a 16. Il numero max. di
circoli GD ammessi è riportato nei dati tecnici
della CPU utilizzata.
BLOCK_ID INPUT
BYTE
E, A, M, D, L, cost.
Numero del blocco GD da trasmettere situato nel
circolo GD selezionato. Questo numero viene
preimpostato da STEP 7 durante la progettazione
dei dati globali.
Valori ammessi: da 1 a 3. Il numero max. di circoli
GD ammessi è riportato nei dati tecnici della CPU
utilizzata.
RET_VAL
346
OUTPUT
INT
E, A, M, D, L
Informazione sull'errore
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
SFC per la comunicazione di dati globali
20.1 Trasmissione programmata di un blocco GD con la SFC 60 "GD_SND"
Informazioni di errore
Codice di
errore
Spiegazione
(W#16#...)
0000
Nessun errore.
8081
Il blocco GD selezionato tramite i parametri CIRCLE_ID e BLOCK_ID non è progettato.
8082
Valore non ammesso per il parametro CIRCLE_ID o BLOCK_ID o in entrambi i parametri.
8083
Si è verificato un errore durante l'esecuzione della SFC. Questo tipo di errore è memorizzato
nella variabile progettata per l'informazione di stato. Quest'ultima può essere analizzata dal
programma.
8084
L'elaborazione della SFC è terminata prima del tempo perché la SFC 60 è stata richiamata
per lo stesso blocco GD in un livello di esecuzione di priorità più elevata (vedere "Interruzione
della funzione").
8085
Si è verificato un errore nella registrazione dell'informazione di stato nella rispettiva variabile
progettata.
8xyy
Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL
Avvertenza
Dopo ogni richiamo della SFC 60 si deve analizzare lo stato del rispettivo blocco GD ed
eventualmente resettarlo.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
347
SFC per la comunicazione di dati globali
20.2 Rilevamento programmato di un blocco GD ricevuto con la SFC 61 "GD_RCV"
20.2
Rilevamento programmato di un blocco GD ricevuto con la SFC 61
"GD_RCV"
Descrizione
Con la SFC 61 "GD_RCV" (global data receive) vengono ritirati i dati stabiliti esattamente per un
blocco GD di un telegramma GD ricevuto e registrati nel blocco GD di ricezione. Quest'ultimo deve
essere stato progettato con STEP 7.
La SFC 61 "GD_RCV" può essere richiamata in un qualsiasi punto del programma utente.
Il conteggio di scansione nonché il ritiro dei dati da parte del sistema al punto di controllo del ciclo non
vengono influenzati dai richiami della SFC 61.
Interruzione della funzione
La SFC 61 può essere interrotta da livelli di esecuzione di priorità più elevata, ma sempre in modo tale
che la coerenza definita per i dati globali rimanga invariata. In un'interruzione di questo genere, può
accadere che, nel livello di esecuzione a priorità più elevata, la SFC 61 può essere richiamata di
nuovo per lo stesso blocco GD.
Nel livello a priorità più elevata i dati vengono quindi raccolti nel blocco GD di ricezione. Al ritorno nella
SFC interrotta, quest'ultima viene subito terminata.
Coerenza dei dati per GD
In riferimento alla coerenza dei dati raccolti dalle rispettive aree di memoria e poi così trasmessi vale
ciò che segue:
Coerenti sono
348
•
i tipi di dati semplici (bit, byte, parola e doppia parola)
•
un array del tipo di dati byte, parola e doppia parola fino ad una lunghezza specifica della
rispettiva CPU in ricezione.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
SFC per la comunicazione di dati globali
20.2 Rilevamento programmato di un blocco GD ricevuto con la SFC 61 "GD_RCV"
Garanzia di coerenza per l'intero blocco GD
Un blocco GD in una CPU in ricezione ha un struttura tale che non è possibile garantire a priori che i
dati provengano sempre dallo stesso telegramma, come ad esempio, quando il blocco GD è formato
da tre elementi GD.
Se tuttavia si richiede la coerenza dell'intero blocco GD di ricezione, è necessario procedere nel
seguente modo:
•
Inibire o ritardare la presenza di eventi di allarme o di errori di asincronismo a priorità più elevata
con il richiamo della SFC 39 "DIS_IRT" o SFC 41 "DIS_AIRT".
•
Richiamare la SFC 61 "GD_RCV".
•
Abilitare di nuovo gli eventi di allarme o di errori di asincronismo a priorità più elevata (con il
richiamo della SFC 40 "EN_IRT" o SFC 42 "EN_AIRT").
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
CIRCLE_ID
INPUT
E, A, M, D, L, cost.
Numero del circolo GD in cui deve essere
registrato il blocco GD entrante. Questo numero
viene preimpostato da STEP 7 durante la
progettazione dei dati globali.
BYTE
Valori ammessi: da 1 a 16. Il numero max. di
circoli GD ammessi è riportato nei dati tecnici
della CPU utilizzata.
BLOCK_ID
INPUT
BYTE
E, A, M, D, L, cost.
Numero del blocco GD nel circolo GD
selezionato in cui i dati entranti devono essere
registrati. Questo numero viene preimpostato da
STEP 7 durante la progettazione dei dati globali.
Valori ammessi: da 1 a 3. Il numero max. di
circoli GD ammessi è riportato nei dati tecnici
della CPU utilizzata.
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazione sull'errore
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
349
SFC per la comunicazione di dati globali
20.2 Rilevamento programmato di un blocco GD ricevuto con la SFC 61 "GD_RCV"
Informazioni di errore
Codice di errore Spiegazione
(W#16#...)
0000
Nessun errore.
8081
Il blocco GD selezionato tramite i parametri CIRCLE_ID e BLOCK_ID non è progettato.
8082
Valore non ammesso per il parametro CIRCLE_ID o BLOCK_ID o in entrambi i parametri.
8083
Si è verificato un errore durante l'esecuzione della SFC. Questo tipo di errore è
memorizzato nella variabile progettata per l'informazione di stato. Quest'ultima può essere
analizzata dal programma.
8084
L'elaborazione della SFC è terminata prima del tempo perché la SFC 61 è stata richiamata
per lo stesso blocco GD in un livello di esecuzione di priorità più elevata (vedere
"Interruzione della funzione").
8085
Si è verificato un errore nella registrazione dell'informazione di stato nella rispettiva variabile
progettata.
8xyy
Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL
Avvertenza
Dopo ogni richiamo della SFC 61 "GD_RCV" si deve analizzare lo stato del rispettivo blocco GD ed
eventualmente resettarlo.
350
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
21
Panoramica della comunicazione S7 e della
comunicazione di base S7
21.1
Differenze fra i blocchi di comunicazione S7 e i blocchi di
comunicazione di base S7
Criteri di scelta
Accanto alla comunicazione globale, per lo scambio dati tra CPU/FM di sistemi di automazione
SIMATIC S7 sono a disposizione dell'utente due metodi:
•
lo scambio dati mediante la comunicazione di base S7
•
lo scambio dati mediante la comunicazione S7
Quale metodo l'utente scelga di utilizzare per i propri compiti dipende sia dal sistema di automazione
della famiglia SIMATIC S7 in uso che da altri parametri dello scambio dati. La seguente tabella riporta
una lista di criteri in base ai quali effettuare la scelta.
Criterio
Comunicazione di base S7
Comunicazione S7
Disponibilità dei
blocchi
S7-300 e S7-400 come SFC
S7-300: come FB e FC
Collegamenti di
comunicazione
Non viene progettato un collegamento.
Viene progettato un collegamento in maniera
Viene creato al momento di
fissa mediante la progettazione di collegamenti.
funzionamento della SFC. Permane al
termine del trasferimento dati oppure
viene disattivato, comandato mediante
parametro. Se temporaneamente non può
essere creato alcun collegamento, il
relativo job non può essere inviato
Transizione
dello stato di
funzionamento a
STOP
Alla transizione della CPU che ha avviato
un trasferimento dati nello stato di
funzionamento STOP, tutti i collegamenti
da essa creati vengono disattivati.
S7-400: come SFB e SFC
Nello stato di funzionamento STOP il
collegamento viene mantenuto.
Più collegamenti In ogni momento c'è al massimo un
ad un partner di collegamento ad un partner di
comunicazione comunicazione.
Si possono creare più collegamenti ad uno
stesso partner di comunicazione.
Spazio di
indirizzamento
Indirizzamento di unità sulla sotto-rete MPI, sul
PROFIBUS oppure sull'Industrial Ethernet
Indirizzamento di unità nella propria
stazione S7 oppure sulla sotto-rete MPI.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
351
Panoramica della comunicazione S7 e della comunicazione di base S7
21.1 Differenze fra i blocchi di comunicazione S7 e i blocchi di comunicazione di base S7
Criterio
Comunicazione di base S7
Comunicazione S7
Numero di
partner di
comunicazione
Il numero dei partner di comunicazione
accessibili in successione non si limita al
numero delle risorse di collegamento
(vedere /70/, /101/). (Durante il tempo di
funzionamento del programma, i
collegamenti possono essere creati e
nuovamente disattivati).
Il numero dei partner di comunicazione
accessibili contemporaneamente è limitata al
numero delle risorse di collegamento. Dipende
dalla CPU in uso (vedere /70/, /101/).
Lunghezza dati
utili massima
Viene garantita solo una lunghezza di dati La lunghezza massima trasferibile di dati utili
utili pari a 76 byte.
dipende dal tipo di blocco (USEND / URCV, GET
ecc.) e dal partner di comunicazione (S7-300 o
S7-400).
Numero delle
variabili
trasferibili al
richiamo di un
blocco
Si può trasferire solo una variabile.
Classificazione
dei blocchi
Le SFC di comunicazione di base S7
sono funzioni di sistema e non
necessitano quindi di alcuna memoria
utente
Gli SFB di comunicazione S7 sono blocchi
funzionali di sistema e necessitano quindi di un
DB di istanza per i parametri attuali ed i dati
statici.
Modifica
dinamica dei
parametri di
indirizzamento
È possibile una modifica dinamica del
parametro di indirizzamento. Al termine
del job in corso si possono interpellare
altri partner di comunicazione.
Non è possibile una modifica dinamica del
parametro di indirizzamento. Con il primo
richiamo del blocco, viene stabilito il
collegamento con il partner di comunicazione e
cioè fino al prossimo nuovo avviamento
(avviamento a caldo) o all'avviamento a freddo.
•
S7-300: una variabile
•
S7-400: max. quattro variabili
Realizzazione della norma IEC 61131-5 con S7-400
I seguenti blocchi consentono di realizzare quanto previsto nella norma IEC 61131-5:
•
USEND(SFB8)/URCV(SFB9)
•
BSEND(SFB12)/BRCV(SFB13)
•
PUT(SFB15)/GET(SFB14) corrisponde a READ/WRITE
•
STATUS(SFB22)/USTATUS(SFB23)
•
ALARM(SFB33)
•
NOTIFY(SFB36)
START(SFB19), STOP(SFB20) e RESUME (SFB21) realizzano un'interfaccia di richiamo per le
funzioni di controllo del programma.
352
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Panoramica della comunicazione S7 e della comunicazione di base S7
21.1 Differenze fra i blocchi di comunicazione S7 e i blocchi di comunicazione di base S7
Realizzazione della norma IEC 61131-5 con S7-300
I seguenti blocchi consentono di realizzare quanto previsto nella norma IEC 61131-5:
•
USEND(FB8)/URCV(FB9)
•
BSEND(FB12)/BRCV(FB13)
•
PUT(FB15)/GET(FB14) corrisponde a READ/WRITE
•
USEND_E(FB28)/URCV_E(FB29)
•
PUT_E(FB35)/GET_E(FB34) corrisponde a READ/WRITE
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
353
Panoramica della comunicazione S7 e della comunicazione di base S7
21.2 Coerenza dei dati
21.2
Coerenza dei dati
Definizione
La dimensione dell'area di dati non modificabile contemporaneamente da processi simultanei, viene
definita area dei dati coerenti. Un'area dati le cui dimensioni superano la coerenza dei dati può quindi
essere danneggiata nella loro interezza.
Ciò significa che un'area di dati contigua con una dimensione superiore all'area coerente dati, in alcuni
momenti può essere parzialmente costituita da blocchi di dati coerenti nuovi e vecchi.
Esempio
Si può avere, ad esempio, un'incoerenza se un blocco di comunicazione viene interrotto da un OB di
interrupt di processo con priorità superiore. Se il programma utente modifica i dati dell'OB
parzialmente già elaborati dal blocco di comunicazione, i dati trasferiti saranno:
•
in parte precedenti all'elaborazione dell'interrupt di processo
•
e in parte successivi all'elaborazione dell'interrupt di processo.
I dati saranno quindi incoerenti (ovvero non contigui).
Conseguenza
Per trasferire grosse quantità di dati in modo coerente è necessario che il trasferimento non venga
interrotto. Ciò può, ad esempio, determinare un incremento del tempo di reazione all'allarme della
CPU.
Quindi, più estesa è la quantità di dati da trasferire in modo coerente, più aumenta il tempo di reazione
del sistema.
Coerenza dei dati in SIMATIC
Se il programma utente contiene funzioni di comunicazione, quali BSEND/BRCV, che accedono a dati
comuni, è possibile coordinare l'accesso a queste aree di memoria p. es. con il parametro "DONE". La
coerenza dei dati delle aree di comunicazione che viene trasferita localmente mediante un blocco di
comunicazione può essere quindi realizzata nel programma utente.
Con le funzioni di comunicazione S7 quali PUT/GET o lettura/scrittura mediante comunicazione OP, è
necessario tenere conto della dimensione dell'area dati coerente fin dalla
programmazione/progettazione, poiché nel programma utente del dispositivo di destinazione (server)
non è presente un blocco che sincronizzi la comunicazione nel programma utente.
Nelle S7-300 e C7-300 (fa eccezione la CPU 318-2 DP) i dati di comunicazione vengono copiati in
modo coerente nella memoria utente in blocchi di 32 byte nel punto di controllo del ciclo del sistema
operativo. Per le aree di memoria più grandi la coerenza dei dati non viene garantita. Se è necessaria
una coerenza dei dati definita, i dati di comunicazione del programma utente non devono essere
superiori a 32 byte (max 8 byte a seconda della versione).
354
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Panoramica della comunicazione S7 e della comunicazione di base S7
21.2 Coerenza dei dati
Nella S7-400 i dati di comunicazione non vengono invece elaborati nel punto di controllo del ciclo, ma
in fasi temporali fisse durante il ciclo del programma. Da parte del sistema viene garantita la coerenza
di una variabile.
A queste aree di comunicazione è possibile accedere in modo coerente, ad esempio da un OP o una
OS, con le funzioni PUT/GET o la lettura/scrittura delle variabili.
Suggerimento
Per ulteriori informazioni sulla coerenza dei dati, consultare la descrizione dei singoli blocchi e il
manuale Comunicazione con SIMATIC.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
355
Panoramica della comunicazione S7 e della comunicazione di base S7
21.3 Informazioni generali sui blocchi di comunicazione S7
21.3
Informazioni generali sui blocchi di comunicazione S7
Classificazione
Per la comunicazione S7 è necessaria una progettazione dei messaggi. Il richiamo delle funzioni di
comunicazione integrate avviene nel programma utente tramite SFB/FB o un'SFC/FC.
Questi blocchi possono essere suddivisi nelle seguenti classi:
•
SFB/FB per lo scambio dei dati
•
SFB/FB per la modifica degli stati di funzionamento
•
SFB per l‘interrogazione dello stato di funzionamento
•
SFC/FC per l'interrogazione del collegamento.
Disponibilità dei blocchi di comunicazione S7-300/400
•
I blocchi per la S7-400 sono contenuti nella biblioteca "Standard Library".
•
I blocchi caricabili per la S7-300 sono contenuti nella biblioteca "SIMATIC_NET_CP" oppure nella
biblioteca "Standard Library" alla voce "Communication Blocks".
Se la CPU S7-300-CPU non dispone di interfaccia Ethernet, per il funzionamento dei blocchi
S7-300 è necessario un CP SIMATIC NET della gamma S7-300. Ulteriori informazioni
sull'argomento sono contenute nella documentazione corrispondente.
Avvertenza
Non tutti gli SFB sono realizzati come FB nella S7-300.
SFB/FB per lo scambio dati
Gli SFB/ FB di comunicazione per lo scambio dei dati servono allo scambio dei dati tra due partner di
comunicazione. A seconda che esista un SFB/FB di comunicazione solo sull'unità locale oppure sia
sull'unità locale che sull'unità remota, si parla di scambio dati a una o a due vie.
356
Blocchi
Blocchi
S7-400
S7-300
Definizione
Breve descrizione
SFB 8
FB 8
USEND/
SFB 9
FB 9
URCV
Trasferimento rapido e senza conferma dei dati, indipendente
dall'elaborazione della funzione di comunicazione (URCV) nel
partner di comunicazione (p. es. messaggi sullo stato di
funzionamento e la manutenzione). I dati possono essere quindi
sovrascritti dal partner con dati più recenti
-
FB 28
USEND_E
FB 29
URCV_E
SFB 12/
FB 12
BSEND/
SFB 13
FB 13
BRCV
Trasferimento sicuro di un blocco di dati al partner di
comunicazione. Il trasferimento dei dati si conclude solo dopo
che la funzione di ricezione (BRCV) del partner ha ricevuto i dati
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Panoramica della comunicazione S7 e della comunicazione di base S7
21.3 Informazioni generali sui blocchi di comunicazione S7
Blocchi
Blocchi
Definizione
Breve descrizione
S7-400
S7-300
SFB 14
FB 14
GET
Lettura di variabili comandata dal programma senza che sia
presente una funzione di comunicazione specifica nel
programma utente del partner di comunicazione
-
FB 34
GET_E
SFB 15
FB 15
PUT
-
FB 35
PUT_E
SFB 16
-
PRINT
Scrittura di variabili comandata dal programma senza che sia
presente una funzione di comunicazione specifica nel
programma utente del partner di comunicazione
Invio di dati a una stampante (solo S7-400)
SFB per la modifica dello stato di funzionamento
Con gli SFB per la modifica dello stato di funzionamento viene comandato lo stato di funzionamento di
un dispositivo remoto.
Con gli SFB per la modifica dello stato di funzionamento lo scambio dati è a una via.
Blocco S7-400
Breve descrizione
SFB 19
START
Effettua il NUOVO AVVIAMENTO di una CPU S7/M7-300/400 C7-300 dallo
stato di funzionamento STOP.
SFB 20
STOP
STOP di una CPU S7/M7-300/400 o C7-300 nello stato di funzionamento
RUN, ALT o avviamento
SFB 21
RESUME
Riavviamento di una CPU S7-400 dallo stato di funzionamento STOP.
SFB per l'interrogazione dello stato di funzionamento
Con gli SFB per l'interrogazione dello stato di funzionamento si possono ricevere informazioni sullo
stato di funzionamento di un dispositivo remoto.
Con SFB "STATUS" il tipo di scambio dati è a una via, mentre con SFB "USTATUS" lo scambio dati è
a due vie.
Blocco S7-400
Breve descrizione
SFB 22
STATUS
Indica lo stato di funzionamento di un partner di comunicazione (CPU S7-400,
M7-300/400) su richiesta dell'utente.
SFB 23
USTATUS
Se è stato impostato l'apposito attributo (Invia messaggi sullo stato di
funzionamento), riceve lo stato di funzionamento di una CPU S7-400 quando
questa passa in uno stato diverso.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
357
Panoramica della comunicazione S7 e della comunicazione di base S7
21.3 Informazioni generali sui blocchi di comunicazione S7
SFC/FC per l'interrogazione del collegamento
Blocco S7-400
Blocco S7-300
Breve descrizione
SFC 62 "CONTROL"
-
Interrogazione dello stato di un collegamento
appartenente all'istanza di un SFB
-
FC 62 "C_CNTRL"
Interrogazione dello stato di un collegamento attraverso la
sua ID
Suggerimento:
Lo stato del collegamento attuale si può diagnosticare anche con la SFC 87 C_DIAG (solo per
S7-400).
Programma d'esempio
Con STEP 7 viene fornito un programma esemplificativo per S7-400 che illustra l'uso degli SFB di
comunicazione S7. Il progetto di esempio si chiama step7\examples\com_sfb e si trova in
"...\STEP7\Examples\ZIt01_10".
358
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Panoramica della comunicazione S7 e della comunicazione di base S7
21.4 Panoramica dei blocchi di comunicazione di base S7
21.4
Panoramica dei blocchi di comunicazione di base S7
Classificazione delle SFC di comunicazione di base S7
Per la comunicazione di base S7 non è necessaria una progettazione dei messaggi. Il richiamo delle
funzioni di comunicazione integrate avviene nel programma utente tramite SFC.
Le SFC sono suddivise in due classi:
•
SFC per lo scambio dei dati tra una CPU S7 ed un'altra unità di comunicazione nel caso in cui i
partner di comunicazione appartengono alla stessa stazione S7 (riconoscibile perché preceduta
da una "I" che indica "Intern").
•
SFC per lo scambio dei dati tra una CPU S7 ed un'altra unità di comunicazione nel caso in cui i
partner di comunicazione sono collegati alla stessa sotto-rete MPI (riconoscibile perché preceduta
da una "X" che indica "Extern").
La comunicazione oltre i limiti della sotto-rete non è possibile con le SFC di comunicazione di base
S7.
Le SFC di comunicazione di base S7 sono operabili su tutte le CPU S7-300 e S7-400. Da queste CPU
è possibile anche scrivere delle variabili nelle CPU della S7-200 e leggerle da là.
SFC per la comunicazione esterna
Blocco
Breve descrizione
SFC 65/
X_SEND/
SFC 66
X_RCV
Trasferimento sicuro di un blocco di dati al partner di comunicazione. Il
trasferimento dei dati si conclude solo dopo che la funzione di ricezione
(X_RCV) del partner ha ricevuto i dati.
SFC 67
X_GET
Lettura di una variabile da un partner di comunicazione senza che sia
necessario collocare nel partner una SFC corrispondente. Questa funzionalità
è consentita dal sistema operativo del partner di comunicazione.
SFC 68
X_PUT
Scrittura di una variabile in un partner di comunicazione senza che sia
necessario collocare nel partner una SFC corrispondente. Questa funzionalità
è consentita dal sistema operativo del partner di comunicazione.
SFC 69
X_ABORT
Interruzione di un collegamento senza trasferimento dei dati. Rende
nuovamente utilizzabili le risorse di collegamento in entrambi i partner.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
359
Panoramica della comunicazione S7 e della comunicazione di base S7
21.4 Panoramica dei blocchi di comunicazione di base S7
SFC per la comunicazione interna
Blocco
Breve descrizione
SFC 72
I_GET
Lettura di una variabile da un partner di comunicazione senza che sia
necessario collocare nel partner una SFC corrispondente. Questa funzionalità
è consentita dal sistema operativo del partner di comunicazione.
SFC 73
I_PUT
Scrittura di una variabile in un partner di comunicazione senza che sia
necessario collocare nel partner una SFC corrispondente. Questa funzionalità
è consentita dal sistema operativo del partner di comunicazione.
SFC 74
I_ABORT
Interruzione di un collegamento senza trasferimento dei dati. Rende
nuovamente utilizzabili le risorse di collegamento in entrambi i partner.
Programmi esemplificativi
STEP 7 viene fornito con due programmi esemplificativi per le SFC di comunicazione di base S7
collocati nelle directory step7\examples\com_sfc1 e step7\examples\com_sfc2.
Dimensione massima dei dati utili
Le SFC di comunicazione di base S7 sono incorporate in tutte le CPU della S7-300 e della S7-400.
Il numero dei dati utili trasferibili (parametro SD o RD) garantito per tutte le SFC è di 76 byte. Il numero
esatto è indicato nel rispettivo blocco.
Collegamento con il partner di comunicazione
Nelle SFC di comunicazione di base S7 viene creato il collegamento al momento di esecuzione della
SFC; a seconda del valore assegnato al parametro di ingresso CONT, il collegamento resta anche a
conclusione del trasferimento dati, oppure viene nuovamente disattivato. Di conseguenza per la
comunicazione si hanno le seguenti proprietà:
•
Il numero dei partner di comunicazione accessibili in successione è maggiore del numero dei
partner di comunicazione indirizzabili contemporaneamente (questa è una dimensione specifica
della CPU, vedere /70/, /101/).
•
Qualora momentaneamente non sia possibile creare alcun collegamento ad un partner di
comunicazione perché le risorse di collegamento (sulla propria CPU o nel partner di
comunicazione) sono tutte occupate, questo viene visualizzato in RET_VAL. Il job va quindi
avviato nuovamente in un momento successivo opportuno. Tuttavia non può essere garantita la
riuscita della creazione del collegamento in un momento successivo. Eventualmente il programma
va verificato dal punto di vista dell'uso generale delle risorse di collegamento e va utilizzata una
CPU che possegga più risorse di collegamento.
I collegamenti già esistenti di SFB di comunicazione di base S7 non possono essere usati dalle
SFC di comunicazione di base S7.
360
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Panoramica della comunicazione S7 e della comunicazione di base S7
21.4 Panoramica dei blocchi di comunicazione di base S7
Quando viene avviato un job, il collegamento creato per esso può essere momentaneamente utilizzato
solo per questo job. Altri job per lo stesso partner di comunicazione possono essere nuovamente
svolti solamente quando il job in corso è stato terminato. Pertanto osservare la seguente avvertenza:
Avvertenza
Se il programma contiene più job per lo stesso partner di comunicazione occorre far sì che quelle
SFC, nelle quali in RET_VAL viene visualizzato W#16#80C0, siano richiamate nuovamente in un
momento successivo opportuno.
Identificazione di un job
Qualora con una delle SFC di comunicazione di base S7 sia stato avviato un trasferimento dati oppure
un annullamento dei collegamenti e tale SFC venga nuovamente richiamata prima che il trasferimento
in corso sia stato concluso, il comportamento successivo della SFC dipende in maniera decisiva dal
fatto che il job al nuovo richiamo sia o meno lo stesso. La tabella seguente evidenzia per ogni
SFC quale parametro di ingresso stabilisce un job. Se i parametri citati nella tabella corrispondono ad
un job non ancora concluso, il richiamo della SFC vale come richiamo successivo.
Blocco
Job identificato mediante
SFC 65
X_SEND
DEST_ID, REQ_ID
SFC 67
X_GET
DEST_ID, VAR_ADDR
SFC 68
X_PUT
DEST_ID, VAR_ADDR
SFC 69
X_ABORT
DEST_ID
SFC 72
I_GET
IOID, LADDR, VAR_ADDR
SFC 73
I_PUT
IOID, LADDR, VAR_ADDR
SFC 74
I_ABORT
IOID, LADDR
Comportamento all'interruzione
Le SFC di comunicazione di base S7 possono essere interrotte mediante OB con priorità superiore.
Qualora la stessa SFC venga nuovamente richiamata con l'identico job, questo secondo richiamo
viene interrotto e ne viene data visualizzazione in RET_VAL. Poi l'elaborazione della SFC interrotta
viene continuata.
Accesso alla memoria di lavoro della CPU
Indipendentemente dal numero dei dati utili attualmente da trasferire, le funzioni di comunicazione del
sistema operativo in blocchi di dimensione massima accedono alla memoria di lavoro della CPU in
modo che con l'impiego delle funzioni di comunicazione il tempo di reazione agli allarmi non si
protragga.
A seconda di come è stato impostato con STEP 7 il carico di ciclo massimo a causa della
comunicazione, durante lo svolgimento di un job mediante le funzioni di comunicazione del sistema
operativo possono avvenire più accessi alla memoria di lavoro.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
361
Panoramica della comunicazione S7 e della comunicazione di base S7
21.4 Panoramica dei blocchi di comunicazione di base S7
Transizione dello stato di funzionamento del client a STOP
Se, con il trasferimento dati, la CPU che ha iniziato un job (e ha così creato un collegamento) passa
nello stato di funzionamento STOP, tutti i collegamenti da essa creati vengono disattivati.
Esecuzione di modifiche al programma
Tutte le parti del programma, che hanno effetto diretto sui richiami delle SFC di comunicazione di base
S7, devono essere modificate solo nello stato di funzionamento STOP. Di queste fa parte, in
particolare, la cancellazione di FC, FB o OB che contengono i richiami delle SFC di comunicazione di
base S7.
Poi va eseguito un nuovo avviamento (avviamento a caldo) o avviamento a freddo.
Se non si osserva quanto detto, le risorse di collegamento possono restare occupate ed il sistema di
automazione si trova quindi in uno stato non definito.
362
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
22
Comunicazione S7
22.1
Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7
Classificazione
I parametri degli SFB/FB di comunicazione S7 possono essere suddivisi, in base alla loro funzione,
nelle seguenti cinque classi:
1. Parametri di controllo: servono all'attivazione di un blocco
2. Parametri di indirizzamento: servono all'indirizzamento del partner di comunicazione remoto
3. Parametri di trasmissione: indicano i campi dei dati che devono essere trasmessi al partner
remoto
4. Parametri di ricezione: indicano i campi dei dati, nei quali vengono registrati i dati ricevuti dal
partner remoto
5. Parametri di stato: servono a verificare se il blocco ha terminato il suo compito senza errori e
ad analizzare gli errori.
Parametri di controllo
L'attivazione dello scambio dei dati avviene solo se, al richiamo dell'SFB/FB, i rispettivi parametri di
controllo hanno un campo definito (p. es. se sono impostati) o se il valore è cambiato rispetto all'ultimo
richiamo SFB/FB nel modo definito (p. es. fronte positivo).
Avvertenza sulla S7-300
Al momento del primo richiamo, il parametro REQ deve essere impostato su FALSE.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
363
Comunicazione S7
22.1 Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7
Parametri di indirizzamento
Parametro
Descrizione
ID
Riferimento alla descrizione locale del collegamento (preimpostato durante la progettazione del
collegamento in STEP 7). Avvertenza: per i blocchi della comunicazione S7 non è consentito
l'ID W#16#EEEE.
R_ID
Il parametro R_ID consente di definire il rapporto fra un SFB/FB di trasmissione e un SFB/FB di
ricezione. Il lato della trasmissione dell'SFB/FB e il lato di ricezione dell'altro SFB/FB devono
avere lo stesso valore per il parametro R_ID.
Viene così resa possibile la comunicazione di diverse coppie di SFB/FB con lo stesso
collegamento logico.
•
R_ID deve essere specificato nel formato DW#16#wxyzWXYZ
•
In un collegamento logico le coppie di blocchi definite mediante R_ID devono essere
univoche.
Il parametro PI_NAME è descritto solo negli SFB in cui è rilevante (solo S7-400).
Avvertenza
S7-300: i parametri di indirizzamento ID e R_ID si possono ridefinire durante l'esecuzione. I nuovi
parametri diventano attivi con ogni job, una volta terminato il job precedente. In questo modo è
possibile combinare tra loro più coppie di FB tramite una sola istanza.
Suggerimento: queste possibilità consentono di ridurre DB di istanza e di conseguenza di risparmiare
memoria di lavoro:
1. Con gli ID di variabili è possibile utilizzare più collegamenti mediante un blocco dati di istanza.
2. Con gli ID_R di variabili è possibile determinare con un'istanza più interdipendenze di coppie di FB
di trasmissione e ricezione.
3. È possibile combinare i punti 1 e 2.
Si tenga presente che i nuovi parametri diventano attivi solo dopo l'elaborazione del job precedente.
Se si attiva l'operazione di trasmissione, il parametro R_ID del mittente deve corrispondere a quello
del ricevente.
S7-400: i parametri di indirizzamento ID e R_ID vengono analizzati solo al primo richiamo del blocco (i
parametri attuali o i valori predefiniti dall'istanza). Con il primo richiamo viene così stabilito il rapporto
di comunicazione (collegamento) con il partner remoto, e cioè fino al successivo nuovo avviamento
(avviamento a caldo) oppure avviamento a freddo.
364
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.1 Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7
Parametri di stato
Con i parametri di stato si può controllare se il blocco ha terminato regolarmente il suo compito oppure
se è ancora attivo. Inoltre essi indicano i guasti presentatisi.
Avvertenz
I parametri di stato sono validi solo in un ciclo, cioè dal primo comando che segue il richiamo
dell'SFB/FB, fino al successivo richiamo dell'SFB/FB. Ne consegue che questi parametri devono
essere analizzati dopo ogni esecuzione di blocco.
Parametri di trasmissione e di ricezione
Se in un SFB non vengono utilizzati tutti i parametri di trasmissione o di ricezione, il primo parametro
non utilizzato deve essere rispettivamente un puntatore NIL (vedere /232/), e i parametri utilizzati
devono trovarsi uno dietro l'altro in ordine progressivo. job.
Avvertenza sulla S7-400
Al momento del primo ribchiamo, viene stabilita tramite il puntatore ANY la quantità massima di dati
utili trasferibili per il job; all'interno della memoria di lavoro della CPU viene infatti creato un buffer di
comunicazione per garantire la coerenza dei dati che occupa uno spazio di memoria di lavoro fino a
480 byte. È opportuno eseguire il primo richiamo nell'OB di nuovo avviamento (avviamento a caldo) o
di avviamento a freddo se il blocco con il richiamo SFB non viene ricaricato con lo stato di
funzionamento RUN della CPU.
Con i richiami successivi è possibile trasmettere/ricevere un numero qualunque di dati, tuttavia fino al
numero massimo del primo richiamo.
Un'eccezione a questa regola è costituita dagli SFB BSEND e BRCV. Essi consentono di trasferire
fino a 64 Kbyte per ogni job (vedere Trasmissione di dati a blocchi con l'SFB 12 "BSEND" e Ricezione
di dati a blocchi con l'SFB 13 "BRCV").
Negli SFB/FB per la comunicazione a due vie
•
il numero dei parametri utilizzati SD_i e RD_i sul lato di trasmissione e di ricezione deve
coincidere
•
i tipi di dati nei parametri comuni di SD_i e RD_i sul lato di trasmissione e di ricezione devono
coincidere
•
il numero dei dati da trasmettere con il parametro SD_i non deve essere maggiore del campo
aperto con il rispettivo parametro RD_i (non valido per BSEND/BRCV).
Se le regole indicate non vengono rispettate, questa violazione viene segnalata con ERROR = 1 e
STATUS = 4.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
365
Comunicazione S7
22.1 Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7
Dimensione dei dati utili
Negli SFB/FB USEND, URCV, GET e PUT e negli FB USEND_E, URCV_E, GET_E e PUT_E il
numero dei dati da trasmettere non deve superare una lunghezza massima che dipende da quanto
segue:
•
tipo di blocco utilizzato
•
partner di comunicazione.
La dimensioni minima garantita dei dati utili per un SFB con 1-4 variabili può essere stabilita mediante
la seguente tabella:
Blocco
Partner: S7-300
Partner: S7-400
PUT / GET
160 byte
400 byte
USEND / URCV
160 byte
440 byte
BSEND / BRCV
32768/65534 byte
65534 byte
PUT_E / GET_E
160 byte
Non disponibile
USEND_E / URCV_E
160 byte
Non disponibile
Osservare le limitazioni relative alle dimensioni dei dati utili, contenute nei dati tecnici della CPU
utilizzata.
Dimensione esatta dei dati utili
Se la dimensione sopra indicata non è sufficiente, è possibile determinare la lunghezza utile massima
in byte come indicato di seguito.
1. Determinare la dimensione dei blocchi di dati valida per la comunicazione in base alla seguente
tabella:
366
CPU utente
CPU remota
Dimensione dei blocchi di dati in byte
S7-300
qualunque
240 (S7-300)
S7-400
S7-300 / C7-300
240 (S7-400)
S7-400
S7-400 o CPU 318
480
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.1 Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7
2. In base al valore individuato, cercare nella seguente tabella la lunghezza massima ammessa per i
dati utili espressa in byte come somma dei parametri utilizzati. Il valore è valido per lunghezze pari
delle aree SD_i, RD_i, ADDR_i. Per ogni area con lunghezza dispari la lunghezza massima
ammessa dei dati utili si riduce di un byte.
Numero di parametri SD_i, RD_i, ADDR_i utilizzati
Dimensioni dei
blocchi di dati
SFB/FB
1
2
3
4
240 (S7-300)
PUT/GET/
USEND
160
-
-
-
240 (S7-300
mediante
interfaccia
integrata)
PUT
212
-
-
-
GET
222
-
-
-
240 (S7-400)
480
960
USEND
212
-
-
-
PUT_E
212
196
180
164
GET_E
222
218
214
210
USEND_E
212
208
204
200
PUT
212
196
180
164
GET
222
218
214
210
USEND
212
-
-
-
PUT
452
436
420
404
GET
462
458
454
450
USEND
452
448
444
440
PUT
932
916
900
884
GET
942
938
934
930
USEND
932
928
924
920
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
367
Comunicazione S7
22.2 Comportamento all'avviamento degli SFB di comunicazione S7
22.2
Comportamento all'avviamento degli SFB di comunicazione S7
Presupposti
Qui di seguito sono indicati i presupposti per le S7-400:
•
le descrizioni dei collegamenti (SDB) sulle unità sono presenti
•
i collegamenti progettati sono stabiliti
•
in ogni SFB il parametro attuale per l'ID coincide con l'ID di collegamento progettato.
Nuovo avviamento (avviamento a caldo) e avviamento a freddo
Nel nuovo avviamento (avviamento a caldo) e avviamento a freddo tutti gli SFB vengono trasferiti nello
stato NO_INIT. I parametri attuali memorizzati nei DB di istanza rimangono invariati.
Nuovo avviamento (avviamento a caldo) e avviamento a freddo negli SFB per lo scambio dati a
due vie
Generalmente negli SFB per lo scambio dati a due vie le unità non effettuano entrambe un nuovo
avviamento (avviamento a caldo) o avviamento a freddo. L'adattamento viene eseguito implicitamente
dagli SFB in base alle seguenti regole.
I blocchi di ricezione (SFB, URCV, BRCV) presentano il seguente comportamento:
•
Se l'SFB ha ricevuto un job, ma non lo ha ancora confermato al momento del nuovo avviamento
(avviamento a caldo) o dell'avviamento a freddo, esso genera un telegramma di interruzione di
sequenza (SFB BRCV) e salta quindi direttamente nello stato NO_INIT.
•
Nell'SFB BRCV può subentrare il caso che, nonostante l'interruzione di sequenza trasmessa, si
presenti un ulteriore segmento di dati. Quest'ultimo viene respinta a livello locale.
•
Nell'SFB URCV ha luogo il passaggio immediato nello stato NO_INIT.
I blocchi di trasmissione (SFB USEND, BSEND) si comportano nel modo seguente:
368
•
Se l'SFB BSEND ha iniziato una sequenza di job, che non è ancora terminata, esso trasmette
un'interruzione di sequenza al nuovo avviamento (avviamento a caldo) o all'avviamento a freddo.
Immediatamente dopo passa nello stato NO_INIT. Un'accettazione che arriva più tardi viene
respinta a livello locale.
•
Se l'SFB BSEND ha già trasmesso o ricevuto un'interruzione di sequenza al momento della
richiesta di un nuovo avviamento, (avviamento a caldo) o un avviamento a freddo esso passa
immediatamente nello stato NO_INIT.
•
In tutti gli altri casi, e se l'SFB trasmette solo messaggi (p. es. SFB USEND), l'elaborazione locale
viene interrotta e l'SFB passa immediatamente nello stato NO_INIT.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.2 Comportamento all'avviamento degli SFB di comunicazione S7
Nuovo avviamento (avviamento a caldo) e avviamento a freddo negli SFB per lo scambio dati
a una via
Si presuppone che dopo l'attivazione dei collegamenti il server sul partner di comunicazione sia in
grado di funzionare, cioè possa elaborare job o trasmettere messaggi in qualsiasi momento.
Gli SFB, che trasmettono job e attendono accettazioni, presentano il seguente comportamento:
L'elaborazione momentanea viene interrotta, e immediatamente dopo viene effettuato il passaggio
nello stato NO_INIT. Un'accettazione che si presenta più tardi per il job trasmesso prima del nuovo
avviamento (avviamento a caldo) o dell‘avviamento a freddo viene respinta a livello locale.
Può essere trasmesso già un nuovo job prima che sia arrivata l'accettazione ancora pendente.
Gli SFB che trasmettono o ricevono messaggi si comportano nel modo seguente:
•
L'elaborazione momentanea viene interrotta, e viene effettuato il passaggio diretto nello stato
NO_INIT.
•
Nell'SFB USTATUS vengono respinti a livello locale i messaggi che arrivano negli stati NO_INIT e
DISABLED.
Comportamento al riavviamento
Gli SFB di comunicazione S7 vengono trasferiti nello stato NO_INIT solo nel nuovo avviamento
(avviamento a caldo) o nell'avviamento a freddo. Ne risulta che essi si comportano come blocchi
funzionali utente proseguibili nel riavviamento.
Comportamento dopo cancellazione totale
La cancellazione totale determina sempre l'interruzione di tutti i collegamenti. Poiché dopo la
cancellazione totale è possibile solo un nuovo avviamento (avviamento a caldo) o un avviamento a
freddo come tipo di avviamento per il programma utente, tutti gli SFB di comunicazione S7 (se ancora
presenti) vengono trasferiti nello stato NO_INIT e inizializzati. I blocchi partner in una unità non
cancellata totalmente passano, a causa dell'interruzione del collegamento, negli stati IDLE o
ENABLED o DISABLED.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
369
Comunicazione S7
22.3 Comportamento in caso di disturbi degli SFB di comunicazione S7
22.3
Comportamento in caso di disturbi degli SFB di comunicazione S7
Qui di seguito viene descritto il comportamento in caso di disturbi dei blocchi di comunicazione S7
nelle S7-400.
Interruzione di collegamento
I collegamenti assegnati alle istanze SFB di comunicazione vengono controllati per identificare
eventuali interruzioni.
In caso di interruzione di un collegamento la reazione dell'SFB dipende dal suo stato interno:
Se l'interruzione di collegamento viene identificata negli stati IDLE o ENABLED, l'SFB reagisce nel
modo seguente:
•
Esso passa nello stato ERROR ed emette l'identificazione di errore "Problemi di comunicazione"
tramite i parametri di uscita ERROR e STATUS.
•
Al successivo richiamo del blocco esso assume di nuovo il suo stato originario e controlla di nuovo
il collegamento.
Un SFB che non si trova negli stati IDLE e DISABLED, reagisce nel modo seguente:
•
Esso interrompe la sua elaborazione, passa immediatamente oppure al successivo richiamo del
blocco nello stato ERROR ed emette l'identificazione di errore "Problemi di comunicazione"
tramite i parametri di uscita ERROR e STATUS.
•
Al successivo richiamo del blocco, quest'ultimo assume lo stato IDLE, DISABLED o ENABLED.
Negli stati IDLE e ENABLED viene controllato di nuovo il collegamento.
Questo procedimento viene eseguito anche se nel frattempo il collegamento è stato ristabilito.
Caduta di rete
Una caduta di rete bufferizzata con riavviamento provoca l'interruzione di tutti i collegamenti attivati.
Per tutti i blocchi interessati vale perciò quanto detto sopra.
Per una caduta di rete bufferizzata con nuovo avviamento (avviamento a caldo) o con avviamento a
freddo automatico vale quanto detto sia per l'interruzione del collegamento che per il nuovo
avviamento (avviamento a caldo) o l‘avviamento a freddo.
Nel caso speciale del nuovo avviamento (avviamento a caldo) o avviamento a freddo automatico non
bufferizzato, durante il quale viene eseguita automaticamente una cancellazione totale dopo il ritorno
della rete, gli SFB di comunicazione S7 si comportano come descritto nel capitolo "Comportamento
all'avviamento degli SFB di comunicazione S7".
Comportamento durante passaggio tra stati di funzionamento
Durante un passaggio tra gli stati di funzionamento STOP, AVVIAMENTO, RUN e ALT l'SFB rimane
nel suo stato attuale (eccezione: nel nuovo avviamento (avviamento a caldo) o avviamento a freddo
viene assunto lo stato NO_INIT). Ciò vale sia negli SFB per la comunicazione ad una via, sia negli
SFB per la comunicazione a due vie.
370
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.3 Comportamento in caso di disturbi degli SFB di comunicazione S7
Interfaccia errore per programma utente
Se si presenta un errore durante l'elaborazione di un SFB ha sempre luogo un passaggio nello stato
ERROR; contemporaneamente il parametro di uscita ERROR viene impostato su 1 e nel parametro di
uscita STATUS viene registrata le relativa identificazione dell'errore. Queste informazioni di errore
possono essere analizzate dall'utente nel suo programma.
Esempi di errori possibili:
•
Errore durante la raccolta dei dati di trasmissione
•
Errore durante la copiatura dei dati di ricezione nelle aree di ricezione (p. es. accesso a DB non
disponibili)
•
La lunghezza del campo dati trasmesso non coincide con la lunghezza dell'area di ricezione
archiviata sull'SFB partner.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
371
Comunicazione S7
22.4 Trasmissione non coordinata di dati con l'SFB/FB 8 "USEND"
22.4
Trasmissione non coordinata di dati con l'SFB/FB 8 "USEND"
Avvertenza
Per le CPU S7-300 sono disponibili le due versioni seguenti dell'FB 8 "USEND".
•
Una versione nella Standard Library, da utilizzare in caso di collegamento con il partner remoto
tramite l'interfaccia PN.
•
Una versione nella SIMATIC_NET_CP Library, da utilizzare in caso di collegamento con il partner
remoto tramite un CP.
Descrizione
L'SFB/FB 8 "USEND" trasmette dati a un partner SFB/FB remoto del tipo "URCV". La trasmissione
non è coordinata con l'SFB/FB partner, ovvero quest'ultimo non deve confermare la trasmissione dei
dati.
S7-300: la trasmissione ha luogo dopo un fronte di salita in REQ. Con ogni fronte di salita in REQ
vengono ripresi i parametri R_ID, ID e SD_1. Una volta terminato un job, è possibile assegnare nuovi
valori ai parametri R_ID, ID e SD_1.
S7-400: la trasmissione ha luogo dopo un fronte di salita nell'ingresso di comando REQ. I dati da
trasmettere vengono indirizzati dai parametri SD_1, ... SD_4, anche se questi quattro parametri di
trasmissione non devono essere tutti occupati.
Tuttavia occorre fare attenzione che le aree definite dai parametri da SD_1 a SD_4/SD_1 e da RD_1 a
RD_4/RD_1 (nel corrispondente SFB/FB partner "URCV") coincidano per quanto riguarda:
•
numero
•
lunghezza
•
tipo di dati.
Il parametro R_ID deve essere identico per entrambi gli SFB/FB.
372
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.4 Trasmissione non coordinata di dati con l'SFB/FB 8 "USEND"
Un 1 logico nel parametro di stato DONE indica che l'operazione di trasmissione si è conclusa
correttamente.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L.
Parametro di comando Request; attiva lo
scambio dei dati con fronte di salita.
ID
INPUT
WORD
M, D, cost.
Parametro di indirizzamento ID; vedere
Parametri comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
R_ID
INPUT
DWORD E, A, M, D, L, cost.
DONE
OUTPUT
BOOL
ERROR
STATUS
OUTPUT
OUTPUT
E, A, M, D, L
BOOL
E, A, M, D, L
WORD
E, A, M, D, L
Parametro di indirizzamento R_ID; vedere
Parametri comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
Parametro di stato DONE:
0:
Job non ancora avviato o ancora in
esecuzione
1:
Job eseguito senza errori.
Parametri di stato ERROR e STATUS;
segnalazione di errore:
ERROR=0
STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul tipo
di errore.
S7-300:
IN_OUT
ANY
M, D, T, Z
SD_1
S7-400:
SD_i
(1≤ i ≤4)
E, A, M, D, T, Z
Puntatore all'i - esima area di trasmissione.
Sono ammessi solo i tipi di dati BOOL (non
permesso: campo di bit), BYTE, CHAR, WORD,
INT, DWORD, DINT, REAL, DATE, TOD, TIME,
S5TIME, DATE_AND_TIME, COUNTER,
TIMER.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB deve
sempre essere specificato (p. es.: P#
DB10.DBX5.0 byte 10).
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
373
Comunicazione S7
22.4 Trasmissione non coordinata di dati con l'SFB/FB 8 "USEND"
Informazioni di errore
ERROR
STATUS
(decimale)
Spiegazione
0
11
Avviso:
0
25
1
1
•
Il nuovo job non è valido in quanto quello precedente non è ancora terminato
•
Il job viene già elaborato in una classe di priorità minore.
È stata avviata la comunicazione. Il job è in corso di esecuzione.
Problemi di comunicazione, p. es.
•
descrizione del collegamento non caricata (locale o remoto)
•
collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP)
•
collegamento con il partner non ancora creato
•
FB non eseguibile su una CPU S7-400
•
inoltre per S7-300:
•
numero massimo di ordini/istanze paralleli superato
1
4
Errore nei puntatori dell'area di trasmissione SD_i riguardanti la lunghezza o il tipo
di dati.
1
10
L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB
cancellato)
1
12
Al richiamo dell'SFB/FB
1
18
•
è stato indicato un DB di istanza che non appartiene all'SFB "USEND"
•
è stato indicato un DB globale e non un DB di istanza
•
è stato trovato un DB di istanza (caricamento di un nuovo DB di istanza dal
PG)
•
R_ID esiste già nell'ID del collegamento.
•
inoltre per S7-300:
-
1
1
374
20
27
Le istanze sono state sovraccaricate da CPU-RUN (è necessario un
passaggio da STOP a RUN della CPU o del CP.)
•
S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di
lavoro fosse sufficiente: compressione della memoria di lavoro
•
Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento
poiché il buffer di comunicazione viene creato nella memoria di lavoro.
Durante l'aggiornamento non sono consentiti interventi che modificano la
memoria di lavoro.
•
S7-300:
-
Numero massimo di job paralleli/istanze superato
-
Le istanze sono state sovraccaricate da CPU-RUN (è necessario un
passaggio da STOP a RUN della CPU o del CP)
-
Possibile con il primo richiamo
Per questo blocco non esiste un codice funzione nella CPU.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.4 Trasmissione non coordinata di dati con l'SFB/FB 8 "USEND"
Coerenza dei dati
S7-300: per garantire la coerenza dei dati, le aree di trasmissione SD_1 devono essere riscritte solo
dopo che è stata conclusa l'operazione attuale di trasmissione, vale a dire quando il parametro di stato
DONE assume il valore 1.
S7-400 e S7-300 mediante interfaccia integrata: quando si attiva un'operazione di trasmissione (fronte
di salita in REQ), i dati da inviare delle aree di trasmissione SD_i vengono copiati dal programma
utente. È possibile riscrivere queste aree dopo il richiamo del blocco senza falsare i dati di invio attuali.
Avvertenza
L'intera operazione di trasmissione è da considerarsi conclusa solo quando il parametro di stato
DONE assume il valore 1.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
375
Comunicazione S7
22.5 Ricezione non coordinata di dati con l'SFB/FB 9 "URCV"
22.5
Ricezione non coordinata di dati con l'SFB/FB 9 "URCV"
Descrizione
L'SFB/FB 9 "URCV" riceve in modo asincrono i dati da un SFB/FB partner remoto del tipo "USEND" e
li copia nelle aree di ricezione progettate.
Il blocco è pronto a ricevere quando nell'ingresso EN_R è presente un 1 logico. Con EN_R=0 è
possibile interrompere un job in corso.
S7-300: con ogni fronte di salita di EN_R, vengono ripresi i parametri R_ID, ID e RD_1. Al termine di
un job, è possibile assegnare ai parametri R_ID, ID e RD_1 nuovi valori.
S7-400: le aree di ricezione vengono indirizzate dai parametri RD_1 ... RD_4.
Occorre fare attenzione che le aree definite dai parametri RD_i/RD_1 e SD_i/SD_1 (nel relativo
SFB/FB partner "USEND") coincidano per quanto riguarda:
•
numero
•
lunghezza
•
tipo di dati.
Un 1 logico nel parametro di stato NDR indica che l'operazione di trasmissione si è conclusa
correttamente.
Il parametro R_ID deve essere identico per entrambi gli FB.
376
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
EN_R
INPUT
BOOL
E, A, M, D, L, cost.
Parametro di comando enabled to receive;
segnala la disponibilità a ricevere quando
l'ingresso è impostato.
ID
INPUT
WORD
M, D, cost.
Parametro di indirizzamento ID, vedere
Parametri comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
R_ID
INPUT
DWORD E, A, M, D, L, cost.
NDR
OUTPUT
BOOL
E, A, M, D, L
Parametro di indirizzamento R_ID, vedere
Parametri comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
Parametro di stato NDR:
0:
Job non ancora avviato o ancora in
esecuzione
1:
Job eseguito senza errori.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.5 Ricezione non coordinata di dati con l'SFB/FB 9 "URCV"
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
ERROR
OUTPUT
OUTPUT
BOOL
E, A, M, D, L
WORD
E, A, M, D, L
Parametri di stato ERROR e STATUS;
segnalazione di errore:
STATUS
ERROR=0
STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul tipo
di errore.
S7-300:
IN_OUT
ANY
M, D, T, Z
RD_1
S7-400:
RD_i
(1≤ i ≤4)
E, A, M, D, T, Z
Puntatore all'i - esima area di trasmissione:
ammessi sono solo i tipi di dati BOOL (non
permesso: campo di bit), BYTE, CHAR, WORD,
INT, DWORD, DINT, REAL, DATE, TOD, TIME,
S5TIME, DATE_AND_TIME, COUNTER,
TIMER.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB deve
sempre essere specificato (p. es.: P#
DB10.DBX5.0 Byte 10).
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
377
Comunicazione S7
22.5 Ricezione non coordinata di dati con l'SFB/FB 9 "URCV"
Informazioni di errore
ERROR
STATUS
(decimale)
Spiegazione
0
9
Avviso di overrun: dati di ricezione precedenti sono stati sovrascritti da dati di
ricezione piú recenti.
0
11
Avviso: i dati in ingresso vengono già elaborati in una classe con priorità minore.
0
25
È stata avviata la comunicazione. Il job è in corso di esecuzione.
1
1
Problemi di comunicazione, p. es.
•
descrizione del collegamento non caricata (locale o remoto)
•
collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP)
•
collegamento con il partner non ancora creato
•
FB inon eseguibile su una
•
inoltre per S7-300:
-
numero massimo di ordini/istanze paralleli superato
1
4
Errore nei puntatori dell'area di ricezione RD_i riguardanti la lunghezza o il tipo di
dati.
1
10
L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB
cancellato)
1
12
Al richiamo dell'SFB/FB:
1
18
•
è stato indicato un DB di istanza che non appartiene all'SFB "URCV"
•
è stato indicato un DB globale invece di un DB di istanza
•
non è stato trovato un DB di istanza (caricamento di un nuovo DB di istanza dal
PG)
•
R_ID esiste già nell'ID del collegamento
•
inoltre per S7-300:
-
Le istanze sono state sovraccaricate da CPU-RUN (è necessario un
passaggio da STOP a RUN della CPU o del CP.)
1
19
L'SFB/FB "USEND" corrispondente trasmette i dati più velocemente di quanto questi
possano essere copiati nelle aree di ricezione dall'SFB/FB "URCV".
1
20
•
S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di
lavoro fosse sufficiente: compressione della memoria di lavoro
•
Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché
il buffer di comunicazione viene creato nella memoria di lavoro. Durante
l'aggiornamento non sono consentiti interventi che modificano la memoria di
lavoro.
•
S7-300:
1
378
CPU S7-400
27
-
Numero massimo di job paralleli/istanze superato
-
Le istanze sono state sovraccaricate da CPU-RUN (è necessario un
passaggio da STOP a RUN della CPU o del CP)
-
Possibile con il primo richiamo
Per questo blocco non esiste un codice funzione nella CPU.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.5 Ricezione non coordinata di dati con l'SFB/FB 9 "URCV"
Coerenza dei dati
I dati ricevuti sono coerenti se si osservano i criteri seguenti.
S7-300: dopo che il parametro di stato NDR ha assunto il valore 1, deve essere richiamato
immediatamente l'FB 9 "URCV" con il valore 0 su EN_R. Si garantisce così che l'area di ricezione non
venga nuovamente sovrascritta prima di essere stata analizzata. Analizzare completamente l'area di
ricezione RD_1 prima di richiamare nuovamente il blocco con il valore 1 sull'ingresso di comando
EN_R).
S7-400: dopo che il parametro di stato NDR ha assunto il valore 1, nelle aree di ricezione (RD_i) si
trovano nuovi dati. Un nuovo richiamo di blocco potrebbe sovrascrivere questi dati con nuovi dati di
ricezione. Per evitare che ciò si verifichi, richiamare l'SFB 9 "URCV" con il valore 0 su EN_R finché (p.
es. con l'elaborazione ciclica del blocco) l'elaborazione dei dati di ricezione si conclude.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
379
Comunicazione S7
22.6 Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND"
22.6
Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND"
Descrizione
L'SFB/FB 12 "BSEND" trasmette dati ad un partner SFB/FB remoto di tipo "BRCV". Questo tipo di
trasferimento dati consente il traferimento di una maggiore quantità di dati tra i partner di
comunicazione rispetto a tutti gli altri SFB/FB di comunicazione per collegamenti S7 progettati. È
possibile trasferire dati nella seguente quantità:
•
32768 byte per S7-300 über SIMATIC-Net-CP
•
65534 byte per S7-400 e S7-300 urmediante interfaccia integrata.
L'area dati da trasmettere viene segmentata. Ogni segmento viene trasmesso singolarmente al
partner. L'ultimo segmento viene confermato dal partner già la suo arrivo, indipendentemente dal
relativo richiamo dell'SFB/FB "BRCV".
S7-300: l'operazione di trasmissione ha luogo dopo un fronte di salita a REQ. Con ogni fronte di salita
a REQ vengono ripresi i parametri R_ID, ID, SD_1 e LEN. Al termine di un job, è possibile assegnare
nuovi valori ai parametri R_ID, ID, SD_1 e LEN. Per la trasmissione di dati segmentati, il blocco deve
essere richiamato ciclicamente nel programma utente.
L'indirizzo iniziale e la lunghezza massima dei dati da trasmettere sono predefiniti da SD_1. La
lunghezza del blocco dati si definisce per ogni job con il parametro LEN.
S7-400 e S7-300 mediante interfaccia integrata: l'operazione di trasmissione viene attivata dopo il
richiamo del blocco e la presenza di un fronte di salita all'ingresso di comando REQ.
L'invio dei dati dalla memoria utente è asincrona rispetto all'elaborazione del programma utente.
L'indirizzo iniziale dei dati da trasmettere è predefinito da SD_1. La lunghezza dei dati da trasmettere
si può definire per ogni job tramite LEN. LEN sostituisce quindi la parte di lunghezza di SD_1.
Il parametro R_ID deve essere identico in entrambi gli SFB/FB.
Se all'ingresso di comando R è presente un fronte di salita, l'operazione di trasmissione in corso viene
interrotta.
Il parametro di stato DONE con 1 indica che l'operazione di trasmissione è stata portata a termine con
successo.
Il nuovo job di trasmissione può essere avviato solo dopo che è stata conclusa la trasmissione se i
parametri di stato DONE o ERROR hanno assunto il valore 1.
380
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.6 Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND"
A causa della trasmissione asincrona dei dati una nuova trasmissione di dati può essere avviata solo
se i dati precedenti sono stati prelevati tramite il richiamo dell'SFB/FB partner. Finché non sono stati
prelevati i dati, viene emesso il valore di stato 7 (vedi sotto) al richiamo dell'SFB/FB "BSEND".
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
Request parametro di comando, attiva lo
scambio dei dati con fronte di salita
R
INPUT
BOOL
E, A, M, D, L, cost.
Reset parametro di comando: attiva
l'interruzione dello scambio dati in corso in
seguito ad un fronte di salita
ID
INPUT
WORD
M, D, cost.
Parametro di indirizzamento ID, vedere
Parametri comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
R_ID
INPUT
DWORD E, A, M, D, L, cost.
Parametro di indirizzamento R_ID, vedere
Parametri comuni agli SFB/FB e alle SFC/FC di
comunicazione S7.
In caso di collegamento tramite CP441 con S5 o
apparecchiature esterne, R_ID contiene le
informazioni di indirizzamento del dispositivo
remoto. Per informazioni più dettagliate vedere
la descrizione di CP441.
DONE
OUTPUT
BOOL
E, A, M, D, L
ERROR
OUTPUT
BOOL
E, A, M, D, L
STATUS
OUTPUT
WORD
E, A, M, D, L
Parametro di stato DONE:
0:
Job non ancora avviato o ancora in
esecuzione
1:
Job eseguito senza errori.
Parametri di stato ERROR e STATUS;
segnalazione di errore:
ERROR=0
STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul tipo
di errore.
SD_1
IN_OUT
ANY
S7-300: M, D
Puntatore sull'area di trasmissione.
S7-400: E, A, M, D,
T, Z
Sono ammessi solo i tipi di dati BOOL (non
permesso: campo di bit), BYTE, CHAR, WORD,
INT, DWORD, DINT, REAL, DATE, TOD, TIME,
S5TIME, DATE_AND_TIME, COUNTER,
TIMER.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB deve
sempre essere specificato (p. es.: P#
DB10.DBX5.0 byte 10)
LEN
IN_OUT
WORD
E, A, M, D, L
Lunghezza in byte del blocco dati da
trasmettere
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
381
Comunicazione S7
22.6 Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND"
Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB/FB 12, che possono
essere emesse con i parametri ERROR e STATUS.
ERROR
STATUS
(decimale)
0
11
Spiegazione
Avviso:
•
Il nuovo job non è valido in quanto quello precedente non è ancora
terminato.
•
Il job viene già elaborato in una classe con priorità minore.
0
25
È stata avviata la comunicazione. Il job è in corso di esecuzione.
1
1
•
Problemi di comunicazione, p. es. descrizione del collegamento non
caricata (locale o remoto)
•
collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP)
•
collegamento con il partner non ancora creato
•
FB inon eseguibile su una
•
CPU S7-400
inoltre per S7-300:
-
numero massimo di ordini/istanze paralleli superato
1
2
Conferma di acknowledge negativa dal partner SFB/FB. La funzione non
può essere eseguita.
1
3
R_ID non è conosciuto nel collegamento di comunicazione definito da ID,
oppure il blocco di ricezione non è stato ancora richiamato.
1
4
Errore nel puntatore dell'area di ricezione SD_1 riguardante la lunghezza o
il tipo di dati, oppure al parametro LEN è stato passato il valore 0.
1
5
La richiesta di reset è stata eseguita.
1
6
L'SFB/FB partner si trova nello stato DISABLED (EN_R ha il valore 0).
Verificare inoltre la coerenza dei parametri di ingresso del blocco BRCV
rispetto al blocco BSEND.
1
7
L'SFB/FB partner si trova nello stato sbagliato
Il blocco di ricezione non è stato più richiamato dopo l'ultimo trasferimento
dati.
1
8
L'accesso all'oggetto remoto nella memoria utente è stato respinto. L'area
di destinazione nel relativo SFB/FB 13 "BRCV" è troppo piccola.
Nell'SFB/FB 13 "BRCV" viene segnalato ERROR = 1, STATUS = 4 o
ERROR = 1, STATUS = 10.
1
10
1
12
1
18
L'accesso alla memoria utente locale non è possibile (p. es. accesso a un
DB cancellato).
Per il richiamo dell'SFB/FB
•
è stato indicato un DB di istanza che non appartiene all'SFB 12
•
è stato indicato un DB globale e non un DB di istanza.
•
non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di
istanza dal PG)
•
R_ID esiste già nel collegamento.
•
inoltre per S7-300:
-
382
Le istanze sono state sovraccaricate da CPU-RUN (è necessario
un passaggio da STOP a RUN della CPU o del CP.)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.6 Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND"
ERROR
STATUS
(decimale)
Spiegazione
1
20
•
S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la
memoria di lavoro fosse sufficiente: compressione della memoria di
lavoro
•
Sistema H: primo richiamo dell'SFB impossibile durante
l'aggiornamento poiché il buffer di comunicazione viene creato nella
memoria di lavoro. Durante l'aggiornamento non sono consentiti
interventi che modificano la memoria di lavoro.
•
1
27
S7-300:
-
Numero massimo di job paralleli/istanze superato
-
Le istanze sono state sovraccaricate da CPU-RUN (è necessario
un passaggio da STOP a RUN della CPU o del CP)
-
Possibile con il primo richiamo
-
Scarsità temporanea di memoria nel CP
Per questo blocco non esiste un codice funzione nella CPU.
Coerenza dei dati
Per garantire la coerenza dei dati la parte attualmente in uso dell'area di trasmissione SD_1 può
essere scritta solo dopo che è stata conclusa l'operazione di trasmissione. Ciò avviene quando il
parametro di stato DONE assume il valore 1.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
383
Comunicazione S7
22.7 Ricezione di dati a blocchi con l'SFB 13/FB "BRCV"
22.7
Ricezione di dati a blocchi con l'SFB 13/FB "BRCV"
Descrizione
L'SFB/FB 13 "URCV" riceve i dati da un remoto SFB/FB partner del tipo "BSEND". Dopo ogni
segmento di dati ricevuto, viene inviata una conferma all'SFB/FB partner il parametro LEN viene
attualizzato.
Il blocco è pronto a ricevere dopo il richiamo con il valore 1 all'ingresso di comando EN_R. Con
EN_R=0 è possibile interrompere un job in corso.
L'indirizzo iniziale e la lunghezza massima dell'area di ricezione vengono stabiliti da RD_1. La
lunghezza del blocco dati viene definita da LEN.
S7-300: con ogni fronte di salita di EN_R, vengono ripresi i parametri R_ID, ID e RD_1. Al termine di
un job, è possibile assegnare nuovi valori ai parametri R_ID, ID e RD_1. Per la trasmissione di dati
segmentati, il blocco deve essere richiamato ciclicamente nel programma utente.
S7-400 e S7-300 mediante interfaccia integrata: la ricezione dei dati dalla memoria utente avviene
in modo asincrono rispetto all'elaborazione del programma utente.
Il parametro R_ID deve essere identico in entrambi gli SFB/FB.
Se la ricezione di tutti i segmenti di dati è avvenuta senza errori, il parametro di stato NDR indica il
valore 1. I dati ricevuti rimangono immutati fino al richiamo successivo dell'SFB/FB 13 con EN_R=1.
Se il blocco viene nuovamente richiamato durante la ricezione asincrona, viene emesso un messaggio
di avviso al parametro di stato STATUS; se il richiamo ha luogo con il valore 0 all'ingresso di comando
EN_R, l'operazione di ricezione viene interrotta e l'SFB/FB passa allo stato di base.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
EN_R
INPUT
BOOL
E, A, M, D, L, cost.
Parametro di comando enabled to receive,
segnala la disponibilità a ricevere quando
l'ingresso è impostato.
ID
INPUT
WORD
M, D, cost.
Parametro di indirizzamento ID, vedere
Parametri comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
R_ID
INPUT
DWORD E, A, M, D, L, cost.
Parametro di indirizzamento R_ID, vedere
Parametri comuni agli SFB/FB e alle SFC/FC di
comunicazione S7.
In caso di collegamento tramite CP441 con S5 o
apparecchiature esterne, R_ID contiene le
informazioni di indirizzamento del dispositivo
remoto. Per informazioni più dettagliate vedere
la descrizione di CP441.
NDR
384
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato NDR:
0:
Job non ancora avviato o ancora in
esecuzione
1:
Job eseguito senza errori.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.7 Ricezione di dati a blocchi con l'SFB 13/FB "BRCV"
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
ERROR
OUTPUT
BOOL
E, A, M, D, L
STATUS
OUTPUT
WORD
E, A, M, D, L
Parametri di stato ERROR e STATUS;
segnalazione di errore:
ERROR=0
STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul tipo
di errore.
RD_1
IN_OUT
ANY
S7-300: M, D
S7-400: E, A, M, D,
T, Z
Puntatore sull'area di ricezione. L'indicazione
della lunghezza stabilisce la lunghezza
massima del blocco da ricevere.
Sono ammessi solo i tipi di dati BOOL (non
permesso: campo di bit), BYTE, CHAR, WORD,
INT, DWORD, DINT, REAL, DATE, TOD, TIME,
S5TIME, DATE_AND_TIME, COUNTER,
TIMER.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB deve
sempre essere specificato (p. es.: P#
DB10.DBX5.0 byte 10).
LEN
IN_OUT
WORD
E, A, M, D, L
Lunghezza in byte dei dati finora ricevuti
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
385
Comunicazione S7
22.7 Ricezione di dati a blocchi con l'SFB 13/FB "BRCV"
Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB/FB 13, che possono
essere emesse con i parametri ERROR e STATUS.
ERROR
STATUS
(decimale)
Spiegazione
0
11
Avviso: i dati in ingresso vengono già elaborati in una classe con priorità
minore.
0
17
Avviso: il blocco riceve dati in modo asincrono. Il parametro LEN mostra il
numero dei dati ricevuti finora in byte.
0
25
S7-300: comunicazione avviata. Elaborazione del job in corso.
0
25
Ricezione di dati in corso. Il parametro LEN indica il numero di dati finora
ricevuti in byte.
1
1
Problemi di comunicazione, p. es.
•
descrizione del collegamento non caricata (locale o remoto)
•
collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP)
•
collegamento con il partner non ancora creato
•
FB inon eseguibile su una
•
inoltre per S7-300:
-
numero massimo di ordini/istanze paralleli superato
1
2
Funzione non eseguibile (errore di protocollo)
1
4
Errore nei puntatori dell'area di ricezione RD_1 riguardanti la lunghezza o il tipo
di dati. Il blocco di dati trasmesso è più lungo dell'area di ricezione.
1
5
Richiesta di reset arrivata, trasferimento incompleto.
1
8
Errore di accesso all'SFB/FB 12 "BSEND". Dopo l'invio dell'ultimo segmento di
dati valido vengono segnalati ERROR = 1 e STATUS = 4 oppure ERROR = 1 e
STATUS = 10.
1
10
L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB
cancellato)
1
12
Per il richiamo di SFB/FB
1
18
•
è stato indicato un DB di istanza che non appartiene all'SFB 13
•
è stato indicato un DB globale al posto di un DB di istanza
•
non è stato trovato un DB di istanza (caricamento di un nuovo DB di
istanza dal PG)
•
R_ID esiste già nel collegamento.
•
inoltre per S7-300:
-
386
CPU S7-400
le istanze sono state sovraccaricate da CPU-RUN (è necessario un
passaggio da STOP a RUN della CPU o del CP.)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.7 Ricezione di dati a blocchi con l'SFB 13/FB "BRCV"
ERROR
STATUS
(decimale)
Spiegazione
1
20
•
S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la
memoria di lavoro fosse sufficiente: compressione della memoria di lavoro
•
Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento
poiché il buffer di comunicazione viene creato nella memoria di lavoro.
Durante l'aggiornamento non sono consentiti interventi che modificano la
memoria di lavoro.
•
1
27
S7-300:
-
Numero massimo di job paralleli/istanze superato
-
Le istanze sono state sovraccaricate da CPU-RUN (è necessario un
passaggio da STOP a RUN della CPU o del CP)
-
Possibile con il primo richiamo
-
Scarsità temporanea di memoria nel CP
Per questo blocco non esiste un codice funzione nella CPU.
Coerenza dei dati
I dati vengono ricevuti in modo coerente se si osserva il criterio seguente: analizzare completamente
la parte attualmente in uso dell'area di ricezione RD_1 prima di richiamare di nuovo il blocco con il
valore 1 sull'ingresso di comando EN_R.
Caso particolare di ricezione dati (solo S7-400)
Nel caso la CPU ricevente passa in stato di STOP con un blocco BRCV pronto alla ricezione (vale a
dire è già avvenuto un richiamo con EN_R = 1) prima che il relativo blocco mittente abbia inviato il
primo segmento dati di un job, avviene quanto segue:
•
i dati del primo job dopo la transizione della CPU ricevente allo stato STOP vengono introdotti
integralmente nell'area di ricezione
•
l'SFB partner "BSEND" ne riceve conferma positiva
•
altri job BSEND non possono essere più accettati dalla CPU ricevente nello stato STOP
•
fin tanto che essa si trova nello stato STOP, NDR e LEN hanno valore 0.
Affinché non vada persa l'informazione sui dati ricevuti, occorre eseguire un riavviamento della CPU
ricevente e richiamare l'SFB 13 "BRCV" con EN_R = 1.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
387
Comunicazione S7
22.8 Trasmissione non coordinata di dati con l'FB 28 "USEND_E"
22.8
Trasmissione non coordinata di dati con l'FB 28 "USEND_E"
Avvertenza
Attualmente l'FB 28 "USEND_E" supporta solo collegamenti tramite l'interfaccia PN.
Descrizione
L'FB 28 "USEND_E" trasmette dati a un partner FB remoto del tipo "URCV_E". La trasmissione non è
coordinata con l'FB partner, ovvero quest'ultimo non deve confermare la trasmissione dei dati.
La trasmissione ha luogo dopo un fronte di salita nell'ingresso di comando REQ. I dati da trasmettere
vengono indirizzati dai parametri SD_1, ... SD_4, anche se questi quattro parametri di trasmissione
non devono essere tutti occupati.
Tuttavia occorre fare attenzione che le aree definite dai parametri da SD_1 a SD_4 e da RD_1 a
RD_4 (nel corrispondente FB partner "URCV_E") coincidano per quanto riguarda:
•
numero
•
lunghezza
•
tipo di dati.
Il parametro R_ID deve essere identico per entrambi gli FB.
Un 1 logico nel parametro di stato DONE indica che l'operazione di trasmissione si è conclusa
correttamente.
388
Parametri
Dichiarazione
Tipo di
dati
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
Parametro di comando Request; attiva lo scambio
dei dati con fronte di salita.
ID
INPUT
WORD
M, D, cost.
Parametro di indirizzamento ID; vedere Parametri
comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
R_ID
INPUT
DWORD
E, A, M, D, L, cost.
Parametro di indirizzamento R_ID; vedere
Parametri comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
DONE
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato DONE:
0:
Job non ancora avviato o ancora in
esecuzione
1:
Job eseguito senza errori.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.8 Trasmissione non coordinata di dati con l'FB 28 "USEND_E"
Parametri
Dichiarazione
Tipo di
dati
Area di memoria
Descrizione
ERROR
OUTPUT
BOOL
E, A, M, D, L
STATUS
OUTPUT
WORD
E, A, M, D, L
Parametri di stato ERROR e STATUS;
segnalazione di errore:
ERROR=0
STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS fornisce
informazioni dettagliate sul tipo di errore.
SD_i
IN_OUT
ANY
E, A, M, D, T, Z
(1≤ i ≤4)
Puntatore all'i - esima area di trasmissione.
Sono ammessi solo i tipi di dati BOOL (non
permesso: campo di bit), BYTE, CHAR, WORD,
INT, DWORD, DINT, REAL, DATE, TOD, TIME,
S5TIME, DATE_AND_TIME, COUNTER, TIMER.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB deve
sempre essere specificato (p. es.: P#
DB10.DBX5.0 byte 10).
Informazioni di errore
ERROR
STATUS
(decimale)
0
11
Spiegazione
Avviso:
•
Il nuovo job non è valido in quanto quello precedente non è ancora terminato.
•
Il job viene già elaborato in una classe di priorità minore.
0
25
È stata avviata la comunicazione. Il job è in corso di esecuzione.
1
1
Problemi di comunicazione, p. es.
•
descrizione del collegamento non caricata (locale o remoto)
•
collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP)
•
collegamento con il partner non ancora creato
•
FB non eseguibile su una CPU S7-400
•
numero massimo di ordini/istanze paralleli superato
1
4
Errore nei puntatori dell'area di trasmissione SD_i riguardanti la lunghezza o il tipo di
dati.
1
10
L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB
cancellato).
1
12
Al richiamo dell'FB
•
è stato indicato un DB di istanza che non appartiene all'FB "USEND_E"
•
è stato indicato un DB globale e non un DB di istanza
•
è stato trovato un DB di istanza (caricamento di un nuovo DB di istanza dal PG)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
389
Comunicazione S7
22.8 Trasmissione non coordinata di dati con l'FB 28 "USEND_E"
ERROR
STATUS
(decimale)
Spiegazione
1
18
•
R_ID esiste già nell'ID del collegamento.
•
Le istanze sono state sovraccaricate in CPU-RUN (è necessario un passaggio
da STOP a RUN della CPU o del CP.)
•
Numero massimo di ordini/istanze paralleli superato
•
Le istanze sono state sovraccaricate in CPU-RUN (è necessario un passaggio
da STOP a RUN della CPU o del CP.)
•
Possibile con il primo richiamo
1
1
20
27
Per questo blocco non esiste un codice funzione nella CPU.
Coerenza dei dati attraverso un'interfaccia integrata
Quando si attiva un'operazione di trasmissione (fronte di salita in REQ), i dati da inviare delle aree di
trasmissione SD_i vengono copiati dal programma utente. È possibile riscrivere queste aree dopo il
richiamo del blocco senza falsare i dati di invio attuali.
Avvertenza
L'intera operazione di trasmissione è da considerarsi conclusa solo quando il parametro di stato
DONE assume il valore 1.
390
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.9 Ricezione non coordinata di dati con l'FB 29 "URCV_E"
22.9
Ricezione non coordinata di dati con l'FB 29 "URCV_E"
Avvertenza
Attualmente l'FB 29 "URCV_E" supporta solo collegamenti tramite l'interfaccia PN.
Descrizione
L'FB 29 "URCV_E" riceve in modo asincrono i dati da un FB partner remoto del tipo "USEND_E" e li
copia nelle aree di ricezione progettate.
Il blocco è pronto a ricevere quando nell'ingresso EN_R è presente un 1 logico. Con EN_R=0 è
possibile interrompere un job in corso.
Le aree di ricezione vengono indirizzate dai parametri RD_1, ... RD_4.
Occorre fare attenzione che le aree definite dai parametri RD_i e SD_i (nel relativo FB partner
"USEND_E") coincidano per quanto riguarda:
•
numero
•
lunghezza
•
tipo di dati.
Un 1 logico nel parametro di stato NDR indica che l'operazione di trasmissione si è conclusa
correttamente.
Il parametro R_ID deve essere identico per entrambi gli FB.
Parametri
Dichiaraz Tipo di
ione
dati
Area di memoria
Descrizione
EN_R
INPUT
BOOL
E, A, M, D, L
Parametro di comando enabled to receive;
segnala la disponibilità a ricevere quando
l'ingresso è impostato.
ID
INPUT
WORD
M, D, cost.
Parametro di indirizzamento ID, vedere Parametri
comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
R_ID
INPUT
DWORD
E, A, M, D, L, cost.
Parametro di indirizzamento R_ID, vedere
Parametri comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
NDR
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato NDR:
0:
Job non ancora avviato o ancora in
esecuzione
1:
Job eseguito senza errori.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
391
Comunicazione S7
22.9 Ricezione non coordinata di dati con l'FB 29 "URCV_E"
Parametri
Dichiaraz Tipo di
ione
dati
Area di memoria
Descrizione
ERROR
OUTPUT
BOOL
E, A, M, D, L
STATUS
OUTPUT
WORD
E, A, M, D, L
Parametri di stato ERROR e STATUS;
segnalazione di errore:
ERROR=0
STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS fornisce
informazioni dettagliate sul tipo di errore.
RD_i
(1≤ i ≤4)
IN_OUT
ANY
E, A, M, D, T, Z
Puntatore all'i - esima area di trasmissione.
Sono ammessi solo i tipi di dati BOOL (non
permesso: campo di bit), BYTE, CHAR, WORD,
INT, DWORD, DINT, REAL, DATE, TOD, TIME,
S5TIME, DATE_AND_TIME, COUNTER, TIMER.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB deve
sempre essere specificato (p. es.: P#
DB10.DBX5.0 byte 10).
392
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.9 Ricezione non coordinata di dati con l'FB 29 "URCV_E"
Informazioni di errore
ERROR
STATUS
(decimale)
Spiegazione
0
9
Avviso di overrun: dati di ricezione precedenti sono stati sovrascritti da dati di
ricezione piú recenti.
0
11
Avviso: i dati in ingresso vengono già elaborati in una classe con priorità minore.
0
25
È stata avviata la comunicazione. Il job è in corso di esecuzione.
1
1
Problemi di comunicazione, p. es.
•
descrizione del collegamento non caricata (locale o remoto)
•
collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP)
•
collegamento con il partner non ancora creato
•
FB non eseguibile su una CPU S7-400
•
numero massimo di ordini/istanze paralleli superato
1
4
Errore nei puntatori dell'area di ricezione RD_i riguardanti la lunghezza o il tipo di
dati.
1
10
L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB
cancellato).
1
12
1
18
Al richiamo dell'FB
•
è stato indicato un DB di istanza che non appartiene all'FB "URCV_E"
•
è stato indicato un DB globale e non un DB di istanza
•
non è stato trovato un DB di istanza (caricamento di un nuovo DB di istanza
dal PG)
•
R_ID esiste già nell'ID del collegamento
•
Le istanze sono state sovraccaricate in CPU-RUN (è necessario un passaggio
da STOP a RUN della CPU o del CP.)
1
19
L'FB "USEND_E" corrispondente trasmette i dati più velocemente di quanto questi
possano essere copiati nelle aree di ricezione dall'FB "URCV_E".
1
20
•
Numero massimo di ordini/istanze paralleli superato
•
Le istanze sono state sovraccaricate in CPU-RUN (è necessario un passaggio
da STOP a RUN della CPU o del CP.)
•
Possibile con il primo richiamo
1
27
Per questo blocco non esiste un codice funzione nella CPU.
Coerenza dei dati
I dati ricevuti sono coerenti se si osservano i criteri seguenti.
Dopo che il parametro di stato NDR ha assunto il valore 1, nelle aree di ricezione (RD_i) si trovano
nuovi dati. Un nuovo richiamo di blocco potrebbe sovrascrivere questi dati con nuovi dati di ricezione.
Per evitare che ciò si verifichi, richiamare l'FB 29 "URCV_E" con il valore 0 su EN_R finché (p. es. con
l'elaborazione ciclica del blocco) l'elaborazione dei dati di ricezione si conclude.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
393
Comunicazione S7
22.10 Lettura dei dati da una CPU remota con l'FB 34 "GET_E"
22.10 Lettura dei dati da una CPU remota con l'FB 34 "GET_E"
Avvertenza
Attualmente l'FB 34 "GET_E" supporta solo collegamenti tramite l'interfaccia PN.
Descrizione
L'FB 34 "GET_E" consente di leggere i dati di una CPU remota.
In presenza di un fronte di salita nell'ingresso di comando REQ, l'FB viene avviato e i puntatori
rilevanti sulle aree da leggere (ADDR_i) vengono trasmessi alla CPU partner.
Il partner remoto ritrasmette i contenuti dei dati.
Al successivo richiamo dell'FB i dati ricevuti vengono copiati nelle aree di ricezione progettate (RD_i).
È necessario accertarsi che le aree definite con i parametri ADDR_i e RD_i siano compatibili per
numero, lunghezza e tipo di dati.
Il termine dell'operazione viene segnalato da un "1" nel parametro di stato NDR.
L'operazione di lettura può essere riattivata solo al termine della lettura precedente.
La CPU remota può trovarsi in stato di funzionamento RUN o STOP.
Se si verificano problemi di accesso durante la lettura dei dati o se viene rilevato un errore durante il
controllo del tipo di dati, vengono segnalati errori o avvisi nei parametri ERROR e STATUS.
Parametri
Dichiaraz Tipo di
ione
dati
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
Parametro di comando Request; attiva lo scambio
dei dati con fronte di salita.
ID
INPUT
WORD
M, D, cost.
Parametro di indirizzamento ID; vedere Parametri
comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
NDR
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato NDR:
ERROR
OUTPUT
BOOL
E, A, M, D, L
STATUS
OUTPUT
WORD
E, A, M, D, L
0:
Job non ancora avviato o ancora in
esecuzione
1:
Job eseguito senza errori.
Parametri di stato ERROR e STATUS;
segnalazione di errore:
ERROR=0
STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate.
ERROR=1
Si è verificato un errore. STATUS fornisce
informazioni dettagliate sul tipo di errore.
394
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.10 Lettura dei dati da una CPU remota con l'FB 34 "GET_E"
Parametri
Dichiaraz Tipo di
ione
dati
ADDR_i
IN_OUT
ANY
(1≤ i ≤4)
Area di memoria
Descrizione
S7-400:
Puntatori sulle aree della CPU partner che
devono essere lette.
E, A, M, D, T, Z
RD_i
IN_OUT
ANY
E, A, M, D, T, Z
(1≤ i ≤4)
Puntatori sulle aree della CPU utente in cui
vengono memorizzati i dati letti.
Sono ammessi solo i tipi di dati BOOL (non
permesso: campo di bit), BYTE, CHAR, WORD,
INT, DWORD, DINT, REAL, COUNTER, TIMER.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB deve
sempre essere specificato (p. es.: P#
DB10.DBX5.0 byte 10).
Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche dell'FB 34 che possono essere
emesse con i parametri ERROR e STATUS.
ERROR
STATUS
(decimale)
0
11
Spiegazione
Avviso:
•
Il nuovo job non è valido in quanto quello precedente non è ancora terminato.
•
Il job viene già elaborato in una classe di priorità minore.
0
25
È stata avviata la comunicazione. Il job è in corso di esecuzione.
1
1
Problemi di comunicazione, p. es.
•
descrizione del collegamento non caricata (locale o remoto)
•
collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP)
•
collegamento con il partner non ancora creato
•
FB non eseguibile su una CPU S7-400
•
numero massimo di ordini/istanze paralleli superato.
1
2
Conferma negativa del dispositivo partner. Non è possibile eseguire la funzione.
1
4
Errore nei puntatori dell'area di ricezione RD_i riguardanti la lunghezza o il tipo di
dati.
1
8
Errore di accesso nella CPU partner.
1
10
L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB
cancellato).
1
12
Al richiamo dell'FB
•
è stato indicato un DB di istanza che non appartiene all'FB 34
•
è stato indicato un DB globale e non un DB di istanza
•
non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza
dal PG).
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
395
Comunicazione S7
22.10 Lettura dei dati da una CPU remota con l'FB 34 "GET_E"
ERROR
STATUS
(decimale)
Spiegazione
1
20
•
Numero massimo di ordini/istanze paralleli superato
•
Le istanze sono state sovraccaricate in CPU-RUN (è necessario un passaggio
da STOP a RUN della CPU o del CP.)
•
Possibile con il primo richiamo
1
27
Per questo blocco non esiste un codice funzione nella CPU.
Coerenza dei dati
I dati ricevuti sono coerenti se si osserva quanto segue.
Analizzare completamente la parte attualmente in uso dell'area di ricezione RD_i prima di attivare un
nuovo job.
396
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.11 Scrittura di dati in una CPU remota con l'FB 35 "PUT_E"
22.11 Scrittura di dati in una CPU remota con l'FB 35 "PUT_E"
Avvertenza
Attualmente l'FB 35 "PUT_E" supporta solo collegamenti tramite l'interfaccia PN.
Descrizione
L'FB 35 "PUT_E" consente di scrivere dati in una CPU remota.
In presenza di un fronte di salita nell'ingresso di comando REQ, l'FB viene avviato e i puntatori sulle
aree da scrivere (ADDR_i) e i dati (SD_i) vengono trasmessi alla CPU partner.
Il partner remoto colloca i dati inviati negli indirizzi indicati e invia una conferma di esecuzione
avvenuta.
Occorre fare attenzione che le aree definite tramite i parametri ADDR_i e SD_i siano compatibili per
numero, lunghezza e tipo di dati.
Se non si sono verificati errori, al successivo richiamo dell'FB il parametro di stato DONE indica 1.
L'operazione di scrittura può essere riattivata solo al termine della scrittura precedente.
La CPU remota può trovarsi in stato di funzionamento RUN o STOP.
Se si verificano problemi di accesso durante la scrittura dei dati o se viene rilevato un errore durante il
controllo della conferma di esecuzione, vengono segnalati errori o avvisi nei parametri ERROR e
STATUS.
Parametri
Dichiaraz Tipo di
ione
dati
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
Parametro di comando Request; attiva lo scambio
dei dati con fronte di salita.
ID
INPUT
WORD
M, D, cost.
Parametro di indirizzamento ID; vedere Parametri
comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
DONE
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato DONE:
ERROR
OUTPUT
BOOL
E, A, M, D, L
STATUS
OUTPUT
WORD
E, A, M, D, L
0:
Job non ancora avviato o ancora in corso
1:
Job eseguito senza errori.
Parametri di stato ERROR e STATUS;
segnalazione di errore:
ERROR=0
STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate.
ERROR=1
Si è verificato un errore. STATUS fornisce
informazioni dettagliate sul tipo di errore.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
397
Comunicazione S7
22.11 Scrittura di dati in una CPU remota con l'FB 35 "PUT_E"
Parametri
Dichiaraz Tipo di
ione
dati
Area di memoria
Descrizione
ADDR_i
IN_OUT
ANY
E, A, M, D, T, Z
Puntatore sulle aree da scrivere nella CPU
partner.
IN_OUT
ANY
E, A, M, D, T, Z
Puntatori sulle aree della CPU utente che
contengono i dati da inviare.
(1≤ i ≤4)
SD_i
(1≤ i ≤4)
Sono ammessi solo i tipi di dati BOOL (non
permesso: campo di bit), BYTE, CHAR, WORD,
INT, DWORD, DINT, REAL, COUNTER, TIMER.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB deve
sempre essere specificato (p. es.: P#
DB10.DBX5.0 byte 10).
398
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.11 Scrittura di dati in una CPU remota con l'FB 35 "PUT_E"
Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche dell'FB 35 che possono essere
emesse con i parametri ERROR e STATUS.
ERROR
STATUS
(decimale)
0
11
Spiegazione
Avviso:
•
Il nuovo job non è valido in quanto quello precedente non è ancora terminato.
•
Il job viene già elaborato in una classe di priorità minore.
0
25
È stata avviata la comunicazione. Il job è in corso di esecuzione.
1
1
Problemi di comunicazione, p. es.
•
descrizione del collegamento non caricata (locale o remoto)
•
collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP)
•
collegamento con il partner non ancora creato
•
FB non eseguibile su una CPU S7-400
•
numero massimo di ordini/istanze paralleli superato.
1
2
Conferma negativa dal dispositivo partner. Non è possibile eseguire la funzione.
1
4
Errore nei puntatori dell'area di trasmissione SD_i riguardanti la lunghezza o il tipo
di dati
1
8
Errore di accesso nella CPU partner
1
10
L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB
cancellato)
1
12
Al richiamo dell'FB
1
1
20
27
•
è stato indicato un DB di istanza che non appartiene all'FB 35
•
è stato indicato un DB globale e non un DB di istanza
•
non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza
dal PG)
•
Numero massimo di ordini/istanze paralleli superato
•
Le istanze sono state sovraccaricate in CPU-RUN (è necessario un passaggio
da STOP a RUN della CPU o del CP.)
•
Possibile con il primo richiamo
Per questo blocco non esiste un codice funzione nella CPU.
Coerenza dei dati attraverso un'interfaccia integrata
Quando si attiva un'operazione di trasmissione (fronte di salita in REQ), i dati da inviare delle aree di
trasmissione SD_i vengono copiati dal programma utente. È possibile riscrivere queste aree dopo il
richiamo del blocco senza falsare i dati di invio attuali.
Avvertenza
L'intera operazione di trasmissione è da considerarsi conclusa solo quando il parametro di stato
DONE assume il valore 1.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
399
Comunicazione S7
22.12 Scrittura di dati in una CPU remota con l'SFB/FB 15 "PUT"
22.12 Scrittura di dati in una CPU remota con l'SFB/FB 15 "PUT"
Descrizione
Con l'SFB/FB 15 "PUT" è possibile scrivere dati in una CPU remota.
S7-300: l'operazione di trasmissione avviene dopo un fronte di salita a REQ. Con ogni fronte di salita
a REQ vengono ripresi i parametri ID, ADDR_1 e SD_1. Al termine di un job è possibile assegnare
nuovi valori ai parametri ID, ADDR_1 e SD_1.
S7-400: in presenza di un fronte di salita nell'ingresso di comando REQ, l'SFB viene avviato e i
puntatori sulle aree da scrivere (ADDR_i) e i dati (SD_i) vengono trasmessi alla CPU partner.
Il partner remoto colloca i dati inviati negli indirizzi indicati e invia una conferma di esecuzione
avvenuta.
Occorre fare attenzione che le aree definite tramite i parametri ADDR_i e SD_i siano compatibili per
numero, lunghezza e tipo di dati.
La conferma di esecuzione viene analizzata e, se non si sono verificati errori, al successivo richiamo
dell'SFB/FB il parametro di stato DONE indica 1.
L'operazione di scrittura può essere riattivata solo al termine della scrittura precedente.
La CPU remota può trovarsi in stato di funzionamento RUN o STOP.
Se si verificano problemi di accesso durante la lettura dei dati o se viene rilevato un errore durante il
controllo del tipo di dati, vengono segnalati errori o avvisi nei parametri ERROR e STATUS.
Parametri
Dichiarazione
Tipo
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
Parametro di comando Request; attiva lo
scambio dei dati con fronte di salita.
ID
INPUT
WORD
M, D, cost.
Parametro di indirizzamento ID; vedere
Parametri comuni agli SFB/FB e alle SFC/FC
di comunicazione S7
DONE
OUTPUT
BOOL
E, A, M, D, L
ERROR
OUTPUT
BOOL
E, A, M, D, L
STATUS
OUTPUT
WORD
E, A, M, D, L
Parametro di stato DONE:
0:
Job non ancora avviato o ancora in corso
1:
Job concluso senza errori
Parametri di stato ERROR e STATUS;
segnalazione di errore:
ERROR=0
STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul
tipo di errore.
400
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.12 Scrittura di dati in una CPU remota con l'SFB/FB 15 "PUT"
Parametri
Dichiarazione
Tipo
Area di memoria
Descrizione
S7-300:
IN_OUT
ANY
M, D
Puntatore sulle aree da scrivere nella CPU
partner.
ADDR_1
E, A, M, D, T, Z
S7-400:
ADDR_i
(1≤ i ≤4)
S7-300:
IN_OUT
ANY
SD_1
S7-300:
M, D
S7-400:
S7-400:
SD_i
E, A, M, D, T, Z
(1≤ i ≤4)
Puntatori sulle aree della CPU utente che
contengono i dati da inviare.
Sono ammessi solo i tipi di dati BOOL (non
permesso: campo di bit), BYTE, CHAR,
WORD, INT, DWORD, DINT, REAL,
COUNTER, TIMER.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB
deve sempre essere specificato (p. es.: P#
DB10.DBX5.0 byte 10).
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
401
Comunicazione S7
22.12 Scrittura di dati in una CPU remota con l'SFB/FB 15 "PUT"
Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB/FB 15 che possono
essere emesse con i parametri ERROR e STATUS.
ERROR
STATUS
(decimale)
0
11
Spiegazione
Avviso:
•
Il nuovo job non è valido in quanto quello precedente non è ancora terminato.
•
Il job viene già elaborato in una classe con priorità minore.
0
25
È stata avviata la comunicazione. Il job è in corso di esecuzione.
1
1
Problemi di comunicazione, p. es.
•
descrizione del collegamento non caricata (locale o remoto)
•
collegamento interrotto ( p. es. cavo, CPU spenta, CP in STOP)
•
collegamento con il partner non ancora creato
•
FB inon eseguibile su una
•
inoltre per S7-300:
-
numero massimo di ordini/istanze paralleli superato
1
2
Conferma negativa dal dispositivo partner. Non è possibile eseguire la funzione.
1
4
Errore nei puntatori dell'area di ricezione SD_i riguardanti la lunghezza o il tipo di
dati.
1
8
Errore di accesso nella CPU partner
1
10
L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB
cancellato)
1
12
1
20
Al richiamo dell'SFB/FB
•
è stato indicato un DB di istanza che non appartiene all'SFB/FB 15
•
è stato indicato un DB globale e non un DB di istanza
•
non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza
dal PG)
•
S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di
lavoro fosse sufficiente: compressione della memoria di lavoro
•
Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento
poiché il buffer di comunicazione viene creato nella memoria di lavoro.
Durante l'aggiornamento non sono consentiti interventi che modificano la
memoria di lavoro.
•
1
402
CPU S7-400
27
S7-300:
-
Numero massimo di job paralleli/istanze superato
-
Le istanze sono state sovraccaricate da CPU-RUN (è necessario un
passaggio da STOP a RUN della CPU o del CP)
-
Possibile con il primo richiamo
Per questo blocco non esiste un codice funzione nella CPU.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.12 Scrittura di dati in una CPU remota con l'SFB/FB 15 "PUT"
Coerenza dei dati nelle S7-300:
Per garantire la coerenza dei dati, è possibile riscrivere l'area di trasmissione SD_1 solo dopo che è
stata conclusa l'attuale procedura di trasmissione, quando cioè il parametro di stato DONE assume il
valore 1.
Coerenza dei dati nelle S7-400 e S7-300 mediante interfaccia integrata:
Quando si attiva un'operazione di trasmissione (fronte di salita a REQ), i dati da inviare delle aree di
trasmissione SD_i vengono copiati dal programma utente. È possibile riscrivere queste aree dopo il
richiamo del blocco senza falsare i dati di invio attuali.
Avvertenza
L'intera trasmissione può considerarsi conlcusa il parametro di stato DONE assume il valore 1.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
403
Comunicazione S7
22.13 Lettura dei dati di una CPU remota con l'SFB/FB 14 "GET"
22.13 Lettura dei dati di una CPU remota con l'SFB/FB 14 "GET"
Descrizione
Con l'SFB/FB 14 "GET" si possono leggere i dati di una CPU remota.
S7-300: l'operazione di lettura ha luogo dopo un fronte di salita a REQ. Con ogni fronte di salita a
REQ vengono ripresi i parametri ID, ADDR_1 e RD_1. Al termine di un job è possibile assegnare
nuovi valori ai parametri ADDR_1 e RD_1.
S7-400: in presenza di un fronte di salita nell'ingresso di comando REQ, l'SFB/FB viene avviato e i
puntatori rilevanti sulle aree da leggere (ADDR_i) vengono trasmessi alla CPU partner.
Il partner remoto ritrasmette i contenuti dei dati.
Al successivo richiamo dell'SFB/FB i dati ricevuti vengono copiati nelle aree di ricezione progettate
(RD_i).
È necessario accertarsi che le aree definite con i parametri ADDR_i e RD_i siano compatibili per
numero, lunghezza e tipo di dati.
Il termine dell'operazione viene segnalato da un "1" nel parametro di stato NDR.
L'operazione di lettura può essere riattivata solo al termine della lettura precedente.
Se si verificano problemi di accesso durante la lettura dei dati o se viene rilevato un errore durante il
controllo del tipo di dati, vengono segnalati errori o avvisi nei parametri ERROR e STATUS.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
Parametro di comando Request; attiva lo
scambio dei dati con fronte di salita.
ID
INPUT
WORD
M, D, cost.
Parametro di indirizzamento ID; vedere
Parametri comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
NDR
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato NDR:
ERROR
OUTPUT
BOOL
E, A, M, D, L
STATUS
OUTPUT
WORD
E, A, M, D, L
0:
Job non ancora avviato o ancora in
esecuzione
1:
Job eseguito senza errori.
Parametri di stato ERROR e STATUS;
segnalazione di errore:
ERROR=0
STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul tipo
di errore.
404
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.13 Lettura dei dati di una CPU remota con l'SFB/FB 14 "GET"
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
S7-300:
IN_OUT
S7-300:
Puntatori sulle aree della CPU partner che
devono essere lette.
ANY
ADDR_1
M, D
S7-400:
S7-400:
ADDR_i
E, A, M, D, T, Z
(1≤ i ≤4)
S7-300:
IN_OUT
ANY
RD_1
S7-300:
M, D
S7-400:
S7-400:
RD_i
E, A, M, D, T, Z
(1≤ i ≤4)
Puntatori sulle aree della CPU utente in cui
vengono memorizzati i dati letti.
Sono ammessi solo i tipi di dati BOOL (non
permesso: campo di bit), BYTE, CHAR, WORD,
INT, DWORD, DINT, REAL, COUNTER,
TIMER.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB deve
sempre essere specificato (p. es.: P#
DB10.DBX5.0 byte 10).
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
405
Comunicazione S7
22.13 Lettura dei dati di una CPU remota con l'SFB/FB 14 "GET"
Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB/FB 14 che possono
essere emesse con i parametri ERROR e STATUS.
ERROR
STATUS
(decimale)
0
11
1
1
Spiegazione
Avviso:
•
Il nuovo job non è valido in quanto quello precedente non è ancora terminato.
•
Il job viene già elaborato in una classe con priorità minore.
•
Problemi di comunicazione, p. es.
•
descrizione del collegamento non caricata (locale o remoto)
•
collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP)
•
collegamento con il partner non ancora creato
•
FB inon eseguibile su una
•
inoltre per S7-300:
-
CPU S7-400
numero massimo di ordini/istanze paralleli superato
1
2
Non è possibile eseguire la funzione.
1
4
Errore nei puntatori dell'area di ricezione RD_i riguardanti la lunghezza o il tipo di
dati.
1
8
Errore di accesso nella CPU partner.
1
10
L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB
cancellato)
1
12
Al richiamo dell'SFB/FB
1
1
20
27
•
è stato indicato un DB di istanza che non appartiene all'SFB 14
•
è stato indicato un DB globale e non un DB di istanza
•
non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza
dal PG)
•
S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di
lavoro fosse sufficiente: compressione della memoria di lavoro
•
Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento
poiché il buffer di comunicazione viene creato nella memoria di lavoro.
Durante l'aggiornamento non sono consentiti interventi che modificano la
memoria di lavoro.
•
S7-300:
-
Numero massimo di job paralleli/istanze superato
-
Le istanze sono state sovraccaricate da CPU-RUN (è necessario un
passaggio da STOP a RUN della CPU o del CP)
-
Possibile con il primo richiamo
Per questo blocco non esiste un codice funzione nella CPU.
Coerenza dei dati
I dati ricevuti sono coerenti se si osserva quanto segue.
Analizzare completamente la parte attualmente in uso dell'area di ricezione RD_i prima di attivare un
nuovo job.
406
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT"
22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT"
Descrizione
Con l'aiuto dell'SFB 16 "PRINT" è possibile trasmettere dati con un'informazione per la formattazione
ad una stampante remota.
Se all'ingresso di comando REQ è presente un fronte di salita, la descrizione di formato (FORMAT) e i
dati (SD_i) vengono trasmessi alla stampante selezionata tramite ID e PRN_NR.
Se non vengono utilizzate tutte e quattro le aree di trasmissione, si deve fare attenzione che la prima
area venga scritta dal parametro SD_1, la seconda (se disponibile) da SD_2 e la terza (se disponibile)
da SD_3.
Se il job è stato eseguito con successo il parametro di stato DONE visualizza 1, mentre eventuali
errori vengono visualizzati tramite i parametri di stato ERROR e STATUS.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
Request parametro di comando, attiva lo
scambio dei dati con fronte di salita.
ID
INPUT
WORD
M, D, cost.
Parametro di indirizzamento ID, vedere
Parametri comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
DONE
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato DONE:
ERROR
OUTPUT
BOOL
E, A, M, D, L
STATUS
OUTPUT
WORD
E, A, M, D, L
0:
Job non ancora avviato o ancora in
esecuzione
1:
Job eseguito senza errori.
Parametri di stato ERROR e STATUS;
segnalazione di errore:
ERROR=0
STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul tipo
di errore.
PRN_NR
IN_OUT
BYTE
FORMAT
IN_OUT
STRING E, A, M, D, L
Descrizione formato
SD_i
IN_OUT
ANY
Puntatore all'i - esima area di trasmissione
(1≤ i ≤4)
E, A, M, D. L
M, D, T, Z
Numero stampante
Sono ammessi solo i tipi di dati BOOL (non
permesso: campo di bit), BYTE, WORD, INT,
DWORD, DINT, REAL, DATE, TOD, TIME,
S5TIME, DATE_AND_TIME.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB deve
sempre essere specificato (p. es.: p#
DB10.DBX5.0 byte 10).
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
407
Comunicazione S7
22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT"
Parametro di transito FORMAT
La stringa di caratteri FORMAT contiene caratteri da stampare e elementi di formato. Essa ha la
seguente struttura:
Caratteri
Istruzione di conversione
Istruzione di comando
Per ogni area di trasmissione da stampare, da SD_1 a SD_4, deve essere disponibile in FORMAT
un'istruzione di conversione. Le istruzioni di conversione vengono applicate alle aree di trasmissione
SD_i in base alla loro successione. Caratteri e istruzioni possono invece susseguirsi a piacere.
•
Caratteri
Sono ammessi
•
-
tutti i caratteri stampabili
-
$$ (carattere per dollari), $' (virgoletta semplice),
-
$L e $l (line feed), $P e $p (page), $R e $r (carriage return),
-
$T e $t (tabulatore)
Istruzioni di conversione
%
408
Flag
Ampiezza
.
Precisione
Modo di rappresentazione
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT"
Elementi di una istruzione
di conversione
Significato
Flag
•
Senza:
emissione con allineamento a destra
•
-:
emissione con allineamento a sinistra
•
senza:
emissione nella rappresentazione standard
•
n:
vengono emessi esattamente n caratteri.
Ampiezza
Nell'emissione con allineamento a destra eventualmente vengono collocati
prima dei caratteri vuoti; nell'emissione con allineamento a sinistra questi
vengono collocati dopo
Precisione
La precisione è di rilievo solo nei modi di rappresentazione A, D, F, e R (vedi
tabella seguente).
Modo di rappresentazione
senza:
emissione nella rappresentazione standard
0:
nessuna emissione del punto di decimale e della cifra decimale nei
modi di rappresentazione F e R
n:
•
in F e R: emissione del punto di decimale e di n cifre
decimali
•
in A e D (data): numero dei posti per la data. Valori possibili: 2
e 4.
La tabella seguente contiene:
•
i modi di rappresentazione possibili
•
per ogni modo di rappresentazione i tipi di dati possibili
•
per ogni tipo di rappresentazione la rappresentazione standard
(l'emissione della stampante avviene nella rappresentazione standard, se
nel parametro FORMAT non sono stati indicati né ampiezza né precisione)
e nella sua lunghezza massima.
La tabella sottostante indica i tipi di rappresentazione possibili nelle istruzioni di conversione del
parametro FORMAT
Rappresentazione
Possibili tipi di
dati
A, a
DATE
Esempio
Lunghezza
Osservazioni
25.07.1996
10
-
K
1
-
DWORD
C, c
CHAR
BYTE
M
1
WORD
KL
2
DWORD
KLMN
4
ARRAY of CHAR
KLMNOP
Numero carattteri
1996-07-25
10
-
0.345678
8
-
ARRAY of BYTE
D, d
DATE
F, f
REAL
DWORD
DWORD
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
409
Comunicazione S7
22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT"
Rappresentazione
Possibili tipi di
dati
Esempio
Lunghezza
Osservazioni
H, h
Tutti i tipi di dati incl.
ARRAY of BYTE
In funzione del tipo
di dati
In funzione del tipo
di dati
Rappresentazione
esadecimale
I, i
INT
- 32 768
max. 6
-
WORD
- 2 147 483 648
max. 11
N, n
WORD
emissione testo
-
L'area di trasmissione
relativa SD_i contiene un
riferimento (numero) ad un
testo da stampare. Il testo
è posto sull'unità (p. es.
CPU 441) che genera una
stringa di caratteri
stampabili. Se sotto il
numero indicato non viene
trovato alcun testo, viene
emesso ******.
R, r
REAL
0.12E-04
8
-
DWORD
S, s
STRING
emissione testo
-
T, t
TIME
2d_3h_10m_5s_25 max. 21
0ms
In caso di errori viene
emesso
255
max. 3
-
WORD
65 535
max. 5
DWORD
4 294 967 295
max. 10
BOOL
1
1
BYTE
101 ..
8
WORD
101 ..
16
DWORD
101 ..
32
TIME_OF_DAY (TOD)
15:38:59.874
12
DWORD
U, u
X, x
Z, z
BYTE
-
-
Nella tabella, nei punti in cui viene indicata la lunghezza massima della rappresentazione standard, l'effettiva
emissione può anche essere più corta.
Avvertenza
Nei tipi di dati C e S dipende dalla stampante collegata
410
•
quali dati possono essere stampati
•
ciò che la stampante emette nel caso di caratteri non stampabili, a meno che il driver stampante
non contenga una tabella di trasformazione per questi caratteri.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT"
•
Istruzione di comando
Con l'aiuto delle istruzioni di comando potete:
\
-
stampare i caratteri % e \
-
modificare le impostazioni della stampante
Emissione del carattere %
Emissione del carattere \
attivare
disattivare
%
\
Grassetto
b
-
B
Scrittura ridotta
c
Scrittura espansa
e
E
corsivo
i
I
maiuscoletto
k
K
sottolineato
u
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
411
Comunicazione S7
22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT"
Quando viene richiesta la disattivazione di un tipo di carattere sebbene questo non sia mai stato
attivato, o quando deve essere eseguita una funzione che la stampante non conosce, l'istruzione di
comando viene ignorata.
Errore
Emissione stampante
Istruzione di conversione non eseguibile
Emissione di caratteri * in base alla lunghezza
(massima) della rappresentazione standard o
all'ampiezza indicata.
Ampiezza indicata non sufficiente
412
Nei modi di rappresentazione A, C, D, N, S, T, Z
vengono emessi tanti caratteri quanti ne prevede
l'ampiezza indicata. In tutti gli altri modi di
rappresentazione vengono emessi caratteri * in base
all'ampiezza indicata.
Troppe istruzioni di conversione
Le istruzioni di conversione a cui non appartiene alcun
puntatore dell'area di trasmissione SD_i, vengono
ignorate.
Insufficienti istruzioni di conversione
Le aree di trasmissione per le quali non è presente
alcuna istruzione di conversione non vengono emesse
Istruzioni di conversione non definite o non sopportate
Viene emesso ******
Istruzioni di conversione incomplete
Viene emesso ******
Istruzioni di comando non definite o non sopportate
Le istruzioni di comando che non corrispondono alla
sintassi della figura sopra vengono ignorate
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.14 Invio di dati ad una stampante con l'SFB 16 "PRINT"
Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 16 "PRINT" che
possono essere emesse tramite i parametri ERROR e STATUS
ERROR
STATUS
(decimale)
0
11
0
25
1
1
Spiegazione
Avviso:
•
Il nuovo job non è valido in quanto quello precedente non è ancora
terminato.
•
Il job viene già elaborato in una classe con priorità minore.
È stata avviata la comunicazione. Il job è in corso di esecuzione.
Problemi di comunicazione, p. es.
•
descrizione del collegamento non caricata (locale o remoto)
•
collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP)
1
2
Conferma negativa dalla stampante. Non è possibile eseguire la funzione.
1
3
PRN_NR non è conosciuto sul collegamento di comunicazione assegnato tramite
ID.
1
4
Errore nel parametro di transito FORMAT o nei puntatori dell'area di trasmissione
SD_i relativo alla lunghezza o al tipo di dati.
1
6
La stampante remota si trova nello stato OFFLINE.
1
7
La stampante remota si trova in uno stato errato (p. es. Papier out)
1
10
Accesso a memoria utente locale impossibile (p. es. accesso a DB cancellati)
1
13
Errore nel parametro di transito FORMAT
1
20
•
S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria
di lavoro fosse sufficiente: compressione della memoria di lavoro
•
Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento
poiché il buffer di comunicazione viene creato nella memoria di lavoro.
Durante l'aggiornamento non sono consentiti interventi che modificano la
memoria di lavoro.
Numero del dati da trasmettere
Il numero dei dati da trasmettere ad una stampante remota non deve superare una lunghezza
massima.
Questa lunghezza dati massima in byte viene calcolata nel modo seguente:
maxleng = 420 - format
Con format si intende la lunghezza attuale del parametro FORMAT in byte.
È irrilevante se i dati da stampare vengono divisi su una o più aree di trasmissione.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
413
Comunicazione S7
22.15 Esecuzione di un nuovo avviamento (avviamento a caldo) o un avviamento a freddo nel dispositivo
remoto con l'SFB 19 "START"
22.15 Esecuzione di un nuovo avviamento (avviamento a caldo) o un
avviamento a freddo nel dispositivo remoto con l'SFB 19 "START"
Descrizione
Se all'ingresso di comando REQ è presente un fronte di salita, l'SFB 19 "START" attiva un nuovo
avviamento (avviamento a caldo) o avviamento a freddo nel dispositivo remoto indirizzato tramite ID.
Se il dispositivo remoto è un sistema H, l'effetto del job di avvio dipende dal parametro PI_NAME: il
job di avvio riguarda o solamente un'unica CPU o tutte le CPU del sistema H. I seguenti presupposti
devono essere soddisfatti (se il dispositivo remoto è una CPU):
•
la CPU deve trovarsi nello stato STOP
•
l'interruttore a chiave della CPU deve essere posizionato su "RUN" o "RUN-P".
Al termine del nuovo avviamento (avviamento a caldo) o dell'avviamento a freddo, il dispositivo passa
allo stato di funzionamento RUN e invia una conferma di esecuzione positiva. Con la valutazione della
conferma positiva viene impostato a 1 il parametro di stato DONE. Eventuali errori vengono indicati
dai parametri di stato ERROR e STATUS.
Un nuovo avviamento (avviamento a caldo) o avviamento a freddo dello stesso dispositivo può essere
attivato solo dopo che l'ultima attivazione si è conclusa.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
Request parametro di comando, attiva l'SFB
con fronte di salita
ID
INPUT
WORD
M, D, cost.
Parametro di indirizzamento ID, vedere
Parametri comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
DONE
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato DONE:
ERROR
OUTPUT
BOOL
E, A, M, D, L
STATUS
OUTPUT
WORD
E, A, M, D, L
0:
Job non ancora avviato o ancora in
esecuzione
1:
Job eseguito senza errori.
Parametri di stato ERROR e STATUS;
segnalazione di errore:
ERROR=0 e STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul tipo
di errore.
414
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.15 Esecuzione di un nuovo avviamento (avviamento a caldo) o un avviamento a freddo nel dispositivo
remoto con l'SFB 19 "START"
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
PI_NAME
IN_OUT
E, A, M, D, T, Z
Puntatore sull'area di memoria in cui si trova il
nome del programma (codice ASCII) da avviare.
Il nome deve essere costituito da max. 32
caratteri.
ANY
In un sistema standard della serie S7 il nome
deve essere P_PROGRAM.
In un sistema H sono possibili i seguenti nomi:
ARG
IO_STATE
IN_OUT
IN_OUT
ANY
BYTE
E, A, M, D, T, Z
E, A, M, D, L
•
P_PROGRAM (il job di avvio vale per tutte
le CPU del sistema H)
•
P_PROG_0 (il job di avvio vale per la CPU
nel telaio di montaggio 0 del sistema H)
•
P_PROG_1 (il job di avvio vale per la CPU
nel telaio di montaggio 1 del sistema H)
Spiegazione.
•
Se non viene assegnato alcun valore ad
ARG, nel dispositivo remoto viene eseguito
un nuovo avviamento (avviamento a caldo).
•
Assegnando il valore "C", nel dispositivo
remoto viene eseguito un avviamento a
freddo (se il dispositivo remoto conosce
questo tipo di avviamento).
Attualmente non rilevante. Al momento non può
essere assegnato alcun valore a questo
parametro se il partner di comunicazione è un
sistema di automazione della famiglia S7.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
415
Comunicazione S7
22.15 Esecuzione di un nuovo avviamento (avviamento a caldo) o un avviamento a freddo nel dispositivo
remoto con l'SFB 19 "START"
Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB 19, che possono essere
emesse con i parametri ERROR e STATUS.
ERROR
STATUS
(decimale)
0
11
0
25
1
1
1
Avviso:
•
Il nuovo job non è valido in quanto quello precedente non è ancora
terminato.
•
Il job viene già elaborato in una classe con priorità minore.
È stata avviata la comunicazione. Il job è in corso di esecuzione.
Problemi di comunicazione, p. es.
•
descrizione del collegamento non caricata (locale o remoto)
•
collegamento interrotto ( p. es. cavo, CPU spenta, CP in STOP)
2
Conferma negativa dal dispositivo partner. Non è possibile eseguire la
funzione.
1
3
Il nome di programma memorizzato in PI_NAME è sconosciuto.
1
4
Errore nei puntatori PI_NAME o ARG relativi alla lunghezza o al tipo di dati.
1
7
Nel dispositivo partner non è possibile eseguire alcun nuovo avviamento.
1
10
L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB
cancellato)
1
12
1
1
416
Spiegazione
20
27
Per il richiamo dell'SFB è stato indicato
•
un DB di istanza che non appartiene all'SFB 19
•
un DB globale al posto di un DB di istanza
•
non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di
istanza dal PG)
•
S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la
memoria di lavoro fosse sufficiente: compressione della memoria di lavoro
•
Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento
poiché il buffer di comunicazione viene creato nella memoria di lavoro.
Durante l'aggiornamento non sono consentiti interventi che modificano la
memoria di lavoro.
Per questo blocco non esiste un codice funzione nella CPU.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.16 Commutazione di un dispositivo remoto nello stato di funzionamento STOP con l'SFB 20 "STOP"
22.16 Commutazione di un dispositivo remoto nello stato di
funzionamento STOP con l'SFB 20 "STOP"
Descrizione
Con un fronte di salita all'ingresso di comando REQ, l'SFB 20 "STOP" attiva il passaggio del
dispositivo remoto indirizzato tramite ID nello stato di funzionamento STOP. Il passaggio dello stato di
funzionamento è possibile se il dispositivo si trova in uno degli stati di funzionamento RUN, ALT o
AVVIAMENTO.
Se il dispositivo remoto è un sistema H, il job di STOP ha validità per tutte le CPU del sistema H.
Se il job è stato portato a termine con successo, il parametro di stato DONE indica 1; eventuali errori
vengono emessi dai parametri di stato ERROR e STATUS.
Un'ulteriore esecuzione del passaggio di stato di funzionamento descritto all'interno dello stesso
dispositivo remoto è possibile solo se l'avvio precedente dell'SFB 20 è terminato.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
Request parametro di comando, attiva l'SFB con
fronte di salita
ID
INPUT
WORD
M, D, cost.
Parametro di indirizzamento ID, vedere Parametri
comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
DONE
OUTPUT
BOOL
E, A, M, D, L
ERROR
OUTPUT
BOOL
E, A, M, D, L
STATUS
OUTPUT
WORD
E, A, M, D, L
Parametro di stato DONE:
0:
Job non ancora avviato o ancora in
esecuzione
1:
Job eseguito senza errori.
Parametri di stato ERROR e STATUS;
segnalazione di errore:
ERROR=0 e STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate.
ERROR=1
Si è verificato un errore. STATUS fornisce
informazioni dettagliate sul tipo di errore.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
417
Comunicazione S7
22.16 Commutazione di un dispositivo remoto nello stato di funzionamento STOP con l'SFB 20 "STOP"
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
PI_NAME
IN_OUT
E, A, M, D
Puntatore sull'area di memoria in cui si trova il
nome del programma (codice ASCII) da
arrestare. Il nome deve essere costituito da max.
32 caratteri.
ANY
In un sistema standard della serie S7 il nome
deve essere P_PROGRAM.
In un sistema H sono possibili i seguenti nomi:
IO_STATE IN_OUT
418
BYTE
E, A, M, D, L
•
P_PROGRAM (il job di avvio vale per tutte le
CPU del sistema H)
•
P_PROGR_0 (il job di avvio vale per la CPU
nel telaio di montaggio 0 del sistema H)
•
P_PROGR_1 (il job di avvio vale per la CPU
nel telaio di montaggio 1 del sistema H).
Attualmente non rilevante. Al momento non può
essere assegnato alcun valore a questo
parametro se il partner di comunicazione è un
sistema di automazione della famiglia S7.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.16 Commutazione di un dispositivo remoto nello stato di funzionamento STOP con l'SFB 20 "STOP"
Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB 20, che possono essere
emesse con i parametri ERROR e STATUS.
ERROR
STATUS
(decimale)
0
11
0
25
1
1
Spiegazione
Avviso:
•
Il nuovo job non è valido in quanto quello precedente non è ancora
terminato.
•
Il job viene già elaborato in una classe con priorità minore.
È stata avviata la comunicazione. Il job è in corso di esecuzione.
Problemi di comunicazione, p. es.
•
descrizione del collegamento non caricata (locale o remoto)
•
collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP)
1
2
Conferma negativa dal dispositivo partner. Non è possibile eseguire la
funzione.
1
3
Il nome del programma memorizzato in PI_NAME è sconosciuto.
1
4
Errore nel puntatore PI_NAME relativo alla lunghezza e al tipo di dati.
1
7
Il dispositivo partner già si trova nello stato STOP.
1
10
L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB
cancellato)
1
12
Per il richiamo dell'SFB è stato indicato
1
1
20
27
•
un DB di istanza che non appartiene all'SFB 20
•
un DB globale al posto di un DB di istanza
•
non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di
istanza dal PG)
•
S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la
memoria di lavoro fosse sufficiente: compressione della memoria di
lavoro
•
Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento
poiché il buffer di comunicazione viene creato nella memoria di lavoro.
Durante l'aggiornamento non sono consentiti interventi che modificano la
memoria di lavoro.
•
Per questo blocco non esiste un codice funzione nella CPU.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
419
Comunicazione S7
22.17 Esecuzione di un riavviamento in un dispositivo remoto con l'SFB 21 "RESUME"
22.17 Esecuzione di un riavviamento in un dispositivo remoto con
l'SFB 21 "RESUME"
Descrizione
Se all'ingresso di comando REQ è presente un fronte di salita, l'SFB 21 "RESUME" attiva un
riavviamento nel dispositivo remoto selezionato tramite ID. I seguenti presupposti devono essere
soddisfatti se il dispositivo remoto è una CPU:
•
la CPU deve trovarsi nello stato STOP
•
l'interruttore a chiave della CPU deve essere posizionato su "RUN" o "RUN-P"
•
si deve aver reso possibile il riavviamento manuale nella progettazione con STEP 7
•
non devono essere presenti ostacoli al riavviamento.
Dopo che il dispositivo ha eseguito il riavviamento, passa allo stato di funzionamento RUN e invia una
conferma di esecuzione positiva. Con l'analisi della conferma positiva, il parametro di stato DONE
viene impostato a 1. Eventuali errori verificatisi vengono visualizzati con i parametri di stato ERROR e
STATUS.
Un ulteriore riavviamento dello stesso dispositivo remoto è possibile solo se l'avvio precedente è
terminato.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
Request parametro di comando, attiva l'SFB
con fronte di salita
ID
INPUT
WORD
M, D, cost.
Parametro di indirizzamento ID, vedere
Parametri comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
DONE
OUTPUT
BOOL
E, A, M, D, L
ERROR
OUTPUT
BOOL
E, A, M, D, L
STATUS
OUTPUT
WORD
E, A, M, D, L
Parametro di stato DONE:
0:
Job non ancora avviato o ancora in
esecuzione
1:
Job eseguito senza errori.
Parametri di stato ERROR e STATUS;
segnalazione di errore:
ERROR=0 e STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate.
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul tipo
di errore.
PI_NAME
IN_OUT
ANY
E, A, M, D
Puntatore sull'area di memoria in cui si trova il
nome del programma (codice ASCII) da avviare.
Il nome deve essere costituito da max. 32
caratteri.
In un sistema standard della serie S7 il nome
deve essere P_PROGRAM.
420
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.17 Esecuzione di un riavviamento in un dispositivo remoto con l'SFB 21 "RESUME"
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
ARG
IN_OUT
ANY
E, A, M, D, T, Z
Argomento di esecuzione. Attualmente non
rilevante. Al momento non si può assegnare
alcun valore a questo parametro se il partner di
comunicazione è un sistema di automazione
della famiglia S7.
IO_STATE
IN_OUT
BYTE
E, A, M, D, L
Attualmente non rilevante. Al momento non si
può attribuire nessun valore a questo parametro
se il partner di comunicazione è un sistema di
automazione della famiglia S7.
Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche dell'SFB 21, che possono essere
emesse con i parametri ERROR e STATUS.
ERROR
STATUS
(decimale)
0
11
Spiegazione
Avviso:
•
Il nuovo job non è valido in quanto quello precedente non è ancora terminato.
•
Il job viene attualmente elaborato in una classe con priorità minore.
0
25
È stata avviata la comunicazione. Il job è in corso di esecuzione.
1
1
Problemi di comunicazione, p. es.
•
descrizione del collegamento non caricata (locale o remoto)
•
collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP)
1
2
Conferma negativa dal dispositivo partner: non è possibile eseguire la funzione.
1
3
Il nome del programma memorizzato in PI_NAME è sconosciuto.
1
4
Errore nel puntatore PI_NAME o ARG relativo alla lunghezza e al tipo di dati.
1
7
Il dispositivo partner non si trova nello stato STOP.
1
10
L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB
cancellato)
1
12
1
1
20
27
Per il richiamo dell'SFB è stato indicato
•
un DB di istanza che non appartiene all'SFB 21
•
un DB globale al posto di un DB di istanza
•
non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza
dal PG)
•
S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di
lavoro fosse sufficiente: compressione della memoria di lavoro
•
Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento
poiché il buffer di comunicazione viene creato nella memoria di lavoro.
Durante l'aggiornamento non sono consentiti interventi che modificano la
memoria di lavoro.
Per questo blocco non esiste un codice funzione nella CPU.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
421
Comunicazione S7
22.18 Interrogazione dello stato di un dispositivo partner remoto con l'SFB 22 "STATUS"
22.18 Interrogazione dello stato di un dispositivo partner remoto con
l'SFB 22 "STATUS"
Descrizione
Con l'ausilio dell'SFB 22 "STATUS" è possibile interrogare lo stato di un dispositivo partner remoto di
comunicazione.
Con un fronte di salita all'ingresso di comando REQ viene trasmesso un job al partner remoto. La
risposta viene quindi analizzata per verificare se ci sono stati errori. Se non si sono verificati errori, lo
stato ricevuto viene copiato con il prossimo richiamo dell'SFB nelle variabili PHYS, LOG e LOCAL.
Una volta terminata questa operazione, il parametro di stato NDR indica 1.
La possibilità di effettuare un'ulteriore interrogazione dello stesso partner di comunicazione è data solo
al termine dell'interrogazione precedente.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
Request parametro di comando, attiva l'SFB
con fronte di salita
ID
INPUT
WORD
M, D, cost.
Parametro di indirizzamento ID, vedere
Parametri comuni agli SFB/FB e alle SFC/FC di
comunicazione S7
NDR
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato NDR:
ERROR
OUTPUT
BOOL
E, A, M, D, L
STATUS
OUTPUT
WORD
E, A, M, D, L
0:
Job non ancora avviato o ancora in
esecuzione
1:
Job eseguito senza errori.
Parametri di stato ERROR e STATUS;
segnalazione di errore:
ERROR=0 e STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul tipo
di errore.
PHYS
IN_OUT
ANY
E, A, M, D
Stato fisico (lunghezza minima: un byte)
Valori possibili:
LOG
IN_OUT
ANY
E, A, M, D
•
10H piena funzionalità
•
13H necessità di manutenzione
Stato logico (lunghezza minima: un byte)
Valore possibile:
•
LOCAL
422
IN_OUT
ANY
E, A, M, D
00H cambio di stato ammesso
Stato di funzionamento se il dispositivo partner
è una CPU S7 (lunghezza minima: due byte)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.18 Interrogazione dello stato di un dispositivo partner remoto con l'SFB 22 "STATUS"
Parametro di transito LOCAL
Nel caso in cui il partner di comunicazione è una CPU S7, il parametro di transito LOCAL contiene il
suo stato di funzionamento attuale: il primo byte è riservato, il secondo contiene un'identificazione per
lo stato di funzionamento.
Stato di funzionamento
Identificazione corrispondente
STOP
Nuovo avviamento
RUN
Riavviamento
ALT
Avviamento a freddo
RUN (stato del sistema H: ridondante)
ACCOPPIAMENTO
AGGIORNAMENTO
00H
01H
02H
03H
04H
06H
09H
0BH
0CH
Informazioni di errore
La tabella seguente riporta tutte le informazioni specifiche sugli errori relativi all'SFB 22 che possono
essere emesse dai parametri ERROR e STATUS.
ERROR
STATUS
(decimale)
Spiegazione
0
11
Avviso:
•
Il nuovo job non è valido in quanto quello precedente non è ancora terminato
•
Il job viene già elaborato in una classe con priorità minore.
0
25
È stata avviata la comunicazione. Il job è in corso di esecuzione.
1
1
Problemi di comunicazione, p. es.
1
•
descrizione del collegamento non caricata (locale o remoto)
•
collegamento interrotto ( p. es. cavo, CPU spenta, CP in STOP)
2
Conferma negativa dal dispositivo partner. Non è possibile eseguire la funzione.
1
4
Errore in PHYS, LOG o LOCAL riguardante la lunghezza o il tipo di dati.
1
8
L'accesso all'oggetto remoto è stato respinto.
1
10
L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB
cancellato)
1
12
1
20
Per il richiamo dell'SFB è stato indicato
•
un DB di istanza che non appartiene all'SFB 22
•
un DB globale al posto di un DB di istanza
•
non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di istanza
nel PG)
•
S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria di
lavoro fosse sufficiente: compressione della memoria di lavoro
•
Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento poiché il
buffer di comunicazione viene creato nella memoria di lavoro. Durante l'aggiornamento non sono consentiti interventi che modificano la memoria di lavoro.
1
27
Per questo blocco non esiste un codice funzione nella CPU.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
423
Comunicazione S7
22.19 Ricezione del cambiamento di stato di un dispositivo remoto con l'SFB 23 "USTATUS"
22.19 Ricezione del cambiamento di stato di un dispositivo remoto con
l'SFB 23 "USTATUS"
Descrizione
L'SFB 23 "USTATUS" riceve il cambiamento di stato di un dispositivo remoto partner della
comunicazione; quest'ultimo invia senza essere stato sollecitato il proprio stato in caso di un cambio di
questo se è la progettazione è avvenuta con STEP 7.
Se al momento del richiamo, l'ingresso di comando EN_R indica 1 e sussiste un telegramma da parte
del partner, con il prossimo richiamo dell'SFB viene depositata l'informazione di stato nelle variabili
PHYS, LOG e LOCAL. Al termine di tale operazione, il parametro di stato NDR indica 1.
Sul collegamento utilizzato da USTATUS, l'invio di messaggi sullo stato di funzionamento deve essere
abilitato.
Avvertenza
Per ogni collegamento è possibile collocare solo una istanza dell'SFB 23.
Parametri
424
Parametri Dichiarazione
Tipo
Area di
memoria
EN_R
INPUT
BOOL
ID
INPUT
E, A, M, D, L,
cost.
WORD M, D, cost.
NDR
OUTPUT
BOOL
ERROR
STATUS
OUTPUT
OUTPUT
BOOL E, A, M, D, L
WORD E, A, M, D, L
PHYS
IN_OUT
ANY
E, A, M, D
LOG
IN_OUT
ANY
E, A, M, D
LOCAL
IN_OUT
ANY
E, A, M, D
E, A, M, D, L
Descrizione
Parametro di comando enabled to receive, segnala la
disponibilità a ricevere quando l'ingresso è impostato.
Parametro di indirizzamento ID, vedere Parametri comuni agli
SFB/FB e alle SFC/FC di comunicazione S7
Parametro di stato NDR:
0: Job non ancora avviato o ancora in esecuzione
1:
Job eseguito senza errori.
Parametri di stato ERROR e STATUS, indicazione di errore:
ERROR=0 e STATUS ha il valore:
0000H: né avviso né errore
0000H: avviso, STATUS fornisce informazioni
dettagliate.
ERROR=1
È presente un errore. STATUS fornisce informazioni
dettagliate sul tipo di errore.
Stato fisico (lunghezza minima: un byte)
Valori possibili:
•
10H piena funzionalità
•
13H necessità di manutenzione
Stato logico (lunghezza minima: un byte)
Valore possibile:
•
00H cambio di stato ammesso
Stato di funzionamento se il dispositivo partner è una CPU
S7 (lunghezza minima: due byte)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.19 Ricezione del cambiamento di stato di un dispositivo remoto con l'SFB 23 "USTATUS"
Parametro di transito LOCAL
Nel caso in cui il partner di comunicazione è una CPU S7, il parametro di transito LOCAL contiene il
suo stato di funzionamento attuale: il primo byte è riservato, il secondo contiene un'identificazione per
lo stato di funzionamento.
Stato di funzionamento
Identificazione corrispondente
STOP
00H
Nuovo avviamento
01H
RUN
02H
Riavviamento
03H
ALT
04H
Avviamento a freddo
06H
RUN (stato del sistema H: ridondante)
09H
ACCOPPIAMENTO
0BH
AGGIORNAMENTO
0CH
Informazioni di errore
La tabella seguente riporta tutte le informazioni specifiche sugli errori relativi all'SFB 23 che possono
essere emesse dai parametri ERROR e STATUS.
ERROR
STATUS
(decimale)
Spiegazione
0
9
Messaggio di avviso overrun: il vecchio stato del dispositivo è stato sovrascritto
da un nuovo stato.
0
11
I dati in ingresso vengono già elaborati in una classe con priorità minore.
0
25
È stata avviata la comunicazione. Il job è in corso di esecuzione.
1
1
Problemi di comunicazione, p. es.
•
descrizione del collegamento non caricata (locale o remoto)
•
collegamento interrotto (p. es. cavo, CPU spenta, CP in STOP)
1
4
Errore in PHYS, LOG o LOCAL riguardante la lunghezza o il tipo di dati.
1
10
L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB
cancellato)
1
12
Per il richiamo dell'SFB è stato indicato
•
un DB di istanza che non appartiene all'SFB 23
•
un DB globale al posto di un DB di istanza
•
non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di
istanza dal PG)
1
18
Per il collegamento indicato con l'ID esiste già una istanza per l'SFB 23
"USTATUS".
1
19
La CPU remota trasmette dati più velocemente di quanto l'SFB possa
accoglierli nel programma utente.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
425
Comunicazione S7
22.19 Ricezione del cambiamento di stato di un dispositivo remoto con l'SFB 23 "USTATUS"
ERROR
STATUS
(decimale)
Spiegazione
1
20
•
S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la
memoria di lavoro fosse sufficiente: compressione della memoria di lavoro
•
Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento
poiché il buffer di comunicazione viene creato nella memoria di lavoro.
Durante l'aggiornamento non sono consentiti interventi che modificano la
memoria di lavoro.
•
Per questo blocco non esiste un codice funzione nella CPU.
1
426
27
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.20 Interrogazione dello stato del collegamento appartenente ad un'istanza SFB di comunicazione con la SFC
62 "CONTROL"
22.20 Interrogazione dello stato del collegamento appartenente ad
un'istanza SFB di comunicazione con la SFC 62 "CONTROL"
Descrizione
Con la SFC 62 "CONTROL" è possibile rilevare nelle S7-400 lo stato del collegamento appartenente
ad un'istanza SFB di comunicazione locale.
Dopo il richiamo della funzione di sistema con il valore 1 all'ingresso di comando EN_R viene rilevato
lo stato momentaneo di quel collegamento che appartiene all'istanza SFB di comunicazione
selezionata tramite I_DB.
Parametri
Dichiarazione Tipo
Area di memoria Descrizione
EN_R
INPUT
BOOL
E, A, M, D, L,
cost.
Parametro di comando enabled to receive, segnala
la disponibilità a ricevere quando l'ingresso è
impostato.
I_DB
INPUT
WORD
E, A, M, D, L,
cost.
Numero del DB di istanza
OFFSET
INPUT
WORD
E, A, M, D, L,
cost.
Offset del record di dati in byte nel DB di
multiistanza (se non c'è un DB di multiistanza,
indicare 0).
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazioni sugli errori
ERROR
OUTPUT
BOOL
E, A, M, D, L
STATUS
OUTPUT
WORD
E, A, M, D, L
Parametri di stato ERROR e STATUS; segnalazione
di errore:
ERROR=0 e STATUS ha il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate.
ERROR=1
Si è verificato un errore. STATUS fornisce
informazioni dettagliate sul tipo di errore.
I_TYP
OUTPUT
BYTE
E, A, M, D, L
Identificazione per il tipo di blocco che appartiene
all'istanza selezionata
I_STATE
OUTPUT
BYTE
E, A, M, D, L
•
= 0: la corrispondente istanza di SFB non è
ancora stata richiamata dall'ultimo avviamento a
freddo, nuovo avviamento (a caldo) o
caricamento.
•
<> 0: la corrispondente istanza di SFB è stata
richiamata almeno una volta dall'ultimo
avviamento a freddo, nuovo avviamento (a
caldo) o caricamento.
I_CONN
OUTPUT
BOOL
E, A, M, D, L
Stato del collegamento corrispondente.
Valori possibili:
I_STATUS OUTPUT
WORD
E, A, M, D, L
•
0: collegamento interrotto o non instaurato
•
1: collegamento attivo
Parametro di stato STATUS dell'istanza SFB di
comunicazione interrogata
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
427
Comunicazione S7
22.20 Interrogazione dello stato del collegamento appartenente ad un'istanza SFB di comunicazione con la SFC
62 "CONTROL"
Parametro di uscita I_TYP
La tabella seguente spiega quale identificazione appartiene a quale tipo SFB.
Tipo
SFB
Identificazione (W#16#...)
USEND
428
00
URCV
01
BSEND
04
BRCV
05
GET
06
PUT
07
PRINT
08
START
0B
STOP
0C
RESUME
0D
STATUS
0E
USTATUS
0F
ALARM
15
ALARM_8
16
ALARM_8P
17
NOTIFY
18
AR_SEND
19
NOTIFY_8P
1A
(nessun SFB disponibile; I_DB o OFFSET errati)
FF
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.20 Interrogazione dello stato del collegamento appartenente ad un'istanza SFB di comunicazione con la SFC
62 "CONTROL"
Informazioni di errore
Il parametro di uscita RET_VAL può assumere con la SFC 62 "CONTROL" i due valori seguenti:
•
0000H:
non si sono verificati errori durante l'esecuzione della SFC.
•
8000H:
si è verificato un errore durante l'esecuzione della SFC.
Avvertenza
Anche quando viene visualizzato il valore 0000H nel parametro di uscita RET_VAL, è necessario
valutare i parametri di uscita ERROR e STATUS.
ERROR
STATUS
(decimale)
Spiegazione
1
10
Non è possibile accedere alla memoria utente locale (p. es.: è stato
indicato un byte di merker come parametro attuale I_TYP che però
non esiste nella CPU utilizzata.)
1
12
Al numero indicato da I_DB
•
non corrisponde un DB di istanza ma un DB globale,
•
non corrisponde alcun DB o l'istanza è guasta.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
429
Comunicazione S7
22.21 Interrogazione dello stato di un collegamento con la FC 62 "C_CNTRL"
22.21 Interrogazione dello stato di un collegamento con la FC 62
"C_CNTRL"
Descrizione
Con la FC 62 "C_CNTRL" si determina lo stato di un collegamento nelle S7-300.
Dopo il richiamo della funzione di sistema con il valore 1 sull'ingresso di comando EN_R viene
determinato lo stato attuale del collegamento indirizzato tramite ID.
Parametro
Dichiarazione
Tipo di
dati
Area di memoria
Descrizione
EN_R
INPUT
BOOL
E, A, M, D, L, cost.
Parametro di comando enabled to receive.
Segnala la pronta ricezione quando è
impostato l'ingresso
ID
INPUT
WORD
M, D, cost.
Parametro di indirizzamento ID, vedere
Parametri comuni agli SFB/FB e alle
SFC/FC di comunicazione S7
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazione di errore
ERROR
OUTPUT
BOOL
E, A, M, D, L
STATUS
OUTPUT
WORD
E, A, M, D, L
Parametri di stato ERROR e STATUS;
segnalazione di errore:
ERROR=0 e STATUS hanno il valore:
0000H: né avviso, né errore
<> 0000H: avviso; STATUS fornisce
informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul tipo
di errore
C_CONN
OUTPUT
BOOL
E, A, M, D, L
Stato del collegamento corrispondente.
Valori possibili:
C_STATUS
430
OUTPUT
WORD
E, A, M, D, L
•
0: collegamento interrotto o non creato
•
1: collegamento disponibile
Stato del collegamento:
•
W#16#0000: collegamento non
impostato
•
W#16#0001: impostazione del
collegamento in corso
•
W#16#0002: collegamento impostato
•
W#16#000F: mancano dati per lo stato
del collegamento (p. es. avviamento
del CP)
•
W#16#00FF: collegamento non
progettato
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione S7
22.21 Interrogazione dello stato di un collegamento con la FC 62 "C_CNTRL"
Informazioni sugli errori
Il parametro di uscita RET_VAL può assumere i due valori seguenti con la FC 62 "C_CNTRL":
•
0000H:
durante l'esecuzione della FC non si sono verificati errori
•
8000H:
durante l'esecuzione della FC si èm verificato un errore
Avvertenza
I parametri di uscita ERROR e STATUS vanno analizzati anche quando nel parametro di uscita
RET_VAL viene visualizzato il valore 0000H.
ERROR
STATUS
(decimale)
Spiegazione
1
10
Errore di accesso al CP a causa di un altro job in corso. Ripetere il job in un
secondo tempo
1
27
Per questo blocco non esiste un codice funzione nella CPU.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
431
Comunicazione S7
22.22 Fabbisogno di memoria di lavoro dei blocchi di comunicazione S7
22.22 Fabbisogno di memoria di lavoro dei blocchi di comunicazione S7
Per un funzionamento corretto e senza problemi, gli SFB/FB di comunicazione S7 richiedono
generalmente un'area di memoria intermedia dipendente dai dati utili nella memoria di lavoro della
CPU (area di codice). Le dimensioni della memoria occupata sono riportate nella tabella seguente.
Blocco S7-300
Fabbisogno di memoria di lavoro in byte
FB 8
USEND
Blocco: 4583 byte, istanza: 368 byte
FB 9
URCV
Blocco: 4880 byte, istanza: 370 byte
FB 12
BSEND
Blocco: 5284 byte, istanza: 372 byte
FB 13
BRCV
Blocco: 5258 byte, istanza: 374 byte
FB 14
GET
Blocco: 4888 byte, istanza: 336 byte
FB 15
PUT
Blocco: 4736 byte, istanza: 384 byte
FB 28
USEND_E
Blocco: 5708 byte, istanza: 522 byte
FB 29
URCV_E
Blocco: 6440 byte, istanza: 524 byte
FB 34
GET_E
Blocco: 6300 byte, istanza: 636 byte
FB 35
PUT_E
Blocco: 6184 byte, istanza: 634 byte
FC 62
C_CNTRL
Blocco: 546 byte
Avvertenza sul comportamento in caso di interruzione
Nella S7-300, i blocchi di comunicazione SIMATIC_NET si possono richiamare solo in una classe di
priorità.
432
Blocco S7-400
Fabbisogno di memoria di lavoro in byte
SFB 8/
USEND/
SFB 9
URCV
68 + lunghezza dei dati utili indicati a SD_1,... SD_4/RD_1,... RD_4 con il
primo richiamo
SFB 12/
BSEND/
54
SFB 13
BRCV
SFB 14
GET
88 + lunghezza dei dati utili indicati a RD_1,... RD_4 con il primo richiamo
SFB 15
PUT
108 + lunghezza dei dati utili indicati a SD_1,... SD_4 con il primo richiamo
SFB 16
PRINT
78 + lunghezza indicata in FORMAT + lunghezza dei primi dati utili specificati
al primo richiamo in SD_1,... SD_4
SFB 19
START
52 + lunghezza del parametro specificato al primo richiamo in PI_NAME e
ARG
SFB 20
STOP
48+ lunghezza del parametro specificato al primo richiamo in PI_NAME
SFB 21
RESUME
52 + lunghezza del parametro specificato al primo richiamo in PI_NAME e
ARG
SFB 22
STATUS
50
SFB 23
USTATUS
50
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
23
Comunicazione di base S7
23.1
Parametri comuni delle SFC di comunicazione di base S7
Parametro di ingresso REQ
Il parametro di ingresso REQ (request to activate) è un parametro di comando avviato dal livello.
Serve ad avviare il job (il trasferimento dati oppure l'annullamento del collegamento):
•
Quando si richiama la SFC relativa ad un job temporaneamente non attivato, con REQ=1 il job
viene avviato. Se al momento del primo richiamo di una SFC non sussiste ancora alcun
collegamento al partner di comunicazione, tale collegamento viene creato prima che inizi il
trasferimento dati.
•
Quando si è avviato un job ed esso non è ancora terminato e si richiama nuovamente la SFC per
lo stesso job, REQ non viene analizzato dalla SFC.
Parametro di ingresso REQ_ID (solo in SFC65 e SFC66)
Il parametro di ingresso REQ_ID viene utilizzato per identificare i dati di trasmissione e viene
trasmesso dal sistema operativo della CPU mittente alla SFC 66 "X_RCV" della CPU del partner di
comunicazione.
Sul lato del ricevente serve il parametro REQ_ID:
•
se su una CPU mittente si richiamano più SFC 65 "X_SEND" con diversi parametri REQ_ID e si
trasferiscono i dati ad un partner di comunicazione
•
se si trasferiscono dati ad un partner di comunicazione da più CPU mittente con l'aiuto della
65 "X_SEND".
Mediante la valutazione di REQ_ID si possono depositare i dati di ricezione in diverse aree di
ricezione.
Parametri di uscita RET_VAL e BUSY
Le SFC di comunicazione di base S7 sono SFC con funzionamento asincrono, ossia lo svolgimento di
un job si protrae per più richiami di SFC. Mediante i parametri di uscita RET_VAL e BUSY viene
visualizzato lo stato del job. Vedere anche il capitolo Significato dei parametri REQ, RET_VAL e
BUSY nelle SFC che lavorano in modo asincrono.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
433
Comunicazione di base S7
23.1 Parametri comuni delle SFC di comunicazione di base S7
Parametro di ingresso CONT
Il parametro di ingresso CONT (continue) è un parametro di comando. Con esso si determina se il
collegamento al partner di comunicazione debba essere mantenuto al termine del job.
•
Se al primo richiamo si sceglie CONT=0, il collegamento viene un'altra volta disattivato al termine
del trasferimento dati. Esso sarà poi nuovamente disponibile per lo scambio dati con un nuovo
partner di comunicazione.
In questo modo si assicura che vengano occupate solo quelle risorse di collegamento attualmente
necessarie.
•
Se al primo richiamo si sceglie CONT=1, il collegamento viene mantenuto anche dopo che il
trasferimento dati è terminato.
Questo modo di procedere si propone, per esempio, quando si scambiano dati ciclicamente tra
due stazioni.
Avvertenza
Un collegamento creato mediante CONT=1 può anche essere annullato esplicitamente con la SFC 69
"X_ABORT" o con la SFC 74 "I_ABORT".
434
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione di base S7
23.2 Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati
23.2
Informazioni di errore delle SFC di comunicazione per collegamenti
S7 non progettati
Informazioni di errore
Le "vere" informazioni di errore per le SFC dalla 65 alla 74 riportate, tra le altre, nella tabella seguente
si possono classificare come segue:
Codice
errore(W#16# ...)
Spiegazione
809x
Errore sulla CPU, sulla quale è in esecuzione la SFC
80Ax
Errore di comunicazione permanente
80Bx
Errore nel partner di comunicazione
80Cx
Errore temporaneo
Informazioni specifiche per le SFC da 65 a 74:
Codice
errore
(W#16# ...)
Spiegazione (generale)
Spiegazione (specifica per SFC)
0000
L'elaborazione è stata conclusa senza errori.
SFC 69 "X_ABORT" e SFC 74 "I_ABORT":
REQ=1, e il collegamento indicato non è
creato.
SFC 66 "X_RCV":EN_DT=1 e RD=NIL
00xy
-
SFC 66 "X_RCV" con NDA=1 e
RD<>NIL:RET_VAL contiene la lunghezza
del blocco dati ricevuto (con EN_DT=0)
oppure copiato in RD (con EN_DT=1).
SFC 67 "X_GET":
RET_VAL contiene la lunghezza del blocco
dati ricevuto.
SFC 72 "I_GET":RET_VAL contiene la
lunghezza del blocco dati ricevuto.
7000
-
SFC 65 "X_SEND", SFC 67 "X_GET",
SFC 68 "X_PUT"; SFC 69 "X_ABORT",
SFC 72 "I_GET", SFC 73 "I_PUT" e SFC 74
"I_ABORT": richiamo con REQ = 0 (richiamo
senza elaborazione). BUSY ha il valore 0,
non c'è alcun trasferimento dati attivo.
SFC 66 "X_RCV": EN_DT=0/1 e NDA=0
7001
Primo richiamo con REQ=1: trasferimento dati
avviato; BUSY ha il valore 1.
-
7002
Richiamo intermedio (REQ irrilevante):
trasferimento dati già attivo; BUSY ha il valore 1.
SFC 69 "X_ABORT" e SFC 74 "I_ABORT":
Richiamo intermedio con REQ=1
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
435
Comunicazione di base S7
23.2 Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati
Codice
errore
(W#16# ...)
Spiegazione (generale)
Spiegazione (specifica per SFC)
8090
L'indirizzo di destinazione indicato del partner di
comunicazione non è valido, p. es.
-
8092
•
IOID errato
•
presenza indirizzo di base errato
•
indirizzo MPI (> 126) errato
Errore in SD o RD, p. es.: l'indirizzamento
dell'area dati locale non è consentito.
SFC 65 "X_SEND", p. es.
•
lunghezza di SD non consentita
•
SD=NIL non è consentito
SFC 66 "X_RCV", p. es.
•
sono stati ricevuti più dati rispetto a
quanti ne possono entrare nell'area
definita mediante RD.
•
RD è il tipo di dati BOOL, la lunghezza
dei dati ricevuti è tuttavia superiore ad
un byte.
SFC 67 "X_GET" e SFC 72 "I_GET", per. es.
lunghezza non consentita per RD
la lunghezza o il tipo di dati di RD non
corrisponde ai dati ricevuti
RD=NIL non è consentito
SFC 68 "X_PUT" e SFC 73 "I_PUT", p. es.
lunghezza non consentita per SD
SD=NIL non è consentito
8095
Il blocco viene già elaborato in una classe di
priorità con priorità più bassa.
-
80A0
Errore nella conferma di acknowledge ricevuta
SFC 68 "X_PUT" e SFC 73 "I_PUT":
Il tipo di dati indicato nel parametro SD della
CPU mittente non è supportato dal partner
di comunicazione.
80A1
Problemi di comunicazione: richiamo SFC dopo
annullamento di un collegamento esistente.
-
80B0
L'oggetto non è accessibile, p. es. DB non
caricato
possibile per SFC 67 "X_GET" e SFC 68
"X_PUT" e SFC 72 "I_GET" e SFC 73
"I_PUT"
80B1
Errore nel puntatore ANY. La lunghezza dell'area
dati da trasferire è errata.
-
80B2
Errore hardware: unità non presente
•
•
436
possibile per SFC 67 "X_GET" e SFC 68
il posto connettore progettato non è occupato "X_PUT" e SFC 72 "I_GET" e SFC 73
"I_PUT"
il tipo di unità attuale non è uguale al tipo di
unità prefissato
•
la periferia decentrata non è disponibile
•
nell'SDB corrispondente non vi è alcuna
registrazione per l'unità.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione di base S7
23.2 Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati
Codice
errore
(W#16# ...)
Spiegazione (generale)
Spiegazione (specifica per SFC)
80B3
I dati possono essere o soltanto letti oppure solo
scritti, p. es. DB protetto da scrittura
possibile per SFC 67 "X_GET" e SFC 68
"X_PUT" e SFC 72 "I_GET" e SFC 73
"I_PUT"
80B4
Errore del tipo di dati per puntatore ANY, o
ARRAY del tipo di dati indicato non consentito.
SFC 67 "X_GET" e SFC 68 "X_PUT" e
SFC 72 "I_GET" e SFC 73 "I_PUT": il tipo di
dati indicato in VAR_ADDR non viene
supportato dal partner di comunicazione.
80B5
Elaborazione negata a causa dello stato di
funzionamento non consentito.
possibile per SFC 65 "X_SEND"
80B6
Nella conferma di acknowledge ricevuta c'è un
codice di errore sconosciuto.
-
80B7
Il tipo di dati e/o la lunghezza dei dati trasferiti non possibile per SFC 68 "X_PUT" e SFC 73
sono adatti all'area nella CPU partner nella quale "I_PUT"
si deve scrivere.
80B8
-
SFC 65 "X_SEND": la SFC 66 "X_RCV" del
partner di comunicazione ha negato la
conferma dei dati (RD=NIL).
80B9
-
SFC 65 "X_SEND": il blocco dati è stato
identificato dal partner di comunicazione
(richiamo della SFC 66 "X_RCV" con
EN_DT=0), tuttavia non è ancora stato
confermato nel programma utente a causa
dello stato di funzionamento.
80BA
La risposta del partner di comunicazione non
entra nel telegramma di comunicazione.
-
80C0
Il collegamento indicato è già occupato da un
altro job.
-
80C1
Mancanza di risorse nella CPU sulla quale è in
esecuzione la SFC, p. es.:
-
80C2
•
il numero massimo di diversi job di
trasmissione dell'unità viene già elaborato
•
la risorsa di collegamento è p. es. occupata
dalla ricezione.
Temporanea mancanza di risorse del partner di
comunicazione, p. es.:
•
il partner di comunicazione elabora
momentaneamente il massimo dei job
•
le risorse necessarie (memoria, ecc.) sono
occupate
•
memoria di lavoro disponibile insufficiente
(avviare un processo di compressione).
-
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
437
Comunicazione di base S7
23.2 Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati
Codice
errore
(W#16# ...)
80C3
438
Spiegazione (generale)
Spiegazione (specifica per SFC)
Errore nella struttura del collegamento, p. es.:·
-
•
la propria stazione S7 non si trova sulla
sotto-rete MPI
•
la propria stazione è stata indirizzata sulla
sotto-rete MPI
•
il partner di comunicazione non è più
accessibile
•
temporanea mancanza di risorse del partner
di comunicazione.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione di base S7
23.3 Invio di dati ad un partner di comunicazione esterno alla propria stazione S7 con la SFC 65 "X_SEND"
23.3
Invio di dati ad un partner di comunicazione esterno alla propria
stazione S7 con la SFC 65 "X_SEND"
Descrizione
Con la SFC 65 "X_SEND" si trasmettono i dati ad un partner di comunicazione esterno alla propria
stazione S7. La ricezione dei dati nel partner di comunicazione avviene tramite la SFC 66 "X_RCV".
Il processo di trasmissione avviene dopo il richiamo della SFC con REQ=1.
Occorre fare attenzione affinché l'area di trasmissione (sulla CPU mittente), definita tramite il
parametro SD, sia minore o uguale all'area di ricezione (nel partner di comunicazione) definita
mediante il parametro RD. Se SD è del tipo di dati BOOL, anche RD deve essere del tipo BOOL
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L, cost.
Parametro di comando "request to activate",
vedere Parametri comuni delle SFC di
comunicazione di base S7
CONT
INPUT
BOOL
E, A, M, D, L, cost.
Parametro di comando "continue", vedere
Parametri comuni delle SFC di comunicazione di
base S7
DEST_ID
INPUT
WORD
E, A, M, D, L, cost.
Parametro di indirizzamento "destination ID".
Contiene l'indirizzo MPI del partner di
comunicazione. Esso è stato progettato con
STEP 7.
REQ_ID
INPUT
DWORD E, A, M, D, L, cost.
Identificazione del job. Serve ad identificare i dati
nel partner di comunicazione.
SD
INPUT
ANY
E, A, M, D
Riferimento all'area di trasmissione. Sono
consentiti i seguenti tipi di dati: BOOL, BYTE,
CHAR, WORD, INT, DWORD, DINT, REAL,
DATE, TOD, TIME, S5TIME, DATE_AND_TIME
nonché gli Array dei tipi di dati citati a accezione
di BOOL.
L'area di trasmissione può occupare al massimo
76 byte.
RET_VAL
OUTPUT
INT
E, A, M, D, L
Se durante l'elaborazione della funzione si
verifica un errore, il valore di ritorno contiene il
relativo codice di errore.
BUSY
OUTPUT
BOOL
E, A, M, D, L
BUSY=1: il processo di trasmissione non è
ancora concluso.
BUSY=0: il processo di trasmissione è concluso,
o nessun processo di trasmissione è attivo.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
439
Comunicazione di base S7
23.3 Invio di dati ad un partner di comunicazione esterno alla propria stazione S7 con la SFC 65 "X_SEND"
Coerenza dei dati
I dati vengono inviati in modo coerente.
Informazioni di errore
Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi
degli errori con il parametro di uscita RET_VAL.
440
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione di base S7
23.4 Ricezione di dati da un partner di comunicazione esterno alla propria stazione S7con la SFC 66 "X_RCV"
23.4
Ricezione di dati da un partner di comunicazione esterno alla
propria stazione S7con la SFC 66 "X_RCV"
Descrizione
Con la SFC 66 "X_RCV" si ricevono i dati che uno o più partner di comunicazione esterni alla propria
stazione S7 hanno trasmesso con la SFC 65 "X_SEND".
Con la SFC 66 "X_RCV"
•
si può stabilire se al momento attuale vi sono dati trasmessi disponibili: essi sono stati disposti in
fila dal sistema operativo eventualmente in una coda di attesa interna;
•
si può copiare il blocco dati più vecchio, pronto nella lista di attesa, in un'area di ricezione definita.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
EN_DT
INPUT
BOOL
E, A, M, D, L, cost.
Parametro di comando "enable data transfer".
Con il valore 0 si verifica se è disponibile almeno
un blocco dati. Il valore1 causa la copia del
blocco dati più vecchio disponibile nella coda di
attesa nell'area della memoria di lavoro definita
mediante RD.
RET_VAL
OUTPUT
INT
E, A, M, D, L
Se durante l'elaborazione della funzione si
verifica un errore, il valore di ritorno contiene il
relativo codice di errore.
Se non si verifica alcun errore, RET_VAL
contiene:
•
con EN_DT=0/1 e NDA=0:W#16#7000. In
questo caso nella coda di attesa non c'è
alcun blocco dati
•
con EN_DT=0 e NDA=1 la lunghezza in byte
del blocco dati più vecchio registrato nella
coda di attesa come numero positivo
•
con EN_DT=1 e NDA=1 la lunghezza in byte
del blocco dati copiato nell'area di ricezione
RD come numero positivo.
REQ_ID
OUTPUT
DWORD E, A, M, D, L
Identificazione del job di quella SFC "X_SEND", i
cui dati trasmessi stanno al primo posto nella
coda di attesa. Se nella coda di attesa non c'è
alcun blocco dati, il REQ_ID contiene il valore 0.
NDA
OUTPUT
BOOL
Parametro di stato "new data arrived".
E, A, M, D, L
NDA=0:
•
Nella coda di attesa non è presente alcun
blocco dati
NDA=1:
•
Nella coda di attesa è presente almeno un
blocco dati (richiamo della SFC 66 con
EN_DT=0)
•
Il blocco dati più vecchio nella coda di attesa
è stato copiato nel programma utente
(richiamo della SFC 66 con EN_DT=1)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
441
Comunicazione di base S7
23.4 Ricezione di dati da un partner di comunicazione esterno alla propria stazione S7con la SFC 66 "X_RCV"
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
RD
OUTPUT
E, A, M, D
Riferimento all'area di ricezione (receive data
area). Sono consentiti i seguenti tipi di dati:
BOOL, BYTE, CHAR, WORD, INT, DWORD,
DINT, REAL, DATE, TOD, TIME,S5_TIME,
DATE_AND_TIME nonché gli array dei tipi di dati
citati, a eccezione di BOOL.
ANY
Se si intende annullare il blocco dati meno
recente nella coda di attesa, assegnare a RD il
valore NIL.
L'area di ricezione può occupare al massimo 76
byte.
442
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione di base S7
23.4 Ricezione di dati da un partner di comunicazione esterno alla propria stazione S7con la SFC 66 "X_RCV"
Visualizzazione della ricezione dati con EN_DT=0
Non appena giungono i dati di un partner di comunicazione, questi vengono messi in fila dal sistema
operativo nella coda di attesa e cioè nella sequenza con cui sono stati ricevuti.
Quando si vuole verificare se c'è almeno un blocco dati, richiamare la SFC 66 con EN_DT=0 e
impostare il parametro di uscita NDA:
•
NDA=0 significa che nella coda di attesa non è registrato alcun blocco dati. REQ_ID è irrilevante,
RET_VAL contiene W#16#7000.
•
NDA=1 significa che nella coda di attesa c'è almeno un blocco dati pronto per il ritiro.
In questo caso impostare anche il parametro di uscita RET_VAL ed eventualmente REQ_ID.
RET_VAL contiene la lunghezza in byte del blocco dati, REQ_ID l'identificazione del job del
blocco mittente. Qualora nella coda di attesa siano pronti più blocchi dati, REQ_ID e RET_VAL
appartengono al blocco dati più vecchio presente nella coda di attesa.
X_RCV
0
Risorse di ricezione
EN_DT
REQ_ID
NDA
RD
Ricezione dati t2
Coda di
attesa
Ricezione dati t1
t
t1
t2
Ricezione dati
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
443
Comunicazione di base S7
23.4 Ricezione di dati da un partner di comunicazione esterno alla propria stazione S7con la SFC 66 "X_RCV"
Conferma dati nell'area di ricezione con EN_DT=1
Quando si richiama la SFC 66 "X_RCV" con EN_DT=1, il blocco dati più vecchio presente nella coda
di attesa viene copiato nell'area della memoria di lavoro definita mediante RD.
RD deve essere maggiore o uguale all'area di trasmissione, definita tramite il parametro SD, della
relativa SFC 65 "X_SEND". Qualora il suo parametro di ingresso SD sia del tipo di dati BOOL, anche
RD deve essere del tipo BOOL.
Se si intendono memorizzare i dati ricevuti in aree diverse, si può determinare REQ_ID (richiamo della
SFC con EN_DT = 0) e scegliere adeguatamente RD nel richiamo successivo (con EN_DT = 1).
Se durante la copia si è verificato un errore, RET_VAL indica la lunghezza in byte del blocco dati
copiato e fornisce una conferma di acknowledge positiva al mittente.
Coda di attesa
Trasferimento dati
X_RCV
1
EN_DT
REQ_ID
NDA
RD
Area di
ricezione
Ricezione dati
Annullamento dati
Se non si vogliono confermare i dati, assegnare a RD il valore NIL. In questo caso il mittente riceve
una conferma di acknowledge negativa (RET_VAL della relativa SFC 65 "X_SEND" ha il valore
W#16#80B8), in RET_VAL con la SFC 66 "X_RCV" viene registrato 0.
Coerenza dei dati
Dopo il richiamo con EN_DT=1 e RETVAL=W#16#00xy nelle aree di ricezione RD si trovano nuovi
dati. Un nuovo richiamo di blocco potrebbe sovrascrivere questi dati. Per evitare che ciò si verifichi,
non richiamare più l'SFC 66 "X RCV" con la stessa area di ricezione RD, prima di aver analizzato i dati
ricevuti. .
444
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione di base S7
23.4 Ricezione di dati da un partner di comunicazione esterno alla propria stazione S7con la SFC 66 "X_RCV"
Transizione dello stato di funzionamento a STOP
Con la transizione nello stato di funzionamento STOP
•
tutti i nuovi job entranti ricevono una conferma di acknowledge negativa;
•
vale per i job già arrivati: tutti i job registrati nella coda di attesa di ricezione ricevono una
conferma di acknowledge negativa.
-
Ad un successivo nuovo avviamento (avviamento a caldo) o avviamento a freddo tutti i blocchi
dati vengono annullati.
-
Ad un successivo riavviamento (non per S7-300 e per S7-400H) il blocco dati appartenente al
job più vecchio viene confermato nel programma, se è stato interrogato prima della
transizione nello stato di funzionamento STOP (richiamo della SFC 66 "X_RCV" con
EN_DT=0). Altrimenti viene annullato.
Tutti gli altri blocchi dati vengono annullati.
Annullamento dei collegamenti
Con l'annullamento di un collegamento un job già registrato nella coda di attesa di ricezione, che fa
parte di questo collegamento, viene annullato.
Eccezione: se questo job è il job più vecchio nella coda di attesa ed è già stato riconosciuto mediante
richiamo della SFC 66 "X_RCV" con EN_DT=0, lo si può confermare nell'area di ricezione con
EN_DT=1.
Informazioni di errore
Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi
degli errori con il parametro di uscita RET_VAL.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
445
Comunicazione di base S7
23.5 Scrittura di dati in un partner di comunicazione esterno alla propria stazione S7 con la SFC 68 "X_PUT"
23.5
Scrittura di dati in un partner di comunicazione esterno alla propria
stazione S7 con la SFC 68 "X_PUT"
Descrizione
Con la SFC 68 "X_PUT" si scrivono i dati in un partner di comunicazione esterno alla propria stazione
S7. Sul partner di comunicazione non c'è alcuna SFC corrispondente.
L'attivazione del processo di scrittura avviene dopo il richiamo della SFC con REQ=1. Poi richiamare a
lungo la SFC finché la ricezione della conferma di acknowledge non viene visualizzata con BUSY=0.
Occorre fare attenzione che l'area di trasmissione (sulla CPU mittente), definita mediante il
parametro SD, abbia la stessa lunghezza dell'area di ricezione (nel partner di comunicazione) definita
dal parametro VAR_ADDR. Ne consegue che i tipi di dati di SD e VAR_ADDR devono coincidere.
Parametri
Dichiarazione
Tipo
Area di
memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L,
cost.
Parametro di comando "request to activate", vedere
Parametri comuni delle SFC di comunicazione di
base S7
CONT
INPUT
BOOL
E, A, M, D, L,
cost.
Parametro di comando "continue", vedere Parametri
comuni delle SFC di comunicazione di base S7
DEST_ID
INPUT
WORD E, A, M, D, L,
cost.
Parametro di indirizzamento "destination ID".
Contiene l'indirizzo MPI del partner di
comunicazione. Esso è stato progettato con
STEP 7.
VAR_ADDR INPUT
ANY
E, A, M, D
Riferimento all'area nella CPU partner nella quale si
deve scrivere. Si deve scegliere un tipo di dati che
venga supportato dal partner di comunicazione.
SD
ANY
E, A, M, D
Riferimento all'area della propria CPU che contiene i
dati da trasmettere. Sono consentiti i seguenti tipi di
dati: BOOL, BYTE, CHAR, WORD, INT, DWORD,
DINT, REAL, DATE, TOD, TIME, S5_TIME,
DATE_AND_TIME nonché gli array dei tipi di dati
citati, a eccezione di BOOL.
INPUT
SD deve avere la stessa lunghezza del parametro
VAR_ADDR del partner di comunicazione. Inoltre i
tipi di dati di SD e VAR_ADDR devono coincidere.
L'area di ricezione può occupare al massimo 76
byte.
RET_VAL
OUTPUT
INT
E, A, M, D, L
Se durante l'elaborazione della funzione si verifica
un errore, il valore di ritorno contiene il relativo
codice di errore.
BUSY
OUTPUT
BOOL
E, A, M, D, L
BUSY=1: il processo di trasmissione non è ancora
concluso.
BUSY=0: il processo di trasmissione è concluso, o
nessun processo di trasmissione è attivo.
446
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione di base S7
23.5 Scrittura di dati in un partner di comunicazione esterno alla propria stazione S7 con la SFC 68 "X_PUT"
Transizione dello stato di funzionamento in STOP
Se la CPU passa nello stato di funzionamento STOP, il collegamento creato dalla SFC 68 "X_PUT"
viene disattivato. I dati non possono più essere inviati. Se, al momento della transizione dello stato di
funzionamento, i dati di trasmissione erano già stati copiati nel buffer interno, il contenuto del buffer
viene annullato.
Transizione dello stato di funzionamento del partner di comunicazione in STOP
Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha
alcun effetto per il trasferimento dati con la SFC 68 "X_PUT": i dati inviati vengono comunque scritti.
Coerenza dei dati
I dati vengono inviati in modo coerente.
Informazioni di errore
Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi
degli errori con il parametro di uscita RET_VAL.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
447
Comunicazione di base S7
23.6 Lettura di dati da un partner di comunicazione esterno alla propria stazione S7 con la SFC 67 "X_GET"
23.6
Lettura di dati da un partner di comunicazione esterno alla propria
stazione S7 con la SFC 67 "X_GET"
Descrizione
Con la SFC 67 "X_GET" si leggono i dati da un partner di comunicazione esterno alla propria stazione
S7. Sul partner di comunicazione non c'è alcuna SFC corrispondente.
L'attivazione del processo di lettura avviene dopo il richiamo della SFC con REQ=1. Poi richiamare a
lungo la SFC finché la ricezione dei dati non viene visualizzata con BUSY=0 . RET_VAL contiene
quindi la lunghezza in byte del blocco dati ricevuto.
Occorre fare attenzione che l'area di ricezione (sulla CPU ricevente), definita mediante il parametro
RD, sia almeno lunga quanto l'area di lettura (nel partner di comunicazione) definita dal parametro
VAR_ADDR. Ne consegue che i tipi di dati di RD e VAR_ADDR devono coincidere.
Parametri
Dichiarazione Tipo
Area di memoria Descrizione
REQ
INPUT
BOOL
E, A, M, D, L,
cost.
Parametro di comando "request to activate",
vedere Parametri comuni delle SFC di
comunicazione di base S7
CONT
INPUT
BOOL
E, A, M, D, L,
cost.
Parametro di comando "continue", vedere
Parametri comuni delle SFC di comunicazione di
base S7
DEST_ID
INPUT
WORD
E, A, M, D, L,
cost.
Parametro di indirizzamento "destination ID".
Contiene l'indirizzo MPI del partner di
comunicazione. Esso è stato progettato con
STEP 7.
VAR_ADDR INPUT
ANY
E, A, M, D
Riferimento all'area nella CPU partner nella quale
si deve scrivere. Si deve scegliere un tipo di dati
che venga supportato dal partner di
comunicazione.
RET_VAL
OUTPUT
INT
E, A, M, D, L
Se durante l'elaborazione della funzione si verifica
un errore, il valore di ritorno contiene il relativo
codice di errore. Se non si verifica alcun errore,
RET_VAL contiene la lunghezza in byte del blocco
dati copiato nell'area di ricezione RD come numero
positivo.
BUSY
OUTPUT
BOOL
E, A, M, D, L
BUSY=1: il processo di ricezione non è ancora
terminato.
BUSY=0: il processo di ricezione è concluso, o
nessun processo di ricezione è attivo.
448
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione di base S7
23.6 Lettura di dati da un partner di comunicazione esterno alla propria stazione S7 con la SFC 67 "X_GET"
Parametri
Dichiarazione Tipo
Area di memoria Descrizione
RD
OUTPUT
E, A, M, D
ANY
Riferimento all'area di ricezione (receive data
area). Sono consentiti i seguenti tipi di dati: BOOL,
BYTE, CHAR, WORD, INT, DWORD, DINT,
REAL, DATE, TOD, TIME, S5_TIME,
DATE_AND_TIME nonché gli array dei tipi di dati
citati, a eccezione di BOOL.
L'area di ricezione RD deve essere lunga almeno
quanto l'area di lettura VAR_ADDR nel partner di
comunicazione. Inoltre i tipi di dati di RD e
VAR_ADDR devono coincidere.
L'area di ricezione può occupare al massimo 76
byte.
Transizione nello stato di funzionamento STOP
Se la CPU passa nello stato di funzionamento STOP, il collegamento creato dalla SFC 67 "X_GET"
viene disattivato. Se i dati già ricevuti, che stanno in una memoria intermedia del sistema operativo,
vanno persi o meno, dipende dal tipo dell'avviamento successivo:
•
con un riavviamento (non con S7-300 e S7-400) questi dati vengono copiati nell'area definita da
RD;
•
con un nuovo avviamento (avviamento a caldo) o avviamento a freddo questi dati vengono
annullati.
Transizione dello stato di funzionamento del partner di comunicazione in STOP
Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha
alcun effetto per il trasferimento dati con la SFC 67 "X_GET": i dati vengono letti anche nello stato di
funzionamento STOP.
Coerenza dei dati
I dati vengono ricevuti in modo coerente.
Informazioni di errore
Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi
degli errori con il parametro di uscita RET_VAL.
•
Annullamento di un collegamento ad un partner di comunicazione esterno alla propria stazione S7
con la SFC 69 "X_ABORT"
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
449
Comunicazione di base S7
23.6 Lettura di dati da un partner di comunicazione esterno alla propria stazione S7 con la SFC 67 "X_GET"
Descrizione
Con la SFC 69 "X_ABORT" si annulla il collegamento ad un partner di comunicazione esterno alla
propria stazione S7, il quale era stato creato con una delle SFC X_SEND, X_GET o X_PUT. Se è
stato terminato il job appartenente a X_SEND, X_GET o X_PUT (BUSY = 0), dopo il richiamo della
SFC 69 "X_ABORT" sono nuovamente abilitate su entrambi i lati le risorse di collegamento che erano
state occupate per il collegamento.
Se il job appartenente a X_SEND, X_GET o X_PUT (BUSY = 1) non è stato terminato, una volta
terminata l'interruzione del collegamento occorre richiamare nuovamente la relativa SFC con REQ = 0
e CONT = 0 ed attendere BUSY = 0. Solo allora sono di nuovo abilitate tutte le risorse di collegamento
occupate.
Si può richiamare la SFC 69 "X_ABORT" solo su quel lato su cui è in esecuzione la SFC "X_SEND",
"X_PUT" o "X_GET".
L'attivazione dell'annullamento dei collegamenti avviene dopo il richiamo della SFC con REQ=1.
Parametri
Dichiarazione Tipo
Area di memoria Descrizione
REQ
INPUT
BOOL
E, A, M, D, L,
cost.
Parametro di comando "request to activate", vedere
Parametri comuni delle SFC di comunicazione di
base S7
WORD
E, A, M, D, L,
cost.
Parametro di indirizzamento "destination ID".
Contiene l'indirizzo MPI del partner di
comunicazione. Esso è stato progettato con STEP 7.
DEST_ID INPUT
RET_VAL
OUTPUT
INT
E, A, M, D, L
Se durante l'elaborazione della funzione si verifica
un errore, il valore di ritorno contiene il relativo
codice di errore.
BUSY
OUTPUT
BOOL
E, A, M, D, L
BUSY=1: l'annullamento dei collegamenti non è
ancora concluso.
BUSY=0: l'annullamento dei collegamenti è
concluso.
Transizione dello stato di funzionamento in STOP
Se la CPU passa nello stato di funzionamento STOP, viene elaborato fino alla fine l'annullamento dei
collegamenti avviato mediante la SFC 69 "X_ABORT".
Transizione dello stato di funzionamento del partner di comunicazione in STOP
Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha
alcun effetto per l'annullamento dei collegamenti con la SFC 69 "X_ABORT": il collegamento viene
annullato.
Informazioni di errore
Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi
degli errori con il parametro di uscita RET_VAL.
450
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione di base S7
23.7 Scrittura di dati in un partner di comunicazione interno alla propria stazione S7 con la SFC 73 "I_PUT"
23.7
Scrittura di dati in un partner di comunicazione interno alla propria
stazione S7 con la SFC 73 "I_PUT"
Descrizione
Con la SFC 73 "I_PUT" si scrivono i dati in un partner di comunicazione interno alla propria stazione
S7. Il partner di comunicazione può essere collocato nell'apparecchiatura centrale, in
un'apparecchiatura di ampliamento oppure in posizione decentrata. Fare attenzione che il partner di
comunicazione collocato in posizione decentrata sia stato assegnato con STEP 7 alla propria CPU.
Sul partner di comunicazione non c'è alcuna SFC corrispondente.
Il processo di trasmissione avviene dopo il richiamo della SFC con livello 1 sull'ingresso di comando
REQ.
Occorre fare attenzione affinché l'area di trasmissione (sulla CPU mittente), definita tramite il
parametro SD, abbia la stessa lunghezza dell'area di ricezione (nel partner di comunicazione) definita
mediante il parametro VAR_ADDR. Ne consegue che i tipi di dati di SD e VAR_ADDR devono
coincidere.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L, cost.
Parametro di comando "request to activate",
vedere Parametri comuni delle SFC di
comunicazione di base S7
CONT
INPUT
BOOL
E, A, M, D, L, cost.
Parametro di comando "continue", vedere
Parametri comuni delle SFC della
comunicazione di base S7
IOID
INPUT
BYTE
E, A, M, D, L, cost.
Identificazione dell'area di indirizzamento
dell'unità partner:
B#16#54 = Ingresso periferia (PE)
B#16#55 = Uscita periferia (PA)
Se si tratta di un'unità mista, va indicata
l'identificazione dell'area dell'indirizzo più basso.
Per gli indirizzi uguali indicare B#16#54.
LADDR
INPUT
VAR_ADDR INPUT
WORD
E, A, M, D, L, cost.
Indirizzo logico dell'unità partner. Nel caso di
un'unità mista va indicato l'indirizzo minore tra i
due.
ANY
E, A, M, D, L
Riferimento all'area nella CPU partner nella
quale si deve scrivere. Si deve scegliere un tipo
di dati che venga supportato dal partner di
comunicazione.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
451
Comunicazione di base S7
23.7 Scrittura di dati in un partner di comunicazione interno alla propria stazione S7 con la SFC 73 "I_PUT"
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
SD
INPUT
E, A, M, D
Riferimento all'area della propria CPU che
contiene i dati da trasmettere. Sono consentiti i
seguenti tipi di dati: BOOL, BYTE, CHAR,
WORD, INT, DWORD, DINT, REAL, DATE,
TOD, TIME, S5TIME, DATE_AND_TIME
nonché gli array dei tipi di dati citati, a eccezione
di BOOL.
ANY
SD deve avere la stessa lunghezza del
parametro VAR_ADDR del partner di
comunicazione. Inoltre i tipi di dati di SD e
VAR_ADDR devono coincidere.
L'area di trasmissione può occupare al massimo
76 byte.
RET_VAL
OUTPUT
INT
E, A, M, D, L
Se durante l'elaborazione della funzione si
verifica un errore, il valore di ritorno contiene il
relativo codice di errore.
BUSY
OUTPUT
BOOL
E, A, M, D, L
BUSY=1: il processo di trasmissione non è
ancora concluso.
BUSY=0: il processo di trasmissione è
concluso, o nessun processo di trasmissione è
attivo.
Transizione dello stato di funzionamento in STOP
Se la CPU passa nello stato di funzionamento STOP, il collegamento creato dalla SFC 73 "I_PUT"
viene disattivato. I dati non possono più essere inviati. Se, al momento della transizione dello stato di
funzionamento, i dati di trasmissione erano già stati copiati nel buffer interno, il contenuto del buffer
viene annullato.
Transizione dello stato di funzionamento del partner di comunicazione in STOP
Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha
alcun effetto per il trasferimento dati con la SFC 73 "I_PUT". I dati inviati vengono comunque scritti.
Coerenza dei dati
I dati vengono inviati in modo coerente.
Informazioni di errore
Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi
degli errori con il parametro di uscita RET_VAL.
452
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione di base S7
23.8 Lettura di dati da un partner di comunicazione interno alla propria stazione S7 con la SFC 72 "I_GET"
23.8
Lettura di dati da un partner di comunicazione interno alla propria
stazione S7 con la SFC 72 "I_GET"
Descrizione
Con la SFC 72 "I_GET" si leggono i dati da un partner di comunicazione interno alla propria stazione
S7. Il partner di comunicazione può essere collocato nell'apparecchiatura centrale, in
un'apparecchiatura di ampliamento oppure in posizione decentrata. Fare attenzione che il partner di
comunicazione collocato in posizione decentrata sia stato assegnato con STEP 7 alla propria CPU.
Sul partner di comunicazione non c'è alcuna SFC corrispondente.
L'attivazione del processo di ricezione avviene dopo il richiamo della SFC con REQ=1. Poi richiamare
a lungo la SFC finché la ricezione dei dati non viene visualizzata con BUSY=0 . RET_VAL contiene
quindi la lunghezza in byte del blocco dati ricevuto.
Occorre fare attenzione che l'area di ricezione (sulla CPU ricevente), definita mediante il parametro
RD, sia almeno lunga quanto l'area di lettura (nel partner di comunicazione) definita dal parametro
VAR_ADDR. Ne consegue che i tipi di dati di RD e VAR_ADDR devono coincidere.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L, cost.
Parametro di comando "request to activate",
vedere Parametri comuni delle SFC di
comunicazione di base S7
CONT
INPUT
BOOL
E, A, M, D, L, cost.
Parametro di comando "continue", vedere
Parametri comuni delle SFC di comunicazione
di base S7
IOID
INPUT
BYTE
E, A, M, D, L, cost.
Identificazione dell'area di indirizzamento
dell'unità partner:
B#16#54 = Ingresso periferia (PE)
B#16#55 = Uscita periferia (PA)
Se si tratta di un'unità mista, va indicata
l'identificazione dell'area dell'indirizzo più basso.
Per gli indirizzi uguali indicare B#16#54.
LADDR
INPUT
WORD
E, A, M, D, L, cost.
Indirizzo logico dell'unità partner. Nel caso di
un'unità mista, va indicato l'indirizzo più basso
tra i due.
VAR_ADDR INPUT
ANY
E, A, M, D
Riferimento all'area nella CPU partner che deve
essere letta. Si deve scegliere il tipo di dati che
viene supportato dal partner di comunicazione
RET_VAL
INT
E, A, M, D, L
Se durante l'elaborazione della funzione si
verifica un errore, il valore di ritorno contiene il
relativo codice di errore.
OUTPUT
Se non si verifica alcun errore, RET_VAL
contiene la lunghezza in byte del blocco dati
copiato nell'area di ricezione RD come numero
positivo.
BUSY
OUTPUT
BOOL
E, A, M, D, L
BUSY=1: il processo di ricezione non è ancora
concluso.
BUSY=0: il processo di ricezione è concluso, o
nessun processo di ricezione è attivo.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
453
Comunicazione di base S7
23.8 Lettura di dati da un partner di comunicazione interno alla propria stazione S7 con la SFC 72 "I_GET"
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
RD
OUTPUT
E, A, M, D
Riferimento all'area di ricezione (receive data
area). Sono consentiti i seguenti tipi di dati:
BOOL, BYTE, CHAR, WORD, INT, DWORD,
DINT, REAL, DATE, TOD, TIME,S5_TIME,
DATE_AND_TIME nonché gli array dei tipi di
dati citati, a eccezione di BOOL.
ANY
L'area di ricezione RD deve essere lunga
almeno quanto l'area di lettura VAR_ADDR nel
partner di comunicazione. Inoltre i tipi di dati di
RD e VAR_ADDR devono coincidere.
L'area di ricezione può occupare al massimo 76
byte.
Transizione dello stato di funzionamento in STOP
Se la CPU passa nello stato di funzionamento STOP, il collegamento creato dalla SFC 72 "I_GET"
viene disattivato. Se i dati già ricevuti, che stanno in una memoria intermedia del sistema operativo,
vanno persi o meno, dipende dal tipo dell'avviamento successivo:
•
con un riavviamento (non con S7-300 e S7-400) questi dati vengono copiati nell'area definita da
RD;
•
con un nuovo avviamento (avviamento a caldo) o avviamento a freddo questi dati vengono
annullati.
Transizione dello stato di funzionamento del partner di comunicazione in STOP
Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha
alcun effetto per il trasferimento dati con la SFC 72 "I_GET" : i dati vengono letti anche nello stato di
funzionamento STOP.
Coerenza dei dati
I dati vengono ricevuti in modo coerente.
Informazioni di errore
Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi
degli errori con il parametro di uscita RET_VAL.
454
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione di base S7
23.9 Annullamento di un collegamento con un partner di comunicazione interno alla propria stazione S7 con la
SFC 74 "I_ABORT"
23.9
Annullamento di un collegamento con un partner di comunicazione
interno alla propria stazione S7 con la SFC 74 "I_ABORT"
Descrizione
Con la SFC 74 "I_ABORT" si annulla il collegamento ad un partner di comunicazione interno alla
propria stazione S7, il quale era stato creato con la SFC 72 "I_GET" o la SFC 73 "I_PUT". Se è stato
terminato il job appartenente a I_GET o I_PUT (BUSY = 0), dopo il richiamo della SFC 74 "I_ABORT"
sono nuovamente abilitate su entrambi i lati le risorse di collegamento che erano state occupate per il
collegamento.
Se il job appartenente a I_GET o I_PUT (BUSY = 1) non è stato terminato, una volta terminata
l'interruzione del collegamento occorre richiamare nuovamente la relativa SFC con REQ = 0 e CONT
= 0 ed attendere BUSY = 0. Solo allora sono di nuovo abilitate tutte le risorse di collegamento
occupate.
Si può richiamare la SFC 74 "I_ABORT" solo su quel lato su cui è in esecuzione la SFC "I_PUT" o la
"I_GET" (ossia sul lato client).
L'attivazione dell'annullamento dei collegamenti avviene dopo il richiamo della SFC con REQ=1.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L, cost.
Parametro di comando "request to activate",
vedere Parametri comuni delle SFC di
comunicazione di base S7
IOID
INPUT
BYTE
E, A, M, D, L, cost.
Identificazione dell'area di indirizzamento
dell'unità partner:
B#16#54 = Ingresso periferia (PE)
B#16#55 = Uscita periferia (PA)
Se si tratta di un'unità mista, va indicata
l'identificazione dell'area dell'indirizzo più basso.
Per gli indirizzi uguali indicare B#16#54.
LADDR
INPUT
WORD
E, A, M, D, L, cost.
Indirizzo logico dell'unità partner.
Nel caso di un'unità mista va indicato l'indirizzo
minore tra i due.
RET_VAL
OUTPUT
INT
E, A, M, D, L
Se durante l'elaborazione della funzione si
verifica un errore, il valore di ritorno contiene il
relativo codice di errore.
BUSY
OUTPUT
BOOL
E, A, M, D, L
BUSY=1: l'annullamento dei collegamenti non è
ancora concluso.
BUSY=0: l'annullamento dei collegamenti è
concluso.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
455
Comunicazione di base S7
23.9 Annullamento di un collegamento con un partner di comunicazione interno alla propria stazione S7 con la
SFC 74 "I_ABORT"
Transizione dello stato di funzionamento in STOP
Se la CPU passa nello stato di funzionamento STOP, viene elaborato fino alla fine l'annullamento dei
collegamenti avviato mediante la SFC 74 "I_ABORT".
Transizione dello stato di funzionamento del partner di comunicazione in STOP
Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP non ha
alcun effetto per l'annullamento dei collegamenti con la SFC 69 "I_ABORT": il collegamento viene
annullato.
Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non progettati e Analisi
degli errori con il parametro di uscita RET_VAL.
456
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
24
Comunicazione aperta tramite Industrial Ethernet
24.1
Panoramica
Comunicazione aperta tramite Industrial Ethernet
Per consentire, nel programma utente, lo scambio di dati via Ethernet con altri partner di
comunicazione (protocollo TCP, ISO on TCP, UDP) , STEP 7 fornisce i seguenti FB e UDT disponibili
nella biblioteca "Standard Library" alla voce "Communication Blocks".
•
•
•
Protocolli alla connessione: TCP secondo RFC 793, ISO on TCP secondo RFC 1006:
-
UDT 65 "TCON_PAR" con la struttura di dati per la parametrizzazione del collegamento
-
Da UDT 651 a UDT 656 con preimpostazioni specifiche per il protocollo
-
FB 65 "TCON" per la creazione del collegamento
-
FB 66 "TDISCON" per la disconnessione
-
FB 63 "TSEND" per l'invio di dati
-
FB 64 "TRCV" per la ricezione di dati
Protocollo privo di connessione: UDP secondo RFC 768
-
UDT 65 "TCON_PAR" con la struttura di dati per la parametrizzazione del punto di accesso
alla comunicazione locale.
-
UDT 657 con preimpostazioni specifiche per il protocollo
-
UDT 66 "TCON_ADR" con la struttura di dati dei parametri di indirizzo del partner remoto
-
UDT 661 con preimpostazioni specifiche per il protocollo
-
FB 65 "TCON" per la configurazione del punto di accesso alla comunicazione locale.
-
FB 66 "TDISCON" per la sconnessione del punto di accesso alla comunicazione locale.
-
FB 67 "TUSEND" per l’invio di dati
-
FB 68 "TURCV" per la ricezione di dati
Accoppiamento a sistemi di terzi utilizzando i servizi FETCH e WRITE
-
FB 210 "S5FW_TCP" per l'accoppiamento ad un sistema di terzi tramite TCP
-
FB 220 "S5FW_IOT" per l'accoppiamento ad un sistema di terzi tramite ISO on TCP
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
457
Comunicazione aperta tramite Industrial Ethernet
24.2 Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet
24.2
Funzionamento degli FB per la comunicazione aperta tramite
Industrial Ethernet
Protocolli orientati alla connessione e protocolli privi di connessione
La comunicazione dati opera una distinzione tra due varianti di protocollo:
•
Protocolli orientati alla connessione:
questi protocolli creano, prima del trasferimento dati, un collegamento (logico) con il partner di
comunicazione per disconnettersi poi a trasferimento avvenuto. I protocolli orientati alla
connessione trovano impiego soprattutto quando la trasmissione dati deve avvenire in assoluta
sicurezza. Una linea fisica supporta normalmente più collegamenti logici.
Gli FB per la comunicazione aperta tramite Industrial Ethernet supportano i seguenti protocolli
orientati alla connessione:
-
TCP secondo RFC 793
-
ISO on TCP secondo RFC 1006
•
Varianti di protocollo prive di connessione:
questi protocolli operano senza collegamento. La creazione e l’interruzione del collegamento con
il partner remoto non avvengono. I protocolli privi di connessione effettuano il trasferimento dati al
partner remoto senza conferma e quindi con scarsa sicurezza. I dati possono andare perduti
senza che la perdita venga segnalata nel blocco.
Gli FB per la comunicazione aperta tramite Industrial Ethernet supportano il seguente protocollo
privo di connessione:
•
UDP secondo RFC 768
Il funzionamento dei blocchi funzionali, dipende dalla variante di protocollo impiegata. La
descrizione dettagliata di questi protocolli viene riportata nel seguito.
Area di ricezione
Nel seguito si ricorre sempre all'uso di questo termine che sta ad indicare l'area nella quale il blocco
funzionale inserisce i dati ricevuti.
La determinazione dell'area di ricezione avviene sulla base di due grandezze:
•
Puntatore all'inizio dell'area
•
Lunghezza dell'area
La determinazione della lunghezza dell'area avviene, in funzione delle varianti di protocollo impiegate,
tramite il parametro LEN (se LEN <> 0) oppure mediante l'indicazione della lunghezza del parametro
DATA (se LEN = 0).
Nel parametro ANY Ponter sono consentiti i seguenti tipi di dati BOOL, BYTE, CHAR, WORD, INT,
DWORD, DINT, REAL, DATE, TIME_OF_DAY, TIME, S5TIME, DATE_AND_TIME.
458
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.2 Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet
TCP
Nel trasferimento dati non vengono fornite informazioni circa lunghezza, inizio e fine di un messaggio.
Ciò non costituisce alcun problema nel caso dell'invio in quanto l'emittente conosce il numero dei byte
che intende trasferire. Il ricevente tuttavia non può appurare, nel flusso dati, la fine di un messaggio e
l'inizio del successivo. Si raccomanda pertanto di selezionare, per l'area di ricezione dell'FB 64
"TRCV", esattamente lo stesso valore del parametro LEN dell'FB 63 "TSEND" nel partner di
comunicazione (numero di byte da inviare).
•
Ricezione di dati in modalità Ad hoc:
L'area di ricezione è identica all'area predefinita nel parametro DATA dell'FB 64 "TRCV".
L'FB 64 "TRCV" provvede a trasferire, immediatamente dopo la ricezione, il blocco dati nell'area di
ricezione e ad impostare su 1 il valore di NDR. La lunghezza max. è di 8192 byte.
Qualora la lunghezza dell'area di ricezione superasse quella dei dati di invio, l'FB 64 "TRCV" copia
tutti i dati ricevuti nell'area di ricezione, imposta quindi su TRUE il parametro NDR e inserisce in
RCVD_LEN la lunghezza dei dati ricevuti.
Qualora la lunghezza dell'area di ricezione, fosse inferiore rispetto alla lunghezza dei dati inviati,
l'FB 64 copia nell'area di ricezione tanti byte quanti quest'area ne può contenere, imposta quindi
NDR su TRUE e inserisce nel parametro RCVD_LEN la lunghezza dell'area di ricezione. Ad ogni
richiamo successivo l'operatore riceve un ulteriore blocco dei dati inviati.
•
Ricezione dati con lunghezza prestabilita:
La formazione dell'area di ricezione avviene tramite i parametri DATA (indirizzo iniziale dell'area di
ricezione) e LEN (lunghezza dell'area di ricezione) dell'FB 64.
Qualora i dati ricevuti non bastassero a riempire interamente l'area di ricezione, essi vengono resi
disponibili soltanto dopo la ricezione di ulteriori dati, quando quest'area sarà stata completamente
riempita. Tenere presente in questo caso che nelle stessa area di ricezione si trovano dati
provenienti da due diversi ordini di invio, impossibili da distinguere se non sono individuabili la fine
del primo messaggio e l'inizio del successivo.
Qualora la lunghezza dell'area di ricezione, fosse inferiore rispetto alla lunghezza dei dati inviati,
l'FB 64 copia nell'area di ricezione tanti byte quanti quest'area ne può contenere.
Quando l'FB 64 ha riempito interamente quest'area, imposta NDR su TRUE e inserisce in
RCVD_LEN il calore di LEN. Ad ogni richiamo successivo l'operatore riceve un ulteriore blocco dei
dati inviati.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
459
Comunicazione aperta tramite Industrial Ethernet
24.2 Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet
ISO on TCP
Nel trasferimento dati vengono fornite informazioni circa lunghezza e la fine di un messaggio.
Qualora l'area di ricezione superasse la lunghezza dei dati di invio, l'FB 64 "TRCV" copia tutti i dati
inviati nell'area di ricezione, imposta quindi NDR su TRUE e inserisce nel parametro RCVD_LEN la
lunghezza dei dati inviati.
Qualora l'area di ricezione fosse inferiore rispetto alla lunghezza dei dati inviati, anziché copiare i dati
nell'area di ricezione, l'FB 64 emette la seguente informazione di errore: ERROR=1,
STATUS=W#16#8088.
UDP
Questi protocolli non effettuano la creazione del collegamento come avviene nei protocolli TCP e ISO
on TCP. È pertanto necessario, al richiamo del blocco di invio FB 67 "TUSEND", indicare un
riferimento ai parametri di indirizzo del ricevente (indirizzo IP e N. porta). Analogamente, al termine del
trasferimento da parte del blocco di ricezione FB 68 "TURCV", al ricevente viene indicato un
riferimento ai parametri di indirizzo del mittente (indirizzo IP e N. porta).
Per utilizzare gli FB 67 "TUSEND" e 68 "TURCV" è necessario aver in precedenza richiamato, sia per
il mittente che per il ricevente, il parametro FB 65 "TCON" per la configurazione del punto di accesso
alla comunicazione locale.
Ad ogni richiamo dell'FB 67 "TUSEND" è possibile creare un nuovo riferimento al partner remoto
indicando il rispettivo indirizzo IP ed il numero della porta.
Con la trasmissione dei dati vengono inviate informazioni sulla lunghezza e fine di un messaggio.
Qualora l'area di ricezione superasse la lunghezza dei dati di invio, l'FB 68 "TURCV" copia tutti i dati
inviati nell'area di ricezione, imposta quindi NDR su TRUE e inserisce nel parametro RCVD_LEN la
lunghezza dei dati inviati.
Qualora l'area di ricezione fosse inferiore rispetto alla lunghezza dei dati inviati, anziché copiare i dati
nell'area di ricezione, l'FB 68 emette la seguente informazione di errore: ERROR = 1, STATUS
= W#16#8088.
460
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.2 Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet
Numeri delle porte nei protocolli TCP e UDP
Un collegamento viene indirizzato come indicato nel seguito:
•
•
Protocollo TCP:
-
Collegamento attivo: tramite l'indirizzo IP remoto, la porta remota e quella locale (il numero
della porta locale viene assegnato esplicitamente dall'utente oppure dal sistema operativo).
-
Collegamento passivo: tramite la porta locale. Se si desidera utilizzare la porta locale diverse
volte occorre predefinire anche l'indirizzo IP remoto oppure l'indirizzo IP remoto e la porta
remota.
Protocollo UDP: tramite l'indirizzo IP remoto, la porta remota e quella locale (il numero della porta
locale viene assegnato esplicitamente dall'utente).
Per la porta locale hanno validità i campi indicati nel seguito. Per la porta remota questi campi sono
validi soltanto se il partner remoto è una CPU S7. In caso contrario la porta remota non è soggetta ad
alcun tipo di limitazione.
•
•
•
Per le CPU 31x-2 PN/DP fino alla versione firmware V2.6 inclusa e le CPU 41x-3 PN/DP fino alla
versione firmware V5.1:
-
Numeri della porta consentiti per la parametrizzazione (UDT 65): 2000 … 5000
-
Nel caso delle parametrizzazioni in cui il numero di porta non viene assegnato esplicitamente,
il sistema operativo assegna una porta compresa nel campo numerico dinamico da 49152 a
65534.
Per le CPU 31x-2 PN/DP dalla versione firmware V2.7 e le CPU 41x-3 PN/DP dalla versione
firmware V5.2:
-
Numeri della porta consentiti per la parametrizzazione (UDT 65): 1 … 49151
Si raccomanda di limitarsi ai numeri compresi tra 2000 e 5000, in quanto Siemens si riserva di
riservare al sistema le porte comprese nei campi numerici da 1 a 1999 e da 5001 a 49151.
-
Nel caso delle parametrizzazioni in cui il numero di porta non viene assegnato esplicitamente,
il sistema operativo assegna una porta compresa nel campo numerico dinamico da 49152 a
65534.
Per le CPU 31x-2 PN/DP dalla versione firmware V3.2 e le CPU 41x-3 PN/DP dalla versione
firmware V6.0:
-
È possibile utilizzare una porta diverse volte.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
461
Comunicazione aperta tramite Industrial Ethernet
24.2 Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet
I numeri delle porte riservati all'assegnazione automatica da parte del sistema sono contenuti nel
seguente elenco.
Protocollo
Numero della porta
Servizio
-
0
(Questa porta è assegnata in modo
fisso e non può essere utilizzata).
TCP
20 e 21
FTP
TCP
25
SMTP
TCP
80
HTTP
TCP
102
RFC 1006
UDP
135
RPC-DCOM
UDP
161
SNMP_REQUEST
TCP, UDP
34962
PNIO
TCP, UDP
34963
PNIO
TCP, UDP
34964
PNIO
UDP
65532
NTP
UDP
65533
NTP
UDP
65534
NTP
UDP
65535
NTP
Vedere anche http://www.iana.org/assignments/port-numbers.
Avvertenza
Non utilizzare i numeri di porta riservati all'assegnazione da parte del sistema.
462
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.3 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP e ISO on TCP
24.3
Parametrizzazione di collegamenti di comunicazione aperti tramite i
protocolli TCP e ISO on TCP
Blocco dati per la parametrizzazione del collegamento
Per consentire la parametrizzazione di collegamenti di comunicazione aperti tramite TCP e ISO on
TCP, è necessario creare un DB che contenga la struttura dei dati dell'UDT 65 "TCON_PAR". Questa
struttura di dati contiene i parametri necessari per l'attivazione del collegamento. Una struttura di dati
di questo tipo è necessaria per tutti i collegamenti e può essere raggruppata in un DB globale. Il
parametro di collegamento CONNECT dell'FB 65 "TCON" contiene un rimando all'indirizzo della
descrizione del collegamento interessato (p. es. P#DB100.DBx0.0 byte 64).
Struttura della descrizione del collegamento (UDT 65)
Byte
Parametri
Tipo
0 ... 1
block_length
WORD
W#16#40
Lunghezza dell'UDT 65: 64 byte (fissa)
2 ... 3
id
WORD
W#16#0001
ID di questo collegamento (campo di valori: da
W#16#0001 a W#16#=0FFF)
Il valore di questo parametro deve essere
indicato nell'ID del relativo blocco.
4
connection_type
BYTE
B#16#01
Varianti dei protocolli:
5
active_est
BOOL
Valore
iniziale
FALSE
Descrizione
•
B#16#11: TCP
•
B#16#12: ISO on TCP
•
B#16#01: TCP (modo compatibile)
ID per il tipo di inizializzazione del collegamento:
•
FALSE: inizializzazione del collegamento
passiva
•
TRUE: inizializzazione del collegamento
attiva
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
463
Comunicazione aperta tramite Industrial Ethernet
24.3 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP e ISO on TCP
Byte
Parametri
Tipo
Valore
iniziale
Descrizione
6
local_device_id
BYTE
B#16#02
•
B#16#00: comunicazione tramite CP
443-1EX4x (con l'S7-400 tuttavia soltanto
con connection_type = B#16#12)
•
B#16#01: comunicazione tramite
l'interfaccia IE sul posto connettore 1 (IF1)
in WinAC RTX (soltanto TCP)
•
B#16#02: comunicazione tramite
l'interfaccia IE integrata nelle CPU 315-2
PN/DP e 317-2 PN/DP
•
B#16#03: comunicazione tramite
l'interfaccia IE integrata nella CPU 319-3
PN/DP
•
B#16#05: comunicazione tramite
l'interfaccia IE integrata nelle CPU 414-3
PN/DP, 416-3 PN/DP e 416-3F PN/DP
•
B#16#06: comunicazione tramite
l'interfaccia IE sul posto connettore 2 (IF2)
in WinAC RTX (soltanto TCP)
•
B#16#0B. comunicazione tramite
l'interfaccia IE sul posto connettore 3 (IF3)
in WinAC RTX (soltanto TCP)
•
B#16#0F: comunicazione tramite
l'interfaccia IE sul posto connettore 4 (IF4)
in WinAC RTX (soltanto TCP)
7
B#16#02
Lunghezza del parametro local_tsap_id
applicata; valori possibili:
•
0 o 2, se connection_type = B#16#01
(parte attiva: 0, parte passiva: 2)
•
0 oppure 2, se connection_type = B#16#11
(parte attiva: 0 o 2, parte passiva: 2)
•
2 ...16, se connection_type = B#16#12
8
rem_subnet_id_le BYTE
n
B#16#00
Questo parametro non viene attualmente
impiegato. Assegnare il valore B#16#00.
9
rem_staddr_len
B#16#00
Lunghezza dell'indirizzo del punto finale del
collegamento remoto:
10
11
464
local_tsap_id_len BYTE
rem_tsap_id_len
next_staddr_len
BYTE
BYTE
BYTE
B#16#00
B#16#00
•
0: non specificato, ovvero parametro
rem_staddr non di rilievo.
•
4: indirizzo IP valido nel parametro
rem_staddr
Lunghezza utilizzata del parametro rem_tsap_id;
valori possibili:
•
0 o 2 se connection_type = B#16#01
Per il lato passivo è ammesso solo il valore
B#16#00.
•
0 o 2 se connection_type = B#16#11
•
0 o 2-16 se connection_type = B#16#12
(Lato attivo: 2-16; lato passivo: 0 o 2-16, 0
significa non specificato)
Lunghezza del parametro next_staddr applicata
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.3 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP e ISO on TCP
Byte
Parametri
Tipo
Valore
iniziale
Descrizione
12 ...
27
local_tsap_id
ARRAY
[1..16] of
BYTE
B#16#07
B#16#D0
B#16#00 ...
in connection_type =
•
B#16#11: N. porta locale (valori possibili
Vedere Funzionamento degli FB per la
comunicazione aperta tramite Industrial
Ethernet),
local_tsap_id[1] = high byte del N. della
porta nella rappresentazione esadecimale,
local_tsap_id[2] = low byte del N. della porta
nella rappresentazione esadecimale,
local_tsap_id[3-16] = B#16#00
•
B#16#12: :ID del TSAP locale:
Vedere nel seguito.
•
B#16#01: N. porta locale (valori possibili:
Vedere Funzionamento degli FB per la
comunicazione aperta tramite Industrial
Ethernet),
local_tsap_id[1] = low byte del N. della porta
nella rappresentazione esadecimale,
local_tsap_id[2] = high byte del N. della
porta nella rappresentazione esadecimale,
local_tsap_id[3-16] = B#16#00
Avvertenza: quando sussistono più
collegamenti al medesimo partner di
comunicazione, accertarsi che tutti i valori di
local_tsap_id, impiegati nella CPU siano
univoci.
28 ...
33
rem_subnet_id
ARRAY
[1..6] of
BYTE
B#16#00 ...
Questo parametro non viene attualmente
impiegato. Assegnare il valore 0.
34 ...
39
rem_staddr
ARRAY
[1..6] of
BYTE
B#16#00 ...
IP del punto finale del collegamento remoto p. es
192.168.0.1::
in connection_type =
B#16#1x:
rem_staddr[1] = B#16#C0 (192),
rem_staddr[2] = B#16#A8 (168),
rem_staddr[3] = B#16#02 (002),
rem_staddr[4] = B#16#03 (003),
rem_staddr[5-6]= B#16#00 (riservato)
B#16#01:
rem_staddr[1] = B#16#03 (003),
rem_staddr[2] = B#16#02 (002),
rem_staddr[3] = B#16#A8 (168),
rem_staddr[4] = B#16#C0 (192),
rem_staddr[5-6]= B#16#00 (riservato)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
465
Comunicazione aperta tramite Industrial Ethernet
24.3 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP e ISO on TCP
Byte
Parametri
Tipo
Valore
iniziale
Descrizione
40 ...
55
rem_tsap_id
ARRAY
[1..16] of
BYTE
B#16#00 ...
in connection_type =
56 ...
61
62 ...
63
466
next_staddr
spare
ARRAY
[1..6] of
BYTE
WORD
B#16#00 ...
W#16#0000
•
B#16#11: N. porta remota (valori possibili:
Vedere Funzionamento degli FB per la
comunicazione aperta tramite Industrial
Ethernet),
rem_tsap_id[1] = high byte del N. della porta
nella rappresentazione esadecimale,
rem_tsap_id[2] = low byte del N. della porta
nella rappresentazione esadecimale,
rem_tsap_id[3-16] = B#16#00
•
B#16#12: ID del TSAP remoto:
Vedere nel seguito.
•
B#16#01: N. porta remota (valori possibili:
Vedere Funzionamento degli FB per la
comunicazione aperta tramite Industrial
Ethernet),
local_tsap_id[1] = low byte del N. della porta
nella rappresentazione esadecimale,
local_tsap_id[2] = high byte del N. della
porta nella rappresentazione esadecimale,
local_tsap_id[3-16] = B#16#00
in local_device_id =
•
B#16#00:
next_staddr[1]: slot e posto connettore del
rispettivo CP (locale) (bit 0 .. 4: posto
connettore, bit 5 e 7: N. slot)
next_staddr[2-6]: B#16#00
•
B#16#02, B#16#03, B#16#05:
next_staddr[1-6]: B#16#00
Reserve. Assegnare il valore 0 a questo
parametro 0.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.3 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP e ISO on TCP
Lunghezza e configurazione dell'ID TSAP locale e remoto nella comunicazione ISO on TCP
•
•
Inizializzazione attiva del collegamento:
-
ID TSAP locale:
Nell'interfaccia IE integrata sono consentite tutte le sequenza di caratteri con una lunghezza
compresa tra 1 e 16 byte. Ogni singolo carattere può avere un valore compreso tra B#16#00 e
B#16#FF.
-
ID TSAP remoto:
Sono consentite tutte le sequenza di caratteri con una lunghezza compresa tra 1 e 16 byte.
Ogni singolo carattere può avere un valore compreso tra B#16#00 e B#16#FF
Inizializzazione passiva del collegamento:
-
ID TSAP locale:
loc_tsap_id_len
local_tsap_id[1]
local_tsap_id[2]
2
B#16#E0 (tipo di
collegamento:
collegamento T)
0 (soltanto nell'interfaccia Non disponibile
IE integrata) oppure
telaio di montaggio e posto
connettore della CPU
propria (bit da 0 a 4 per il
posto connettore, bit da 5
a 7 per il numero del telaio
di montaggio)
>2
B#16#E0 (tipo di
collegamento:
collegamento T)
0 (soltanto nell'interfaccia Ampliamento TSAP
IE integrata) oppure
telaio di montaggio e posto
connettore della CPU
propria (bit da 0 a 4 per il
posto connettore, bit da 5
a 7 per il numero del telaio
di montaggio)
Soltanto nell'interfaccia IE
integrata: un carattere
ASCII (B#16#20 a
B#16#7E)
irrilevante
-
local_tsap_id[3 ... 16]
Ampliamento TSAP
ID TSAP locale remoto:
Sono consentite tutte le sequenza di caratteri con una lunghezza compresa tra 0 e 16 byte.
Ogni singolo carattere può avere un valore compreso tra B#16#00 e B#16#FF
Incidenza delle varianti di protocollo TCP e ISO on TCP richieste dalla CPU sulla lunghezza dei
dati trasferibili
Il capitolo Incidenza delle varianti di protocollo (connection_type) richieste dalla CPU sulla lunghezza
dei dati trasferibili indica quale delle due varianti di protocollo, TCP e ISO on TCP, vada impiegata per
ogni singola CPU.
Il numero dei collegamenti possibili è indicato nei dati tecnici della CPU.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
467
Comunicazione aperta tramite Industrial Ethernet
24.3 Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP e ISO on TCP
Inizializzazione del collegamento
Il partner di comunicazione A deve dare avvio all'inizializzazione attiva ed il partner di comunicazione
B all'inizializzazione passiva del collegamento. Quando entrambe i partner hanno avviato la
comunicazione, il sistema operativo può attivare completamente il collegamento.
Nel corso della progettazione del collegamento è possibile determinare quale partner di
comunicazione debba eseguire l'inizializzazione del collegamento attivo e quale, su richiesta dell'altro,
il collegamento passivo.
Con il protocollo UDP la creazione del collegamento passivo deve essere avviata da entrambi i
partner.
468
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.4 Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP
24.4
Parametrizzazione del punto di accesso alla comunicazione locale
con il protocollo UDP
Struttura dei dati per la parametrizzazione del punto di accesso alla comunicazione locale
Per consentire la parametrizzazione del punto di accesso alla comunicazione locale, è necessario
creare un DB che contenga la struttura dei dati dell'UDT 65 "TCON_PAR". Questa struttura contiene i
parametri necessari per la configurazione del collegamento tra il programma utente ed il livello di
comunicazione del sistema operativo.
Il parametro di collegamento CONNECT dell'FB 65 "TCON" contiene un riferimento all’indirizzo della
descrizione del collegamento interessato (p. es. P#DB100.DBX0.0 byte 64).
Struttura della descrizione del collegamento con il protocollo UDP (UDT 65)
Byte Parametri
Tipo di
dati
Valore
iniziale
Descrizione
0-1
block_length
WORD
W#16#40
Lunghezza dell‘UDT 65: 64 byte (fissa)
2-3
id
WORD
W#16#0001 ID del presente collegamento tra il programma utente e il
livello di comunicazione del sistema operativo (campo di
valori: W#16#0001 .... W#16#0FFF)
Il valore di questo parametro deve essere indicato nell'ID
del relativo blocco.
4
connection_type
BYTE
B#16#13
Varianti di protocollo:
5
active_est
BOOL
FALSE
ID per il tipo di inizializzazione del collegamento:
assegnare il valore FALSE a questo parametro
6
local_device_id
BYTE
B#16#02
•
B#16#01: comunicazione tramite l'interfaccia IE sul
posto connettore 1 (IF1) in WinAC RTX
•
B#16#02: comunicazione tramite l'interfaccia IE
integrata con la CPU 317-2 PN/DP
•
B#16#03: comunicazione tramite l'interfaccia IE
integrata con la CPU 319-3 PN/DP
•
B#16#05: comunicazione tramite l'interfaccia IE
integrata con le CPU 414-3 PN/DP, 416-3 PN/DP e
416-3F PN/DP
•
B#16#06: comunicazione tramite l'interfaccia IE sul
posto connettore 2 (IF2) in WinAC RTX
•
B#16#0B. comunicazione tramite l'interfaccia IE sul
posto connettore 3 (IF3) in WinAC RTX
•
B#16#0F: comunicazione tramite l'interfaccia IE sul
posto connettore 4 (IF4) in WinAC RTX
•
B#16#13: UDP
7
local_tsap_id_len
BYTE
B#16#02
Lunghezza del parametro impiegatalolocal_tsap_id: 2 byte
8
rem_subnet_id_len BYTE
B#16#00
Questo parametro non viene impiegato. Assegnargli il
valore B#16#00.
9
rem_staddr_len
B#16#00
Questo parametro non viene impiegato. Assegnargli il
valore B#16#00.
BYTE
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
469
Comunicazione aperta tramite Industrial Ethernet
24.4 Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP
Byte Parametri
Tipo di
dati
Valore
iniziale
Descrizione
10
rem_tsap_id_len
BYTE
B#16#00
Questo parametro non viene impiegato. Assegnargli il
valore B#16#00.
11
next_staddr_len
BYTE
B#16#00
Questo parametro non viene impiegato. Assegnargli il
valore B#16#00.
12 27
local_tsap_id
ARRAY B#16#07
N. della porta locale (valori possibili: Vedere
[1..16] of B#16#D0
Funzionamento degli FB per la comunicazione aperta
BYTE
B#16#00 .... tramite Industrial Ethernet),
local_tsap_id[1] = high byte del N. della porta nella
rappresentazione esadecimale,
local_tsap_id[2] = low byte del N. della porta nella
rappresentazione esadecimale
local_tsap_id[3-16] = B#16#00(riservato)
Avvertenza: accertarsi che tutti i valori di local_tsap_id,
impiegati nella CPU siano univoci.
28 33
rem_subnet_id
ARRAY
[1..6] of
BYTE
B#16#00 ...
Questo parametro non viene impiegato. Assegnargli il
valore 0.
34 39
rem_staddr
ARRAY
[1..6] of
BYTE
B#16#00 ...
Questo parametro non viene impiegato. Assegnargli il
valore 0.
40 55
rem_tsap_id
ARRAY B#16#00 ...
[1..16] of
BYTE
Questo parametro non viene impiegato. Assegnargli il
valore 0.
56 61
next_staddr
ARRAY
[1..6] of
BYTE
B#16#00 ...
Questo parametro non viene impiegato. Assegnargli il
valore 0.
WORD
W#16#0000 Reserve: assegnare il valore 0 a questo parametro.
62 ... spare
63
Incidenza della variante di protocollo UDP richiesta dalla CPU sulla lunghezza dei dati
trasferibili
Il capitolo Incidenza delle varianti di protocollo (connection_type) richieste dalla CPU sulla lunghezza
dei dati trasferibili indica le CPU che richiedono la variante di protocollo UDP.
Il numero dei collegamenti possibili tra il programma utente e il livello di comunicazione del sistema
operativo è indicato nei dati tecnici della CPU.
Configurazione del punto di accesso alla comunicazione locale
Ciascun partner di comunicazione deve configurare, indipendentemente dagli altri, il proprio punto di
accesso alla comunicazione locale, ovvero provvedere alla creazione del collegamento tra il
programma utente e il livello di comunicazione del sistema operativo.
Nella comunicazione UDP entrambi i partner di collegamento devono avviare la creazione del
collegamento passivo.
470
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.5 Struttura dell’ informazione di indirizzo del partner remoto con il protocollo UDP
24.5
Struttura dell’informazione di indirizzo del partner remoto con il
protocollo UDP
Panoramica
L'FB 67 "TUSEND" consente di trasferire al parametro ADDR l’indirizzo del ricevente.
Quest’informazione deve presentare la struttura indicata nel seguito.
L'FB 68 "TURCV" fornisce nel parametro ADDR l’indirizzo del mittente dei dati ricevuti.
Quest’informazione deve presentare la struttura indicata nel seguito.
Blocco dati per l’informazione di indirizzo del partner remoto
È necessaria la creazione di un DB contenente una o più strutture di dati secondo l‘UDT 66
"TADDR_PAR".
Nel parametro ADDR dell'FB 67 "TUSEND" il puntatore viene trasferito e nel parametro ADDR
dell'FB 68 "TURCV" il puntatore viene inserito sull’indirizzo del rispettivo partner remoto (p. es.
P#DB100.DBX0.0 byte 8).
Struttura del l’informazione di indirizzo del partner remoto (UDT 66)
Byte
Parametri
Tipo didati
Valore
iniziale
Descrizione
0-3
rem_ip_addr
ARRAY
[1..4] of
BYTE
B#16#00 ...
Indirizzo IP del partner remoto, p. es.
192.168.002.003:
4-5
6 ... 7
rem_port_nr
spare
ARRAY
[1..2] of
BYTE
ARRAY
[1..2] of
BYTE
B#16#00 ...
B#16#00 ...
•
rem_ip_addr[1] = B#16#C0 (192)
•
rem_ip_addr[2] = B#16#A8 (168)
•
rem_ip_addr[3] = B#16#02 (002)
•
rem_ip_addr[4] = B#16#03 (003)
N. porta remota (valori possibili: Vedere
Funzionamento degli FB per la comunicazione aperta
tramite Industrial Ethernet)
•
rem_port_nr[1] = high byte del N. della porta nella
rappresentazione esadecimale
•
rem_port_nr[2] = low byte del N. della porta nella
rappresentazione esadecimale
Reserve. Assegnare il valore 0 a questo parametro.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
471
Comunicazione aperta tramite Industrial Ethernet
24.6 Incidenza delle varianti di protocollo (connection_type) richieste dalla CPU sulla lunghezza dei dati
trasferibili
24.6
Incidenza delle varianti di protocollo (connection_type) richieste
dalla CPU sulla lunghezza dei dati trasferibili
La tabella sottostante indica le varianti di protocollo richieste da ogni singola CPU e la lunghezza dati
trasferibile.
Variante di
protocollo
Parametro
"connection
_type" in
UDT 65
CPU
Lunghezza dati
in byte nella
comunicazione
tramite
interfaccia
IE integrata
TCP
B#16#11
CPUs 31x-2 PN/DP a partire dalla 1 … 8192
versione firmware V2.4
Lunghezza dati
in byte nella
comunicazione
tramite CP
-
CPUs 31x-2 PN/DP a partire dalla 1 … 32767
versione firmware V3.1
CPUs 31x-3 PN/DP a partire dalla 1 … 32767
versione firmware V3.2
ISO on TCP
CPUs 41x-3 PN/DP
1 … 32767
-
B#16#01
CPUs 31x-2 PN/DP
1 … 1472
-
B#16#12
CPUs 31x-2 PN/DP a partire dalla 1 … 8192
versione firmware V2.4
-
CPUs 31x-2 PN/DP a partire dalla 1 … 32767
versione firmware V3.1
CPUs 31x-3 PN/DP a partire dalla 1 … 32767
versione firmware V3.2
UDP
472
B#16#13
CPUs 41x a partire dalla versione firmware V4.1 (senza CPU
41x-4H)
1 … 1452
CPUs 41x-3 PN/DP
1 … 1452
1 … 32767
CPUs 31x-2 PN/DP a partire dalla 1 … 1472
versione firmware V2.4, CPUs
41x-3 PN/DP
-
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti
24.7
Esempi di parametrizzazione di collegamenti di comunicazione
aperti
Esempio 1: Comunicazione tra due CPU S7-400 tramite ISO on TCP e CP 443-1 Adv.
Entrambe i partner di comunicazione sono due CPU 414-2 con versione firmware V4.1.0. La
comunicazione si svolge tramite due CP 443-1 Advanced.con versione firmware V2.2.
La tabella sottostante indica i dati più significativi di entrambi i partner di comunicazione.
Proprietà
Partner di comunicazione A:
CPU 414-2 (FW V4.1.0) con CP
443-1 Adv. (FW V2.2)
Partner di comunicazione B:
CPU 414-2 (FW V4.1.0) con CP
443-1 Adv. (FW V2.2)
Attivazione del collegamento
Attivo
Passivo
Indirizzo IP
192.168.4.14
192.168.4.16
Indirizzo fisico della CPU
Rack 0, slot 3
Rack 0, slot 4
Indirizzo fisico del rispettivo CP
Rack 0, slot 6
Rack 1, slot 8
ID del TSAP locale (avvertenza: il
coordinamento del TSAP per la
distinzione del collegamento inizia
dal byte 3)
0xE0 03 54 43 50 2D 31
0xE0 04 54 43 50 2D 31
La tabella sottostante indica i parametri di rilievo, contenuti nel DB, per la creazione del collegamento
attivo da parte del partner di comunicazione A:
Parametri
Tipo di
dati
Valore iniziale
Descrizione
id
WORD
W#16#0414
ID di collegamento
connection_type
BYTE
B#16#12
Varianti di protocollo: ISO on TCP
active_est
BOOL
TRUE
Creazione attiva del collegamento
local_device_id
BYTE
B#16#00
Comunicazione AS interna tramite CP
local_tsap_id_len
BYTE
B#16#07
Lunghezza del parametro applicata
local_tsap_id
rem_staddr_len
BYTE
B#16#04
Lunghezza dell'indirizzo del punto
finale del collegamento remoto:
•
4: indirizzo IP valido del parametro
rem_staddr
rem_tsap_id_len
BYTE
B#16#07
Lunghezza del parametro applicata
rem_tsap_id
next_staddr_len
BYTE
B#16#01
Lunghezza del parametro applicata
next_staddr
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
473
Comunicazione aperta tramite Industrial Ethernet
24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti
Parametri
Tipo di
dati
Valore iniziale
Descrizione
local_tsap_id
ARRAY
[1..16] of
BYTE
•
local_tsap_id[1] = B#16#E0
•
local_tsap_id[2] = B#16#03
ID del TSAP locale:
0xE0035443502D31
•
local_tsap_id[3] = B#16#54
(equivalenza ASCII di "T")
•
local_tsap_id[4] = B#16#43
(equivalenza ASCII di "C")
•
local_tsap_id[5] = B#16#50
(equivalenza ASCII di "P")
•
local_tsap_id[6] = B#16#2D
(equivalenza ASCII di "-")
•
local_tsap_id[7] = B#16#31
(equivalenza ASCII di "1")
•
local_tsap_id[8-16] = B#16#00
rem_staddr
rem_tsap_id
next_staddr
474
ARRAY
[1..6] of
BYTE
ARRAY
[1..16] of
BYTE
ARRAY
[1..6] of
BYTE
"192.168.4.16"
•
rem_staddr[1] = B#16#C0 (192)
•
rem_staddr[2] = B#16#A8 (168)
•
rem_staddr[3] = B#16#04 (4)
•
rem_staddr[4] = B#16#10 (16)
•
rem_staddr[5-6] = B#16#00
•
rem_tsap_id[1] = B#16#E0
•
rem_tsap_id[2] = B#16#04
•
rem_tsap_id[3] = B#16#54
(equivalenza ASCII di "T")
•
rem_tsap_id[4] = B#16#43
(equivalenza ASCII di "C")
•
rem_tsap_id[5] = B#16#50
(equivalenza ASCII di "P")
•
rem_tsap_id[6] = B#16#2D
(equivalenza ASCII di "-")
•
rem_tsap_id[7] = B#16#31
(equivalenza ASCII di "1")
•
rem_tsap_id[8-16] = B#16#00
•
next_staddr[1] = B#16#06
•
next_staddr[2-6] = B#16#00
Indirizzo IP del punto finale del
collegamento remoto
ID delTSAP remoto:
0xE0045443502D31
Rack = 0, posto connettore = 6
(bit 7 ... 5: N rack, bit 4 ... 0: N slot.)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti
La tabella sottostante indica i parametri di rilievo, contenuti nel DB, per la creazione del collegamento
passivo da parte del partner di comunicazione B:
Parametri
Tipo di
dati
Valore nell'esempio
Descrizione
id
WORD
W#16#0416
ID di collegamento
connection_type
BYTE
B#16#12
Varianti del protocollo: ISO on TCP
active_est
BOOL
FALSE
Creazione passiva del collegamento
local_device_id
BYTE
B#16#00
Comunicazione interna all'AS mediante
CP
local_tsap_id_len
BYTE
B#16#07
Lunghezza del parametro applicata
local_tsap_id
rem_staddr_len
BYTE
B#16#04
Lunghezza dell'indirizzo del punto
finale del collegamento remoto:
•
4: Indirizzo IP valido nel parametro
rem_staddr
rem_tsap_id_len
BYTE
B#16#07
Lunghezza del parametro applicata
rem_tsap_id
next_staddr_len
BYTE
B#16#01
Lunghezza del parametro applicata
next_staddr
local_tsap_id
ARRAY
[1..16] of
BYTE
•
local_tsap_id[1] = B#16#E0
•
local_tsap_id[2] = B#16#04
ID del TSAP locale:
0xE0045443502D31
•
local_tsap_id[3] = B#16#54
(equivalenza ASCII di "T")
•
local_tsap_id[4] = B#16#43
(equivalenza ASCII di "C")
•
local_tsap_id[5] = B#16#50
(equivalenza ASCII di "P")
•
local_tsap_id[6] = B#16#2D
(equivalenza ASCII di "-")
•
local_tsap_id[7] = B#16#31
(equivalenza ASCII di "1")
•
local_tsap_id[8-16] = B#16#00
rem_staddr
ARRAY
[1..6] of
BYTE
"192.168.4.14"
•
rem_staddr[1] = B#16#C0 (192)
•
rem_staddr[2] = B#16#A8 (168)
•
rem_staddr[3] = B#16#04 (4)
•
rem_staddr[4] = B#16#0E (14)
•
rem_staddr[5-6] = B#16#00
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Indirizzo ID del punto finale del
collegamento remoto
475
Comunicazione aperta tramite Industrial Ethernet
24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti
Parametri
Tipo di
dati
Valore nell'esempio
Descrizione
rem_tsap_id
ARRAY
[1..16] of
BYTE
•
rem_tsap_id[1] = B#16#E0
•
rem_tsap_id[2] = B#16#03
ID del TSAP remoto
0xE0035443502D31
•
rem_tsap_id[3] = B#16#54
(equivalenza ASCII di "T")
•
rem_tsap_id[4] = B#16#43
(equivalenza ASCII di "C")
•
rem_tsap_id[5] = B#16#50
(equivalenza ASCII di "P")
•
rem_tsap_id[6] = B#16#2D
(equivalenza ASCII di "-")
•
rem_tsap_id[7] = B#16#31
(equivalenza ASCII di "1")
•
rem_tsap_id[8-16] = B#16#00
•
next_staddr[1] = B#16#28
•
next_staddr[2-6] = B#16#00
next_staddr
476
ARRAY
[1..6] of
BYTE
Rack = 1, slot = 8
(bit 7 ... 5: N. di slot., bit 4 ... 0: N. di
posto connettore.)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti
Esempio 2: comunicazione tra una CPU S7-400 ed una CPU S7-300 tramite TCP e interfaccia
integrata PROFINET
Un partner di comunicazione è costituito da una CPU 416-3 PN/DP con versione del firmware V5.0,
l'altro da una CPU 319-3 PN/DP con versione del firmware V2.4.0. La tabella sottostante indica i dati
più significativi di entrambi i partner di comunicazione:
Proprietà
Partner di comunicazione A:
CPU 416-3 PN/DP (FW V5.0)
Partner di comunicazione B:
CPU 319-3 PN/DP (FW V2.4.0)
Attivazione del collegamento
Attivo
Passivo
Indirizzo IP
192.168.3.142
192.168.3.125
N. della porta locale
Non di rilievo
2005
La tabella sottostante fornisce i parametri di rilievo registrati nel DB per la creazione del collegamento
attivo per il partner di comunicazione A:
Parametri
Tipo di
dati
Valore nell'esempio
Descrizione
id
WORD
W#16#0014
ID di collegamento
connection_type
BYTE
B#16#11
Varianti di protocollo: TCP
active_est
BOOL
TRUE
Creazione del collegamento attivo
local_device_id
BYTE
B#16#05
Comunicazione tramite interfaccia
Ethernet integrata nella CPU S7-400
local_tsap_id_len
BYTE
B#16#00 (è possibile soltanto questo Il parametro local_tsap_id non viene
valore)
impiegato
rem_staddr_len
BYTE
B#16#04
Lunghezza dell'indirizzo del punto
finale del collegamento remoto:
•
4: Indirizzo IP valido nel parametro
rem_staddr
rem_tsap_id_len
BYTE
B#16#02 (è possibile soltanto questo Lunghezza del parametro applicata
valore)
rem_tsap_id
rem_staddr
ARRAY
[1..6] of
BYTE
"192.168.3.125"
rem_tsap_id
ARRAY
[1..16] of
BYTE
•
rem_staddr[1] = B#16#C0 (192)
•
rem_staddr[2] = B#16#A8 (168)
•
rem_staddr[3] = B#16#03 (3)
•
rem_staddr[4] = B#16#7D (125)
•
rem_staddr[5-6] = B#16#00
"2005"
•
rem_tsap_id[1] = B#16#07
•
rem_tsap_id[2] = B#16#D5
•
rem_tsap_id[3-16] = B#16#00
Indirizzo IP del punto finale di
comunicazione remoto
N. della porta remota: 2005 =
W#16#07D5
La tabella sottostante fornisce i parametri di rilievo registrati nel DB per la creazione del collegamento
passivo per il partner di comunicazione B:
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
477
Comunicazione aperta tramite Industrial Ethernet
24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti
Parametri
Tipo di
dati
Valore nell'esempio
Descrizione
id
WORD
W#16#000F
ID di collegamento
connection_type
BYTE
B#16#11
Variante di protocollo: TCP
active_est
BOOL
FALSE
Creazione passiva del collegamento
local_device_id
BYTE
B#16#03
Comunicazione tramite interfaccia
Ethernet integrata nella CPU 319-3
PN/DP
local_tsap_id_len
BYTE
B#16#02 (è possibile soltanto questo Lunghezza del parametro applicata
valore)
local_tsap_id
rem_staddr_len
BYTE
B#16#04
Lunghezza dell'indirizzo del punto
finale del collegamento remoto:
•
rem_tsap_id_len
BYTE
B#16#00 (è possibile soltanto questo Lunghezza del parametro applicata
valore)
rem_tsap_id
local_tsap_id
ARRAY
[1..16] of
BYTE
"2005"
rem_staddr
478
4: indirizzo IP valido nel parametro
rem_staddr
ARRAY
[1..6] of
BYTE
N. della porta locale: 2005 =
W#16#07D5
•
local_tsap_id[1] = B#16#07
•
local_tsap_id[2] = B#16#D5
•
local_tsap_id[3-16] = B#16#00
"192.168.3.142"
•
rem_staddr[1] = B#16#C0 (192)
•
rem_staddr[2] = B#16#A8 (168)
•
rem_staddr[3] = B#16#03 (3)
•
rem_staddr[4] = B#16#8E (142)
•
rem_staddr[5-6] = B#16#00
Indirizzo IP del punto finale del
collegamento
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti
Esempio 3: comunicazione tra una CPU S7-300 ed una CPU S7-400 tramite UDP e interfaccia
integrata PROFINET
Un partner di comunicazione è costituito da una CPU 319-3 PN/DP con versione del firmware V2.4.0,
l'altro da una CPU 414-3 PN/DP con versione del firmware V5.0. La tabella sottostante indica i dati più
significativi di entrambi i partner di comunicazione:
Proprietà
Partner di comunicazione A:
CPU 319-3 PN/DP (FW V2.4.0)
Partner di comunicazione B:
CPU 414-3 PN/DP (FW V5.0)
Mittente/ricevente
Mittente
Ricevente
Indirizzo IP
192.168.3.142
192.168.3.125
N. della porta locale
2004
2005
La tabella sottostante indica i parametri di rilievo per il mittente (partner di comunicazione A) registrati
nel DB per la parametrizzazione del punto di accesso alla comunicazione locale:
Parametri
Tipo di
dati
Valore nell'esempio
Descrizione
id
WORD
W#16#0014
ID del presente collegamento tra il
programma utente e il livello di
comunicazione del sistema operativo
connection_type
BYTE
B#16#13
Varianti di protocollo: UDP
active_est
BOOL
FALSE
Con la variante di protocollo UDP è
possibile soltanto questo valore.
local_device_id
BYTE
B#16#03
Comunicazione tramite interfaccia
Ethernet integrata nella CPU 319-3
PN/DP
local_tsap_id_len
BYTE
B#16#02
Lunghezza del parametro local_tsap_id
applicata
local_tsap_id
ARRAY
[1..16] of
BYTE
•
local_tsap_id[1] = B#16#07
N. porta locale: 2004 = W#16#07D4
•
local_tsap_id[2] = B#16#D4
•
local_tsap_id[3-16] = B#16#00
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
479
Comunicazione aperta tramite Industrial Ethernet
24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti
La tabella sottostante indica i parametri di rilievo per il ricevente (partner di comunicazione B) registrati
nel DB per la parametrizzazione del punto di accesso alla comunicazione locale:
Parametri
Tipo di
dati
Valore nell'esempio
Descrizione
id
WORD
W#16#000F
ID del presente collegamento tra il
programma utente e il livello di
comunicazione del sistema operativo
connection_type
BYTE
B#16#13
Varianti di protocollo: UDP
active_est
BOOL
FALSE
Con la variante di protocollo UDP è
possibile soltanto questo valore.
local_device_id
BYTE
B#16#05
Comunicazione tramite interfaccia
Ethernet integrata con le CPU S7-400
local_tsap_id_len
BYTE
B#16#02
Lunghezza del parametro local_tsap_id
applicata
local_tsap_id
ARRAY
[1..16] of
BYTE
•
local_tsap_id[1] = B#16#07
N. porta locale: 2005 = W#16#07D5
•
local_tsap_id[2] = B#16#D5
•
local_tsap_id[3-16] = B#16#00
Richiamando nel mittente il parametro FB 67 "TUSEND", in un DB vengono inoltrati i seguenti
parametri di indirizzo del ricevente:
Parametri
Tipo di
dati
Valore nell'esempio
Descrizione
rem_ip_addr
ARRAY
[1..4] of
BYTE
•
rem_ip_addr[1] = B#16#C0 (192)
•
rem_ip_addr[2] = B#16#A8 (168)
Indirizzo IP del ricevente:
192.168.3.125
•
rem_ip_addr[3] = B#16#3 (3)
•
rem_ip_addr[4] = B#16#7D (125)
•
rem_port_nr[1] = B#16#07
•
rem_port_nr[2] = B#16#D5
rem_port_nr
ARRAY
[1..2] of
BYTE
N. porta del ricevente: 2005 =
W#16#07D5
Richiamando nel ricevente il parametro FB 68 "TURCV", in un DB vengono inoltrati i seguenti
parametri di indirizzo del mittente:
Parametri
Tipo di
dati
Valore nell'esempio
Descrizione
rem_ip_addr
ARRAY
[1..4] of
BYTE
•
rem_ip_addr[1] = B#16#C0 (192)
•
rem_ip_addr[2] = B#16#A8 (168)
Indirizzo IP del mittente:
192.168.3.142
•
rem_ip_addr[3] = B#16#3 (3)
•
rem_ip_addr[4] = B#16#8E (142)
•
rem_port_nr[1] = B#16#07
•
rem_port_nr[2] = B#16#D4
rem_port_nr
480
ARRAY
[1..2] of
BYTE
N. porta del mittente: 2004 =
W#16#07D4
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti
Esempio 4: Comunicazione tra due CPU S7-400 tramite ISO on TCP e interfaccia integrata
PROFINET
Un partner di comunicazione è costituito da una CPU 414-3 PN/DP con versione del firmware V5.0,
l'altro da una CPU 416-3 PN/DP con versione del firmware V5.0. La comunicazione si svolte tramite
interfaccia integrata PROFINET.
La tabella sottostante indica i dati più significativi di entrambi i partner di comunicazione:
Proprietà
Partner di comunicazione A:
CPU 414-3 PN/DP (FW V5.0)
Partner di comunicazione B:
CPU 416-3 PN/DP (FW V5.0)
Mittente/Ricevente
Mittente
Ricevente
Creazione del collegamento
Passivo
Attivo
Indirizzo IP
192.168.0.14
192.168.0.16
La tabella sottostante indica tutti i parametri del partner di comunicazione A nel rispettivo DB.
Parametri
Tipo di
dati
Valori nell'esempio
Descrizione
block_length
WORD
W#16#40
Lunghezza dell'UDT65: 64 byte (fissa)
id
WORD
W#16#0001
ID del collegamento
connection_type
BYTE
B#16#12
Variante di protocollo:
•
B#16#12: ISO on TCP
active_est
BOOL
FALSE
Creazione passiva del collegamento
local_device_id
BYTE
B#16#05
Comunicazione tra le CPU 414-3
PN/DP, 416-3 PN/DP e 416-3F PN/DP
tramite interfaccia IE integrata
local_tsap_id_len
BYTE
B#16#03
Lunghezza del parametro local_tsap_id
applicata
rem_subnet_id_len
BYTE
B#16#00
Questo parametro non viene impiegato.
Assegnare il valore B#16#00.
rem_staddr_len
BYTE
B#16#04
Lunghezza dell'indirizzo del punto
finale del collegamento remoto:
•
4: indirizzo IP valido nel parametro
rem_staddr
rem_tsap_id_len
BYTE
B#16#03
Lunghezza del parametro rem_tsap_id
impiegata
next_staddr_len
BYTE
B#16#00
Questo parametro non viene impiegato
(in quanto la comunicazione avviene
tramite interfaccia integrata).
Assegnare il valore B#16#00.
local_tsap_id
ARRAY
[1..16] of
BYTE
•
local_tsap_id[1] = B#16#E0
ID del TSAP locale: 0xE00301
•
local_tsap_id[2] = B#16#03
•
local_tsap_id[3] = B#16#01
•
local_tsap_id[4-16] = B#16#00
rem_subnet_id
ARRAY
[1..6] of
BYTE
rem_subnet_id[1-6] = B#16#00
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Questo parametro non viene impiegato.
Assegnare il valore 0.
481
Comunicazione aperta tramite Industrial Ethernet
24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti
Parametri
Tipo di
dati
Valori nell'esempio
Descrizione
rem_staddr
ARRAY
[1..6] of
BYTE
"192.168.0.16"
Indirizzo IP del punto finale del
collegamento remoto
rem_tsap_id
ARRAY
[1..16] of
BYTE
•
rem_staddr[1] = B#16#C0 (192)
•
rem_staddr[2] = B#16#A8 (168)
•
rem_staddr[3] = B#16#00 (0)
•
rem_staddr[4] = B#16#10 (16)
•
rem_staddr[5-6] = B#16#00
•
rem_tsap_id[1] = B#16#E0
•
rem_tsap_id[2] = B#16#03
•
rem_tsap_id[3] = B#16#01
•
rem_tsap_id[4-16] = B#16#00
ID del TSAP remoto: 0xE00301
next_staddr
ARRAY
[1..6] of
BYTE
next_staddr[1-6] = B#16#00
Questo parametro non viene impiegato
(in quanto la comunicazione avviene
tramite interfaccia integrata):
spare
WORD
W#16#0000
Questo parametro non viene impiegato.
Assegnare il valore 0.
La tabella sottostante indica tutti i parametri del partner di comunicazione B nel rispettivo DB
Parametri
Tipo di
dati
Valori nell'esempio
Descrizione
block_length
WORD
W#16#40
Lunghezza dell'UDT65: 64 byte (fissa
id
WORD
W#16#0001
ID del collegamento
connection_type
BYTE
B#16#12
Variante di protocollo:
active_est
BOOL
TRUE
Creazione passiva del collegamento
local_device_id
BYTE
B#16#05
Comunicazione tra le CPU 414-3
PN/DP, 416-3 PN/DP e 416-3F PN/DP
tramite interfaccia IE integrata
local_tsap_id_len
BYTE
B#16#03
Lunghezza del parametro local_tsap_id
applicata
rem_subnet_id_len
BYTE
B#16#00
Questo parametro non viene impiegato.
Assegnare il valore B#16#00.
rem_staddr_len
BYTE
B#16#04
Lunghezza dell'indirizzo del punto
finale del collegamento remoto:
•
•
482
B#16#12: ISO on TCP
4: indirizzo IP valido nel parametro
rem_staddr
rem_tsap_id_len
BYTE
B#16#03
Lunghezza del parametro rem_tsap_id
impiegata
next_staddr_len
BYTE
B#16#00
Questo parametro non viene impiegato
(in quanto la comunicazione avviene
tramite interfaccia integrata).
Assegnare il valore B#16#00.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.7 Esempi di parametrizzazione di collegamenti di comunicazione aperti
Parametri
Tipo di
dati
Valori nell'esempio
Descrizione
local_tsap_id
ARRAY
[1..16] of
BYTE
•
local_tsap_id[1] = B#16#E0
ID del TSAP locale: 0xE00301
•
local_tsap_id[2] = B#16#03
•
local_tsap_id[3] = B#16#01
•
local_tsap_id[4-16] = B#16#00
rem_subnet_id
ARRAY
[1..6] of
BYTE
rem_subnet_id[1-6] = B#16#00
Questo parametro non viene impiegato.
Assegnare il valore 0.
rem_staddr
ARRAY
[1..6] of
BYTE
"192.168.0.14"
Indirizzo IP del punto finale del
collegamento remoto
rem_tsap_id
ARRAY
[1..16] of
BYTE
•
rem_staddr[1] = B#16#C0 (192)
•
rem_staddr[2] = B#16#A8 (168)
•
rem_staddr[3] = B#16#00 (0)
•
rem_staddr[4] = B#16#0E (14)
•
rem_staddr[5-6] = B#16#00
•
rem_tsap_id[1] = B#16#E0
•
rem_tsap_id[2] = B#16#03
•
rem_tsap_id[3] = B#16#01
•
rem_tsap_id[4-16] = B#16#00
ID del TSAP remoto: 0xE00301
next_staddr
ARRAY
[1..6] of
BYTE
next_staddr[1-6] = B#16#00
Questo parametro non viene impiegato
(in quanto la comunicazione avviene
tramite interfaccia integrata)
spare
WORD
W#16#0000
Questo parametro non viene impiegato.
Assegnare il valore 0.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
483
Comunicazione aperta tramite Industrial Ethernet
24.8 Inizializzazione del collegamento con l'FB 65 "TCON"
24.8
Inizializzazione del collegamento con l'FB 65 "TCON"
Il numero dei possibili collegamenti TCP oppure UDP è indicato nei dati tecnici della CPU.
Impiego dell'FB 65 "TCON" con i protocolli TCP e ISO on TCP
Entrambe i partner di comunicazione richiamano il parametro FB 65 "TCON" per la configurazione e la
creazione del collegamento di comunicazione. Nel corso della parametrizzazione è possibile
determinare quale punto finale della comunicazione debba essere attivo e quale passivo.
Il collegamento configurato e creato viene ora controllato e mantenuto automaticamente dalla CPU.
In caso di interruzione del collegamento dovuta, p. es. alla rottura del conduttore o causata da un
partner di comunicazione remoto, la CPU attiva cerca di ripristinare il collegamento configurato. Non è
necessario chiamare nuovamente FB 65 "TCON".
Richiamando il parametro FB 66 "TDISCON" o attivando lo stato di funzionamento STOP della CPU si
ha l'interruzione del collegamento esistente e la rimozione del collegamento configurato. Per il
ripristino e la nuova configurazione del collegamento richiamare nuovamente il parametro FB 65
"TCON"
Impiego dell'FB 65 "TCON" con il protocollo UDP
Per consentire la configurazione del punto di accesso alla comunicazione locale (porta locale),
entrambi i partner di comunicazione richiamano l'FB 65 "TCON". Viene così configurato il
collegamento tra il programma utente ed il livello di comunicazione del sistema operativo. La
creazione collegamento con il partner remoto non ha luogo.
Il punto di accesso locale viene utilizzato nell’invio e nella ricezione di telegrammi UDP.
Durante la parametrizzazione del punto di accesso locale (UDT65) oppure durante la
parametrizzazione del partner remoto (UDT 66) i seguenti parametri devono essere uguali:
•
484
con il protocollo UDP: ID del collegamento e N. della porta locale.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.8 Inizializzazione del collegamento con l'FB 65 "TCON"
Modalità operative
L'FB 65 "TCON" è un FB operante in modo asincrono, ovvero l'elaborazione dell'ordine comprende più
richiami dell'FB. L'avvio dell'ordine per la creazione e la configurazione del collegamento avviene
richiamando FB 65 mediante REQ = 1.
Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. STATUS
corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche:
Significato di REQ, RET_VAL e BUSY nelle SFC asincrone).
La tabella sottostante illustra la correlazione tra i parametri BUSY, DONE e ERROR. Questi parametri
consentono di rilevare lo stato attuale dell'FB 65 ovvero il momento della creazione o della
configurazione del collegamento (con la comunicazione TCP e ISO on TCP).
BUSY
DONE
ERROR
Descrizione
TRUE
non di
rilievo
non di
rilievo
Elaborazione dell'ordine in corso
FALSE
TRUE
FALSE
Ordine eseguito senza errori.
FALSE
FALSE
TRUE
L'esecuzione dell'ordine è stata interrotta a causa di un errore.La causa
di errore è riportata nel parametro STATUS..
FALSE
FALSE
FALSE
All'FB non è stato assegnato alcun (nuovo) ordine.
Parametri
Parametri
Dichiarazione
Tipo di
dati
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
Il parametro di controllo REQUEST avvia l'ordine
di creazione del collegamento tramite ID. L'avvio
dell'ordine avviene con fronte di salita.
ID
INPUT
WORD
M, D, Cost.
ID del collegamento da creare con il partner
remoto oppure tra il programma utente e il livello
di comunicazione del sistema operativo. L'ID deve
essere identico al parametro ID al quale si
riferisce nella descrizione del collegamento locale
Campo di valori: da W#16#0001 a
DONE
OUTPUT
BOOL
E, A, M, D, L
W#16#0FFF
BUSY
ERROR
OUTPUT
OUTPUT
BOOL
BOOL
E, A, M, D, L
E, A, M, D, L
Parametro di stato DONE:
•
0: l'ordine non è ancora stato avviato o è
ancora corso.
•
1: l'ordine è stato eseguito senza errori
•
BUSY = 1: l'ordine non è ancora stato
terminato.
•
BUSY = 0: l'ordine è terminato.
Parametro di stato ERROR:
•
STATUS
OUTPUT
WORD
M, D
ERROR=1: si è verificato un errore durante
l'elaborazione. STATUS offre informazioni
dettagliate sul tipo di errore
Parametro di stato STATUS: informazione di
errore
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
485
Comunicazione aperta tramite Industrial Ethernet
24.8 Inizializzazione del collegamento con l'FB 65 "TCON"
Parametri
Dichiarazione
Tipo di
dati
Area di memoria
Descrizione
CONNECT
IN_OUT
ANY
D
Il puntatore si trova sulla relativa descrizione del
collegamento (UDT 65), vedere
Parametrizzazione dei collegamenti di
comunicazione aperti tramite i protocolli TCP e
ISO on TCP und Parametrizzazione del punto di
accesso della comunicazione locale tramite il
protocollo UDP
Informazioni di errore
ERROR
STATUS
(W#16#...)
Spiegazione
0
0000
È stato possibile creare il collegamento
0
7000
Nessuna elaborazione dell'ordine attiva
0
7001
Avvio dell'elaborazione dell'ordine in corso
0
7002
Richiamo intermedio (non di rilievo per REQ), attivazione del collegamento in
1
8086
L'ID si trova al di fuori del campo ammesso.
0
8087
È stato raggiunto il numero max. dei collegamenti, non sono possibili ulteriori
collegamenti
1
8089
Il parametro CONNECT non indica u n blocco dati
1
809A
Il parametro CONNECT indica un campo che non presenta la lunghezza della
descrizione del collegamento (UDT65)
1
809B
Il parametro local_device_id indicato nella descrizione del collegamento non si
addice alla CPU
1
80A0
Errore cumulativo per i codici di errore W#16#80A1 e W#16#80A2
1
80A1
Il collegamento o la porta sono già stati assegnati dall'utente
1
80A2
La porta locale o remota è stata assegnata dal sistema
1
80A3
Corso
È stato effettuato il tentativo di creare nuovamente una comunicazione già
esistente.
486
1
80A4
L'indirizzo IP del punto finale del collegamento remoto non è valido. Esso coincide
eventualmente con l'indirizzo IP proprio
1
80A7
Errore di comunicazione: è stato richiamato TDISCON mentre TCON non aveva
ancora terminato. Mediante il richiamo di TDISCON viene ora eseguita la
disconnessione anticipata.
1
80B2
Il parametro CONNECT indica un blocco dati creato con la parola chiave
UNLINKED.
1
80B3
Parametrizzazione incoerente: errore cumulativo per i codici di errore W#16#80A0 ...
W#16#80A2, W#16#80A4, W#16#80B4 .... W#16#80B9
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.8 Inizializzazione del collegamento con l'FB 65 "TCON"
ERROR
STATUS
(W#16#...)
Spiegazione
1
80B4
Inosservanza della condizione ISO on TCP (connection_type = B#16#12) durante
la creazione passiva del collegamento (active_est = FALSE) oppure inosservanza
di una delle seguenti condizioni:
•
local_tsap_id_len >= B#16#02
•
local_tsap_id[1] = B#16#E0
•
In local_tsap_id_len >= B#16#03 local_tsap_id[1] è un carattere ASCII
•
local_tsap_id[1] è un carattere ASCII e local_tsap_id_len >= B#16#03
1
80B5
Errore nel parametro active_est (UDT 65) nella variante del protocollo UDP
1
80B6
Errore di parametrizzazione relativo al parametro connection_type (UDT 65)
1
80B7
Errore in uno dei seguenti parametri dell'UDT 65: block_length, local_tsap_id_len,
rem_subnet_id_len, rem_staddr_len, rem_tsap_id_len, next_staddr_len
1
80B8
L'ID del parametro nella descrizione del collegamento locale (UDT 65) e l'ID del
parametro non coincidono.
1
80C3
•
1
80C4
Errore di comunicazione temporaneo:
1
8xyy
Tutte le risorse di collegamenti sono occupate.
•
il collegamento non può essere per ora creato.
•
l'interfaccia viene nuovamente parametrizzato.
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 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
487
Comunicazione aperta tramite Industrial Ethernet
24.9 Sconnessione con l'FB 66 "TDISCON"
24.9
Sconnessione con l'FB 66 "TDISCON"
Impiego dell'FB 66 "TDISCON" con i protocolli TCP e ISO on TCP
L'FB 66 "TDISCON" disconnette il collegamento della CPU con un partner di comunicazione
Impiego dell'FB 66 "TDISCON" con il protocollo UDP
L'FB 66 "TDISCON" disconnette il punto di accesso alla comunicazione locale ovvero il collegamento
tra il programma utente e il livello di comunicazione del sistema operativo.
Modalità operative
L'FB 66 "TDISCON" è un FB operante in modo asincrono, ovvero l'elaborazione dell'ordine
comprende più richiami dell'FB. L'attivazione dell'ordine di disconnessione avviene richiamando
l'FB 66 mediante REQ = 1.
Dopo l’esecuzione riuscita del parametro FB 66 "TDISCON", l’ID indicato nell'FB 65"TCON" non è più
valido e non può più essere impiegato né per l’invio né per la ricezione.
Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. STATUS
corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche:
Significato di REQ, RET_VAL e BUSY nelle SFC asincrone).
La tabella sottostante illustra la correlazione tra i parametri BUSY, DONE e ERROR. Questi parametri
consentono di rilevare lo stato attuale dell'FB 66 ovvero quando l'inizializzazione del collegamento è
terminata.
488
BUSY
DONE
ERROR
Descrizione
TRUE
non di
rilievo
non di
rilievo
Elaborazione dell'ordine in corso
FALSE
TRUE
FALSE
Ordine eseguito senza errori..
FALSE
FALSE
TRUE
L'esecuzione dell'ordine si è conclusa con un errore. La causa di errore
è riportata nel parametro STATUS.
FALSE
FALSE
FALSE
All'FB non è stato assegnato alcun (nuovo) ordine.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.9 Sconnessione con l'FB 66 "TDISCON"
Parametri
Parametri
Dichiarazione
Tipo di
dati
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
Il parametro di controllo REQUEST attiva l'ordine
di disconnessione del collegamento indicato
dall'ID. L'avvio dell'ordine avviene con fronte in
salita.
ID
INPUT
WORD
M, D, Cost.
ID del collegamento al partner remoto da
sconnettere oppure della sconnessione tra il
programma utente e il livello di comunicazione del
sistema operativo. L'ID deve essere identico al
parametro ID al quale si riferisce nella descrizione
del collegamento locale
Campo di valori: da W#16#0001 a W#16#0FFF
DONE
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato DONE:
BUSY
ERROR
OUTPUT
OUTPUT
BOOL
BOOL
E, A, M, D, L
E, A, M, D, L
•
0: l'ordine non è ancora stato avviato o è
ancora corso.
•
1: l'ordine è stato eseguito senza errori
•
BUSY = 1: l'ordine non è ancora stato
terminato.
•
BUSY = 0: l'ordine è terminato.
Parametro di stato ERROR:
•
STATUS
OUTPUT
WORD
M, D
ERROR=1: si è verificato un errore
durante l'elaborazione. STATUS fornisce
informazioni dettagliate sul tipo di errore.
Parametro di stato STATUS:
Informazioni di errore
Informazioni di errore
ERROR
STATUS
(W#16#...)
Spiegazione
0
0000
È stato possibile creare il collegamento
0
7000
Nessuna elaborazione dell'ordine attiva
0
7001
Avvio dell'elaborazione dell'ordine in corso
0
7000
Primo richiamo di REQ=0, non è stato dato avvio alla disconnessione
0
7001
Primo richiamo di REQ=1, attivazione del collegamento in corso
0
7002
Richiamo intermedio (non di rilievo per REQ), attivazione del collegamento in corso
1
8086
L'ID del parametro si trova in un campo valori non ammesso
1
80A3
È stato effettuato il tentativo disconnettere una comunicazione inesistente
1
80C4
Errore di comunicazione temporaneo: l'interfaccia viene nuovamente parametriizzata
oppure il collegamento viene attualmente configurato
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
489
Comunicazione aperta tramite Industrial Ethernet
24.10 Invio di dati tramite i protocolli TCP e ISO on TCP con l'FB 63 "TSEND
24.10 Invio di dati tramite i protocolli TCP e ISO on TCP con l'FB 63
"TSEND
Descrizione
L'FB 63 "TSEND" invia dati mediante un collegamento di comunicazione esistente.
Modalità operative
L'FB 63 "TSEND" è un FB operante in modo asincrono, ovvero l'elaborazione comprende più richiami
dell'FB. Per iniziare l'operazione di invio, richiamare l'FB 63 mediante REQ = 1.
Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. STATUS
corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche:
Significato di REQ, RET_VAL e BUSY nelle SFC asincrone).
La tabella sottostante illustra la correlazione tra i parametri BUSY, DONE e ERROR. Questi parametri
consentono di rilevare lo stato attuale dell'FB 63 ovvero quando l'inizializzazione del collegamento è
terminata.
BUSY
DONE
ERROR
Descrizione
TRUE
non di
rilievo
non di
Elaborazione dell'ordine in corso
rilievo
FALSE
TRUE
FALSE
Ordine eseguito senza errori.
FALSE
FALSE
TRUE
L'esecuzione dell'ordine si è conclusa con un errore. La causa di errore
è riportata nel parametro STATUS.
FALSE
FALSE
FALSE
All'FB non è stato assegnato alcun (nuovo) ordine.
Avvertenza
Per effetto del funzionamento asincrono dell'FB 63 "TSEND", la coerenza dei dati presenti nell’area di
invio deve essere mantenuta fino a quando i parametri DONE o ERROR avranno assunto il valore
TRUE.
490
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.10 Invio di dati tramite i protocolli TCP e ISO on TCP con l'FB 63 "TSEND
Parametri
Parametri
Dichiarazione
Tipo di
dati
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
Il parametro di controllo REQUEST attiva l'ordine
di invio con fronte di salita.
I dati vengono trasferiti dall’area indicata nei
parametri DATA e LEN
ID
INPUT
WORD
M, D, Cost.
ID del relativo collegamento. L'ID deve essere
identico al parametro ID al quale si riferisce nella
descrizione del collegamento locale
Campo di valori: da W#16#0001 a W#16#0FFF
LEN
INPUT
INT
E, A, M, D, L
Numero max. di byte da inviare con l'ordine;
vedere anche Incidenza delle varianti di protocollo
(connection_type) richieste dalla CPU sulla
lunghezza dei dati trasferibili
DONE
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato DONE:
BUSY
ERROR
OUTPUT
OUTPUT
BOOL
BOOL
E, A, M, D, L
E, A, M, D, L
•
0: l'ordine non è ancora stato avviato o è
ancora corso.
•
1: l'ordine è stato eseguito senza errori
•
BUSY = 1: l'ordine non è ancora stato
terminato. Non è possibile avviare un nuovo
ordine.
•
BUSY = 0: l'ordine è terminato.
Parametro di stato ERROR:
•
STATUS
OUTPUT
WORD
M, D
ERROR=1: si è verificato un errore durante
l'elaborazione. STATUS fornisce informazioni
dettagliate sul tipo di errore
Parametro di stato STATUS:
Informazioni di errore
DATA
IN_OUT
ANY
E, A, M, D
Area di trasmissione; contiene indirizzo e
lunghezza
L'indirizzo indica:
•
l'immagine di processo degli ingressi
•
l'immagine di processo delle uscite
•
un merker
•
un blocco dati
•
Avvertenza: non utilizzare ARRAY of BOOL
come area di trasmissione.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
491
Comunicazione aperta tramite Industrial Ethernet
24.10 Invio di dati tramite i protocolli TCP e ISO on TCP con l'FB 63 "TSEND
Informazioni di errore
ERROR
STATUS
(W#16#...)
Spiegazione
0
0000
L'ordine di invio dati si è concluso senza errori
0
7000
Nessuna elaborazione del collegamento attiva
0
7001
Avvio dell'elaborazione del collegamento
Avvertenza: in questa fase di elaborazione il sistema operativo accede ai dati
disponibili nell'area di invio DATA.
0
7002
Richiamo intermedio (non di rilievo per REQ), ordine in corso
Avvertenza: in questa fase di elaborazione il sistema operativo accede ai dati
disponibili nell'area di invio DATA.
1
8085
Il parametro LEN ha il valore 0 o supera il valore massimo consentito
1
8086
L'ID del parametro si trova in un campo valori non ammesso
1
8088
Il parametro LEN è maggiore rispetto all'area di memoria indicata in DATA
1
80A1
Errore di comunicazione:
Non è ancora stato richiamato il collegamento indicato
•
il collegamento indicato viene attualmente interrotto. Impossibile effettuare
un'operazione di invio tramite questo collegamento.
•
L'interfaccia viene nuovamente inizializzata
1
80B3
Il collegamento parametrizzato (parametro connection_type nella descrizione del
collegamento) è di tipo UDP. Impiegare il parametro FB 67 "TUSEND".
1
80C3
•
Un blocco recante questo ID viene già elaborato in un'altra classe di priorità.
•
Scarsità di risorse interne
1
1
492
•
80C4
8xyy
Errore di comunicazione temporaneo:
•
è attualmente impossibile creare il collegamento con il partner di comunicazione.
•
Parametrizzazione dell'interfaccia o creazione del collegamento in corso
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 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.11 Ricezione di dati tramite i protocolli TCP e ISO on TCP con l'FB 64 "TRCV"
24.11 Ricezione di dati tramite i protocolli TCP e ISO on TCP con l'FB 64
"TRCV"
Descrizione
L'FB 64 "TRCV" riceve dati mediante un collegamento di comunicazione.
Area di ricezione
Questo termine indica l'area nella quale il blocco funzionale inserisce i dati ricevuti.
L'area di ricezione è determinata da due grandezze:
•
Puntatore all'inizio dell'area
•
Lunghezza dell'area
La determinazione della lunghezza dell'area avviene, in funzione delle varianti di protocollo impiegate,
tramite il parametro LEN (se LEN <> 0) oppure mediante l'indicazione della lunghezza del parametro
DATA (se LEN = 0).
Modalità di ricezione dell'FB 64 "TRCV"
La tabella sottostante illustra l'inserimento da parte dell'FB 64 dei dati ricevuti nell'area di ricezione.
Variante di
protocollo
Inserimento dei dati
nell'area di ricezione
Parametro
"connection_type"
Valore del parametro LEN
TCP
Modalità
B#16#01, B#16#11
0
TCP
Datenempfang mit
vorgegebener Länge
B#16#01, B#16#11
<> 0
ISO on TCP
Comandato dal protocollo
B#16#12
0 (raccomandato) o <> 0
Modalità Ad hoc / TCP
La modalità Ad hoc è disponibile soltanto nella variante di protocollo TCP. Per impostare questa
modalità, assegnare il valore 0 al parametro LEN.
L'area di ricezione è identica a quella creata con il parametro DATA. Vengono ricevuti max. 8192 byte.
L'FB 64 provvede a trasferire, immediatamente dopo la ricezione, il blocco dati nell'area di ricezione e
ad impostare su 1 il valore di NDR.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
493
Comunicazione aperta tramite Industrial Ethernet
24.11 Ricezione di dati tramite i protocolli TCP e ISO on TCP con l'FB 64 "TRCV"
TCP / Ricezione dati con lunghezza prestabilita
Per impostare la ricezione dati con lunghezza prestabilita, assegnare al parametro LEN un valore
diverso da 0.
La creazione dell'area di ricezione avviene tramite i parametri LEN e DATA.
Subito dopo la ricezione dei byte LEN, l'FB 64 inserisce questi dati nell'area di ricezione e imposta
NDR su 1.
Trasmissione dati comandata dal protocollo ISO on TCP
Con la variante di protocollo ISO on TCP il trasferimento dati avviene comandato da protocollo.
I parametri LEN e DATA formano l'area di ricezione.
Non appena la ricezione di tutti i dati di un ordine si è conclusa, l'FB 64 trasferisce questi dati nell'area
di ricezione ed imposta NDR su 1.
Scambio di dati del tipo STRING
Per scambiare dati del tipo STRING con gli FB "TSEND" e "TRCV" è opportuno utilizzare solo la
modalità Ad-hoc con LEN=0. Inoltre è necessario scegliere una lunghezza della stringa per l'FB
"TRCV" che sia almeno pari a quella dell'FB "TSEND". Il mancato rispetto di questa regola può
causare errori nella successiva elaborazione della stringa.
Se si utilizza un ARRAY of BYTE come area di ricezione di una stringa di caratteri, il primo byte
contiene la lunghezza massima predefinita dal mittente e il secondo la lunghezza attuale della stringa.
494
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.11 Ricezione di dati tramite i protocolli TCP e ISO on TCP con l'FB 64 "TRCV"
Modalità operative
L'FB 64 "TRCV" è un FB operante in modo asincrono, ovvero l'elaborazione comprende più richiami
dell'FB. L'avvio dell'ordine di ricezione avviene richiamando FB 64 mediante EN_R = 1.
Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. STATUS
corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche:
Significato di REQ, RET_VAL_e BUSY nelle SFC asincrone).
La tabella sottostante illustra la correlazione tra i parametri BUSY, NDR e ERROR. Questi parametri
consentono di rilevare lo stato attuale dell'FB 64 "TRCV"ovvero quando l'operazione di ricezione è
terminata
BUSY
NDR
ERROR
Descrizione
TRUE
non di
rilievo
non di
rilievo
Elaborazione dell'ordine in corso
FALSE
TRUE
FALSE
Ordine eseguito senza errori.
FALSE
FALSE
TRUE
L'esecuzione dell'ordine si è conclusa con un errore. La causa di errore
è riportata nel parametro STATUS.
FALSE
FALSE
FALSE
All'FB non è stato assegnato alcun (nuovo) ordine.
Avvertenza
Per effetto del funzionamento asincrono dell'FB 64 "TRCV", la coerenza dei dati presenti nell’area di
ricezione viene raggiunta soltanto quando il parametro NDR assume il valore TRUE.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
495
Comunicazione aperta tramite Industrial Ethernet
24.11 Ricezione di dati tramite i protocolli TCP e ISO on TCP con l'FB 64 "TRCV"
Parametri
Parametri
Dichiarazione
Tipo di
dati
Area di memoria
Descrizione
EN_R
INPUT
BOOL
E, A, M, D, L
Parametro di controllo enabled to receive: tramite
EN_R = 1 l'FB 64 "TRCV" è pronto alla
ricezione.
Elaborazione dell'ordine di ricezione in corso
ID
INPUT
WORD
M, D, Cost.
ID del rispettivo collegamento. L'ID deve essere
identico al parametro ID al quale si riferisce nella
descrizione del collegamento locale.
Campo di valori: da W#16#0001 a W#16#0FFF
LEN
INPUT
INT
E, A, M, D, L
Lunghezza dell'area di ricezione in byte.
Significato di LEN = 0 o LEN <> 0: vedere sopra
(Modalità di ricezione dell'FB 64 "TRCV").
Campo valori: consultare il capitolo Incidenza
delle varianti di protocollo (connection_type)
richieste dalla CPU sulla lunghezza dei dati
trasferibili.
NDR
ERROR
496
OUTPUT
OUTPUT
BOOL
BOOL
E, A, M, D, L
E, A, M, D, L
Parametro di stato NDR:
•
NDR = 0: l'ordine non è ancora stato avviato
o è ancora corso
•
NDR = 1: l'ordine è stato eseguito senza
errori
Parametro di stato ERROR:
•
ERROR=1: si è verificato un errore durante
l'elaborazione. STATUS offre informazioni
dettagliate sul tipo di errore
BUSY
OUTPUT
BOOL
E, A, M, D, L
•
BUSY = 1: ordine non è ancora terminato.
Impossibile avviare un nuovo ordine.
•
BUSY = 0: l'ordine è terminato.
STATUS
OUTPUT
WORD
M, D
Parametro di stato STATUS: Informazione di
errore
RCVD_LEN
OUTPUT
INT
E, A, M, D, L
Numero in byte dei dati effettivamente ricevuti
DATA
IN_OUT
ANY
E, A, M, D
Area di ricezione (vedere la definizione sopra
riportata); contiene lunghezza e indirizzo
L'indirizzo indica:
•
l'immagine di processo degli ingressi
•
l'immagine di processo delle uscite
•
un merker
•
un blocco dati
•
Avvertenza: non utilizzare ARRAY of BOOL
come area di ricezione.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.11 Ricezione di dati tramite i protocolli TCP e ISO on TCP con l'FB 64 "TRCV"
Informazioni di errore
ERROR
STATUS
(W#16#...)
Spiegazione
0
0000
Sono stati acquisiti nuovi dati. La lunghezza effettiva dei dati ricevuti viene
visualizzata in RCVD_LEN
0
7000
Il blocco è pronto alla ricezione
0
7001
Il blocco è pronto alla ricezione, l'ordine di ricezione è stato attivato
0
7002
Richiamo intermedio, ordine di ricezione in corso
Avvertenza: durante la fase di elaborazione, l'FB scrive dati nell'area di ricezione
che, in caso di errori, può pertanto contenere dati incoerenti.
1
8085
Il parametro LEN supera il valore max. consentito oppure il valore di uno dei
parametri LEN o DATA è stato modificato dopo il primo richiamo
1
8086
L'ID del parametro si trova in un campo valori non ammesso
1
8088
•
L'area di ricezione è troppo ridotta
•
Il valore indicato in LEN supera quello dell'area di ricezione prefissato tramite
DATA
1
80A1
Errore di comunicazione:
•
non è ancora stato creato il collegamento indicato
•
il collegamento indicato viene attualmente interrotto. Impossibile ricevere dati
tramite questo collegamento.
•
l'interfaccia viene nuovamente parametrizzata
1
80B3
La variante di protocollo parametrizzata (parametro connection_type nella
descrizione del collegamento) è di tipo UDP. Impiegare l'FB 68 "TURCV".
1
80C3
•
Un blocco dati recante questo ID viene attualmente elaborato in un'altra classe
di priorità
•
Scarsità di risorse interne
1
1
80C4
8xyy
Errore di comunicazione temporaneo:
•
La creazione del collegamento con il partner di comunicazione è
provvisoriamente impossibile.
•
Nuova parametrizzazione dell'interfaccia e creazione del collegamento in corso.
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 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
497
Comunicazione aperta tramite Industrial Ethernet
24.12 Invio di dati tramite il protocollo UDP con l‘ FB 67 "TUSEND"
24.12 Invio di dati tramite il protocollo UDP con l‘FB 67 "TUSEND"
Descrizione
L‘FB 67 "TUSEND" invia i dati tramite il protocollo UDP al partner remoto il cui indirizzo è indicato nel
parametro ADDR
!
Avviso
Il protocollo UDP secondo RFC 768, effettua il trasferimento dati al partner remoto senza conferma e
quindi con scarsa sicurezza. I dati possono andare perduti senza che la perdita venga segnalata nel
blocco
Avvertenza
In presenza di una successione di operazioni di invio di cui sono destinatari partner diversi, è
necessario adeguare il parametro ADDR al richiamo dell‘FB 67 "TUSEND". Si rende invece superfluo
il richiamo degli FB 65 "TCON" e 66 "TDISCON".
Modalità operative
L'FB 67 "TUSEND" è un FB operante in modo asincrono, ovvero l'elaborazione dell'ordine comprende
più richiami dell'FB. L'attivazione dell’operazione di invio avviene richiamando FB 67 mediante
REQ = 1.
Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. STATUS
corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche:
Significato di REQ, RET_VAL e BUSY nelle SFC).
La tabella sottostante illustra la correlazione tra i parametri BUSY, DONE e ERROR. Questi parametri
consentono di rilevare lo stato attuale dell'FB 67 ovvero quando l’operazione di invio è terminata.
BUSY
DONE
ERROR
Descrizione
TRUE
non di
rilievo
non di
rilievo
Elaborazione dell'ordine in corso
FALSE
TRUE
FALSE
Ordine eseguito senza errori.
FALSE
FALSE
TRUE
L'esecuzione dell'ordine è stata interrotta a causa di un errore.La causa
di errore è riportata nel parametro STATUS..
FALSE
FALSE
FALSE
All'FB non è stato assegnato alcun (nuovo) ordine.
Avvertenza
Per effetto del funzionamento asincrono dell'FB 67 "TUSEND", la coerenza dei dati presenti nell’area
di invio deve essere mantenuta fino a quando i parametri DONE o ERROR avranno assunto il valore
TRUE.
498
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.12 Invio di dati tramite il protocollo UDP con l‘ FB 67 "TUSEND"
Parametri
Parametri
Dichiara
zione
Tipo di
dati
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
Il parametro di controllo REQUEST avvia l’ordine
di invio con fronte di salita.
I dati vengono trasferiti dell’area indicata nei
parametri DATA e LEN
ID
INPUT
WORD
M, D, Cost.
ID del rispettivo collegamento tra il programma
utente e il livello di comunicazione del sistema
operativo. L'ID deve essere identico al parametro
ID al quale si riferisce nella descrizione del
collegamento locale.
Campo di valori: da W#16#0001 a W#16#0FFF
LEN
INPUT
INT
E, A, M, D, L
Numero dei byte da inviare con l‘ordine
Campo di valori: da 1 a 1472
DONE
OUTPUT
BOOL
E, A, M, D, L
BUSY
ERROR
OUTPUT
OUTPUT
BOOL
BOOL
E, A, M, D, L
E, A, M, D, L
Parametro di stato DONE:
•
0: l'ordine non è ancora stato avviato o è
ancora corso.
•
l'ordine è stato eseguito senza errori
•
BUSY = 1: l'ordine non è ancora stato
terminato. Impossibile avviare un nuovo
ordine.
•
BUSY = 0: l'ordine è terminato.
Parametro di stato ERROR:
•
ERROR=1: si è verificato un errore durante
l'elaborazione. STATUS fornisce informazioni
dettagliate sul tipo di errore
STATUS
OUTPUT
WORD
M, D
Parametro di stato STATUS: informazione di
errore
DATA
IN_OUT
ANY
E, A, M, D
Area di invio: contiene indirizzo e lunghezza
L'indirizzo indica:
ADDR
IN_OUT
ANY
D
•
l'immagine di processo degli ingressi
•
l'immagine di processo delle uscite
•
un merker
•
un blocco dati
Il puntatore indica l’indirizzo del ricevente (p. es.
P#DB100.DBX0.0 byte 8), vedere Struttura
dell’informazione di indirizzo del partner remoto
con il protocollo UDP
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
499
Comunicazione aperta tramite Industrial Ethernet
24.12 Invio di dati tramite il protocollo UDP con l‘ FB 67 "TUSEND"
Informazioni di errore
ERROR
STATUS
(W#16#...)
Spiegazione
0
0000
L’ordine di invio si è concluso senza errori
0
7000
Nessuna elaborazione dell'ordine attiva
0
7001
Avvio dell' elaborazione dell'ordine, invio dati in corso
Avvertenza: durante questa fase dell'elaborazione il sistema operativo accede ai dati
nell'area di invio DATA.
0
7002
Richiamo intermedio ( REQ non di rilievo ), ordine in corso
Avvertenza: in questa fase di elaborazione il sistema operativo accede ai dati
disponibili nell'area di invio DATA.
1
8085
Il parametro LEN ha il valore 0 o supera il valore massimo consentito
1
8086
L'ID del parametro si trova in un campo valori non ammesso
0
8088
Il parametro LEN è maggiore rispetto all'area di memoria indicata in DATA
1
8089
Il parametro ADDR non indica un blocco dati
1
80A1
il collegamento indicato tra il programma utente ed il livello di comunicazione del
sistema operativo non è ancora stato creato.
•
il collegamento indicato tra il programma utente ed il livello di comunicazione del
sistema operativo viene momentaneamente interrotto. Un'operazione di invio
tramite questo collegamento non è possibile.
•
L'interfaccia viene nuovamente inizializzata
1
80A4
L'indirizzo IP del punto finale del collegamento remoto non è valido. Esso coincide
eventualmente con l'indirizzo IP proprio
1
80B3
•
La variante di protocollo parametrizzata (parametro connection_type nella
descrizione del collegamento) non è di tipo UDP. Impiegare il parametro FB 63
"TSEND".
•
Parametro ADDR: indicazioni errate del n. della porta
1
80B7
Errore di lunghezza: nel parametro ADDR la lunghezza indicata è < 8 byte.
1
80C3
•
Un blocco recante questo ID viene già elaborato in un'altra classe di priorità.
•
Scarsità di risorse interne
1
1
500
Errore di comunicazione:
•
80C4
8xyy
Errore di comunicazione temporaneo:
•
La creazione del collegamento tra il programma utente ed il livello di
comunicazione del sistema operativo non è momentaneamente possibile.
•
L'interfaccia viene nuovamente parametrizzata.
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 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.13 Ricezione di dati tramite il protocollo UDP con l'FB 68 "TURCV"
24.13 Ricezione di dati tramite il protocollo UDP con l'FB 68 "TURCV"
Descrizione
L'FB 68 "TURCV" riceve i dati tramite il protocoll_o UDP. Al termine della ricezione da parte dell‘FB 68
"TURCV", nel parametro ADDR viene indicato l’indirizzo del partner remoto ovvero del mittente.
!
Avviso
Il protocollo UDP secondo RFC 768, effettua il trasferimento dati al partner remoto senza conferma e
quindi con scarsa sicurezza. I dati possono andare perduti senza che la perdita venga segnalata nel
blocco.
Modalità operative
L'FB 68 "TURCV" è un FB operante in modo asincrono, ovvero l'elaborazione dell'ordine comprende
più richiami dell'FB. L'attivazione dell’ordine di invio avviene richiamando FB 68 mediante EN_R = 1.
Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine. . STATUS
corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono (vedere anche:
Significato di REQ, RET_VAL e BUSY nelle SFC asincrone).
La tabella sottostante illustra la correlazione tra i parametri BUSY, DONE e ERROR. Questi parametri
consentono di rilevare lo stato attuale dell'FB 68 ovvero quando la ricezione è terminata.
BUSY
DONE
ERROR
Descrizione
TRUE
non di
rilievo
non di
rilievo
Elaborazione dell'ordine in corso
FALSE
TRUE
FALSE
Ordine eseguito senza errori.
FALSE
FALSE
TRUE
L'esecuzione dell'ordine è stata interrotta a causa di un errore.La causa
di errore è riportata nel parametro STATUS..
FALSE
FALSE
FALSE
All'FB non è stato assegnato alcun (nuovo) ordine.
Avvertenza
Per effetto del funzionamento asincrono dell'FB 68 "TURCV" la coerenza dei dati presenti nell’area di
invio deve essere mantenuta fino a quando il parametro NDR avrà assunto il valore TRUE.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
501
Comunicazione aperta tramite Industrial Ethernet
24.13 Ricezione di dati tramite il protocollo UDP con l'FB 68 "TURCV"
Parametri
Parametri
Dichiarazione
Tipo di
dati
Area di memoria
Descrizione
EN_R
INPUT
BOOL
E, A, M, D, L
Parametro di controllo enabled to receive:
Mediante EN_R = 1, l‘FB 68 "TURCV" è pronto
alla ricezione.
Elaborazione dell'ordine di ricezione in corso
ID
INPUT
WORD
M, D, Cost.
ID del rispettivo collegamento tra il programma
utente e il livello di comunicazione del sistema
operativo. L'ID deve essere identico al parametro
ID al quale si riferisce nella descrizione del
collegamento locale
Campo di valori: da W#16#0001 a W#16#0FFF
LEN
INPUT
INT
E, A, M, D, L
Per quanto concerne la lunghezza dell'area di
ricezione in byte, consultare il capitolo
Funzionamento degli FB per la comunicazione
aperta tramite Industrial Ethernet : 0 (empfohlen)
oppure 1 ... 1472
NDR
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato NDR:
ERROR
BOOL
E, A, M, D, L
NDR = 0: l'ordine non è ancora stato avviato
o è ancora corso.
•
NDR = 1: l'ordine è stato eseguito senza
errori
Parametro di stato ERROR:
•
ERROR=1: si è verificato un errore durante
l'elaborazione. STATUS fornisce informazioni
dettagliate sul tipo di errore
BUSY
OUTPUT
BOOL
E, A, M, D, L
•
BUSY = 1: l'ordine non è ancora stato
terminato. Impossibile avviare un nuovo
ordine
•
BUSY = 0: l'ordine è terminato.
STATUS
OUTPUT
WORD
M, D
Parametro di stato STATUS: informazione di
errore
RCVD_LEN
OUTPUT
INT
E, A, M, D, L
Numero dei dati effettivamente ricevuti in byte
DATA
IN_OUT
ANY
E, A, M, D
Area di ricezione (per la definizione consultare il
capitolo Funzionamento degli FB per la
comunicazione aperta tramite Industrial Ethernet )
L'indirizzo indica:
ADDR
502
OUTPUT
•
IN_OUT
ANY
D
•
l'immagine di processo degli ingressi
•
l'immagine di processo delle uscite
•
un merker
•
un blocco dati
Il puntatore indica l’indirizzo del mittente (p. es.
P#DB100.DBX0.0 byte 8), vedere Struttura
dell’informazione di indirizzo del partner remoto
con il protocollo UDP
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.13 Ricezione di dati tramite il protocollo UDP con l'FB 68 "TURCV"
Informazioni di errore
ERROR
STATUS
(W#16#...)
Spiegazione
0
0000
Acquisizione di nuovi dati. La lunghezza attuale dei dati ricevuti viene visualizzata in
RCVD_LEN.
0
7000
Il blocco è pronto alla ricezione
0
7001
Il blocco è pronto alla ricezione. L'ordine di ricezione è stato attivato
0
7002
Richiamo intermedio, ordine di ricezione in corso
Avvertenza: in questa fase di elaborazione l'FB 68 scrive i dati nell'area di ricezione
che, in caso di errori, può pertanto contenere dati incoerenti.
1
8085
Il parametro LEN supera il valore massimo consentito oppure il valore di uno dei
parametri LEN oppure DATA è stato modificato rispetto al primo richiamo
1
8086
L'ID del parametro si trova in un campo valori non ammesso
1
8088
•
l'area di destinazione (DATA) è troppo ridotta
•
Il valore del parametro LEN è maggiore rispetto a quello prefissato in DATA per
l’area di ricezione
1
8089
Il parametro ADDR non inidica un blocco dati
1
80A1
Errore di comunicazione:
•
il collegamento indicato tra il programma utente ed il livello di comunicazione del
sistema operativo non è ancora stato creato.
•
il collegamento indicato tra il programma utente ed il livello di comunicazione del
sistema operativo viene momentaneamente interrotto. Un'operazione di
ricezione tramite questo collegamento non è possibile.
•
L'interfaccia viene nuovamente parametrizzata
1
80B3
La variante di protocollo parametrizzata (parametro connection_type nella
descrizione del collegamento) non è di tipo UDP. Impiegare il parametro FB 64
"TRCV".
1
80B7
Errore di lunghezza: nel parametro ADDR la lunghezza indicata è < 8 byte.
1
80C3
•
Un blocco recante questo ID viene già elaborato in un'altra classe di priorità.
•
Scarsità di risorse interne
1
80C4
Errore di comunicazione temporaneo: nuova parametrizzazione dell'interfaccia in
corso.
1
8xyy
Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
503
Comunicazione aperta tramite Industrial Ethernet
24.14 Accoppiamento mediante TCP ad un sistema di terzi utilizzando i servizi FETCH e WRITE forniti dall'FB
210 "FW_TCP"
24.14 Accoppiamento mediante TCP ad un sistema di terzi utilizzando i
servizi FETCH e WRITE forniti dall'FB 210 "FW_TCP"
Descrizione
L'FB 210 "FW_TCP" fornisce, come server, i servizi FETCH e WRITE. In questo contesto viene
richiesto, rispettivamente per i servizi FETCH e WRITE, un collegamento proprio. L'FB 210 deve
essere pertanto richiamato separatamente per ciascun servizio e, nel parametro CONNECT, deve
essere inserita la descrizione del rispettivo collegamento TCP passivo.
Parametri
Parametri
Dichiarazione
Tipo di
dati
Area di
memoria
Descrizione
ENABLE
INPUT
BOOL
E, A, M, D, L
Questo parametro consente di inizializzare l'attivazione
e la disattivazione del collegamento:
•
0 = il collegamento viene disattivato
•
1 = il collegamento viene attivato
CONNECT
INPUT
ANY
D
Puntatore sulla descrizione del relativo collegamento
TCP passivo (UDT 65)
ADDRMODE
INPUT
INT
E, A, M, D, L
Questo parametro stabilisce il tipo di interpretazione
della struttura della richiesta di dati:
•
0=
•
1 = modo di indirizzamento S5 (orientato alla
parola)
modo di indirizzamento S7 (orientato ai byte)
NDR
OUTPUT
BOOL
E, A, M, D, L
Questo parametro indica l'avvenuta acquisizione dei
dati del job WRITE nonché la generazione e l'invio del
telegramma di conferma.
ERROR
OUTPUT
BOOL
E, A, M, D, L
Questo parametro viene impostato al verificarsi di un
errore durante la creazione o la separazione del
collegamento oppure durante l'invio o la ricezione di
dati
MODE
OUTPUT
BYTE
E, A, M, D, L
Questo parametro indica l'esecuzione in corso di un job
FETCH o WRITE:
STATUS
OUTPUT
WORD
M, D
•
0 = nessun job attivo
•
1 = job WRITE
•
2 = job FETCH
Nel parametro STATUS vengono emessi i bit di stato
della comunicazione interni
Ulteriori informazioni
La descrizione dettagliata dell'FB 210 "S5FW_TCP" è disponibile sul DVD di STEP 7 nella directory
CD_2\Optional Components\Communication Blocks nel file "FetchWrite_PNCPU_x.pdf" (x=e per la
lingua italiana, x=b per la lingua inglese).
504
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Comunicazione aperta tramite Industrial Ethernet
24.15 Accoppiamento mediante ISO on TCP ad un sistema di terzi utilizzando i servizi FETCH e WRITE forniti
dall'FB 220 "S5FW_IOT"
24.15 Accoppiamento mediante ISO on TCP ad un sistema di terzi
utilizzando i servizi FETCH e WRITE forniti dall'FB 220 "S5FW_IOT"
Descrizione
L'FB 220 "S5FW_IOT" fornisce, come server, i servizi FETCH e WRITE. In questo contesto viene
richiesto, rispettivamente per i servizi FETCH e WRITE, un collegamento proprio. L'FB 220 deve
essere pertanto richiamato separatamente per ciascun servizio e, nel parametro CONNECT, deve
essere inserita la descrizione del rispettivo collegamento ISO-on-TCP passivo.
Parametri
Parametri
Dichiarazione
Tipo di
dati
Area di
memoria
Descrizione
ENABLE
INPUT
BOOL
E, A, M, D, L
Su questo parametro è stato preimpostato il
valore "TRUE". Il collegamento ISO-on-TCP viene
così creato automaticamente.
CONNECT
INPUT
ANY
D
Puntatore sulla descrizione del relativo
collegamento ISO-on-TCP passivo (UDT 65)
ADDRMODE
INPUT
INT
E, A, M, D, L
Questo parametro stabilisce il tipo di
interpretazione della struttura della richiesta di
dati:
•
0 = modo di indirizzamento S7 (orientato ai
byte)
•
1 = modo di indirizzamento S5 (orientato alla
parola)
NDR
OUTPUT
BOOL
E, A, M, D, L
Questo parametro indica l'avvenuta acquisizione
dei dati del job WRITE nonché la generazione e
l'invio del telegramma di conferma.
ERROR
OUTPUT
BOOL
E, A, M, D, L
Questo parametro viene impostato al verificarsi di
un errore durante la creazione o la separazione
del collegamento oppure durante l'invio o la
ricezione di dati
MODE
OUTPUT
BYTE
E, A, M, D, L
Questo parametro indica l'esecuzione in corso di
un job FETCH o WRITE.
STATUS
OUTPUT
WORD
M, D
•
0 = job WRITE
•
1 = job FETCH
Nel parametro STATUS vengono emessi i bit di
stato della comunicazione interni
Ulteriori informazioni
La descrizione dettagliata dell'FB 220 "FW_IOT" è disponibile sul DVD di STEP 7 nella directory
CD_2\Optional Components\Communication Blocks nel file "FetchWrite_PNCPU_x.pdf" (x=e per la
lingua italiana, x=b per la lingua inglese).
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
505
Comunicazione aperta tramite Industrial Ethernet
24.15 Accoppiamento mediante ISO on TCP ad un sistema di terzi utilizzando i servizi FETCH e WRITE forniti
dall'FB 220 "S5FW_IOT"
506
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
25
Creazione di segnalazioni riferite ai blocchi
25.1
Introduzione alla creazione di segnalazioni riferite ai blocchi con gli
SFB
SFB per la creazione di segnalazioni riferite ai blocchi
Una segnalazione riferita ai blocchi si crea richiamando sul programma uno dei seguenti SFB:
•
SFB 36 "NOTIFY_8P"
•
SFB 33 "ALARM_8"
•
SFB 35 "ALARM_8P"
Questi SFB hanno le seguenti caratteristiche:
•
Con gli SFB 36 "NOTIFY” e 31 "NOTIFY_8P” ogni cambio di segnale 0 -> 1 o 1 -> 0 riconosciuto
al richiamo del blocco determina la trasmissione di una segnalazione.
•
Anche con gli SFB 33 "ALARM, 34 "ALARM 8” e 35 "ALARMP 8P” ogni cambio di segnale rilevato
al richiamo del blocco determina la trasmissione di una segnalazione in caso di impostazione di
default della procedura di segnalazione (segnalazione con conferma inattiva).
•
Se al contrario la segnalazione con conferma è attiva, ogni rilevamento di transizione di segnale
non determina la trasmissione di una segnalazione (per maggiori informazioni vedere di seguito).
•
Una volta elaborato il blocco, le variabili (ingressi SD_i) sono completamente rilevate e assegnate
alla segnalazione (vedere "Parametri di trasmissione e ricezione" in Parametri comuni delle
SFB/FB e delle SFC/FC della comunicazione S7).
Per ciò che riguarda la coerenza rispetto alle classi di priorità superiore, per le variabili si applicano i
criteri seguenti: ogni variabile SD_i è di per sé coerente.
•
Con i parametri di stato DONE, ERROR e STATUS viene controllato lo stato di elaborazione del
blocco (vedere "Parametri di stato" in Parametri comuni delle SFB/FB e delle SFC/FC della
comunicazione S7).
Avvertenza
I parametri ID e EV_ID vengono rilevati solo al primo richiamo del blocco (i parametri attuali o i valori
predefiniti dall'istanza).
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
507
Creazione di segnalazioni riferite ai blocchi
25.1 Introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB
Collegamenti di controllori visualizzati
La premessa per la trasmissione di una segnalazione da parte degli SFB per la creazione di
segnalazioni riferite ai blocchi quando questi riconoscono una transizione di segnale, è che si sia
collegato almeno un controllore visualizzato (ad es. WinCC) per segnalazioni riferite ai blocchi. In
mancanza di segnalazioni il parametro STATUS fornisce il valore 1.
Rilevamento di transizioni di segnale
Per ogni istanza di un blocco di segnalazione è disponibile una memoria segnalazioni con due spazi.
Inizialmente questa memoria segnalazioni è vuota. Non appena l'SFB individua una transizione di
segnale nell'ingresso SIG o in uno degli ingressi SIG 1,… SIG 8, questa viene registrata nel primo
spazio, che rimane occupato fino a quando la rispettiva segnalazione viene trasmessa.
La successiva transizione di segnale rilevata nell'ingresso SIG o in uno degli ingressi SIG_1 … SIG 8,
viene registrata nel secondo spazio. Se il primo spazio è ancora occupato, e seguono altre transizioni
di segnale, viene sovrascritto sempre il secondo spazio nella memoria segnalazioni.
Questa perdita di segnalazioni viene visualizzata tramite i parametri d'uscita ERROR e STATUS
(ERROR=0, STATUS=11). Inoltre i controllori visualizzati ne ricevono comunicazione con la
successiva segnalazione che può essere trasmessa.
Nel caso in cui si liberi il primo spazio, il contenuto del secondo spazio viene trasferito nel primo,
liberando così il secondo spazio.
Segnalazione con conferma
Per ridurre la quantità di segnalazioni nell'impianto è possibile utilizzare la procedura di segnalazione
con conferma con gli SFB 33 "ALARM”, 34 "ALARM_8” e 35 "ALARM 8P”.
Questa procedura prevede che dopo la creazione di una segnalazione entrante (transizione di segnale
da 0 a 1) non vengano più create segnalazioni per lo stesso segnale fino a quando l'utente fornisce
conferma su un sistema di visualizzazione. La segnalazione successiva, mostrata sul sistema di
visualizzazione dopo la conferma, è un messaggio uscente (transizione del segnale da 1 a 0). Quindi il
ciclo di segnalazioni ricomincia con una segnalazione entrante (transizione del segnale da 0 a 1), che
deve essere confermata. In questo modo l'utente può controllare attraverso il sistema di
visualizzazione la segnalazione di transizioni del segnale (fino alla segnalazione uscente).
La procedura di segnalazione (segnalazione con conferma attiva o inattiva) per gli SFB da 33 a 35 si
definisce nella progettazione con STEP 7 per tutta la CPU. Di default la segnalazione con conferma è
disattivata.
Affinché l'analisi delle segnalazioni sia uniforme all'interno dell'impianto, occorre assicurarsi che in
caso di impiego della segnalazione con conferma tutti i controllori siano in grado di eseguire questa
procedura.
Avvertenza in caso di impiego di controllori non in grado di eseguire la segnalazione con
conferma
Qualora nella propria CPU sia stata attivata la segnalazione con conferma, la CPU trasmette le
segnalazioni solamente ai controllori che supportano questa procedura di segnalazione. Qualora
nessuno dei controllori sia in grado di eseguire tale procedura, la CPU non trasmette alcuna
segnalazione. Questo viene segnalato una volta con ERROR=1 e STATUS=1.
508
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Creazione di segnalazioni riferite ai blocchi
25.1 Introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB
Conferma delle segnalazioni con gli SFB 33 "ALARM", 34 "ALARM_8" e 35 "ALARM_8P"
Viene utilizzato il concetto di conferma centrale. Cioè, se una segnalazione è stata confermata in un
controllore visualizzato, questa informazione di conferma viene trasmessa in un primo momento alla
CPU che ha generato la segnalazione. Da qui l'informazione di conferma viene trasmessa a tutti i nodi
allacciati.
Si conferma sempre un segnale e non una singola segnalazione. Nel caso per esempio, che siano
stati segnalati più fronti di salita di un segnale e l'evento entrante venga confermato, tutti gli eventi
precedentemente arrivati con lo stesso numero di segnalazione si ritengono confermati.
Visualizzazione della conferma
L'SFB 36 "NOTIFY" e l'SFB 31 "NOTIFY_8P” non dispongono di visualizzazione della conferma. Con
l'SFB 33 "ALARM" è possibile rilevare lo stato di conferma nei parametri d'uscita ACK_UP e ACK_DN
e con gli SFB 35 "ALARM_8P" e 34 "ALARM_8" nel parametro di uscita ACK_STATE. Queste uscite
vengono aggiornate al momento del richiamo del blocco se il parametro di comando EN_R ha valore
1.
Inibizione e abilitazione delle segnalazioni mediante SFC o controllore (WinCC)
Può essere utile sopprimere delle segnalazioni, per esempio in caso di modifiche all'impianto. Si ha
perciò la possibilità di inibire e poi riabilitare le segnalazioni partendo da un controllore visualizzato o
dal programma. L'inibizione/abilitazione vale per tutti i nodi che si sono allacciati per la relativa
segnalazione. L'inibizione rimane in essere fino a che non viene riabilitata la segnalazione relativa.
Tramite i parametri d'uscita ERROR e STATUS (ERROR = 1, STATUS = 21) viene comunicato se
delle segnalazioni sono state inibite.
Fabbisogno di memoria degli SFB per la creazione di segnalazioni riferite ai blocchi
Per poter svolgere senza problemi la loro funzione, gli SFB per la creazione di segnalazioni riferite ai
blocchi necessitano di un buffer di dati di comunicazione dipendente dalla variabile nell'area di lavoro
della CPU (area di codice). Le dimensioni della memoria occupata sono riportate nella tabella
seguente.
Tipo di
blocco
Fabbisogno di memoria di lavoro della CPU in byte
NOTIFY
200 + 2 * lunghezza delle variabili indicate al primo richiamo per SD_1,...SD_10
NOTIFY_8P 200 + 2 * lunghezza delle variabili indicate al primo richiamo per SD_1,...SD_10
ALARM
200 + 2 * lunghezza delle variabili indicate al primo richiamo per SD_1,...SD_10
ALARM_8
100
ALARM_8P
200 + 2 * lunghezza delle variabili indicate al primo richiamo per SD_1,...SD_10
AR_SEND
54
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
509
Creazione di segnalazioni riferite ai blocchi
25.1 Introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB
Numero dei dati da trasmettere
Il numero dei dati che si possono trasmettere tramite le variabili SD_i degli SFB NOTIFY, NOTIFY_8P,
ALARM e ALARM_8P non deve superare una lunghezza massima.
Questa lunghezza dati massima viene calcolata nel modo seguente:
maxleng =
min (pdu_lokal, pdu_remote) - diff - 4 * numero parametri SD_i utilizzati
Per questa formula vale quanto segue:
•
min (pdu_lokal, pdu_remote): valore minimo dei numeri pdu_lokal e pdu_remote
•
pdu_lokal: lunghezza massima dei blocchi dati della propria CPU (vedere relativi dati tecnici)
•
pdu_remote: lunghezza massima dei blocchi dati dei display
•
diff = 48 se è attiva la segnalazione con conferma e 44 se non è attiva
Esempio:
Una CPU 414-2 trasmette messaggi tramite un Industrial Ethernet a WinCC. La segnalazione con
conferma è inattiva.
Vengono utilizzate le variabili SD_1, SD_2 e SD_3.
pdu_lokal = 480 byte, pdu_remote = 480 byte.
Numero dei parametri SD_i utilizzati: 3
Utilizzando la formula:
maxleng = min (480, 480) - 44 - 4 * 3 = 480 - 44 - 12 = 424
La lunghezza dati massima che si può trasmettere ammonta dunque per ogni SFB a 424 byte.
510
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Creazione di segnalazioni riferite ai blocchi
25.2 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 36 "NOTIFY"
25.2
Creazione di segnalazioni riferite ai blocchi senza visualizzazione
della conferma con l'SFB 36 "NOTIFY"
Descrizione
L'SFB 36 "NOTIFY" controlla un segnale. Sia in presenza di un fronte di salita (evento entrante), sia in
presenza di un fronte di discesa (evento uscente), l'SFB 36 genera una segnalazione, alla quale
possono essere attribuiti fino a dieci variabili. La segnalazione viene trasmessa a tutti i nodi allacciati a
questo scopo. Al primo richiamo viene trasmessa una segnalazione con lo stato di segnale attuale.
Le variabili vengono registrate al momento del rilevamento del fronte e assegnate alla segnalazione.
Per ogni istanza dell'SFB 36 "NOTIFY” è disponibile una memoria segnalazioni con due spazi.
Maggiori informazioni sulla memoria intermedia di transizioni di segnale vedi il paragrafo "Rilevamento
di transizioni di segnale” nell'introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB.
L'SFB 36 "NOTIFY" è conforme alla norma IEC 1131-5.
Parametri
Dichiarazione Tipo di
dati
Area di memoria
Descrizione
SIG
INPUT
BOOL
E, A, M, D, L
Segnale da controllare
ID
INPUT
WORD
Cost. (E, A, M, D,
L,)
Canale dati per segnalazioni: W#16#EEEE
EV_ID
INPUT
DWORD Cost. (E, A, M, D, L) Numero del messaggio (non consentito: 0)
EV_ID viene analizzato solamente con il primo
richiamo. In seguito, per ogni richiamo dell'SFB
36 con il relativo DB di istanza, vale il numero di
messaggio usato al primo richiamo.
ID rilevata solo al primo richiamo.
Il numero di messaggio viene assegnato
automaticamente da STEP7. Viene così garantita
la coerenza dei numeri dei messaggi. Il numero di
messaggio deve essere univoco all'interno del
programma utente.
SEVERITY INPUT
WORD
Cost. (E, A, M, D, L) Peso dell'evento
Valori possibili: da 0 a 127 (valore 0 significa
massima priorità)
Questo parametro non è rilevante per
l'elaborazione della segnalazione.
DONE
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato DONE: creazione della
segnalazione terminata.
ERROR
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato ERROR
ERROR= TRUE significa che nell'elaborazione si
è verificato un errore.
Per maggiori informazioni vedere il parametro
STATUS.
STATUS
OUTPUT
WORD
E, A, M, D, L
Parametro di stato STATUS: visualizzazione di
una informazione di errore
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
511
Creazione di segnalazioni riferite ai blocchi
25.2 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 36 "NOTIFY"
Parametri
Dichiarazione Tipo di
dati
Area di memoria
Descrizione
SD_i,
IN_OUT
E, A, M, D, T, Z
i-esima variabile
ANY
1≤i ≤10
Sono ammessi solo i tipi di dati BOOL (non
consentito: campo di bit), BYTE, CHAR, WORD,
INT, DWORD, DINT, REAL, DATE, TOD, TIME,
S5TIME, DATE_AND_TIME.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB deve
sempre essere specificato (ad es.: P#
DB10.DBX5.0 Byte 10)
Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 36 che possono
essere emesse tramite i parametri ERROR e STATUS.
ERROR
STATUS
(decimale)
Spiegazione
0
11
Perdita della segnalazione. Impossibile inviare la commutazione di segnale o il
messaggio precedenti. Quest'ultimo viene sostituito dal messaggio aggiornato.
0
22
•
Errore nel puntatore sulle variabili SD_i:
-
in riferimento a lunghezza o a tipo di dati
variabili non raggiungibili nella memoria utente, p. es. a causa di un DB
cancellato o un errore di lunghezza di campo
La segnalazione attivata viene trasmessa senza variabili oppure con il numero
ancora possibile di variabili.
-
•
Il parametro attuale di SEVERITY selezionato si trova al di fuori dell'area
ammessa. La segnalazione attivata viene trasmessa con SEVERITY =127).
0
25
La comunicazione è stata avviata. La segnalazione è in fase di esecuzione.
1
1
Problemi di comunicazione: interruzione del collegamento oppure non è presente
alcun collegamento
1
3
Per la EV_ID specificata non è presente alcun collegamento
1
4
Al primo richiamo
•
la EV_ID specificata si trova al di fuori dell'area ammessa
•
è presente un errore formale del puntatore ANY SD_i
•
è stata superata l'area di memoria max. trasferibile della CPU per ogni SFB 36
1
10
Accesso a memoria utente locale impossibile (p. es. accesso a DB cancellati)
1
12
Al richiamo dell'SFB è stato indicato:
•
un DB di istanza che non appartiene all'SFB 36
•
un DB globale invece di un DB di istanza.
1
18
EV_ID è già stata trasferita da uno degli SFB 31 o da 33 a 36
1
20
La memoria di lavoro non è sufficiente
1
21
Sistema H: richiamo dell'SFB durante l'aggiornamento
512
La segnalazione con la EV_ID specificata è inibita.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Creazione di segnalazioni riferite ai blocchi
25.3 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 31
"NOTIFY_8P"
25.3
Creazione di segnalazioni riferite ai blocchi senza visualizzazione
della conferma con l'SFB 31 "NOTIFY_8P"
Descrizione
L'SFB 31 "NOTIFY_8P" è la versione ampliata a otto segnali dell'SFB 36 "NOTIFY".
Viene creata una segnalazione se è stata rilevata una transizione di segnale in almeno un segnale. Al
primo richiamo dell'SFB 31 viene sempre creata una segnalazione. Per tutti gli otto segnali è previsto
un numero di segnalazione comune, che viene suddiviso in otto segnalazioni parziali nel controllore.
Per ogni istanza dell'SFB 31 "NOTIFY_8P" è disponibile una memoria segnalazioni con due spazi.
Maggiori informazioni sulla memorizzazione intermedia di transizioni di segnale sono riportate nel
paragrafo "Rilevamento di transizioni di segnale" Introduzione alla creazione di segnalazioni riferite ai
blocchi con gli SFB.
Avvertenza
Nonostante la perdita di segnalazioni, al display vengono comunicati gli ultimi due cambiamenti di ogni
segnale.
!
Pericolo
Prima di richiamare l'SFB 31 "NOTIFY_8P" in un sistema di automazione occorre essere certi che tutti
i display collegati riconoscano questo blocco. Ciò è possibile se la versione del sistema di
automazione utilizzato soddisfa almeno uno dei seguenti requisiti: STEP 7 dalla versione V5.1
Service Pack 3, WinCC dalla V5.1 Hot Fix 1, PCS 7 dalla V5.2 Service Pack 2, SIMATIC Device
Driver dalla versione V5.6.
In caso di mancata osservanza di tale indicazione, la comunicazione tra il sistema di automazione e i
display collegati verrà interrotta. Di conseguenza non sarà possibile accedere all'impianto con i sistemi
di visualizzazione collegati.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
513
Creazione di segnalazioni riferite ai blocchi
25.3 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 31
"NOTIFY_8P"
Parametri
Dichiarazione
Tipo di
dati
Area di memoria
Descrizione
SIG_i,
1≤i≤8
INPUT
BOOL
E, A, M, D, L.
i-esimo segnale da controllare
ID
INPUT
WORD
Cost. (E, A, M, D, L) Canale dati per segnalazioni:
W#16#EEEE ID rilevata solo al primo
richiamo.
EV_ID
INPUT
DWORD
Cost. (E, A, M, D, L) Numero del messaggio (non consentito:
0)
EV_ID viene analizzato solamente con il
primo richiamo. In seguito, per ogni
richiamo dell'SFB 31 con il relativo DB di
istanza, vale il numero di messaggio
usato al primo richiamo.
Il numero di messaggio viene assegnato
automaticamente da STEP 7. Viene così
garantita la coerenza dei numeri dei
messaggi. Il numero del messaggio deve
essere univoco all'interno del programma
utente.
SEVERITY
INPUT
WORD
Cost. (E, A, M, D, L) Peso dell'evento
Valori possibili: da 0 a 127 (valore 0
significa massima priorità); valore di
default: 64
Questo parametro non è rilevante per
l'elaborazione della segnalazione.
DONE
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato DONE: creazione della
segnalazione terminata.
ERROR
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato ERROR
ERROR= TRUE significa che
nell'elaborazione si è verificato un errore.
Per maggiori informazioni vedere il
parametro STATUS.
STATUS
OUTPUT
WORD
E, A, M, D, L
Parametro di stato STATUS:
visualizzazione di una informazione di
errore
SD_i,
IN_OUT
ANY
E, A, M, D, T, Z
i-esima variabile
1 ≤ i ≤ 10
Sono ammessi solo i tipi di dati BOOL
(non consentito: campo di bit), BYTE,
CHAR, WORD, INT, DWORD, DINT,
REAL, DATE, TOD, TIME, S5TIME,
DATE_AND_TIME.
Avvertenza:
Se il puntatore ANY accede a un DB, il
DB deve sempre essere specificato
(p. es.: P# DB10.DBX5.0 byte 10)
514
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Creazione di segnalazioni riferite ai blocchi
25.3 Creazione di segnalazioni riferite ai blocchi senza visualizzazione della conferma con l'SFB 31
"NOTIFY_8P"
Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 31 che possono
essere trasmette tramite i parametri ERROR e STATUS.
ERROR
STATUS (decimale) Spiegazione
0
11
Perdita della segnalazione. Impossibile inviare la commutazione di segnale
o il messaggio precedenti. Quest'ultimo viene sostituito dal messaggio
aggiornato.
0
22
•
Errore nel puntatore sulle variabili SD_i
-
in riferimento a lunghezza o a tipo di dati
variabili non raggiungibili nella memoria utente, p. es. a causa di un
DB cancellato o un errore di lunghezza di campo
La segnalazione attivata viene trasmessa senza variabili oppure con il
numero ancora possibile di variabili.
-
•
Il parametro attuale di SEVERITY selezionato si trova al di fuori
dell'area ammessa. La segnalazione viene trasmessa con SEVERITY
=127).
0
25
La comunicazione è stata avviata. La segnalazione è in fase di esecuzione.
1
1
Problemi di comunicazione: interruzione del collegamento oppure non è
presente alcun collegamento
1
4
Al primo richiamo
1
10
•
la EV_ID specificata si trova al di fuori dell'area ammessa
•
è presente un errore formale del puntatore ANY SD_i
•
è stata superata l'area di memoria max. trasferibile della CPU per ogni
SFB 31
Accesso a memoria utente locale impossibile (p. es. accesso a DB
cancellati)
1
18
EV_ID è già stata trasferita da uno degli SFB 31 o da 33 a 36
1
20
La memoria di lavoro non è sufficiente
1
21
Sistema H: richiamo dell'SFB durante l'aggiornamento
La segnalazione con la EV_ID specificata è inibita.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
515
Creazione di segnalazioni riferite ai blocchi
25.4 Creazione di segnalazioni riferite ai blocchi con visualizzazione della conferma con l'SFB 33 "ALARM"
25.4
Creazione di segnalazioni riferite ai blocchi con visualizzazione
della conferma con l'SFB 33 "ALARM"
Descrizione
L'SFB 33 "ALARM" controlla un segnale.
•
Funzionamento standard (vale a dire che la segnalazione con conferma è disattivata): sia in
presenza di un fronte di salita (evento entrante), sia in presenza di un fronte di discesa (evento
uscente), il blocco genera una segnalazione, alla quale possono essere attribuite fino a dieci
variabili.
•
Segnalazione con conferma attivata: dopo la creazione di una segnalazione entrante per il
segnale, il blocco non genera altre segnalazioni fino a quando il messaggio entrante non viene
confermato in un controllore (vedere anche Introduzione alla creazione di segnalazioni riferite ai
blocchi con gli SFB
La segnalazione viene trasmessa a tutti i nodi allacciati a questo scopo.
Al primo richiamo viene trasmessa una segnalazione con lo stato di segnale attuale.
L'uscita ACK_UP viene azzerata se è presente un fronte di salita. L'uscita viene impostata se la
conferma dell'evento in entrata proviene da un controllore visualizzato collegato.
Lo stesso vale per l'uscita ACK_DN, che viene azzerata in presenza di un fronte di discesa. L'uscita
viene impostata se la conferma dell'evento in uscita proviene da un controllore visualizzato allacciato.
Dopo l'arrivo della conferma da un controllore visualizzato collegato, l'informazione di conferma viene
comunicata a tutti i nodi collegati.
Per ogni istanza dell'SFB 33 "ALARM" è disponibile una memoria con due spazi. Per maggiori
informazioni sulla memorizzazione intermedia di transizioni di segnale vedi il paragrafo "Rilevamento
di transizioni di segnale” nell'introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB.
L'SFB 33 "ALARM" è conforme alla norma IEC 1131-5.
516
Parametri
Dichiarazione Tipo di
dati
Area di memoria
Descrizione
EN_R
INPUT
BOOL
E, A, M, D, L, cost.
Il parametro di comando enable to receive fa in
modo che le uscite ACK_UP e ACK_DN vengano
aggiornate (EN_R=1) o non vengano aggiornate
(EN_R=0) al richiamo del blocco. Con EN_R=0 i
parametri di uscita ACK_UP e ACK_DN
rimangono invariati.
SIG
INPUT
BOOL
E, A, M, D, L
Segnale da controllare
ID
INPUT
WORD
Cost. (E, A, M, D,
L,)
Canale dati per segnalazioni: W#16#EEEE
ID analizzata solo al primo richiamo.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Creazione di segnalazioni riferite ai blocchi
25.4 Creazione di segnalazioni riferite ai blocchi con visualizzazione della conferma con l'SFB 33 "ALARM"
Parametri
Dichiarazione Tipo di
dati
EV_ID
INPUT
Area di memoria
Descrizione
DWORD Cost. (E, A, M, D, L) Numero del messaggio (non consentito: 0)
EV_ID viene analizzato solamente con il primo
richiamo. In seguito, per ogni richiamo dell'SFB
33 con il relativo DB di istanza, vale il numero di
messaggio usato al primo richiamo.
Il numero di messaggio viene assegnato
automaticamente da STEP 7. Viene così
garantita la coerenza dei numeri dei messaggi. Il
numero del messaggio deve essere univoco
all'interno del programma utente.
SEVERITY INPUT
WORD
Cost. (E, A, M, D, L) Peso dell'evento
Valori possibili: da 0 a 127 (valore zero significa
massima priorità).
Questo parametro non è rilevante per
l'elaborazione della segnalazione.
DONE
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato DONE:
Creazione segnalazioni terminata.
ERROR
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato ERROR
ERROR= TRUE significa che nell'elaborazione si
è verificato un errore. Per maggiori informazioni
vedere il parametro STATUS.
STATUS
OUTPUT
INT
E, A, M, D, L
Parametro di stato STATUS: visualizzazione di
un'informazione di errore
ACK_DN
OUTPUT
BOOL
E, A, M, D, L
L'evento in uscita è stato confermato su un
controllore visualizzato.
Stato di inizializzazione: 1
ACK_UP
OUTPUT
BOOL
E, A, M, D, L
L'evento in arrivo è stato confermato su un
controllore visualizzato.
Stato di inizializzazione: 1
SD_i,
IN_OUT
ANY
E, A, M, D, T, Z
i-esima variabile
Sono ammessi solo i tipi di dati BOOL (non
consentito: campo di bit), BYTE, CHAR, WORD,
INT, DWORD, DINT, REAL, DATE, TOD, TIME,
S5TIME, DATE_AND_TIME.
1≤i ≤10
Avvertenza:
Se il puntatore ANY accede a un DB, il DB deve
sempre essere specificato (ad es.: P#
DB10.DBX5.0 byte 10)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
517
Creazione di segnalazioni riferite ai blocchi
25.4 Creazione di segnalazioni riferite ai blocchi con visualizzazione della conferma con l'SFB 33 "ALARM"
Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 33 che possono
essere emesse tramite i parametri ERROR e STATUS.
ERROR
STATUS
(decimale)
Spiegazione
0
11
Perdita della segnalazione. Impossibile inviare la commutazione di
segnale o il messaggio precedenti. Quest'ultimo viene sostituito dal
messaggio aggiornato.
0
22
•
•
Errore nel puntatore sulle variabili SD_i
-
in riferimento a lunghezza o a tipo di dati
-
variabili non raggiungibili nella memoria utente, p. es. a
causa di un DB cancellato o un errore di lunghezza di
campo
-
La segnalazione attivata viene trasmessa senza variabili
oppure con il numero ancora possibile di variabili.
Il parametro attuale di SEVERITY selezionato si trova al di fuori
dell'area ammessa. La segnalazione viene trasmessa con
SEVERITY =127).
0
25
La comunicazione è stata avviata. La segnalazione è in fase di
esecuzione.
1
1
Problemi di comunicazione: interruzione del collegamento oppure
non è presente alcun collegamento.
In caso di segnalazione con conferma: visualizzazione temporale se
nessun display supporta la segnalazione con conferma
1
4
Per la EV_ID specificata non è presente alcun collegamento
1
4
Al primo richiamo
•
la EV_ID specificata si trova al di fuori dell'area ammessa
•
è presente un errore formale del puntatore ANY SD_i
•
è stata superata l'area di memoria max. trasferibile della CPU
per ogni SFB 33
1
10
Accesso a memoria utente locale impossibile (p. es. accesso a DB
cancellati)
1
12
Al richiamo degli SFB è stato indicato:
1
18
•
un DB di istanza che non appartiene all'SFB 33
•
un DB globale invece di un DB di istanza
L'EV_ID è già stata utilizzata da uno degli SFB 31 0 da 33 a 36
1
20
Insufficiente memoria di lavoro.
1
21
La segnalazione con la EV_ID specificata è inibita.
Avvertenza
Dopo il primo richiamo del blocco le uscite ACK_UP e ACK_DN hanno valore 1 e il valore storico
dell'ingresso SIG viene assunto a 0.
518
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Creazione di segnalazioni riferite ai blocchi
25.5 Creazione di segnalazioni riferite ai blocchi con variabili per otto segnali con l'SFB 35 "ALARM_8P"
25.5
Creazione di segnalazioni riferite ai blocchi con variabili per otto
segnali con l'SFB 35 "ALARM_8P"
Descrizione
L'SFB 35 "ALARM_8P" è il lineare ampliamento a otto segnali dell'SFB 33 "ALARM".
Qualora la procedura di segnalazione con conferma non sia stata attivata, viene sempre generata una
segnalazione se almeno per un segnale è stato riconosciuta una transizione di segnale (eccezione: al
primo richiamo viene sempre trasmessa una segnalazione). Per tutti otto i segnali c'è un numero di
segnalazione comune, che viene suddiviso sul controllore visualizzato in otto segnalazioni parziali. È
possibile confermare ogni singola segnalazione parziale oppure più segnalazioni parziali in una sola
volta.
Tramite il parametro di uscita ACK_STATE è possibile continuare ad elaborare nel programma lo stato
di conferma delle singole segnalazioni. In caso di inibizione o di abilitazione di una segnalazione di un
blocco ALARM_8P, viene inibito o abilitato sempre tutto il blocco ALARM _8P. Non è possibile inibire
o abilitare singoli segnali.
Per ogni istanza dell'SFB 35 "ALARM_8P" è disponibile una memoria con due spazi. Per maggiori
informazioni sulla memorizzazione intermedia di transizioni di segnale vedi il paragrafo "Rilevamento
di transizioni di segnale” nell'introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
EN_R
INPUT
BOOL
E, A, M, D, L, cost.
Il parametro di comando enable to receive fa in
modo che l'uscita ACK_STATE venga
aggiornata al richiamo del blocco (EN_R=1)
oppure non venga aggiornata (EN_R=0).
i-esimo segnale da controllare
SIG_i, 1≤i≤8
INPUT
BOOL
E, A, M, D, L
ID
INPUT
WORD
Cost. (E, A, M, D, L) Canale dati per segnalazioni: W#16#EEEE
ID rilevata solo al primo richiamo.
EV_ID
INPUT
DWORD Cost. (E, A, M, D, L) Numero del messaggio (non consentito: 0)
EV_ID viene analizzato solamente con il primo
richiamo. In seguito, per ogni richiamo dell'SFB
35 con il relativo DB di istanza, vale il numero di
messaggio usato al primo richiamo.
Il numero di messaggio viene assegnato
automaticamente da STEP 7. Viene così
garantita la coerenza dei numeri dei messaggi.
Il numero del messaggio deve essere univoco
all'interno del programma utente.
SEVERITY
INPUT
WORD
Cost. (E, A, M, D, L) Peso dell'evento
Valori possibili: da 0 a 127 (valore zero significa
massima priorità).
Questo parametro non è rilevante per
l'elaborazione della segnalazione.
DONE
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato DONE:
Creazione segnalazioni terminata.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
519
Creazione di segnalazioni riferite ai blocchi
25.5 Creazione di segnalazioni riferite ai blocchi con variabili per otto segnali con l'SFB 35 "ALARM_8P"
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
ERROR
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato ERROR
ERROR= TRUE significa che nell'elaborazione
si è verificato un errore. Per maggiori
informazioni vedere il parametro STATUS.
STATUS
OUTPUT
WORD
E, A, M, D, L
Parametro di stato STATUS: visualizzazione di
un'informazione di errore
ACK_STATE OUTPUT
WORD
E, A, M, D, L
Campo di bit con l'attuale stato di conferma di
tutte e otto le segnalazioni (1: evento
confermato; 2: evento non confermato)
SD_j,
1≤ j ≤10
IN_OUT
ANY
E, A, M, D, T, Z
•
I bit 0 … 7 sono impostati per l'evento in
entrata con SIG_1 …SIG_7
•
I bit 8 … 15 sono impostati per l'evento in
uscita con SIG_1 … SIG_7
•
Stato dell'inizializzazione: W#16#FFFF,
cioè tutti gli eventi entranti e uscenti sono
confermati
j-esima variabile
Le variabili valgono per tutti i messaggi. Sono
ammessi solo i tipi di dati BOOL (non consentito
campo di bit), BYTE, CHAR, WORD, INT,
DWORD, DINT, REAL, DATE, TOD, TIME,
S5TIME, DATE_AND_TIME.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB deve
sempre essere specificato
(p. es.: P# DB10.DBX5.0 Byte 10)
520
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Creazione di segnalazioni riferite ai blocchi
25.5 Creazione di segnalazioni riferite ai blocchi con variabili per otto segnali con l'SFB 35 "ALARM_8P"
Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 35 che possono
essere emesse dai parametri ERROR e STATUS.
ERROR
STATUS
(decimale)
Spiegazione
0
11
Perdita della segnalazione. Impossibile inviare la commutazione di
segnale o il messaggio precedenti. Quest'ultimo viene sostituito dal
messaggio aggiornato.
0
22
•
Errore nel puntatore sulle variabili SD_i
-
in riferimento a lunghezza o a tipo di dato
variabili non raggiungibili nella memoria utente, p. es. a
causa di un DB cancellato o un errore di lunghezza di
campo
La segnalazione attivata viene trasmessa senza variabili oppure
con il numero ancora possibile di variabili.
-
•
Il parametro attuale di SEVERITY selezionato si trova al di fuori
dell'area ammessa. La segnalazione viene trasmessa con
SEVERITY =127).
0
25
La comunicazione è stata avviata. La segnalazione è in fase di
esecuzione.
1
1
Problemi di comunicazione: interruzione del collegamento oppure
non è presente alcun collegamento
In caso di segnalazione con conferma: visualizzazione temporale se
nessun display supporta la segnalazione con conferma
1
4
Al primo richiamo
•
la EV_ID specificata si trova al di fuori dell'area ammessa
•
è presente un errore formale del puntatore ANY SD_i
•
è stata superata l'area di memoria max. trasferibile della CPU
per ogni SFB 35
ERROR
STATUS
(decimale)
Spiegazione
1
10
Accesso a memoria utente locale impossibile (p. es. accesso a DB
cancellati)
1
12
Al richiamo degli SFB è stato indicato:
•
un DB di istanza che non appartiene all'SFB 35
•
un DB globale invece di un DB di istanza
1
18
EV_ID è già stata trasferita da uno degli SFB 31 o da 33 a 36
1
20
Insufficiente memoria di lavoro.
1
21
La segnalazione con la EV_ID specificata è inibita.
Avvertenza
Dopo il primo richiamo del blocco tutti i bit dell'uscita ACK_STATE sono impostati e i valori storici delle
entrate SIG_i, 1≤i≤8 sono assunti a 0.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
521
Creazione di segnalazioni riferite ai blocchi
25.6 Creazione di segnalazioni riferite ai blocchi senza variabili per otto segnali con l'SFB 34 "ALARM_8"
25.6
Creazione di segnalazioni riferite ai blocchi senza variabili per otto
segnali con l'SFB 34 "ALARM_8"
Descrizione
L'SFB 34 "ALARM_8" - a prescindere dal fatto che le variabili D_1 ... SD_10 non sono presenti - è
identico all'SFB 35 "ALARM_8P".
Parametri
Dichiarazione
Tipo
Area di
memoria
Descrizione
EN_R
INPUT
BOOL
E, A, M, D, L,
cost.
Il parametro di comando enabled to receive fa in
modo che l'uscita ACK_STATE venga
aggiornata al richiamo del blocco (EN_R=1)
oppure non venga aggiornata (EN_R=0).
SIG_i, 1≤i≤8
INPUT
BOOL
E, A, M, D, L
i-esimo segnale da controllare
ID
INPUT
WORD
Cost. (E, A, M,
D, L)
Canale dati per segnalazioni: W#16#EEEE
EV_ID
INPUT
DWORD
Cost. (E, A, M,
D, L)
Numero del messaggio (non consentito: 0)
EV_ID viene analizzato solamente con il primo
richiamo. In seguito, per ogni richiamo dell'SFB
34 con il relativo DB di istanza, vale il numero di
messaggio usato al primo richiamo.
ID rilevata solo al primo richiamo.
Il numero di messaggio viene assegnato
automaticamente da STEP 7. Viene così
garantita la coerenza dei numeri dei messaggi.
Il numero del messaggio deve essere univoco
all'interno del programma utente.
SEVERITY
522
INPUT
WORD
Cost. (E, A, M,
D, L)
Peso dell'evento
Valori possibili: da 0 a 127 (valore 0 significa
massima priorità).
Questo parametro non è rilevante per
l'elaborazione della segnalazione.
DONE
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato DONE:
Creazione segnalazione terminata.
ERROR
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato ERROR
ERROR= TRUE significa che nell'elaborazione
si è verificato un errore. Per maggiori
informazioni vedere il parametro STATUS.
STATUS
OUTPUT
WORD
E, A, M, D, L
Parametro di stato STATUS: visualizzazione di
un'informazione di errore
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Creazione di segnalazioni riferite ai blocchi
25.6 Creazione di segnalazioni riferite ai blocchi senza variabili per otto segnali con l'SFB 34 "ALARM_8"
Parametri
Dichiarazione
Tipo
Area di
memoria
Descrizione
ACK_STATE
OUTPUT
WORD
E, A, M, D, L
Campo di bit con l'attuale stato di conferma di
tutte e otto le segnalazioni (1: evento
confermato; 0: evento non confermato)
•
I bit 0 … 7 sono impostati per l'evento in
entrata con SIG_1 …SIG_7
•
I bit 8 … 15 sono impostati per l'evento in
uscita con SIG_1 … SIG_7
•
Stato dell'inizializzazione: W#16#FFFF,
cioè tutti gli eventi entranti e uscenti sono
confermati
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
523
Creazione di segnalazioni riferite ai blocchi
25.6 Creazione di segnalazioni riferite ai blocchi senza variabili per otto segnali con l'SFB 34 "ALARM_8"
Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 34 che possono
essere emesse dai parametri ERROR e STATUS.
ERROR
STATUS
(decimale)
Spiegazione
0
11
Perdita della segnalazione. Impossibile inviare la commutazione di
segnale o il messaggio precedenti. Quest'ultimo viene sostituito dal
messaggio aggiornato.
0
22
Il parametro attuale di SEVERITY selezionato si trova al di fuori
dell'area ammessa: La segnalazione attivata viene trasmessa con
SEVERITY = 127).
0
25
La comunicazione è stata avviata. La segnalazione è in fase di
esecuzione.
1
1
Problemi di comunicazione: interruzione del collegamento oppure
non è presente alcun collegamento. In caso di segnalazione con
conferma: visualizzazione temporale se nessun display supporta la
segnalazione con conferma
1
4
Al primo richiamo la EV_ID specificata è posta al di fuori dell'area
ammessa.
1
10
Accesso a memoria utente locale impossibile (p. es. accesso a DB
cancellati)
1
12
Al richiamo degli SFB è stato indicato:
•
un DB di istanza che non appartiene all'SFB 34
•
un DB globale invece di un DB di istanza
1
18
EV_ID è già stata trasferita da uno degli SFB 31 o da 33 a 36
1
20
Insufficiente memoria di lavoro.
1
21
La segnalazione con la EV_ID specificata è inibita.
Avvertenza
Dopo il primo richiamo del blocco tutti i bit dell'uscita ACK_STATE sono impostati e i valori storici delle
entrate SIG_i, 1≤i≤8 vengono assunti a 0.
524
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Creazione di segnalazioni riferite ai blocchi
25.7 Trasmissione di dati di archivio con l'SFB 37 "AR_SEND"
25.7
Trasmissione di dati di archivio con l'SFB 37 "AR_SEND"
Descrizione
L'SFB 37 "AR_SEND" trasmette dati di archivio a tutti i sistemi di servizio e di controllo collegati a
questo scopo. Questi comunicano nel telegramma di collegamento della CPU il numero di archivio
rilevante. A seconda della memoria di lavoro della CPU e dell'area di operandi utilizzata, i dati di
archivio possono arrivare fino a 65.534 byte. Nel creare i dati di archivio si deve tenere presente in
struttura predefinita del sistema di servizio e di controllo utilizzato.
L'attivazione del procedimento di trasmissione avviene dopo il richiamo del blocco e del fronte di salita
all'ingresso di comando REQ. L'indirizzo di partenza dei dati di archivio da trasmettere viene
assegnato attraverso SD_1, la lunghezza del blocco dati viene assegnata tramite LEN. La
trasmissione dei dati avviene in modo asincrono rispetto all'esecuzione del programma utente. La
conclusione positiva del procedimento di trasmissione viene visualizzata nel parametro di stato DONE
con 1. Il procedimento di trasmissione in corso viene interrotto in presenza di un fronte di salita
all'ingresso di comando R.
Parametri
Dichiarazione Tipo di
dati
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
Parametro di comando request
R
INPUT
BOOL
E, A, M, D, L cost.
Parametro di comando reset: interruzione del job
attuale
ID
INPUT
WORD
E, A, M, D, cost.
Canale dati per segnalazioni: W#16#EEEE
AR_ID
INPUT
DWORD Cost. (E, A, M, D, L) Numero di archivio (non consentito: 0)
ID rilevata solo al primo richiamo.
AR_ID viene rilevata solamente al primo
richiamo. Poi, per ogni richiamo dell'SFB 37 con il
relativo DB di istanza vale il numero di archivio
usato al primo richiamo.
Il numero di archivio viene assegnato
automaticamente da STEP7. Viene così garantita
la coerenza dei numeri di archivio.
DONE
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato DONE: trasmissione terminata
ERROR
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato ERROR
ERROR= TRUE significa che nell'elaborazione si
è verificato un errore. Per maggiori informazioni
vedere il parametro STATUS.
STATUS
OUTPUT
WORD
E, A, M, D, L
Parametro di stato STATUS: visualizzazione di
un'informazione di errore
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
525
Creazione di segnalazioni riferite ai blocchi
25.7 Trasmissione di dati di archivio con l'SFB 37 "AR_SEND"
Parametri
Dichiarazione Tipo di
dati
Area di memoria
Descrizione
SD_1
IN_OUT
E, A, M, D, T, Z
Puntatore sui dati di archivio. L'indicazione della
lunghezza non viene analizzata.
ANY
Sono ammessi solo i tipi di dati BOOL ( non
consentito: campo di bit), BYTE, CHAR, WORD,
INT, DWORD, DINT, REAL, DATE, TOD, TIME,
S5TIME, DATE_AND_TIME.
I dati di archivio devono essere configurati per il
sistema di destinazione specifico.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB deve
sempre essere specificato
(p. es.: P# DB10.DBX5.0 byte 10)
LEN
526
IN_OUT
WORD
E, A, M, D, L
Lunghezza del blocco dati da trasmettere in byte
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Creazione di segnalazioni riferite ai blocchi
25.7 Trasmissione di dati di archivio con l'SFB 37 "AR_SEND"
Informazioni di errore
La tabella seguente contiene tutte le informazioni di errore specifiche per l'SFB 37 che possono
essere emesse dai parametri ERROR e STATUS.
ERROR
STATUS
(decimale)
Spiegazione
0
11
Messaggio di avviso: nuovo job inefficace perché job precedente
non ancora concluso.
0
25
La comunicazione è stata avviata. Il job è in fase di esecuzione.
1
1
Problemi di comunicazione
1
2
Conferma negativa, funzione non eseguibile
1
3
Per la AR_ID specificata non è presente alcun collegamento
1
4
•
Errore nel puntatore dei dati di archivio SD_1 in riferimento a
lunghezza o a tipo di dati.
•
Al primo richiamo la AR_ID specificata si trova al di fuori
dell'area ammessa.
1
5
La richiesta di reset è stata eseguita
1
7
Job di reset irrilevante poiché la funzione in corso è stata conclusa
oppure non è stata attivata (blocco in stato errato)
1
8
Errore di accesso del partner remoto
1
10
Accesso a memoria utente locale impossibile (p. es. accesso a DB
cancellato)
1
12
Al richiamo degli SFB è stato indicato:
•
un DB di istanza che non appartiene all'SFB 37
•
un DB globale invece di un DB di istanza
1
18
AR_ID è già stata utilizzata da un SFB 37.
1
20
Memoria di lavoro insufficiente.
Coerenza dei dati
Per garantire la coerenza dei dati è possibile scrivere nella parte attualmente utilizzata dell'area di
trasmissione SD_1 solo dopo che l'attuale trasmissione è terminata, quando p. es. il parametro di
stato DONE assume il valore 1.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
527
Creazione di segnalazioni riferite ai blocchi
25.8 Inibizione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni cumulative tecnologiche con la
SFC 10 "DIS_MSG"
25.8
Inibizione di segnalazioni riferite ai blocchi e ai simboli e di
segnalazioni cumulative tecnologiche con la SFC 10 "DIS_MSG"
Descrizione
Con la SFC 10 "DIS_MSG" (disable message) vengono inibite segnalazioni riferite ai blocchi creati
con gli SFB, segnalazioni riferite ai simboli (SCAN) e segnalazioni cumulative tecnologiche. I
messaggi da inibire vengono definiti tramite i parametri di ingresso MODE e MESGN. La condizione
necessaria per l'avviamento positivo di un procedimento di inibizione con la SFC 10 "DIS_MSG" è che
non sia attivo al momento alcun ulteriore procedimento di inibizione della SFC 10.
Le segnalazioni che al richiamo della SFC 10 sono già pronti per essere trasmesse ma si trovano
ancora in un buffer interno, non subiscono più l'inibizione, cioè vengono ancora trasmesse.
Le uscite ERROR e STATUS degli SFB "NOTIFY", "NOTIFY_8P”, "ALARM", "ALARM_8P" e
"ALARM_8" comunicano che la trasmissione di messaggi è inibita.
Il procedimento di inibizione viene avviato se, al richiamo della SFC 10, viene occupato il parametro di
ingresso REQ con 1.
Modo di funzionamento
Il procedimento di inibizione viene condotto in modo asincrono, cioè si può estendere a più richiami
della SFC 10 (vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che
lavorano in modo asincrono:
•
Al primo richiamo (REQ = 1) la SFC 10 verifica i parametri di ingresso e cerca di occupare le
risorse di sistema necessarie. In caso di riuscita W#16#7001 viene registrato in RET_VAL, BUSY
viene impostato e l'inibizione avviata.
In caso contrario in RET_VAL viene registrata la relativa informazione di errore e il job è terminato.
BUSY in tal caso non può essere analizzato.
•
Ad un eventuale richiamo intermedio in RET_VAL viene registrato W#16#7002 (il job viene ancora
elaborato dalla CPU) e BUSY viene impostato. Un richiamo intermedio non influisce sul job in
corso.
All'ultimo richiamo in RET_VAL viene registrato W#16#0000, se non è presente alcun errore. BUSY in
questo caso viene indicato con 0.
In caso di errore in RET_VAL viene registrata l'informazione di errore e BUSY non può essere
analizzato.
528
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L, cost.
REQ = 1: avvia inibizione
MODE
INPUT
BYTE
E, A, M, D, L, cost.
Parametro per la selezione della segnalazione da
inibire
MESGN
INPUT
DWORD E, A, M, D, L, cost.
Numero della segnalazione
Rilevante solo per MODE = 5, 6, 7. In tal modo
può essere inibita una singola segnalazione.
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazione di errore
BUSY
OUTPUT
BOOL
E, A, M, D, L
BUSY = 1: il procedimento di inibizione non è
ancora terminato
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Creazione di segnalazioni riferite ai blocchi
25.8 Inibizione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni cumulative tecnologiche con la
SFC 10 "DIS_MSG"
Parametri di ingresso MODE
Nella seguente tabella vengono indicati i valori del parametro di ingresso MODE ammessi.
Valore
Significato
0
Tutte le segnalazioni create con gli SFB riferite ai blocchi, riferite ai simboli e quelle cumulative
tecnologiche della CPU.
1
Tutte le segnalazioni della CPU riferite ai blocchi create con gli SFB, cioè tutte le segnalazioni degli
SFB "NOTIFY", "NOTIFY_8P”,"ALARM", "ALARM_8P" e "ALARM_8".
2
Tutte le segnalazioni cumulative tecnologiche della CPU
3
Tutte le segnalazioni della CPU riferite ai simboli (SCAN)
5
Segnalazione singola della classe "segnalazioni riferite ai simboli"
6
Segnalazione singola della classe "segnalazioni riferite ai blocchi create con gli SFB"
7
Segnale singolo della classe "segnalazioni cumulative tecnologiche"
Informazioni d'errore
Codice errore
(W#16#...)
Spiegazione
0000
Inibizione terminata senza errori
7000
Primo richiamo con REQ = 0: inibizione non attivata
7001
Primo richiamo con REQ = 1: inibizione avviata
7002
Richiamo intermedio: inibizione già attiva
8081
Errore nell'accesso ad un parametro
8082
MODE ha valore non ammesso
8083
Il numero della segnalazione si trova al di fuori dell'area di valore ammessa
8084
Per segnalazioni specificate tramite MODE ed eventualmente tramite MESGN non è presente
alcun collegamento
80C3
L'inibizione della segnalazione specificata tramite MODE ed eventualmente tramite MESGN
non può essere avviata al momento, perché è già attivo un altro procedimento di inibizione
della SFC 10.
8xyy
Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
529
Creazione di segnalazioni riferite ai blocchi
25.9 Abilitazione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni cumulative tecnologiche con la
SFC 9 "EN_MSG"
25.9
Abilitazione di segnalazioni riferite ai blocchi e ai simboli e di
segnalazioni cumulative tecnologiche con la SFC 9 "EN_MSG"
Descrizione
Con la SFC 9 "EN_MSG" (enable message) vengono riabilitate le segnalazioni inibite riferite ai blocchi
e ai simboli e le segnalazioni cumulative tecnologiche inibiti. L'inibizione può essere stata attivata da
un controllore visualizzato o con la SFC 10 "DIS_MSG".
Le segnalazioni da abilitare devono essere definite tramite i parametri di ingresso MODE e MESGN.
Presupposto per l'avviamento positivo di un procedimento di abilitazione con la SFC 9 "EN_MSG" è
che momentaneamente non sia attivo alcun altro procedimento di abilitazione della SFC 9.
Il procedimento di abilitazione viene avviato se, al richiamo della SFC 9, il parametro di ingresso REQ
viene occupato con 1.
Modo di funzionamento
Il procedimento di abilitazione viene condotto in modo asincrono, cioè si può estendere a più richiami
della SFC 9 (vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano
in modo asincrono.
•
Al primo richiamo (REQ = 1) la SFC 9 verifica i parametri di ingresso e cerca di occupare le
risorse di sistema necessarie. In caso di riuscita in RET_VAL viene registrato W#16#7001, BUSY
viene impostato e l'abilitazione avviata.
In caso contrario in RET_VAL viene registrata la relativa informazione di errore e il job è terminato.
BUSY in tal caso non può essere analizzato.
•
Ad un eventuale richiamo intermedio in RET_VAL viene registrato W#16#7002 (il job viene ancora
elaborato dalla CPU) e BUSY viene impostato. Un richiamo intermedio non influisce sul job in
corso.
All'ultimo richiamo in RET_VAL viene registrato W#16#0000 se non è presente alcun errore. BUSY in
questo caso viene descritto con 0.
In caso di errore in RET_VAL viene registrata l'informazione di errore e BUSY non può essere
analizzato.
530
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
REQ = 1 : avvia abilitazione
MODE
INPUT
BYTE
E, A, M, D, L, cost.
Parametro per la selezione della segnalazione da
abilitare
MESGN
INPUT
DWORD E, A, M, D, L, cost.
Numero della segnalazione
Rilevante solo per MODE = 5, 6, 7. In tal modo
può essere abilitata una singola segnalazione
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazione di errore, vedere tabella NO TAG
BUSY
OUTPUT
BOOL
E, A, M, D, L
BUSY = 1 : il procedimento di abilitazione non è
ancora terminato
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Creazione di segnalazioni riferite ai blocchi
25.9 Abilitazione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni cumulative tecnologiche con la
SFC 9 "EN_MSG"
Parametri di ingresso MODE
Nella seguente tabella vengono indicati i valori del parametro di ingresso MODE ammessi.
Valore
Significato
0
Tutte le segnalazioni create con gli SFB riferite ai blocchi, riferite ai simboli e tutte quelle cumulative
tecnologiche della CPU.
1
Tutti le segnalazioni della CPU riferite ai blocchi create con gli SFB, cioè tutti le segnalazioni degli
SFB "NOTIFY", "NOTIFY_8P”, "ALARM", "ALARM_8P" e "ALARM_8".
2
Tutte le segnalazioni cumulative tecnologiche della CPU
3
Tutte le segnalazioni della CPU riferite ai simboli (SCAN)
5
Segnalazione singola della classe "segnalazioni riferite ai simboli"
6
Segnalazione singola della classe "segnalazioni riferite ai blocchi create con gli SFB"
7
Segnale singolo della classe "segnalazioni cumulative tecnologiche"
Informazioni d'errore
Codice errore
(W#16#...)
Spiegazione
0000
Abilitazione terminata senza errori
7000
Primo richiamo con REQ = 0: abilitazione non attivata
7001
Primo richiamo con REQ = 1: abilitazione avviata
7002
Richiamo intermedio: abilitazione già attiva
8081
Errore nell'accesso ad un parametro
8082
MODE ha valore non ammesso
8083
Il numero della segnalazione si trova al di fuori dell'area di valore ammessa
8084
Per segnalazioni specificate tramite MODE ed eventualmente tramite MESGN non è presente
alcun collegamento
80C3
L'abilitazione delle segnalazioni specificate tramite MODE ed eventualmente tramite MESGN
non può essere momentaneamente avviata, perché è già attivo un altro procedimento di
abilitazione della SFC 9.
8xyy
Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
531
Creazione di segnalazioni riferite ai blocchi
25.10 Comportamento all'avviamento degli SFB per la creazione di segnalazioni riferite ai blocchi
25.10 Comportamento all'avviamento degli SFB per la creazione di
segnalazioni riferite ai blocchi
Comportamento al nuovo avviamento (avviamento a caldo)
Al nuovo avviamento (avviamento a caldo) i DB di istanza degli SFB per la creazione di segnalazioni
riferite ai blocchi vengono spostati nello stato non inizializzato. I parametri attuali memorizzati nei DB
di istanza rimangono invariati. Con il successivo richiamo di blocco vengono nuovamente analizzati i
parametri ID e EV_ID.
Comportamento all'avviamento a freddo
All'avviamento a freddo il contenuto dei DB di istanza degli SFB per la creazione di segnalazioni
riferite ai blocchi vengono impostati ai valori iniziali.
Comportamento al riavviamento
Al riavviamento gli SFB per la creazione di segnalazioni riferite ai blocchi si comportano come blocchi
funzionali utente che possono essere ripresi. Essi proseguono dal punto di interruzione.
Comportamento dopo cancellazione totale
La cancellazione totale porta sempre all'interruzione di tutti i collegamenti cosicché nessun nodo è più
collegato per le segnalazioni. Il programma utente viene cancellato. Se è stata inserita una flashcard,
le parti del programma rilevanti per lo svolgimento vengono nuovamente caricate nella CPU a partire
da quel punto e la CPU esegue un nuovo avviamento (avviamento a caldo) o avviamento a freddo
(implicitamente sempre avviamento a freddo poiché tutti i dati utente sono inizializzati dopo la
cancellazione totale).
532
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Creazione di segnalazioni riferite ai blocchi
25.11 Comportamento in caso di disturbo degli SFB per la creazione di segnalazioni riferite ai blocchi
25.11 Comportamento in caso di disturbo degli SFB per la creazione di
segnalazioni riferite ai blocchi
Interruzione di collegamento
I collegamenti assegnati alle istanze SFB vengono controllati in caso di interruzione. All'interruzione
del collegamento il nodo colpito viene tolto dalla lista interna della CPU dei nodi allacciati per le
segnalazioni riferite ai blocchi. Le segnalazioni ancora presenti per questo nodo vengono cancellate.
Se dopo un'interruzione di collegamento sono allacciati ancora altri nodi, essi continuano a ricevere le
segnalazioni. Gli SFB smettono di trasmettere solo quando i collegamenti a tutti i nodi allacciati sono
interrotti. Avviene allora una visualizzazione nei parametri d'uscita ERROR e STATUS (ERROR = 1,
STATUS = 1).
Interfaccia di errore per programma utente
Se nell'esecuzione di un SFB per la creazione di segnalazioni riferite ai blocchi si verifica un errore, il
parametro di uscita ERROR viene impostato a 1 e la relativa identificazione di errore viene registrata
nel parametro di uscita STATUS. Questa informazione di errore può essere analizzata nel
programma.
Esempi di errori possibili:
•
Trasmissione non possibile per insufficienza di risorse
•
Errore nell'accesso ad uno dei segnali da controllare.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
533
Creazione di segnalazioni riferite ai blocchi
25.12 Introduzione alla creazione di segnalazioni riferite ai blocchi con le SFC
25.12 Introduzione alla creazione di segnalazioni riferite ai blocchi con le
SFC
SFC per la creazione di segnalazioni riferite ai blocchi
Con le seguenti SFC è possibile creare una segnalazione riferita ai blocchi:
•
SFC 17 "ALARM_SQ"
•
SFC 18 "ALARM_S"
•
SFC 107 "ALARM_DQ"
•
SFC 108 "ALARM_D"
Queste SFC hanno le seguenti caratteristiche:
•
le segnalazioni della SFC 17 "ALARM_SQ" e della SFC 107 "ALARM_DQ" trasmesse con stato di
segnale 1 si possono confermare tramite un controllore visualizzato attivato. Le segnalazioni della
SFC 18 "ALARM_S" e della SFC 108 "ALARM_D" sono sempre confermate implicitamente.
•
Una segnalazione non viene creata da un cambio di fronte riconosciuto, bensì da ogni richiamo di
SFC. Consultare in questo caso i paragrafi Creazione di segnalazioni confermabili riferite ai
blocchi con la SFC 17 "ALARM_SQ" e di segnalazioni riferite ai blocchi e Creazione di
segnalazioni confermabili e sempre confermate riferite ai blocchi con le SFC 107 "ALARM_DQ" e
108 "ALARM_D".
•
Una volta che è stato elaborato il blocco, la variabile SD è stata completamente rilevata ed è stata
attribuita alla segnalazione.
Per ciò che riguarda la coerenza rispetto alle classi di priorità superiore, per le variabili si applicano i
criteri seguenti: coerenti sono
•
i tipi di dati semplici (bit, byte, parola e doppia parola)
•
un array del tipo di dati byte fino ad una lunghezza massima specifica della CPU. (vedere /71/,
/101/).
SFC 19 "ALARM_SC"
Con l'aiuto della SFC 19 "ALARM_SC" è possibile rilevare:
•
lo stato di conferma dell'ultima "segnalazione arrivata" e lo stato di segnale all'ultimo richiamo
della SFC 17/SFC 107, oppure
•
lo stato di segnale all'ultimo richiamo della SFC 18/SFC 108.
Collegamento di controllori visualizzati
Premessa per la trasmissione di una segnalazione quando vengono richiamate le SFC per la
creazione di segnalazioni riferite ai blocchi è che si sia collegato almeno un controllore visualizzato per
segnalazioni riferite ai blocchi.
534
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Creazione di segnalazioni riferite ai blocchi
25.12 Introduzione alla creazione di segnalazioni riferite ai blocchi con le SFC
Bufferizzazione delle segnalazioni
Affinché non vada persa alcuna segnalazione anche in presenza di un alto carico del sistema di
comunicazione, le SFC 17, 18, 107 e 108 possono memorizzare temporaneamente due segnalazioni
ciascuna.
Se nonostante ciò dovessero andare perse delle segnalazioni se ne riceve comunicazione tramite
RET_VAL. Con la successiva segnalazione trasmessa anche i controllori visualizzati collegati ne
vengono informati.
Conferma della segnalazione con la SFC 17 "ALARM_SQ" e la SFC 107 "ALARM_DQ"
Se su un controllore visualizzato viene confermata una "segnalazione arrivata", questa informazione di
conferma viene trasmessa in un primo momento alla CPU che ha causato la segnalazione. Da qui
l'informazione di conferma viene distribuita a tutti i nodi allacciati.
Inibizione e abilitazione delle segnalazioni
Le segnalazioni riferite ai blocchi create con la SFC 17 "ALARM_SQ", la SFC 18 "ALARM_S", la
SFC 107 "ALARM_DQ" o la SFC 108 "ALARM_D" non possono essere inibite per essere poi
successivamente abilitate.
Modifiche al programma che contiene richiami di SFC 17/SFC 18
Avvertenza
Caricando un blocco già presente nella CPU con richiami delle SFC 17 e SFC 18 è possibile che il
blocco esistente abbia già trasferito una segnalazione entrante e che il nuovo blocco non trasferisca la
relativa segnalazione uscente. In questo modo la segnalazione rimane nella memoria delle
segnalazioni interna della CPU. Tale situazione si può verificare anche quando si cancellano dei
blocchi con richiami delle SFC 17 e SFC 18.
Queste segnalazioni possono essere eliminate dalla memoria delle segnalazioni interna della CPU
commutando la CPU nello stato di funzionamento STOP ed eseguendo poi un nuovo avviamento
(avviamento a caldo) o un avviamento a freddo.
Modifiche del programma utente che contiene richiami SFC 107/SFC 108
Anche se il programma dell'utente contiene richiami di SFC 107 e/o SFC 108, con le modifiche del
programma sopra descritte le segnalazioni possono restare nella memoria interna delle segnalazioni e
quindi occupare risorse del sistema in modo permanente.
Al contrario delle risorse di sistema occupate da richiami di SFC 17/SFC 18, quelle occupate dai
richiami delle SFC 107/SFC 108 possono essere riabilitate dall'utente senza dover portare la CPU in
stato di STOP. Ciò succede impiegando la SFC 106 "DEL_SI", vedere Abilitazione di risorse di
sistema a occupazione dinamica con la SFC 106 "DEL_SI". Prima di abilitare le risorse di sistema a
occupazione dinamica richiamando la SFC 106 "DEL_SI", può essere opportuno leggere con l'aiuto
della SFC 105 "READ_SI" le informazioni sulle risorse del sistema attualmente occupate
dinamicamente della propria CPU; vedere Lettura di risorse di sistema a occupazione dinamica con la
SFC 105 "READ_SI".
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
535
Creazione di segnalazioni riferite ai blocchi
25.12 Introduzione alla creazione di segnalazioni riferite ai blocchi con le SFC
Numero dei dati da trasmettere
Il numero dei dati che si possono trasmettere tramite le variabili SD delle SFC ALARM_S,
ALARM_SQ, ALARM_D e ALARM_DQ non deve superare una lunghezza massima.
Questa lunghezza dati massima viene calcolata nel modo seguente:
maxleng = min (pdu_lokal, pdu_remote) - 48
Dove:
•
pdu_lokal la lunghezza massima dei blocchi dati della propria CPU
(SZL_ID W#16#0131, INDEX 1, pdu)
•
pdu_remote la lunghezza massima dei blocchi dati del controllore visualizzato
Esempio:
Una CPU 414-2 trasmette messaggi ad un PG 760 (tramite MPI).
pdu_lokal = 480 byte, pdu_remote = 480 byte.
Utilizzando la formula:
maxleng = min (480, 480) - 48 = 480 - 48 = 432
La lunghezza dati massima che si può trasmettere ammonta dunque per ogni SFB a 432 byte.
536
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Creazione di segnalazioni riferite ai blocchi
25.13 Creazione di segnalazioni confermabili riferite ai blocchi con la SFC 17 "ALARM_SQ" e di segnalazioni
riferite ai blocchi sempre confermate con la SFC 18 "ALARM_S"
25.13 Creazione di segnalazioni confermabili riferite ai blocchi con la
SFC 17 "ALARM_SQ" e di segnalazioni riferite ai blocchi sempre
confermate con la SFC 18 "ALARM_S"
Avvertenza
Nei programmi nuovi è opportuno utilizzare solo le SFC 107 e 108 (a condizione che la CPU supporti
le SFC 107 e 108), perché offrono migliori funzioni di gestione delle risorse del sistema.
Descrizione
Le SFC 17 "ALARM_SQ" e SFC 18 "ALARM_S" generano ad ogni richiamo una segnalazione alla
quale è possibile aggiungere una variabile. La segnalazione viene trasmessa a tutti i nodi allacciati. La
SFC 17 e la SFC 18 mettono dunque a disposizione un semplice meccanismo di segnalazione. Si
deve fare attenzione a richiamare le SFC 17/SFC 18 solo quando il valore del segnale SIG, che attiva
le segnalazioni, è in negativo rispetto all'ultimo richiamo. Se ciò non avviene, se ne riceve
comunicazione tramite RET_VAL e non viene trasmessa alcuna segnalazione. Fare anche attenzione
che al primissimo richiamo delle SFC 17/SFC 18 all'ingresso SIG sia presente 1. Altrimenti RET_VAL
fornisce un'informazione di errore e non viene trasmessa alcuna segnalazione.
Avvertenza
Richiamare la SFC 17 e la SFC 18 da un FB al quale sono stati prima assegnati gli attributi di sistema!
Informazioni dettagliate per l'assegnazione di attributi di sistema ai blocchi si trovano in /234/
Occupazione delle risorse del sistema
Durante la generazione delle segnalazioni con le SFC 17 "ALARM_SQ" e 18 "ALARM_S" il sistema
operativo occupa una risorsa del sistema per la durata del ciclo del segnale.
•
Nell'SFC 180 "ALARM_S" il ciclo del segnale dura dal richiamo dell'SFC con SIG=1 fino al nuovo
richiamo con SIG=0. Nell'SFC 17 "ALARM_SQ" a questo tempo viene eventualmente aggiunto il
tempo fino alla conferma del segnale entrante da parte di uno dei controllori visualizzati.
Se all'interno del ciclo del segnale si verifica un sovraccarico o una cancellazione del blocco che
genera le segnalazioni, la relativa risorsa di sistema resta occupata fino al successivo nuovo avvio
(avvio a caldo).
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
537
Creazione di segnalazioni riferite ai blocchi
25.13 Creazione di segnalazioni confermabili riferite ai blocchi con la SFC 17 "ALARM_SQ" e di segnalazioni
riferite ai blocchi sempre confermate con la SFC 18 "ALARM_S"
Conferma delle segnalazioni
Le segnalazioni trasmesse dalla SFC 17 "ALARM_RQ" con lo stato di segnale 1 possono essere
confermate su un controllore visualizzato collegato. Lo stato di conferma dell'ultima "segnalazione
arrivata" e lo stato di segnale all'ultimo richiamo della SFC 17 possono essere rilevati con l'aiuto della
SFC 19 "ALARM_SC".
Le segnalazioni trasmesse con la SFC 18 "ALARM_S" sono sempre confermate implicitamente. Lo
stato di segnale all'ultimo richiamo di SFC 18 può essere rilevato con l'aiuto della SFC 19
"ALARM_SC".
Memorizzazione intermedia di stati di segnale
La SFC 17 "ALARM_SQ" e la SFC 18 "ALARM_S" occupano momentaneamente delloe risorse del
sistema. Qui vengono memorizzati temporaneamente tra l'altro entrambi gli ultimi stati di segnale,
incluso la registrazione del tempo e la variabile. Se un richiamo della SFC 17/SFC 18 avviene in un
momento in cui gli stati di segnale di entrambi gli ultimi richiami della SFC "validi" non sono ancora
stati trasmessi (overflow di segnale), l'ultimo stato di segnale e quello attuale vengono annullati e
viene impostata un'identificazione di overflow nella memoria intermedia. Non appena possibile sia il
penultimo segnale che l'identificazione di overflow vengono trasmessi.
Esempio:
t
t0
t1
t2
t0, t1 e t2 sono i punti di tempo di richiamo delle SFC 17/SFC 18. Se al punto di tempo t2 gli stati di
segnale di t0 e t1 non sono ancora stati trasmessi, gli stati di segnale di t1 e t2 vengono annullati e
allo stato di segnale di t0 viene impostata l'identificazione di overflow.
538
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Creazione di segnalazioni riferite ai blocchi
25.13 Creazione di segnalazioni confermabili riferite ai blocchi con la SFC 17 "ALARM_SQ" e di segnalazioni
riferite ai blocchi sempre confermate con la SFC 18 "ALARM_S"
Overflow di istanza
Se il numero dei richiami di SFC 17/SFC 18 è maggiore del numero massimo di risorse di sistema
della CPU, si può arrivare ad una mancanza di risorse (overflow di istanze). Ciò viene comunicato sia
tramite un'informazione di errore in RET_VAL, sia nei controllori visualizzati collegati.
Il numero massimo di richiami delle SFC 17/SFC 18 dipende dalla CPU.
Queste informazioni si trovano in /70/ e /101/
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
SIG
INPUT
BOOL
E, A, M, D, L
Segnale che attiva il messaggio
ID
INPUT
WORD
E, A, M, D, L cost.
Canale dati per segnalazioni: W#16#EEEE
EV_ID
INPUT
DWORD Cost. (E, A, M, D, L) Numero della segnalazione (non consentito: 0).
SD
INPUT
ANY
E, A, M, D, T, Z
Variabile
Lunghezza massima: 12 byte
Sono ammessi solo i tipi di dati: BOOL (non
consentito: campo di bit), BYTE, CHAR, WORD,
INT, DWORD, DINT, REAL, DATE, TOD, TIME,
S5TIME, DATE_AND_TIME.
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazione di errore
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
539
Creazione di segnalazioni riferite ai blocchi
25.13 Creazione di segnalazioni confermabili riferite ai blocchi con la SFC 17 "ALARM_SQ" e di segnalazioni
riferite ai blocchi sempre confermate con la SFC 18 "ALARM_S"
Informazioni d'errore
540
Codice errore
(W#16#...)
Spiegazione
0000
Nessun errore
0001
•
La variabile supera la lunghezza massima consentita oppure
•
L'accesso alla memoria utente non è possibile (p. es. accesso a DB cancellati). Il
messaggio viene inviato
•
La variabile indica un valore nell'area dati locale. Il messaggio viene inviato.
0002
Avviso: È stata occupata l'ultima memoria libera di conferma segnalazione (soltanto nell'
S7-400) .
8081
La EV_ID specificata è posta al di fuori dell'area ammessa.
8082
Perdita della segnalazione perché la CPU non ha più alcuna risorsa libera per la creazione di
segnalazioni riferite ai blocchi attraverso le SFC.
8083
Perdita della segnalazione perché è già presente lo stesso cambio di segnale, ma non è stato
ancora possibile trasmetterlo (overflow di segnale).
8084
Al richiamo attuale delle SFC 17/SFC 18 e a quello precedente il segnale SIG che attiva la
segnalazione ha lo stesso valore.
8085
Per la EV_ID specificata non è presente alcun collegamento.
8086
Un richiamo di SFC per la EV_ID specificata è già in elaborazione in una classe di priorità
con priorità minore.
8087
Al primo richiamo delle SFC 17/SFC 18 il segnale che ha attivato la segnalazione aveva
valore 0.
8088
La EV_ID specificata viene già utilizzata da un altro risorsa di sistema (per SFC 17, 18, 107,
108).
8xyy
Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Creazione di segnalazioni riferite ai blocchi
25.14 Rilevamento dello stato di conferma dell'ultima segnalazione ALARM_SQ/ALARM_DQ arrivata con la
SFC 19 "ALARM_SC"
25.14 Rilevamento dello stato di conferma dell'ultima segnalazione
ALARM_SQ/ALARM_DQ arrivata con la SFC 19 "ALARM_SC"
Descrizione
Con l'aiuto della SFC 19"ALARM_SC" è possibile rilevare
•
lo stato di conferma dell'ultima segnalazione ALARM_SQ/ALARM_DQ arrivata e lo stato del
segnale che attiva la segnalazione all'ultimo richiamo della SFC 17 "ALARM_SQ"/SFC 107
"ALARM_DQ" oppure
•
lo stato del segnale che attiva la segnalazione all'ultimo richiamo della SFC 18
"ALARM_S"/SFC 108 "ALARM_D".
La segnalazione, oppure il segnale, è identificato in modo univoco tramite il numero della
segnalazione assegnato, se sono stati attribuiti numeri delle segnalazioni con l'aiuto della
progettazione delle segnalazioni.
La SFC 19 "ALARM_SC" accede alla memoria delle SFC 17/SFC 18/SFC 107/SFC 108
temporaneamente occupata.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
EV_ID
INPUT
DWORD E, A, M, D, L, cost.
Numero della segnalazione della quale si
desidera rilevare lo stato di segnale all'ultimo
richiamo di SFC, oppure lo stato di conferma
dell'ultima segnalazione arrivata (solo per SFC 17
e SFC 107)
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazione di errore
STATE
OUTPUT
BOOL
E, A, M, D, L
Stato del segnale che attiva la segnalazione
all'ultimo richiamo della SFC
Q_STATE
OUTPUT
BOOL
E, A, M, D, L
Se il parametro specificato EV_ID appartiene a
un richiamo di SFC 18/SFC 108: 1
Se il parametro specificato EV_ID appartiene a
un richiamo di SFC 17/SFC 107: stato di
conferma dell'ultimo messaggio arrivato:
0: non confermato
1: confermato
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
541
Creazione di segnalazioni riferite ai blocchi
25.14 Rilevamento dello stato di conferma dell'ultima segnalazione ALARM_SQ/ALARM_DQ arrivata con la
SFC 19 "ALARM_SC"
Informazioni d'errore
542
Codice errore
(W#16#...)
Spiegazione
0000
Nessun errore
8081
La EV_ID specificata è posta al di fuori dell'area ammessa.
8082
Nessuna area di memoria momentaneamente assegnata a questa EV_ID (possibile causa: il
relativo segnale non ha mai avuto lo stato 1, oppure ha nuovamente assunto lo stato 0).
8xyy
Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Creazione di segnalazioni riferite ai blocchi
25.15 Creazione di segnalazioni confermabili e sempre confermate riferite ai blocchi con le SFC 107
"ALARM_DQ" e 108 "ALARM_D"
25.15 Creazione di segnalazioni confermabili e sempre confermate riferite
ai blocchi con le SFC 107 "ALARM_DQ" e 108 "ALARM_D"
Descrizione
Le SFC 107 "ALARM_DQ" e 108 "ALARM_D" generano, a ogni richiamo, una segnalazione alla quale
l'utente può annettere una variabile. Sotto questo aspetto esse coincidono con le SFC 17
"ALARM_SQ" e 18 "ALARM_S".
Al momento della creazione delle segnalazioni con le SFC 107 "ALARM_DQ" e 108 "ALARM_D" il
sistema operativo occupa una risorsa di sistema per la durata del ciclo del segnale.
•
Nell'SFC 180 "ALARM_S" il ciclo del segnale dura dal richiamo dell'SFC con SIG=1 fino al nuovo
richiamo con SIG=0. Nell'SFC 17 "ALARM_SQ" a questo tempo viene eventualmente aggiunto il
tempo fino alla conferma del segnale entrante da parte di uno dei controllori visualizzati.
Se all'interno del ciclo del segnale si verifica un sovraccarico o una cancellazione del blocco che
genera le segnalazioni, la relativa risorsa di sistema resta occupata fino al successivo nuovo avvio
(avvio a caldo).
La migliore funzionalità delle SFC 107 "ALARM_DQ" e 108 "ALARM_D" rispetto alle SFC 17 e 18
consiste nel fatto che l'utente può gestire le risorse del sistema occupate:
•
con l'aiuto della SFC 105 "READ_SI" è possibile leggere informazioni sulle risorse del sistema
occupate
•
con la SFC 106 "DEL_SI" è possibile abilitare nuovamente le risorse del sistema occupate.
Questo aspetto è particolarmente importante nel caso di risorse del sistema occupate in modo
duraturo. Una risorsa di sistema momentaneamente occupata, p. es., resta occupata in modo
duraturo se l'utente, modificando il programma, cancella un richiamo di FB che contiene richiami
di SFC107 o SFC108. Se nel modificare il programma si ricarica un FB con richiami di SFC 107 o
SFC 108, può succedere che le SFC 107 e 108 non creino più le segnalazioni.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
543
Creazione di segnalazioni riferite ai blocchi
25.15 Creazione di segnalazioni confermabili e sempre confermate riferite ai blocchi con le SFC 107
"ALARM_DQ" e 108 "ALARM_D"
Le SFC 107 e 108 hanno un parametro in più rispetto alle SFC 17 e 18, vale a dire l'ingresso CMP_ID.
Questo permette di assegnare le segnalazioni create con le SFC 107 e 108 ad aree logiche, p. es. a
impianti parziali. Se si richiamano le SFC 107/SFC 108 in un FB, è possibile occupare l'ingresso
CMP_ID con il numero del relativo DB di istanza.
Parametri
Dichiarazione
Tipo di
dati
Area di memoria
Descrizione
SIG
INPUT
BOOL
E, A, M, D, L
Segnale che attiva la segnalazione
ID
INPUT
WORD
E, A, M, D, L,
cost.
Canale dati per segnalazioni: W#16#EEEE
EV_ID
INPUT
DWORD
Cost. (E, A, M, D,
L)
Numero della segnalazione (non consentito:
0)
CMP_ID
INPUT
DWORD
E, A, M, D, L,
cost.
Component identifier (non consentito: 0)
Identificazione del sistema parziale al quale
è assegnata la segnalazione.
Valori consigliati:
•
low word: 1 - 65535
•
high word: 0
Seguendo queste raccomandazioni, si evita
qualunque conflitto con pacchetti di
programmazione Siemens
SD
INPUT
ANY
E, A, M, D, T, Z
Variabile
Lunghezza massima: 12 byte
Sono ammessi solo i tipi di dati BOOL (non
ammesso: campo bit), BYTE, CHAR,
WORD, INT, DWORD, DINT, REAL, DATE,
TOD, TIME, S5TIME, DATE_AND_TIME
RET_VAL
544
OUTPUT
INT
E, A, M, D, L
Informazione di errore
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Creazione di segnalazioni riferite ai blocchi
25.15 Creazione di segnalazioni confermabili e sempre confermate riferite ai blocchi con le SFC 107
"ALARM_DQ" e 108 "ALARM_D"
Informazioni di errore
Codice errore
(W#16#...)
Spiegazione
0000
Non si è verificato nessun errore.
0001
•
(soltanto nell'S7-400)
•
La variabile supera la lunghezza massima consentita oppure
•
L'accesso alla memoria utente non è possibile (p. es. accesso a un DB
cancellato). Il messaggio viene inviato.
•
La variabile indica un valore nell'area dati locali. Il messaggio viene inviato
0002
Avviso: l'ultimo spazio di memoria disponibile per le segnalazioni è occupato (soltanto
nell'S7-400).
8081
L'EV_ID indicata non è compresa nell'area consentita.
8082
Perdita della segnalazione perché la CPU non ha più risorse disponibili per creare
segnalazioni riferite ai blocchi tramite SFC.
8083
Perdita della segnalazione perché lo stesso cambio di segnale è presente ma non ha
ancora potuto essere inviato (overflow di segnale).
8084
Nel richiamo attuale delle SFC 107/SFC 108 e in quello precedente, il segnale di
attivazione SIG ha lo stesso valore.
8085
Per l'EV_ID manca la registrazione utente.
8086
Un richiamo di SFC per l'EV_ID indicata è già in elaborazione in una classe di priorità
inferiore.
8087
Con il primo richiamo delle SFC 107/SFC 108 il segnale di attivazione della
segnalazione aveva il valore 0.
8088
L'EV_ID indicata viene già utilizzata da un'altra risorsa di sistema (con SFC 17, 18,
107, 108).
8089
L'utente ha assegnato a CMP_ID il valore 0.
808A
CMP_ID non compatibile con EV_ID
8xyy
Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
545
Creazione di segnalazioni riferite ai blocchi
25.16 Lettura di risorse di sistema a occupazione dinamica con la SFC 105 "READ_SI"
25.16 Lettura di risorse di sistema a occupazione dinamica con la
SFC 105 "READ_SI"
Generazione di risorse di sistema a occupazione dinamica durante la creazione di
segnalazioni con le SFC 107 e 108
Quando si creano segnalazioni con le SFC 107 "ALARM_DQ" e 108 "ALARM_D", il sistema operativo
occupa momentaneamente uno spazio nella memoria del sistema.
Se l'utente p. es. cancella dalla CPU un FB con richiami SFC 107 o SFC 108, può succedere che le
relative risorse di sistema restino occupate in modo duraturo. Quando si ricarica l'FB con i richiami
SFC 107 o SFC 108, quindi, può succedere che le SFC 107 e 108 non possano più essere elaborate
correttamente.
Descrizione
Con la SFC 105 "READ_SI" è possibile leggere risorse di sistema occupate al momento della
creazione di segnalazioni con le SFC 107 e 108, grazie ai valori qui utilizzati di EV_ID e CMP_ID.
Questi vengono assegnati alla SFC 105 "READ_SI" nel parametro SI_ID.
La SFC 105 "READ_SI" dispone di 4 tipi di funzionamento possibili, descritti nella tabella seguente. Il
tipo di funzionamento desiderato si può impostare con il parametro MODE.
MODE Quali risorse di sistema occupate dalle SFC 107/SFC 108 vengono lette?
546
1
Tutte (richiamo della SFC 105 eseguito con SI_ID:=0)
2
La risorsa di sistema occupata da EV_ID:=ev_id al momento del richiamo delle
SFC 107/SFC 108 (richiamo della SFC 105 eseguito con SI_ID:=ev_id)
3
Tutte le risorse di sistema occupate da CMP_ID:=cmp_id al momento del richiamo delle
SFC 107/SFC 108 (richiamo della SFC 105 eseguito con SI_ID:=cmp_id)
0
Ulteriori risorse di sistema che nel richiamo precedente non hanno potuto essere lette con MODE=1 o
MODE=3 perché l'area di destinazione selezionata SYS_INST era troppo piccola
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Creazione di segnalazioni riferite ai blocchi
25.16 Lettura di risorse di sistema a occupazione dinamica con la SFC 105 "READ_SI"
Procedimento
Se al momento del richiamo della SFC 105 con MODE=1 o MODE=3 si sceglie un'area di
destinazione SYS_INST sufficientemente grande, dopo il richiamo essa riporta il contenuto di tutte le
risorse di sistema selezionate tramite il parametro MODE attualmente occupate.
Se il numero delle risorse occupate al momento è molto elevato, il tempo di esecuzione della SFC è
proporzionalmente lungo. In caso di carico elevato della CPU è possibile che venga superato il tempo
massimo progettato per il controllo del ciclo.
Questo problema di tempo di esecuzione si può evitare nella maniera seguente: selezionare un'area
di destinazione SYS_INST abbastanza piccola. Se la SFC non è in grado di registrare in SYS_INST
tutte le risorse di sistema da leggere, il problema viene comunicato all'utente tramite
RET_VAL=W#16#0001. Richiamare quindi la SFC 105 con MODE=0 e la stessa SI_ID del richiamo
precedente finché RET_VAL non avrà il valore W#16#0000.
Avvertenza
Poiché il sistema operativo non coordina i richiami di SFC 105 relativi a un job di lettura, è opportuno
eseguire tutti i richiami di SFC 105 in una stessa classe di priorità.
Struttura dell'area di destinazione SYS_INST
L'area di destinazione per le risorse di sistema occupate lette deve trovarsi in un DB. È opportuno
definire l'area di destinazione come campo di strutture nel quale ogni struttura sia configurata nel
modo seguente:
Elemento
struttura
Tipo
Descrizione
SFC_NO
WORD
N. della SFC che ha occupato tutte le risorse di sistema
LEN
BYTE
Lunghezza della struttura in byte, incl. SFC_NO e LEN: B#16#0C
SIG_STAT
BOOL
Stato del segnale
ACK_STAT
BOOL
Stato della conferma dell'evento entrante (fronte di salita)
EV_ID
DWORD
Numero della segnalazione
CMP_ID
DWORD
Identificazione del sistema parziale
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
547
Creazione di segnalazioni riferite ai blocchi
25.16 Lettura di risorse di sistema a occupazione dinamica con la SFC 105 "READ_SI"
Parametri
Dichiarazione
Tipo di
dati
Area di memoria Descrizione
MODE
INPUT
INT
E, A, M, D, L,
cost.
SI_ID
INPUT
DWORD E, A, M, D, L,
cost.
Identificazione del job
Valori consentiti:
•
1: lettura di tutte le risorse del sistema
•
2: lettura della risorsa di sistema occupata
da EV_ID = ev_id al momento del richiamo
delle SFC 107/SFC 108
•
3: lettura delle risorse di sistema occupate
da CMP_ID = cmp_id al momento del
richiamo delle SFC 107/SFC 108
•
0: richiamo successivo
Identificazione della risorsa o delle risorse di
sistema da leggere
Valori consentiti:
•
0, se MODE=1
•
N. della segnalazione ev_id, se MODE= 2
•
Identificazione cmp_id del sistema parziale
con MODE=3
RET_VAL
OUTPUT
INT
E, A, M, D, L
Valore di ritorno (informazione di errore o stato
del job)
N_SI
OUTPUT
INT
E, A, M, D, L
Numero delle risorse di sistema emesse in
SYS_INT
SYS_INT
OUTPUT
ANY
D
Area di destinazione per le risorse di sistema
lette
Informazioni di errore
548
Codice errore
(W#16#...)
Spiegazione
0000
Non si è verificato nessun errore.
0001
Non è stato possibile leggere tutte le risorse di sistema poiché l'area di destinazione
SYS_INST scelta è troppo piccola.
8081
(Solo con MODE=2 o 03): è stato assegnato il valore 0 a SI_ID.
8082
(Solo con MODE= 1): a SI_ID è stato assegnato un valore diverso da 0.
8083
(Solo con MODE= 0): a SI_ID è stato assegnato un valore diverso da quello del richiamo
SFC precedente con MODE= 1 o 3.
8084
È stato assegnato un valore non consentito a MODE.
8085
La SFC 105 viene momentaneamente elaborata in un altro OB.
8086
L'area di destinazione SYS_INST è troppo piccola per una risorsa di sistema.
8087
L'area di destinazione SYS_INST non si trova in un DB.
8xyy
Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Creazione di segnalazioni riferite ai blocchi
25.17 Abilitazione di risorse di sistema a occupazione dinamica con la SFC 106 "DEL_SI"
25.17 Abilitazione di risorse di sistema a occupazione dinamica con la
SFC 106 "DEL_SI"
Generazione di risorse di sistema a occupazione dinamica durante la creazione di
segnalazioni con le SFC 107 e 108
Quando si creano segnalazioni con le SFC 107 "ALARM_DQ" e 108 "ALARM_D", il sistema operativo
occupa momentaneamente uno spazio nella memoria del sistema
•
Se l'utente p. es. cancella dalla CPU un FB con richiami SFC 107 o SFC 108, può succedere che
le relative risorse di sistema restino occupate in modo duraturo. Quando si ricarica l'FB con i
richiami SFC 107 o SFC 108, quindi, può succedere che le SFC 107 e 108 non possano più
essere elaborate correttamente.
Descrizione
Con la SFC 106 "DEL_SI" è possibile cancellare risorse di sistema momentaneamente occupate.
La SFC 106 "DEL_SI" dispone di 3 tipi di funzionamento possibili, descritti nella tabella seguente. Il
tipo di funzionamento desiderato si può impostare con il parametro MODE.
MODE
Quali risorse di sistema occupate dalle SFC 107/SFC 108 vengono cancellate?
1
Tutte (richiamo della SFC 106 eseguito con SI_ID:=0)
2
La risorsa di sistema occupata da EV_ID:=ev_id al momento del richiamo delle
SFC 107/SFC 108 (richiamo della SFC 106 eseguito con SI_ID:=ev_id)
3
Tutte le risorse di sistema occupate da CMP_ID:=cmp_id al momento del richiamo delle
SFC 107/SFC 108 (richiamo della SFC 106 eseguito con SI_ID:=cmp_id)
Parametri Dichiarazione
Tipo di
dati
Area di
memoria
Descrizione
MODE
INT
E, A, M, D, L,
cost.
Identificazione del job
SI_ID
INPUT
INPUT
DWORD E, A, M, D, L,
cost.
Valori consentiti:
•
1: cancellazione di tutte le risorse di sistema
•
2: cancellazione della risorsa di sistema occupata
da EV_ID = ev_id al momento del richiamo delle
SFC 107/SFC 108
•
3: cancellazione delle risorse di sistema occupate
da CMP_ID = cmp_id al momento del richiamo
delle SFC 107/SFC 108
Identificazione della risorsa o delle risorse di sistema
da cancellare
Valori consentiti:
RET_VAL
OUTPUT
INT
E, A, M, D, L
•
0, se MODE=1
•
N. della segnalazione ev_id, se MODE=2
•
Identificazione cmp_id del sistema parziale con
MODE=3
Informazione di errore
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
549
Creazione di segnalazioni riferite ai blocchi
25.17 Abilitazione di risorse di sistema a occupazione dinamica con la SFC 106 "DEL_SI"
Informazioni di errore
550
Codice errore
(W#16#...)
Spiegazione
0000
Non si è verificato nessun errore.
8081
(Solo con MODE= 2 o 3): è stato assegnato il valore 0 a SI_ID.
8082
(Solo con MODE=1): a SI_ID è stato assegnato un valore diverso da 0.
8084
È stato assegnato un valore non consentito a MODE.
8085
La SFC 106 viene momentaneamente elaborata in un altro OB.
8086
Non è stato possibile cancellare tutte le risorse di sistema selezionate poiché almeno
una di queste era in elaborazione al momento del richiamo della SFC 106.
8xyy
Informazione di errore generale, vedere Analisi degli errori con il parametro di uscita
RET_VAL
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
26
Temporizzatore IEC e contatore IEC
26.1
Creazione di un impulso con l'SFB 3 "TP"
Descrizione
L'SFB 3 "TP" crea un impulso di lunghezza PT. Il tempo trascorre solo negli stati di funzionamento
AVVIAMENTO e RUN.
Un fronte di salita all'ingresso IN causa l'avviamento dell'impulso.
L'uscita Q rimane impostata per la durata di tempo PT, indipendentemente dalla successiva
esecuzione del segnale di ingresso (cioè anche se l'ingresso IN cambia nuovamente da 0 a 1, prima
che il tempo PT sia trascorso).
L'uscita ET fornisce il tempo, mentre l'uscita Q è già impostata. Essa può assumere al massimo il
valore dell'ingresso PT e viene resettata se l'ingresso IN cambia in 0, tuttavia non prima che il tempo
PT sia trascorso.
L'SFB 3 "TP" è conforme alla norma IEC 1131-3.
Il sistema operativo resetta le istanze dell'SFB 3 "TP" all'avviamento a freddo. Nel caso le istanze di
questo SFB 3 "TP" debbano essere inizializzate dopo il nuovo avviamento (avviamento a caldo), è
necessario richiamare nell'OB 100 le istanze da inizializzare con PT = 0 ms. Se le istanze di questo
SFB sono contenute in un altro blocco, queste istanze vengono resettate p. es. inizializzando il blocco
sovraordinato.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
551
Temporizzatore IEC e contatore IEC
26.1 Creazione di un impulso con l'SFB 3 "TP"
Diagramma di tempo
IN
Q
PT
PT
PT
ET
PT
552
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
IN
INPUT
BOOL
E, A, M, D, L, cost.
Ingresso di avviamento
PT
INPUT
TIME
E, A, M, D, L, cost.
Durata dell'impulso. PT deve essere positivo
(avvertenza: il campo di valori è definito dal tipo
dati TIME).
Q
OUTPUT
BOOL
E, A, M, D, L
Stato del tempo
ET
OUTPUT
TIME
E, A, M, D, L
Tempo trascorso
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Temporizzatore IEC e contatore IEC
26.2 Creazione di ritardo all'inserzione con l'SFB 4 "TON"
26.2
Creazione di ritardo all'inserzione con l'SFB 4 "TON"
Descrizione
L'SFB 4 "TON" ritarda un fronte di salita di un tempo PT. Il tempo trascorre solo negli stati di
funzionamento AVVIAMENTO e RUN.
Un fronte di salita all'ingresso IN ha come conseguenza un fronte di salita all'uscita Q dopo che è
trascorsa la durata di tempo PT. Q rimane impostato fino a che l'ingresso IN cambia in 0. Se l'ingresso
IN cambia in 0, prima che sia trascorso il tempo PT, l'uscita Q rimane su 0.
L'uscita ET fornisce il tempo che è trascorso all'ingresso IN dall'ultimo fronte di salita, tuttavia al
massimo fino al valore dell'ingresso PT. ET viene resettato se l'ingresso IN cambia in 0.
L'SFB 4 "TON" è conforme alla norma IEC 1131-3.
Il sistema operativo resetta le istanze dell'SFB 4 "TON" all'avviamento a freddo. Nel caso le istanze di
questo SFB debbano essere inizializzate dopo il nuovo avviamento (avviamento a caldo), le istanze
da inizializzare devono essere richiamate nell'OB 100 con PT = 0 ms. Se le istanze di questo SFB
sono contenute in un altro blocco, queste istanze vengono resettate p. es. inizializzando il blocco
sovraordinato.
Diagramma di tempo
IN
Q
PT
PT
ET
PT
Parametri
Dichiarazione Tipo di
dati
Area di memoria
Descrizione
IN
INPUT
BOOL
E, A, M, D, L, cost.
Ingresso di avviamento
PT
INPUT
TIME
E, A, M, D, L, cost.
Durata dell'impulso. PT deve essere positivo
(avvertenza: il campo di valori è definito dal tipo
dati TIME).
Q
OUTPUT
BOOL
E, A, M, D, L
Stato del tempo
ET
OUTPUT
TIME
E, A, M, D, L
Tempo trascorso
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
553
Temporizzatore IEC e contatore IEC
26.3 Creazione di ritardo alla disinserzione con l'SFB 5 "TOF"
26.3
Creazione di ritardo alla disinserzione con l'SFB 5 "TOF"
Descrizione
L'SFB 5 "TOF" ritarda un fronte di discesa di un tempo PT. Il tempo trascorre solo negli stati di
funzionamento AVVIAMENTO e RUN.
Un fronte di salita all'ingresso IN causa un fronte di salita all'uscita Q. Un fronte di discesa all'ingresso
IN ha come conseguenza un fronte di discesa all'uscita Q dopo che è trascorsa la durata di tempo PT.
Se l'ingresso IN cambia nuovamente in 1 prima che il tempo PT sia trascorso, l'uscita Q rimane su 1.
L'uscita ET fornisce il tempo, che è trascorso all'ingresso IN dall'ultimo fronte di discesa, tuttavia al
massimo fino al valore dell'ingresso PT. ET viene resettato se l'ingresso IN cambia in 1.
L'SFB 5 "TOF" è conforme alla norma IEC 1131-3.
Il sistema operativo resetta le istanze dell'SFB 5 "TOF" all'avviamento a freddo. Nel caso le istanze di
questo SFB debbano essere inizializzate dopo il nuovo avviamento (avviamento a caldo), le istanze
da inizializzare devono essere richiamate nell'OB 100 con PT = 0 ms. Se le istanze di questo SFB
sono contenute in un altro blocco, queste istanze vengono resettate p. es. inizializzando il blocco
sovraordinato.
Diagramma di tempo
IN
Q
PT
PT
ET
PT
554
Parametri
Dichiarazione Tipo di
dati
Area di
memoria
Descrizione
IN
INPUT
BOOL
E, A, M, D, L,
cost.
Ingresso di avviamento
PT
INPUT
TIME
E, A, M, D, L,
cost.
Durata del tempo di ritardo del fronte di discesa
all'ingresso IN. PT deve essere positivo (avvertenza:
il campo di valori è definito dal tipo di dati TIME).
Q
OUTPUT
BOOL
E, A, M, D, L
Stato del tempo
ET
OUTPUT
TIME
E, A, M, D, L
Tempo trascorso
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Temporizzatore IEC e contatore IEC
26.4 Conteggio in avanti con l'SFB 0 "CTU"
26.4
Conteggio in avanti con l'SFB 0 "CTU"
Descrizione
Con l'SFB 0 "CTU" è possibile contare in avanti. In presenza di un fronte di salita all'ingresso CU (di
fronte all'ultimo richiamo SFB) il contatore viene aumentato di 1. Quando il valore di conteggio
raggiunge il limite massimo di 32.767 non può essere più aumentato. Ogni ulteriore fronte di salita
all'ingresso CU rimane senza alcun effetto.
Il livello 1 all'ingresso R causa il resettaggio del contatore sul valore 0 indipendentemente da quale
valore sia presente all'ingresso CU.
All'uscita Q viene visualizzato se il valore di conteggio attuale è maggiore o se è uguale al valore
predefinito PV.
L'SFB 0 "CTU" è conforme alla norma IEC 1131-3.
Il sistema operativo resetta le istanze dell'SFB 0 "CTU" all'avviamento a freddo. Nel caso le istanze di
questo SFB debbano essere inizializzate dopo il nuovo avviamento (avviamento a caldo), le istanze
da inizializzare devono essere richiamate nell'OB 100 con PT = 0 ms. Se le istanze di questo SFB
sono contenute in un altro blocco, queste istanze vengono resettate p. es. inizializzando il blocco
sovraordinato.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
CU
INPUT
BOOL
E, A, M, D, L, cost.
Ingresso di conteggio
R
INPUT
BOOL
E, A, M, D, L, cost.
Ingresso di resettaggio. R prevale su CU
PV
INPUT
INT
E, A, M, D, L, cost.
Valore predefinito. Per gli effetti di PV vedere
parametro Q.
Q
OUTPUT
BOOL
E, A, M, D, L
Stato del contatore: Q ha valore
1, se CV ≥ PV
0 diversamente
CV
OUTPUT
INT
E, A, M, D, L
Valore di conteggio attuale
(valori possibili: da 0 a 32.767)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
555
Temporizzatore IEC e contatore IEC
26.5 Conteggio all'indietro con l'SFB 1 "CTD"
26.5
Conteggio all'indietro con l'SFB 1 "CTD"
Descrizione
Con l'SFB 1 "CTD" è possibile contare all'indietro. In presenza di un fronte di salita all'ingresso CD (di
fronte all'ultimo richiamo SFB) il contatore viene diminuito di 1. Quando il valore di conteggio
raggiunge il limite minimo di -32.768 non può essere più diminuito. Ogni ulteriore fronte di salita
all'ingresso CD rimane senza alcun effetto.
Il livello 1 all'ingresso LOAD fa in modo che il contatore venga preimpostato sul valore prestabilito PV,
indipendentemente da quale valore sia presente all'ingresso CD.
All'uscita Q viene visualizzato se il valore di conteggio attuale è minore o se è uguale a zero.
L'SFB 1 "CTD" è conforme alla norma IEC 1131-3.
Il sistema operativo resetta le istanze dell'SFB 1 "CTD" all'avviamento a freddo. Se le istanze di
questo SFB devono essere inizializzate dopo il nuovo avviamento (avviamento a caldo), le istanze da
inizializzare 1 devono essere richiamate nell'OB 100 con LOAD = 1 e PV = valore di partenza
desiderato per CV. Nel caso le istanze di questo SFB sono contenute in un altro blocco, queste
istanze vengono resettate p. es. inizializzando il blocco sovraordinato.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
CD
INPUT
BOOL
E, A, M, D, L, cost.
Ingresso di conteggio
LOAD
INPUT
BOOL
E, A, M, D, L, cost.
Ingresso di caricamento. LOAD prevale su CD.
PV
INPUT
INT
E, A, M, D, L, cost.
Valore predefinito. Il contatore viene preimpostato
su PV se all'ingresso LOAD è presente il livello 1.
Q
OUTPUT
BOOL
E, A, M, D, L
Stato del contatore: Q ha valore
1, se CV ≤ 0
0 diversamente
CV
556
OUTPUT
INT
E, A, M, D, L
Valore di conteggio attuale
(valori possibili: da - 32.768 a 32.767)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Temporizzatore IEC e contatore IEC
26.6 Conteggio in avanti e all'indietro con l'SFB 2 "CTUD"
26.6
Conteggio in avanti e all'indietro con l'SFB 2 "CTUD"
Descrizione
Con l'SFB 2 "CTUD" è possibile contare in avanti e all'indietro. Il contatore in presenza di un fronte di
salita (di fronte all'ultimo richiamo SFB)
•
viene aumentato di 1 all'ingresso CU
•
viene diminuito di 1 all'ingresso CD.
Se il valore di conteggio raggiunge
•
il limite minimo di -32.768 non può più essere diminuito;
•
il limite massimo di 32.767 non può più essere aumentato.
Se in un ciclo è presente un fronte di salita sia all'ingresso CU che all'ingresso CD il contatore
manterrà il suo valore attuale. Questo comportamento si discosta dalla norma IEC 1131-3, dove, se i
segnali CU e CD sono contemporanei, prevale l'ingresso CU. Questa proposta di modifica è stata
presentata alla IEC.
Il livello 1 all'ingresso LOAD fa in modo che il contatore venga preimpostato sul valore predefinito PV,
indipendentemente da quali valori siano presenti agli ingressi CU e CD.
Il livello 1 all'ingresso R causa il resettaggio del contatore sul valore 0, indipendentemente da quali
valori siano presenti agli ingressi CU, CD e LOAD. All'uscita QU viene visualizzato se il valore di
conteggio attuale è maggiore o uguale al valore predefinito PV: all'uscita QD viene visualizzato se è
minore o uguale a zero.
Il sistema operativo resetta le istanze dell'SFB 2 "CTUD" all'avviamento a freddo. Se le istanze di
questo SFB devono essere inizializzate dopo il nuovo avviamento (avviamento a caldo), le istanze da
inizializzare devono essere richiamate nell'OB 100 come segue:
•
utilizzando come contatore in avanti con R = 1
•
utilizzando come contatore all'indietro con R = 0 e LOAD = 1 e PV = valore di partenza desiderato
per CV.
Nel caso le istanze di questo SFB sono contenute in un altro blocco, queste istanze vengono resettate
p. es. inizializzando il blocco sovraordinato.
Parametri
Dichiarazione Tipo di
dati
Area di memoria
Descrizione
CU
INPUT
BOOL
E, A, M, D, L, cost.
Ingresso di conteggio in avanti.
CD
INPUT
BOOL
E, A, M, D, L, cost.
Ingresso di conteggio all'indietro.
R
INPUT
BOOL
E, A, M, D, L, cost.
Ingresso di resettaggio. R prevale su LOAD.
LOAD
INPUT
BOOL
E, A, M, D, L, cost.
Ingresso di caricamento. LOAD prevale su CU e
CD.
PV
INPUT
INT
E, A, M, D, L, cost.
Valore predefinito. Il contatore viene preimpostato
su PV se all'ingresso LOAD è presente il livello 1.
QU
OUTPUT
BOOL
E, A, M, D, L
Stato di conteggio in avanti
QU ha valore
1, se CV ≥ PV
0 diversamente
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
557
Temporizzatore IEC e contatore IEC
26.6 Conteggio in avanti e all'indietro con l'SFB 2 "CTUD"
Parametri
Dichiarazione Tipo di
dati
Area di memoria
Descrizione
QD
OUTPUT
E, A, M, D, L
Stato di conteggio all'indietro:
QD ha valore
BOOL
1, se CV ≤ 0
0 diversamente
CV
558
OUTPUT
INT
E, A, M, D, L
Valore di conteggio attuale
(valori possibili: da -32.768 a 32.767)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
27
Funzioni IEC
27.1
Sommario
È possibile copiare le funzioni IEC elencate qui di seguito (IEC: International Electrotechnical
Commission) dalla biblioteca di STEP 7 "S7libs\Stdlib30" nella directory di programma.
Nome
Famiglia
di blocco IEC
Funzione
FC 3
D_TOD_DT
Convert
Conversione di DATE e TIME_OF_DAY in DT
FC 6
DT_DATE
Convert
Dissociazione di DATE da DT
FC 7
DT_DAY
Convert
Dissociazione del giorno della settimana da DT
FC 8
DT_TOD
Convert
Dissociazione di TIME_OF_DAY da DT
FC 33
S5TI_TIM
Convert
Conversione del formato S5TIME in TIME
FC 40
TIM_S5TI
Convert
Conversione del formato TIME in S5TIME
FC 16
I_STRNG
Convert
Conversione del formato INT in STRING
FC 5
DI_STRNG
Convert
Conversione del formato DINT in STRING
FC 30
R_STRNG
Convert
Conversione del formato REAL in STRING
FC 38
STRNG_I
Convert
Conversione del formato STRING in INT
FC 37
STRNG_DI
Convert
Conversione del formato STRING in DINT
FC 39
STRNG_R
Convert
Conversione del formato STRING in REAL
DT
Confronto di DT se uguale
FC 9
EQ_DT
FC 12
GE_DT
DT
Confronto di DT se maggiore o uguale
FC 14
GT_DT
DT
Confronto di DT se maggiore
FC 18
LE_DT
DT
Confronto di DT se minore o uguale
FC 23
LT_DT
DT
Confronto di DT se minore
FC 28
NE_DT
DT
Confronto di DT se diverso
FC 10
EQ_STRNG
String
Confronto di STRING se uguale
FC 13
GE_STRNG
String
Confronto di STRING se maggiore o uguale
FC 15
GT_STRNG
String
Confronto di STRING se maggiore
FC 19
LE_STRNG
String
Confronto di STRING se minore o uguale
FC 24
LT_STRNG
String
Confronto di STRING se minore
FC 29
NE_STRNG
String
Confronto di STRING se diverso
FC 21
LEN
String
Lunghezza di una variabile STRING
FC 20
LEFT
String
Parte sinistra di una variabile STRING
FC 32
RIGHT
String
Parte destra di una variabile STRING
FC 26
MID
String
Parte centrale di una variabile STRING
String
Combinazione di due variabili STRING
FC 2
CONCAT
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
559
Funzioni IEC
27.1 Sommario
Nome
FC 17
FC 4
INSERT
Funzione
String
Inserimento in una variabile STRING
String
Cancellazione in una variabile STRING
FC 31
REPLACE
String
Sostituzione in una variabile STRING
FC 11
FIND
String
Ricerca in una variabile STRING
FC 1
DELETE
Famiglia
di blocco IEC
Floating Point Math
Addizione di una durata di tempo ad un istante
FC 35
AD_DT_TM
SB_DT_TM
Floating Point Math
Sottrazione di una durata di tempo da un istante
FC 34
SB_DT_DT
Floating Point Math
Sottrazione di due istanti
FC 22
LIMIT
Floating Point Math
Limitatore
FC 25
MAX
Floating Point Math
Selezione massimo
FC 27
MIN
Floating Point Math
Selezione minimo
FC 36
SEL
Floating Point Math
Selezione binaria
Informazioni sui blocchi di comunicazione conformi a IEC si trovano nella guida contestuale relativa
agli SFB/SFC (vedere: Differenze fra i blocchi di comunicazione S7 e i blocchi di comunicazione di
base S7)
560
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Funzioni IEC
27.2 Dati tecnici relativi alle funzioni IEC
27.2
Dati tecnici relativi alle funzioni IEC
Requisiti della memoria
La tabella seguente mostra la quantità di memoria di lavoro e di memoria di carico nonché la quantità
di byte di dati locali necessarie per le singole funzioni IEC.
N° FC
Nome
Assegnazione (quantità byte) in
Dati locali (byte)
Memoria lavoro
Memoria carico
FC 3
D_TOD_DT
634
810
12
FC 6
DT_DATE
340
466
10
FC 7
DT_DAY
346
472
10
FC 8
DT_TOD
114
210
6
FC 33
S5TI_TIM
94
208
2
FC 40
TIM_S5TI
104
208
6
FC 16
I_STRNG
226
340
10
FC 5
DI_STRNG
314
440
18
FC 30
R_STRNG
528
684
28
FC 38
STRNG_I
292
420
12
FC 37
STRNG_DI
310
442
12
FC 39
STRNG_R
828
1038
30
FC 9
EQ_DT
96
194
2
FC 12
GE_DT
174
288
4
FC 14
GT_DT
192
310
4
FC 18
LE_DT
168
280
4
FC 23
LT_DT
192
310
4
FC 28
NE_DT
96
194
2
FC 10
EQ_STRNG
114
220
4
FC 13
GE_STRNG
162
282
8
FC 15
GT_STRNG
158
278
8
FC 19
LE_STRNG
162
282
8
FC 24
LT_STRNG
158
278
8
FC 29
NE_STRNG
150
266
8
FC 21
LEN
38
132
2
FC 20
LEFT
200
320
8
FC 32
RIGHT
230
350
8
FC 26
MID
302
390
8
FC 2
CONCAT
358
452
14
FC 17
INSERT
488
644
20
FC 4
DELETE
376
512
8
FC 31
REPLACE
562
726
20
FC 11
FIND
236
360
14
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
561
Funzioni IEC
27.2 Dati tecnici relativi alle funzioni IEC
N° FC
Nome
Assegnazione (quantità byte) in
Memoria lavoro
562
Dati locali (byte)
Memoria carico
FC 1
AD_DT_TM
1350
1590
22
FC 35
SB_DT_TM
1356
1596
22
FC 34
SB_DT_DT
992
1178
30
FC 22
LIMIT
426
600
12
FC 25
MAX
374
532
8
FC 27
MIN
374
532
8
FC 36
SEL
374
560
8
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
Funzioni IEC
27.3 Data e ora come tipi di dati composti
27.3
Data e ora come tipi di dati composti
Parametri attuali per DATE_AND_TIME
DATE_AND_TIME è un tipo di dato composto come ARRAY, STRING e STRUCT. Le aree di
memoria ammissibili per i tipi di dati composti sono il blocco dati (DB) e l´area di memoria dei dati
locali (L-Stack).
Se si impiega il tipo di dati DATE_AND_TIME come parametro formale in un´istruzione, allora è
possibile, dato che si tratta di un tipo di dato composto, specificare i parametri attuali solo in uno dei
formati seguenti :
•
Come simbolo locale al blocco dalla tabella di dichiarazione variabili per un determinato blocco
•
Come nome simbolico per un blocco dati, ad es. "DB_sys_info.Systemzeit", costituito dalle
seguenti parti:
-
Un nome che è definito nella tabella dei simboli per il numero del blocco dati (ad es.
"DB_sys_info" für DB5)
-
Un nome che è definito nel blocco dati per l´elemento DATE_AND_TIME (ad es. "Tempo di
sistema" per una variabile del tipo di dati DATE_AND_TIME contenuta in DB5)
Non è possibile impiegare costanti come parametri attuali per parametri formali di tipi di dati composti,
incluso DATE_AND_TIME. Non è neppure possibile trasferire indirizzi assoluti come parametri attuali
a DATE_AND_TIME.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2 / Volume 2
Manuale di riferimento, 05/2010, A5E02790056-01
563
Funzioni IEC
27.4 Funzioni orologio
27.4
Funzioni orologio
Descrizione FC 1
AD_DT_TM
Con la funzione FC 1 è possibile aggiungere una durata di tempo (formato TIME) ad un istante
(formato DT) e fornire come risultato un nuovo istante (formato DT). L´istante (parametro T) deve
essere compreso tra DT#1990-01-01-00:00:00.000 e DT#2089-12-31-23:59:59.999. Con la funzione
non è possibile eseguire una verifica dell´ingresso. Se il risultato dell´addizione non si trova nel campo
specificato sopra, il risultato viene limitato al valore corrispondente e il risultato binario BIE viene
azzerato.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
T
INPUT
DATE_AND_TIME
D, L
Istante nel formato DT
D
INPUT
TIME
E, A, M, D, L, Cost.
Durata di tempo nel
formato TIME
RET_VAL
OUTPUT
DATE_AND_TIME
D, L
Somma nel formato DT
Per il parametro di ingresso T ed il parametro di uscita è possibile assegnare solo una variabile
definita in modo simbolico.
Descrizione FC 3
D_TOD_DT
Con la funzione FC 3 è possibile combinare i formati di dati DATE e TIME_OF_DAY (TOD) e
convertirli nel formato di dati DATE_AND_TIME (DT). Il valore di ingresso IN1 deve essere compreso
entro i limiti DATE#1990-01-01 e DATE#2089-12-31 (non si hanno verifiche). La funzione non segnala
errori.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
IN1
INPUT
DATE
E, A, M, D, L, Cost.
Variabile di ingresso
nel formato DATE
IN2
INPUT
TIME_OF_DAY
E, A, M, D, L, Cost.
Varia