s
Prefazione
Indice
SIMATIC
Software di sistema
per S7-300/400 - Funzioni
standard e di sistema
Volume 1/2
Manuale di riferimento
Blocchi organizzativi
Parametri generali relativi alle
SFC
Funzioni di copiatura e di blocco
SFC per il controllo del
programma
SFC per la gestione dell'orologio
SFC per la gestione del contatore
del tempo di esercizio
SFC/SFB per il trasferimento di
set di dati
SFB DPV1 secondo
PNO AK 1131
SFC per la gestione di allarmi
dall'orologio
SFC per la gestione di allarmi di
ritardo
SFC per la gestione di eventi di
errori di sincronismo
SFC per la gestione di allarmi e di
eventi di errori di asincronismo
SFC per la diagnostica
SFC per l'aggiornamento
dell'immagine di processo e
l'elaborazione del campo di bit
Il presente manuale fa parte del pacchetto
di documentazione con il numero di ordinazione:
6ES7810-4CA08-8EW1
Edizione 03/2006
A5E00709342-01
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Funzioni di sistema per
l'indirizzamento di unità
15
SFC per periferia decentrata o
per PROFINET IO
16
PROFInet
FB per l'accesso ciclico ai dati
utili secondo PNO
17
18
Istruzioni tecniche di sicurezza
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
!
Avvertenza
!
Cautela
questo simbolo indica che la mancata osservanza delle opportune misure di sicurezza la morte o
gravi lesioni fisiche.
il simbolo indica che la mancata osservanza delle relative misure di sicurezza la morte o gravi lesioni
fisiche.
indica che la mancata osservanza delle relative misure di sicurezza può causare lesioni fisiche non
gravi.
Cautela
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
L'apparecchio/sistema in questione deve essere installato e messo in servizio solo rispettando le
indicazioni contenute in questa documentazione. La messa in servizio e l'esercizio di un
apparecchio/sistema devono essere eseguiti solo da personale qualificato. Con riferimento alle
indicazioni contenute in questa documentazione in merito alla sicurezza, come personale qualificato si
intende quello autorizzato a mettere in servizio, eseguire la relativa messa a terra e contrassegnare le
apparecchiature, i sistemi e i circuiti elettrici rispettando gli standard della tecnica di sicurezza.
Uso regolamentare delle apparecchiature/dei sistemi:
Si prega di tener presente quanto segue:
!
Avvertenza
L'apparecchiatura può essere destinata solo agli impieghi previsti nel catalogo e nella descrizione
tecnica e può essere utilizzata solo insieme a apparecchiature e componenti di Siemens o di altri
costruttori raccomandati o omologati dalla Siemens.
Per garantire un funzionamento ineccepibile e sicuro del prodotto è assolutamente necessario che le
modalità di trasporto, di immagazzinamento, di installazione e di montaggio siano corrette, che
l'apparecchiatura venga usata con cura e che si provveda ad una manutenzione appropriata.
Marchio di prodotto
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
Automation and Drives
Postfach 4848
90437 NÜRNBERG
GERMANIA
Copyright © Siemens AG 2006
A5E00709342-01
Siemens AG 2006
Con riserva di eventuali modifiche tecniche.
Prefazione
Scopo del manuale
Questo manuale, suddiviso in volume 1 A5E00709342-01 e volume 2 A5E00739862-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/2
A5E00709342-01
iii
Prefazione
Pacchetti di documentazione STEP 7
La tabella seguente riporta un riepilogo della documentazione relativa a STEP 7.
Documentazione
Scopo
Nozioni fondamentali di STEP 7 mediante
Conoscenze di base per il personale 6ES7810-4CA08-8EW0
tecnico: procedure per la
realizzazione di compiti di controllo
con STEP 7 e S7-300/400
•
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
•
Manuali KOP/FUP/AWL per S7 300/400
•
Funzioni standard e di sistema per
S7-300/400
Volume 1 A5E00709342-01 e
Volume 2 A5E00739862-01
Numero di ordinazione
Nozioni di riferimento sui linguaggi
6ES7810-4CA08-8EW1
di programmazione KOP, FUP,
AWL, nonché sulle funzioni standard
e di sistema; perfezionamento delle
conoscenze di base di STEP 7.
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
iv
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Prefazione
Altri manuali
Le singole CPU dell’S7-300 e S7-400 nonché le unità S7-300 e S7-400 sono descritte
•
per il sistema di automazione S7-300 nei manuali /70/, /71/ e in /72/.
•
per il sistema di automazione S7-400 nel manuale /101/ e in /102/.
Guida
Il presente manuale è suddiviso in base ai seguenti temi.
•
Il capitolo 1 spiega tutti i blocchi organizzativi.
•
Il capitolo 2 descrive i parametri generali RET_VAL, REQ e BUSY.
•
I capitoli da 3 a 29 descrivono le SFC, gli SFB e le IEC-FC.
•
I capitoli da 30 a 35 contengono la struttura dei dati di diagnostica, la panoramica delle
ID SZL, i possibili eventi, le liste con SFC, SFB e FC di questo manuale, una
panoramica degli SDB e la bibliografia.
•
Nel glossario vengono spiegati concetti importanti.
•
L’indice analitico permette di trovare rapidamente i passi relativi a voci importanti.
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.
lteriore 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.
Telefono:
+49 (911) 895-3200.
Internet:
http://www.sitrain.com
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
v
Prefazione
Technical Support
Per tutti i prodotti A&D è possibile rivolgersi al Technical Support
•
mediante il modulo Web per la Support Request
http://www.siemens.com/automation/support-request
•
Telefono:
+ 49 180 5050 222
•
Fax:
+ 49 180 5050 223
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:
vi
•
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 Automation & Drives;
•
informazioni su assistenza tecnica sul posto, riparazioni, parti di ricambio e maggiori
dettagli alla voce "Service".
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Indice
1
Blocchi organizzativi................................................................................................................ 1-3
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
Panoramica degli OB.................................................................................................. 1-3
Programma ciclico (OB 1)........................................................................................... 1-3
OB di allarme dall'orologio (da OB 10 a OB 17) ......................................................... 1-3
OB di allarme di ritardo (da OB 20 a OB 23) .............................................................. 1-3
OB di schedulazione orologio (da OB 30 a OB 38) .................................................... 1-3
OB di interrupt di processo (da OB 40 a OB 47) ........................................................ 1-3
OB di allarme di stato (OB 55).................................................................................... 1-3
OB di allarme di aggiornamento (OB 56) ................................................................... 1-3
OB per allarmi produttore (OB 57).............................................................................. 1-3
OB di allarme di multicomputing (OB 60) ................................................................... 1-3
OB di allarme in sincronismo di clock (da OB 61 a OB 64) ........................................ 1-3
OB di allarme di sincronismo tecnologico (OB 65) ..................................................... 1-3
OB di errore di ridondanza della periferia (OB 70) ..................................................... 1-3
OB di errore di ridondanza della CPU (OB 72)........................................................... 1-3
OB di errore di ridondanza di comunicazione OB (OB 73)......................................... 1-3
OB di errore temporale (OB 80).................................................................................. 1-3
OB di errore di alimentazione (OB 81)........................................................................ 1-3
OB di allarme di diagnostica (OB 82) ......................................................................... 1-3
OB di estrazione/inserimento (OB 83) ........................................................................ 1-3
OB di errore hardware CPU (OB 84) .......................................................................... 1-3
OB di errore esecuzione programma (OB 85)............................................................ 1-3
OB di guasto telaio di montaggio (OB 86) .................................................................. 1-3
OB di errore di comunicazione (OB 87)...................................................................... 1-3
OB di interruzione di elaborazione (OB 88)................................................................ 1-3
OB di priorità bassa (OB 90)....................................................................................... 1-3
OB di avviamento (OB 100, OB 101 e OB 102) ......................................................... 1-3
OB di errore di programmazione (OB 121)................................................................. 1-3
OB di errore di accesso alla periferia (OB 122).......................................................... 1-3
Parametri generali relativi alle SFC ........................................................................................ 2-3
2.1
2.2
Riconoscimento di errore con il parametro di uscita RET_VAL ................................. 2-3
Significato dei parametri REQ, RET_VAL e BUSY nelle SFC
che lavorano in modo asincrono................................................................................. 2-3
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
vii
Indice
3
Funzioni di copiatura e di blocco ........................................................................................... 3-3
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
4
SFC per il controllo del programma ....................................................................................... 4-3
4.1
4.2
4.3
4.4
4.5
5
Scrittura e lettura di set di dati .................................................................................... 7-3
Lettura di parametri predefiniti con la SFC 54 "RD_DPARM" .................................... 7-3
Lettura di parametri predefiniti con la SFC 102 "RD_DPARA"................................... 7-3
Scrittura di parametri dinamici con la SFC 55 "WR_PARM" ...................................... 7-3
Scrittura di parametri predefiniti con la SFC 56 "WR_DPARM" ................................. 7-3
Parametrizzazione di unità con la SFC 57 "PARM_MOD" ......................................... 7-3
Scrittura di set di dati con la SFC 58 "WR_REC" ....................................................... 7-3
Lettura di set di dati con la SFC 59 "RD_REC" .......................................................... 7-3
Altre informazioni di errore delle SFC 55 fino a 59..................................................... 7-3
Lettura di parametri predefiniti con l'SFB 81 "RD_DPAR".......................................... 7-3
SFB DPV1 secondo PNO AK 1131.......................................................................................... 8-3
8.1
8.2
8.3
8.4
viii
Contatore del tempo di esercizio ................................................................................ 6-3
Gestione dei contatori del tempo di esercizio con la SFC 101 "RTM" ....................... 6-3
Impostazione del contatore con la SFC 2 "SET_RTM" .............................................. 6-3
Avvio e arresto del contatore con la SFC 3 "CTRL_RTM" ......................................... 6-3
Lettura del contatore con la SFC 4 "READ_RTM" ..................................................... 6-3
Lettura del tempo di sistema con la SFC 64 "TIME_TCK" ......................................... 6-3
SFC/SFB per il trasferimento di set di dati ............................................................................ 7-3
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"................................................. 5-3
Lettura dell’orologio con la SFC 1 "READ_CLK"........................................................ 5-3
Sincronizzazione di orologi slave con la SFC 48 "SNC_RTCB" ................................ 5-3
Impostazione dell'orologio e del relativo stato con la SFC 100 "SET_CLKS"............ 5-3
SFC per la gestione del contatore del tempo di esercizio ................................................... 6-3
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".......................... 4-3
Commutazione della CPU in STOP con la SFC 46 "STP" ......................................... 4-3
Ritardo dell'elaborazione del programma utente con la SFC 47 "WAIT" ................... 4-3
Attivazione interrupt di multicomputing con la SFC 35 "MP_ALM" ............................ 4-3
Comando dell’operazione CiR con la SFC 104 "CiR" ................................................ 4-3
SFC per la gestione dell'orologio ........................................................................................... 5-3
5.1
5.2
5.3
5.4
6
Copia di un'area di memoria con la SFC 20 "BLKMOV" ............................................ 3-3
Copia della variabile senza interruzioni con la SFC 81 "UBLKMOV"......................... 3-3
Inizializzazione di aree di memoria con la SFC 21 "FILL" .......................................... 3-3
Creazione di un blocco dati con la SFC 22 "CREAT_DB".......................................... 3-3
Cancellazione di un blocco dati con la SFC 23 "DEL_DB"......................................... 3-3
Test di un blocco dati con la SFC 24 "TEST_DB" ...................................................... 3-3
Compressione della memoria utente con la SFC 25 "COMPRESS".......................... 3-3
Copiatura del valore sostitutivo in ACCU 1 con la SFC 44 "REPL_VAL"................... 3-3
Creazione di un blocco dati nella memoria di caricamento
con la SFC 82 "CREA_DBL" ...................................................................................... 3-3
Lettura di un blocco dati nella memoria di caricamento
con la SFC 83 "READ_DBL" ...................................................................................... 3-3
Scrittura di un blocco dati nella memoria di caricamento
con la SFC 84 "WRIT_DBL" ....................................................................................... 3-3
Creazione di un blocco dati con la SFC 85 "CREA_DB"............................................ 3-3
Lettura di un set di dati con l'SFB 52 "RDREC".......................................................... 8-3
Scrittura di un set di dati con l'SFB 53 "WRREC"....................................................... 8-3
Ricezione di un allarme con l'SFB 54 "RALRM"......................................................... 8-3
Allarme inviato al master DP con l'SFB 75 "SALRM" ................................................. 8-3
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Indice
9
SFC per la gestione di allarmi dall'orologio .......................................................................... 9-3
9.1
9.2
9.3
9.4
9.5
9.6
10
SFC per la gestione di allarmi di ritardo .............................................................................. 10-3
10.1
10.2
10.3
10.4
11
12.3
12.4
12.5
Ritardo e disabilitazione di allarmi ed eventi di errore di asincronismo.................... 12-3
Disabilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo
con la SFC 39 "DIS_IRT".......................................................................................... 12-3
Abilitazione della risposta a nuovi allarmi ed eventi di errori di asincronismo
con l’SFC 40 "EN_IRT" ............................................................................................. 12-3
Ritardo della risposta ad allarmi ed eventi di errori di asincronismo
di più alta priorità con la SFC 41 "DIS_AIRT"........................................................... 12-3
Abilitazione della risposta ad allarmi ed eventi di errori di asincronismo
di più alta priorità con la SFC 42 "EN_AIRT"............................................................ 12-3
SFC per la diagnostica .......................................................................................................... 13-3
13.1
13.2
13.3
13.4
13.5
13.6
13.7
14
Mascheramento di eventi di errori di sincronismo .................................................... 11-3
Mascheramento di eventi di errori di sincronismo con la SFC 36 "MSK_FLT" ........ 11-3
Demascheramento di eventi di errori di sincronismo con la SFC 37 "DMSK_FLT" . 11-3
Lettura del registro di stato eventi con la SFC 38 "READ_ERR" ............................. 11-3
SFC per la gestione di allarmi e di eventi di errori di asincronismo................................. 12-3
12.1
12.2
13
Gestione di allarmi di ritardo ..................................................................................... 10-3
Attivazione di un allarme di ritardo con la SFC 32 "SRT_DINT" .............................. 10-3
Interrogazione dello stato di un allarme di ritardo con la SFC 34 "QRY_DINT"....... 10-3
Cancellazione di un allarme di ritardo con la SFC 33 "CAN_DINT" ......................... 10-3
SFC per la gestione di eventi di errori di sincronismo....................................................... 11-3
11.1
11.2
11.3
11.4
12
Gestione di allarmi dall'orologio .................................................................................. 9-3
Caratteristiche delle SFC 28 ... 31.............................................................................. 9-3
Impostazione di un allarme dall'orologio con la SFC 28 "SET_TINT" ........................ 9-3
Cancellazione di un allarme dall'orologio con la SFC 29 "CAN_TINT" ...................... 9-3
Attivazione di un allarme dall'orologio con la SFC 30 "ACT_TINT"............................ 9-3
Interrogazione di un allarme dall'orologio con la SFC 31 "QRY_TINT"...................... 9-3
Diagnostica di sistema.............................................................................................. 13-3
Lettura dell'informazione di avvio dell'OB attuale con la SFC 6 "RD_SINFO" ......... 13-3
Lettura di una lista parziale SZL o di un estratto della lista parziale SZL
con la SFC 51 "RDSYSST"....................................................................................... 13-3
Scrittura di un evento di diagnostica definito dall'utente nel buffer
di diagnostica con la SFC 52 "WR_USMSG" ........................................................... 13-3
Rilevamento del tempo di esecuzione del programma OB
con l'SFC 78 "OB_RT".............................................................................................. 13-3
Determinazione dello stato attuale del collegamento con la SFC 87 "C_DIAG" ...... 13-3
Definizione della topologia di bus in un sistema master DP
con la SFC 103 "DP_TOPOL" .................................................................................. 13-3
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione
del campo di bit ...................................................................................................................... 14-3
14.1
14.2
14.3
14.4
14.5
14.6
14.7
Aggiornamento dell'immagine di processo degli ingressi
con la SFC 26 "UPDAT_PI" ...................................................................................... 14-3
Aggiornamento delle uscite delle unità di periferia con la SFC 27 "UPDAT_PO" .... 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 delle uscite con l'SFC 127 "SYNC_PO" .................................. 14-3
Impostazione del campo di bit nell'area periferia con la SFC 79 "SET" ................... 14-3
Resettaggio del campo di bit nell'area periferia con la SFC 80 "RSET"................... 14-3
Realizzazione di un dispositivo di avanzamento a passi con l'SFB 32 "DRUM"...... 14-3
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
ix
Indice
15
Funzioni di sistema per l'indirizzamento di unità ............................................................... 15-3
15.1
15.2
15.3
15.4
15.5
16
SFC per periferia decentrata o per PROFINET IO ............................................................... 16-3
16.1
16.2
16.3
16.4
16.5
16.6
17
17.3
17.4
Informazioni sulle SFC 112, 113 e 114..................................................................... 17-3
Aggiornamento degli ingressi dell'interfaccia del programma utente
dei componenti PROFInet con la SFC 112 "PN_IN" ................................................ 17-3
Aggiornamento delle uscite dell'interfaccia PROFInet
dei componenti PROFInet con l’SFC 113 "PN_OUT" .............................................. 17-3
Aggiornamento delle interconnessioni DP con l’SFC 114 "PN_DP" ........................ 17-3
FB per l'accesso ciclico ai dati utili secondo PNO ............................................................. 18-3
18.1
18.2
18.3
18.4
18.5
x
Attivazione di un interrupt di processo nel master DP con l’SFC 7 "DP_PRAL" ...... 16-3
Sincronizzazione di gruppi di slave DP con l’SFC 11 "DPSYC_FR"........................ 16-3
Disattivazione e attivazione di slave DP/PROFINET IO Device
con l‘FC 12 "D_ACT_DP" ......................................................................................... 16-3
Lettura di dati di diagnostica (diagnostica slave) di uno slave DP
con l’SFC 13 "DPNRM_DG" ..................................................................................... 16-3
Lettura di dati coerenti di uno slave standard DP/PROFINET IO Device
con l’SFC 14 "DPRD_DAT" ...................................................................................... 16-3
Scrittura coerente di dati utili ad uno slave standard DP/PROFINET IO Device
con l’SFC 15 "DPWR_DAT"...................................................................................... 16-3
PROFInet ................................................................................................................................. 17-3
17.1
17.2
18
Rilevamento dell'indirizzo di base logico di un'unità con la SFC 5 "GADR_LGC" ... 15-3
Rilevamento del posto connettore appartenente ad un indirizzo logico
con la SFC 49 "LGC_GADR".................................................................................... 15-3
Rilevamento di tutti gli indirizzi logici di un'unità con la SFC 50 "RD_LGADR"........ 15-3
Determinazione dell'indirizzo iniziale di un'unità con la SFC 70 "GEO_LOG" ......... 15-3
Determinazione del posto connettore corrispondente a un indirizzo logico
con la SFC 71 "LOG_GEO" ...................................................................................... 15-3
Introduzione agli FB per l’accesso ciclico ai dati utili secondo PNO ........................ 18-3
Lettura di tutti gli ingressi di uno slave DP standard /PROFINET IO Device
tramite l‘FB 20 "GETIO" ............................................................................................ 18-3
Scrittura di tutte le uscite di uno slave DP standard /PROFINET IO Device
con l‘FB 21 "SETIO".................................................................................................. 18-3
Lettura di una parte degli ingressi di uno slave DP standard
/PROFINET IO Device con l‘FB 22 "GETIO_PART" ................................................ 18-3
Scrittura di una parte delle uscite di uno slave DP standard
/PROFINET IO Device con l‘FB 23 "SETIO_PART"................................................. 18-3
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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/2
A5E00709342-01
1-1
Blocchi organizzativi
Altre informazioni
Altre informazioni possono essere rilevate dalla guida online 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à
preimpostata
Spiegazione
OB 1
OB 10
OB 11
OB 12
OB 13
OB 14
OB 15
OB 16
OB 17
OB 20
OB 21
OB 22
OB 23
OB 30
OB 31
OB 32
OB 33
OB 34
OB 35
OB 36
OB 37
OB 38
Fine avviamento o fine OB 1
Allarme dall'orologio 0
Allarme dall'orologio 1
Allarme dall'orologio 2
Allarme dall'orologio 3
Allarme dall'orologio 4
Allarme dall'orologio 5
Allarme dall'orologio 6
Allarme dall'orologio 7
Allarme di ritardo 0
Allarme di ritardo 1
Allarme di ritardo 2
Allarme di ritardo 3
Allarme di schedulazione orologio 0
(default: clock 5 s)
Allarme di schedulazione orologio 1
(default: clock 2 s)
Allarme di schedulazione orologio 2
(default: clock 1 s)
Allarme di schedulazione orologio 3
(default: clock 500 ms)
Allarme di schedulazione orologio 4
(default: clock 200 ms)
Allarme di schedulazione orologio 5
(default: clock 100 ms)
Allarme di schedulazione orologio 6
(default: clock 50 ms)
Allarme di schedulazione orologio 7
(default: clock 20 ms)
Allarme di schedulazione orologio 8
(default: clock 10 ms)
Interrupt di processo 0
Interrupt di processo 1
Interrupt di processo 2
Interrupt di processo 3
Interrupt di processo 4
Interrupt di processo 5
Interrupt di processo 6
Interrupt di processo 7
Allarme di stato
Allarme di aggiornamento
Allarme produttore
Richiamo della SFC 35 "MP_ALM"
1
2
2
2
2
2
2
2
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Ciclo libero
Nessuna
assegnazione clock
default
16
17
18
19
20
21
22
23
2
2
2
25
Interrupt di processo
OB 40
OB 41
OB 42
OB 43
OB 44
OB 45
OB 46
OB 47
OB 55
OB 56
OB 57
OB 60
1-2
Nessuna
assegnazione clock
default
Allarmi di
schedulazione
orologio
Allarmi DPV1
Allarme di
multicomputing
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
OB
Evento di avvio
Classe di priorità
preimpostata
Spiegazione
OB 61
OB 62
OB 63
OB 64
OB 65
Allarme in sincronismo di clock 1
Allarme in sincronismo di clock 2
Allarme in sincronismo di clock 3
Allarme in sincronismo di clock 4
Allarme di sincronismo tecnologico
25
25
25
25
25
Allarmi di sincronismo
di clock
OB 70
OB 72
OB 73
25
28
25
OB 80
Errore di ridondanza della periferia
(solo nelle CPU H)
Errore di ridondanza della CPU (solo nelle CPU H)
OB di errore di ridondanza di comunicazione (solo
nelle CPU H)
Errore temporale
OB 81
Errore di alimentazione
OB 82
Allarme di diagnostica
OB 83
Allarme di estrazione/inserimento
OB 84
Errore hardware CPU
OB 85
Errore di esecuzione programma
OB 86
Avaria di un'apparecchiatura di ampliamento, di un
sistema master DP o di una stazione con periferia
decentrata
Errore di comunicazione
26, 28 con S7-300,
1)
25, 28 con S7-400
e CPU 318
26, 28 1) con S7-300,
25, 28 1) con S7-400
e CPU 318
26, 28 1) con S7-300,
25, 28 1) con S7-400
e CPU 318
26, 28 1) con S7-300,
1)
25, 28 con S7-400
e CPU 318
26, 28 1) con S7-300,
1)
25, 28 con S7-400
e CPU 318
26, 28 1) con S7-300,
1)
25, 28 con S7-400
e CPU 318
26, 28 1) con S7-300,
1)
25, 28 con S7-400
e CPU 318
28
29 2)
OB 87
OB 88
OB 90
OB 100
OB 101
OB 102
OB 121
Interruzione elaborazione
Nuovo avviamento (avviamento a caldo) o
avviamento a freddo o cancellazione di un blocco in
esecuzione nell'OB 90 o caricamento di un OB 90
nella CPU o fine dell'OB 90.
Nuovo avviamento (avviamento a caldo)
Riavviamento
Avviamento a freddo
Errore di programmazione
OB 122
Errore di accesso alla periferia
1)
2)
Allarme di sincronismo
tecnologico
Allarmi di errore di
ridondanza
26, 28 1
Allarmi di errori di
asincronismo
1)
27 1)
27 1)
27 1)
Priorità dell'OB che
causa l'errore
Priorità dell'OB che
causa l'errore
Ciclo di sfondo
Avviamento
Allarmi di errori di
sincronismo
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/2
A5E00709342-01
1-3
Blocchi organizzativi
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.
1-4
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
Dati locali per OB 1
La tabella seguente contiene le variabili temporanee (TEMP) di OB 1. Come nomi di variabili
sono stati scelti i nomi di default di OB 1.
Variabile
Tipo
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/2
A5E00709342-01
1-5
Blocchi organizzativi
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.
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
1-6
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.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
Il comportamento degli allarmi dall'orologio durante la messa avanti o indietro dell'orologio è
descritto in /234/.
Avvertenza
Se si configura un allarme dall'orologio in modo che il relativo OB venga eseguito una
volta, la data e l'ora non devono essere nel passato (secondo l'orologio hardware della
CPU).
Se si configura un allarme dall'orologio in modo che il relativo OB venga eseguito a
intervalli periodici, ma si imposta nel passato la data e l'ora di inizio, l'OB di allarme
dall'orologio viene eseguito al primo intervallo successivo rispetto all'ora attuale.
Gli allarmi dall'orologio possono essere disabilitati o ritardati e abilitati di nuovo con l'aiuto
delle SFC 39 fino a 42.
Tempo di avvio impostato
Ora attuale
Intervallo
impostato
Istante della prima esecuzione
dell'OB di allarme dall'orologio
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
allarme dall'orologio, che al momento
dell'attivazione non era caricato nella CPU.
Il sistema operativo chiama OB 85. Se OB 85 non è stato
programmato (caricato nella CPU), la CPU passa in STOP.
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
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
1-7
Blocchi organizzativi
Condizione
Risultato
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.
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
Descrizione
OB10_EV_CLASS
BYTE
Classe d'evento e identificazioni: B#16#11: allarme attivo
OB10_STRT_INFO
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
OB10_OB_NUMBR
BYTE
Classe di priorità parametrizzata; valore di default:2
Numero di OB (da 10 a 17)
OB10_RESERVED_1 BYTE
Riservato
OB10_RESERVED_2 BYTE
Riservato
OB10_PERIOD_EXE
OB viene eseguito all'intervallo specificato:
WORD
W#16#0000: una volta
W#16#0201: una volta al minuto
W#16#0401: una volta all'ora
W#16#1001: una volta al giorno
W#16#1201: una volta alla settimana
W#16#1401: una volta al mese
W#16#1801: una volta all'anno
W#16#2001: a fine mese
OB10_RESERVED_3 INT
Riservato
OB10_RESERVED_4 INT
Riservato
OB10_DATE_TIME
1-8
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/2
A5E00709342-01
Blocchi organizzativi
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/2
A5E00709342-01
1-9
Blocchi organizzativi
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
Dichiarazione Descrizione
OB20_EV_CLASS
BYTE
TEMP
OB20_STRT_INF
BYTE
TEMP
Classe d'evento e identificazioni:
B#16#11: Allarme attivo
B#16#231: Richiesta di avvio per OB 20
(B#16#22: Richiesta di avvio per OB 21)
(B#16#23: Richiesta di avvio per OB 22)
(B#16#24: Richiesta di avvio per OB 23)
OB20_PRIORITY
BYTE
OB20_OB_NUMBR
TEMP
Classe di priorità parametrizzata: valori di default
da 3 (OB 20) fino a 6 (OB 23)
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
1-10
Data e ora in cui è stato richiamato l'OB
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
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/2
A5E00709342-01
1-11
Blocchi organizzativi
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
Descrizione
OB35_EV_CLASS
BYTE
Classe d'evento e identificazioni:
OB35_STRT_INF
BYTE
•
B#16#30: Richiesta di avvio per l'OB di schedulazione
orologio con trattamento speciale (solo in CPU H e lì solo
se è esplicitamente consentito dalla progettazione )
•
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 l'OB di schedulazione
orologio con trattamento speciale (solo in S7-300 e lì solo
se è esplicitamente progettato)
B#16#11: Allarme attivo
:
:
OB_35_PRIORITY
BYTE
Classe di priorità parametrizzata: valori di default: da 7 (OB 30)
a 15 (OB 38)
OB35_OB_NUMBR
BYTE
Numero OB (da 30 a 38)
OB35_RESERVED_1
BYTE
Riservato
OB35_RESERVED_2
BYTE
Riservato
OB35_PHASE_OFFSET WORD
•
se OB35_STRT_INF=B#16#3A: spostamento delle fasi 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
1-12
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/2
A5E00709342-01
Blocchi organizzativi
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/2
A5E00709342-01
1-13
Blocchi organizzativi
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
Descrizione
OB40_EV_CLASS
BYTE
Classe di evento e identificazioni:
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: Interrupt azionato dal PC
B#16#11: Interrupt attivo
OB40_PRIORITY
BYTE
OB40_OB_NUMBR
BYTE
Classe di priorità parametrizzata: valori di default: da 16 (OB 40) a
23 (OB 47)
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 stati degli ingressi sull'unità
Per l'assegnazione tra bit dell'OB40_POINT_ADDR e canale
dell'unità consultare la 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.
1-14
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
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 PN IO
OB55_PRIORITY
BYTE
Classe di priorità parametrizzata, valore di default: 2
OB55_OB_NUMBR
BYTE
Numero di OB (55)
OB55_RESERVED_1
BYTE
Riservato
OB55_IO_FLAG
BYTE
Unità/modulo ingressi: B#16#54
Unità/modulo uscite: B#16#55
OB55_MDL_ADDR
WORD
Indirizzo logico di base del componente che attiva l'allarme
(unità o modulo)
OB55_LEN
BYTE
Lunghezza del blocco dati fornito dall'allarme
OB55_TYPE
BYTE
Identificazione del tipo di allarme "Allarme di stato"
OB55_SLOT
BYTE
N. di posto connettore del componente che attiva l'allarme
(unità o modulo)
OB55_SPEC
BYTE
OB55_DATE_TIME
DATE_AND_TIME
Specificatore:
•
Bit 0 ... 1: specificatore allarme
•
Bit 2: Add_Ack
•
Bit 3 … 7: n. sequenziale
Data e ora in cui è stato richiamato l'OB
Avvertenza
L'informazione supplementare completa sull'allarme del telegramma DP si trova richiamando
l'SFB 54 "RALRM" all'interno dell'OB 55.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
1-15
Blocchi organizzativi
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
OB56_PRIORITY
BYTE
•
B#16#56: allarme di aggiornamento in DP
•
B#16#59: allarme di aggiornamento in PN IO
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)
Unità/modulo uscite: B#16#55
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:
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
Avvertenza
L'informazione supplementare completa sull'allarme del telegramma DP si trova richiamando
l'SFB 54 "RALRM" all'interno dell'OB 56.
1-16
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
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
OB57_DATE_TIME
DATE_AND_TIME
Specificatore:
•
Bit 0 ... 1: specificatore allarme
•
Bit 2: Add_Ack
•
Bit 3 ... 7: n. sequenziale
Data e ora in cui è stato richiamato l'OB
Avvertenza
L'informazione supplementare completa sull'allarme del telegramma DP si trova richiamando
l'SFB 54 "RALRM" all'interno dell'OB 57.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
1-17
Blocchi organizzativi
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"
Elaborazione
dell'OB60
Elaborazione
dell'OB60
CPU 2:
Ciclo
1-18
"CALL SFC 35"
Ciclo
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
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
Descrizione
OB60_EV_CLASS
BYTE
Classe di evento e identificazioni:
OB60_STRT_INF
BYTE
OB60_PRIORITY
BYTE
Classe di priorità: 25
OB60_OB_NUMBR
BYTE
Numero OB: 60
B#16#11: allarme attivo
B#16#61: allarme di multicomputing attivato dalla propria CPU
B#16#62: allarme di multicomputing attivato da un'altra CPU
OB60_RESERVED_1 BYTE
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
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/2
A5E00709342-01
1-19
Blocchi organizzativi
1.11
OB di allarme in sincronismo di clock (da OB 61 a OB 64)
Descrizione
Gli allarmi in sincronismo di clock consentono di avviare i programmi in modo sincrono rispetto
al clock DP. L'allarme in sincronismo di clock TSAL y è costituito dall'OB 6y , <= y <= 4 che
funge da OB di interfaccia. È possibile impostare la priorità degli OB da 61 a 64 assegnando
un valore compreso tra 0 (OB deselezionato) e 2 - 26.
!
Cautela
Sia in caso di accessi diretti con comandi L e T (p. es. L PEB, T PAB) che in caso di impiego
delle SFC 14 "DPRD_DAT" e 15 "DPWR_DAT", evitare gli accessi ad aree della periferia le
cui immagini di processo parziali siano assegnate con collegamenti OB6x (allarmi in
sincronismo di clock).
Dati locali dell'OB di allarme in sincronismo di clock
La tabella seguente descrive le variabili temporanee (TEMP) dell'OB di allarme in
sincronismo di clock. Come nomi di variabili sono stati scelti i nomi di default dell'OB 61.
Variabile
Tipo di dati
Descrizione
OB61_EV_CLASS
BYTE
Classe dell'evento e identificazioni:
B#16#11: allarme attivo
OB61_STRT_INF
BYTE
B#16#64: richiesta di avvio per l'OB 61
B#16#67: richiesta di avvio per l'OB 64
OB61_PRIORITY
BYTE
Classe di priorità parametrizzata; valore di default: 25
OB61_OB_NUMBR
BYTE
Numero OB: 61 ... 64
OB61_RESERVED_1
BYTE
Riservato
OB61_RESERVED_2
BYTE
Riservato
OB61_GC_VIOL
BOOL
Violazione GC
OB61_FIRST
BOOL
Prima esecuzione dopo l'avviamento o lo stop
OB61_MISSED_EXEC
BYTE
Numero degli avvii dell'OB 61 non avvenuti dall'ultima
esecuzione dell'OB61
OB61_DP_ID
BYTE
ID del sistema master DP del sistema master DP del
sincronismo di clock
OB61_RESERVED_3
BYTE
Riservato
OB61_RESERVED_4
WORD
Riservato
OB61_DATE_TIME
DATE_AND_TIME
Data e ora in cui è stato richiamato l'OB
1-20
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
1.12
OB di allarme di sincronismo tecnologico (OB 65)
Avvertenza
L'OB di allarme di sincronismo tecnologico (OB 65) riguarda solamente le CPU
tecnologiche.
Descrizione
L'allarme di sincronismo tecnologico offre la possibilità di avviare un programma in
sincronismo di clock con l'aggiornamento dei blocchi dati tecnologici. L'OB di allarme di
sincronismo tecnologico viene avviato di volta in volta dopo l'aggiornamento dei blocchi dati
tecnologici.
La classe di priorità dell'OB di allarme di sincronismo tecnologico è fissata a 25 e non è
modificabile.
Avvertenza
Al momento dell'avvio dell'OB di allarme di sincronismo tecnologico non sono ancora
disponibili dati di istanza aggiornati delle funzioni tecnologiche.
Dati locali dell'OB di allarme di sincronismo tecnologico
La tabella seguente mostra le variabili temporanee (TEMP) dell'OB di allarme di sincronismo
tecnologico. Per i nomi delle variabili sono stati scelti i nomi di default dell'OB 65.
Variabile
Tipo di dati
Descrizione
OB65_EV_CLASS
BYTE
Classe di evento e identificazioni:
B#16#11: evento entrante, classe di evento 1
OB65_STRT_INF
BYTE
B#16#6A: richiesta di avvio dell'OB 65
OB65_PRIORITY
BYTE
Classe di priorità: 25 (fissa)
OB65_OB_NUMBR
BYTE
Numero di OB (65)
OB65_RESERVED_1
BYTE
Riservato
OB65_RESERVED_2
BYTE
Riservato
OB65_RESERVED_3
BOOL
Riservato
OB65_FIRST
BOOL
Prima esecuzione dell'OB 65 dopo l'avviamento
OB65_MISSED_EXEC
BYTE
Numero di avvii mancati dell'OB 65 dall'ultima esecuzione
dell'OB 65
OB65_RESERVED_4
BYTE
Riservato
OB65_RESERVED_5
BYTE
Riservato
OB65_RESERVED_6
WORD
Riservato
OB65_DATE_TIME
DATE_AND_TIME
Data e ora in cui è stato richiesto l'OB
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
1-21
Blocchi organizzativi
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
Descrizione
OB70_EV_CLASS
BYTE
Classe di evento e identificazioni:
OB70_FLT_ID
BYTE
•
B#16#72: evento uscente
•
B#16#73: evento entrante
Codice d'identificazione d'errore (valori possibili:
B#16#A2, B#16#A3)
OB70_PRIORITY
BYTE
Classe di priorità; parametrizzabile con STEP 7
(Configurazione hardware)
OB70_OB_NUMBR
BYTE
Numero di OB (70)
OB70_RESERVED_1
WORD
Riservato
OB70_INFO_1
WORD
Dipendente dal codice di identificazione 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
1-22
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
Le variabili dipendenti dal codice di errore hanno il significato seguente:
Codice errore
Bit
Significato
B#16#A2
•
OB70_INFO_1:
Indirizzo logico di base del master DP interessato
•
OB70_INFO_2:
Riservato
•
OB70_INFO_3:
da 0 a 7:
Riservato
da 8 a 15:
ID del sistema master DP interessato
B#16#A3
•
OB70_INFO_1:
Indirizzo logico di base del master DP interessato
•
OB70_INFO_2:
Slave DP interessato.
•
OB70_INFO_3
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.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
1-23
Blocchi organizzativi
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
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)
1-24
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
Variabile
Tipo
OB72_RESERVED_1
WORD
Descrizione
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
Solo per 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
-
3: 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:
-
OB72_DATE_TIME
DATE_AND_TIME
low word del tempo effettivo di bloccaggio delle classi
di priorità > 15 in ms
Data e ora in cui è stato richiamato l‘OB
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
1-25
Blocchi organizzativi
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 )
1-26
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
1.15
OB di errore di ridondanza di comunicazione OB (OB 73)
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'OB 73.
Un nuovo avvio dell'OB 73 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'OB 73 non è programmato.
Dati locali dell'OB di errore di ridondanza della CPU
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
Descrizione
OB73_EV_CLASS
BYTE
Classe di evento e identificazioni:
B#16#73, B#16#72
OB73_FLT_ID
BYTE
Codice di errore (valore possibile: B#16#E0)
OB73_PRIORITY
BYTE
Classe di priorità parametrizzata; valore di default: 25
OB73_OB_NUMBR
BYTE
Numero di OB (73)
OB73_RESERVED_1
WORD
Riservato
OB73_INFO_1
WORD
(non rilevante per l'utente)
OB73_INFO_2
WORD
(non rilevante per l'utente)
OB73_INFO_3
WORD
(non rilevante per l'utente)
OB73_DATE_TIME
DATE_AND_TIME
Data e ora in cui è stato richiamato l'OB
La tabella seguente mostra quale evento ha causato l'avviamento dell'OB 73 .
OB73_FLT_ID
Evento di avvio dell'OB 73
B#16#E0
Perdita di ridondanza della comunicazione / eliminata
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
1-27
Blocchi organizzativi
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 SFC 43 "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
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
1-28
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
Le variabili dipendenti dal codice di identificazione dell'errore hanno il seguente significato:
Codice errore
Bit
Significato
B#16#01
Tempo ciclo superato
•
OB80_ERROR_INFO:
Tempo esecuzione dell'ultimo ciclo (ms)
•
OB80_ERR_EV_CLASS:
Classe dell'evento che ha causato l'allarme
•
OB80_ERR_EV_NUM:
Numero dell'evento che ha causato l'allarme
•
OB80_OB_PRIORITY:
Classe di priorità dell'OB in elaborazione quando si è
verificato l'errore.
•
OB80_OB_NUM
Il numero dell'OB in elaborazione quando si è verificato
l'errore.
B#16#02
L'OB richiamato è ancora in elaborazione.
•
La relativa variabile temporanea dell'OB richiamato, che
è determinato da:
OB80_ERROR_INFO:
•
OB80_ERR_EV_CLASS e
•
OB80_ERR_EV_NUM.
•
OB80_ERR_EV_CLASS:
Classe dell'evento che ha causato l'allarme
•
OB80_ERR_EV_NUM:
Numero dell'evento che ha causato l'allarme
•
OB80_OB_PRIORITY
•
OB80_OB_NUM:
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).
Numero dell'OB che ha causato l'errore (ad es.: „30" per
l'OB30 che avrebbe dovuto essere avviato, ma non è
stato possibile avviare).
B#16#05 e
allarme dall'orologio decorso per salto dell'ora
B#16#06
allarme dall'orologio decorso alla ripresentazione in
RUN dopo ALT
•
OB80_ERROR_INFO:
Bit 0 impostato:
per l'allarme dall'orologio 0 il momento di avvio si trova
nel passato
Bit 7 impostato:
per l'allarme dall'orologio 7 il momento di avvio si trova
nel passato
Bit da 8 a 15:
non utilizzato
•
OB80_ERR_EV_CLASS:
•
OB80_ERR_EV_NUM:
non utilizzato
•
OB80_OB_PRIORITY:
non utilizzato
•
OB80_OB_NUM:
non utilizzato
non utilizzato
B#16#07
Per il significato dei parametri
vedere il codice d'errore
B#16#02.
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.)
B#16#08
Significato dei parametri: vedere
codice di errore B#16#02
Errore temporale di allarme in sincronismo di clock
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
1-29
Blocchi organizzativi
Codice errore
B#16#09
Significato dei parametri: vedere
codice di errore B#16#02.
Bit
Significato
Perdita dell’allarme a causa di un elevato carico di
allarmi
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
1-30
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
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
Descrizione
OB81_EV_CLASS
BYTE
Classe d'evento e identificazioni:
B#16#38: Evento uscente
B#16#39: Evento entrante
OB81_FLT_ID
BYTE
Codice d'identificazione d'errore (valori possibili:
B#16#21, B#16#22, B#16#23, B#16#25, B#16#26, B#16#27,
B#16#31, B#16#32, B#16#33)
OB81_PRIORITY
BYTE
Classe di priorità; parametrizzabile con STEP 7 (Configurazione
hardware)
Per Esempio: valori parametrizzablili per RUN: 2-26
OB81_OB_NUMBR
BYTE
Numero di OB (81)
OB81_RESERVED_1 BYTE
Riservato
OB81_RESERVED_2 BYTE
Riservato
OB81_RACK_CPU
WORD
•
Bit da 0 a 7: B#16#00
•
Bit da 8 a 15:
-
In una CPU standard: B#16#00
-
In una CPU H: bit da 8 a 10: N. telaio di montaggio, bit 11:
0=CPU di riserva, 1=CPU master, bit da 12 a 15: 1111
OB81_RESERVED_3 BYTE
Rilevante solo per i codici di identificazione errore B#16#31,
B#16#32, B#16#33
OB81_RESERVED_4 BYTE
Rilevante solo per i codici di identificazione errore B#16#31,
B#16#32, B#16#33
OB81_RESERVED_5 BYTE
Rilevante solo per i codici di identificazione errore B#16#31,
B#16#32, B#16#33
OB81_RESERVED_6 BYTE
Rilevante solo per i codici di identificazione errore B#16#31,
B#16#32, B#16#33
OB81_DATE_TIME
DATE_AND_TIME Data e ora in cui è stato richiamato l'OB
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
1-31
Blocchi organizzativi
Le variabili OB81_RESERVED_i, 3 ≤ i ≤ 6 contengono le apparecchiature di ampliamento,
nelle quali la bufferizzazione a batteria (per codice identificazione di errore B#16#31), la
tensione del buffer (con codice identificazione errore B#16#32) o l'alimentazione di 24V (con
codice identificazione errore B#16#33) ha subito un guasto o è ritornata. La seguente tabella
mostra quale bit nelle variabili OB81_RESERVED_i, 3 ≤ i ≤ 6 appartiene a quale
apparecchiatura di ampliamento.
OB81_RESERVED_6
OB81_RESERVED_5
OB81_RESERVED_4
OB81_RESERVED_3
Bit 0
riservato
8. apparecch. di ampl.
16. apparecch. di ampl. riservato
Bit 1
1. apparecch. di ampl.
9. apparecch. di ampl.
17. apparecch. di ampl. riservato
Bit 2
2. apparecch. di ampl.
10. apparecch. di ampl.
18. apparecch. di ampl. riservato
Bit 3
3. apparecch. di ampl.
11. apparecch. di ampl.
19. apparecch. di ampl. riservato
Bit 4
4. apparecch. di ampl.
12. apparecch. di ampl.
20. apparecch. di ampl. riservato
Bit 5
5. apparecch. di ampl.
13. apparecch. di ampl.
21. apparecch. di ampl. riservato
Bit 6
6. apparecch. di ampl.
14. apparecch. di ampl.
riservato
riservato
Bit 7
7. apparecch. di ampl.
15. apparecch. di ampl.
riservato
riservato
I bit nelle variabili OB 81_RESERVED_i hanno il seguente significato (per la rispettiva
apparecchiatura di ampliamento):
All'arrivo dell'evento vengono contrassegnate (i relativi bit sono impostati) le apparecchiature
di ampliamento, nelle quali almeno una batteria o la tensione del buffer o l'alimentazione di
24V ha subito un guasto. Le apparecchiature di ampliamento, nelle quali già prima almeno
una batteria o una tensione del buffer o l'alimentazione di 24V hanno subito un guasto, non
vengono più visualizzate.
Alla partenza dell'evento viene segnalata perlomeno in una apparecchiatura di ampliamento
una bufferizzazione ritornata (il rispettivo bit è impostato).
La tabella seguente mostra quale evento ha causato l'avvio dell'OB 81.
OB81_EV_CLASS
OB81_FLT_ID
Significato
B#16#39/B#16#38
B#16#21
Almeno una batteria tampone dell'apparecchiatura centrale
scarica/eliminata (BATTF)
Avvertenza: L'evento entrante si verifica solo quando si guasta una
delle due batterie (in caso di batteria tampone ridondata). Se si
verifica successivamente il guasto anche dell'altra batteria, l'evento
non compare nuovamente.
B#16#39/B#16#38
B#16#22
Tensione buffer nell'apparecchiatura centrale manca/eliminata
(BAF).
B#16#39/B#16#38
B#16#23
Guasto dell'alimentazione 24V nell'apparecchiatura
centrale/eliminata.
B#16#39/B#16#38
B#16#25
Almeno una batteria tampone in almeno un'apparecchiatura centrale
ridondata scarica/eliminata (BATTF).
B#16#39/B#16#38
B#16#26
Tensione buffer in almeno un'apparecchiatura centrale ridondata
scarica/eliminata (BAF).
B#16#39/B#16#38
B#16#27
Guasto dell‘alimentazione 24V in almeno un'apparecchiatura
centrale ridondata.
B#16#39/B#16#38
B#16#31
Almeno una batteria tampone di un'apparecchiatura di ampliamento
scarica/eliminata (BATTF).
B#16#39/B#16#38
B#16#32
Tensione del buffer di una delle apparecchiature di ampliamento
manca/eliminata (BAF).
B#16#39/B#16#38
B#16#33
Guasto dell'alimentazione 24V in un'apparecchiatura di
ampliamento/eliminata.
1-32
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
1.18
OB di allarme di diagnostica (OB 82)
Descrizione
Se un'unità capace di diagnostica, nella quale è stato abilitato l'allarme di diagnostica,
identifica un errore, essa richiede un allarme di diagnostica alla CPU (sia per l'evento
entrante che per l'evento uscente). Il sistema operativo richiama l'OB 82.
L'OB 82 contiene, nelle sue variabili locali, l'indirizzo logico di base e una 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.
Dati locali dell'OB di allarme di diagnostica
La tabella seguente contiene le variabili temporanee (TEMP) dell'OB di allarme di
diagnostica. Come nomi di variabili sono stati scelti i nomi di default dell'OB 82.
Variabile
Tipo
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à
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: Riserva
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à
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
1-33
Blocchi organizzativi
Variabile
Tipo
Descrizione
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
Riservato
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.
1-34
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
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.
L’OB di l’estrazione/inserimento può essere disabilitato o ritardato e abilitato di nuovo con
l’aiuto delle SFC da 9 a 42.
Estrazione ed inserimento di unità
Ogni estrazione e inserimento di un'unità progettata (non ammesse: unità di alimentazione,
CPU, capsule di adattamento e IM) negli stati di funzionamento RUN, STOP e
AVVIAMENTO provoca un allarme di estrazione/inserimento. Questo allarme determina una
registrazione rispettivamente nel buffer di diagnostica e nella lista di stato di sistema della
rispettiva CPU. Inoltre, nello stato di funzionamento RUN viene avviato l'OB di
estrazione/inserimento. Se questo OB non è stato programmato, la CPU passa nel modo di
funzionamento STOP.
L’operazione di estrazione/l’inserimento di unità S7-400 nel sistema viene sorvegliata
secondo per secondo. Affinché la CPU rilevi l’estrazione e l’inserimento di un’unità S7-400,
tra le due operazioni deve intercorrere un tempo minimo di due secondi. Altre unità richiedo
un intervallo più lungo.
L'OB 83 viene avviato quando si estrae nello stato di funzionamento RUN una unità
progettata. È possibile identificare prima un errore durante l'accesso diretto o
l'aggiornamento dell'immagine di processo.
Quando si inserisce una unità in un posto connettore progettato nello stato RUN, il sistema
operativo verifica se il tipo dell'unità innestata coincide con la progettazione.
Successivamente viene avviato l'OB 83, e, in caso di corrispondenza dei tipi di unità, ha
luogo la parametrizzazione.
Particolarità dell'S7-300
•
L'estrazione e l'inserimento di unità della periferia centrale non sono consentiti
nell'S7-300.
•
La CPU 318 si comporta, per quanto concerne la periferia decentrata, come una
CPU S7-400. Per quanto riguarda tutte le altre CPU S7-300, soltanto le CPU 31x
PN/DP, e soltanto per i componenti IO PROFINET, sono dotate dell'allarme di estrazione
e inserimento.
•
Nelle CPU/IM151 (CPU dell'ET 200S), l'allarme di estrazione e inserimento è disponibile
soltanto per la periferia a livello centrale.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
1-35
Blocchi organizzativi
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
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, B#16#84)
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
BYTE
Identificazione per l'unità o il sotto-modulo/modulo di interfaccia
Campo:
•
OB83_MDL_ADDR
1-36
WORD
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/2
A5E00709342-01
Blocchi organizzativi
Variabile
Tipo
Descrizione
OB83_RACK_NUM
WORD
•
•
OB83_MDL_TYPE
WORD
•
•
OB83_DATE_TIME
Se OB83_RESERVED_1 =B#16#A0: N. del sottomodulo/modulo di interfaccia /low byte)
Se OB83_RESERVED_1 = B#16#C4:
-
Centrale: n. del telaio di montaggio
-
PROFIBUS DP decentrato: n. della stazione DP (low byte)
e ID del sistema master DP (high byte)
-
PROFINET IO decentrato: indirizzo fisico: bit di
identificazione (bit 15, 1 = PROFINET IO), ID di sistema
IO (bit da 11 a 14) e numero stazione (bit da 0 a 10)
PROFIBUS DP centrale o decentrato:
tipo dell'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
PROFINET IO decentrato:
-
W#16#8101: il tipo di unità inserita è uguale al tipo di unità
estratta.
-
W#16#8102: il tipo di unità inserita è diverso dal tipo di
unità estratta.
DATE_AND_TIME Data e ora in cui è stato richiamato l'OB
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 sottomodulo 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à
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
1-37
Blocchi organizzativi
OB83_EV_CLASS
OB83_FLT_ID
Significato
B#16#39
B#16#68
Riparametrizzazione unità conclusa con errori
B#16#38
B#16#84
Modulo di interfaccia inserito
B#16#39
B#16#84
Modulo di interfaccia non inserito
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.
1-38
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
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
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
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#81, B#16#82, B#16#83, B#16#85,
B#16#86, B#16#87)
OB84_PRIORITY
BYTE
Classe di priorità; parametrizzabile con STEP 7 (Configurazione
hardware)
OB84_OB_NUMBR
BYTE
Numero di OB (84)
OB84_RESERVED_1 BYTE
Riservato
OB84_RESERVED_2 BYTE
Riservato
OB84_RESERVED_3 WORD
Riservato
OB84_RESERVED_4 DWORD
Riservato
OB84_DATE_TIME
DATE_AND_TIME Data e ora in cui è stato richiamato l'OB
La tabella seguente mostra quale evento ha causato l'avvio dell'OB 84.
OB84_EV_CLASS
OB84_FLT_ID
Evento di avvio dell'OB 84
B#16#39
B#16#81
Errore di interfaccia, entrante
B#16#38
B#16#81
Errore di interfaccia, uscente
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/2
A5E00709342-01
1-39
Blocchi organizzativi
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 81)
•
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
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_CLASS 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
OB85_OB_NUM
BYTE
Numero di OB per l'OB in corso di esecuzione quando si è
verificato l'errore
OB85_DATE_TIME
DATE_AND_TIME Data e ora in cui è stato richiamato l'OB
1-40
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
Se si vuole programmare l'OB 85 in funzione dei possibili codici di identificazione dell'errore,
si consiglia di organizzare le variabili locali nel modo seguente:
Variabile
Tipo
OB85_EV_CLASS
BYTE
OB85_FLT_ID
BYTE
OB85_PRIORITY
BYTE
OB85_OB_NUMBR
BYTE
OB85_DKZ23
BYTE
OB85_RESERVED_2
BYTE
OB85_Z1
WORD
OB85_Z23
DWORD
OB85_DATE_TIME
DATE_AND_TIME
La tabella seguente mostra quale evento ha causato l'avvio dell'OB 85.
OB85_EV_CLASS
OB85_FLT_ID Significato
B#16#35
B#16#A1
B#16#35
B#16#A2
B#16#35
B#16#A3
B#16#35
B#16#34
B#16#A4
B#16#A4
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
Errore durante l'accesso del sistema operativo a un blocco
•
OB85_Z1: identificazione errore del sistema operativo
high byte: 1= funzione integrata, 2=temporizzatore IEC
low byte: 0= nessuna risoluzione dell'errore, 1= blocco non
caricato, 2= errore lunghezza settore, 3= errore protezione
scrittura
•
OB85_Z23:
high word: numero blocco
low word: indirizzo relativo del comando MC7 che causa l'errore.
Il tipo di blocco va rilevato dall'OB 85_DKZ23 (B#16#88: OB,
B#16#8C: FC, B#16#8E: FB, B#16#8A: DB).
DB di interfaccia PROFInet non indirizzabile
DB di interfaccia PROFInet non indirizzabile
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
1-41
Blocchi organizzativi
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
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.
1-42
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
1.22
OB di guasto telaio di montaggio (OB 86)
Descrizione
Il sistema operativo della CPU richiama l'OB 86 se viene identificato il guasto (sia per un
evento entrante che per uno uscente) di un'apparecchiatura centrale di ampliamento (non
vale per l'S7-300) di un sistema master DP o di una stazione della periferia decentrata
(PROFIBUS DP o PROFINET IO)
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
Descrizione
OB86_EV_CLASS
BYTE
Classe d'evento e identificazioni:
B#16#38: Evento uscente
B#16#39: Evento entrante
OB86_FLT_ID
BYTE
Codice identificazione 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#CA, B#16#CB, B#16#CC, B#16#CD, B#16#CE)
OB86_PRIORITY
BYTE
Classe di priorità; parametrizzabile con STEP 7 (Configurazione
hardware)
OB86_OB_NUMBR
BYTE
Numero di OB (86)
OB86_RESERVED_1 BYTE
Riservato
OB86_RESERVED_2 BYTE
Riservato
OB86_MDL_ADDR
WORD
Dipendente dal codice di identificazione errore
OB86_RACKS_FLTD
ARRAY [0 ..31]
Dipendente dal codice di identificazione errore
OF BOOL
OB86_DATE_TIME
DATE_AND_TIME Data e ora in cui è stato richiamato l'OB
Se si vuole programmare l'OB 86 in funzione dei codici di identificazione errore possibili, si
consiglia di organizzare le variabili locali nel modo seguente:
Variabile
Tipo
OB86_EV_CLASS
BYTE
OB86_FLT_ID
BYTE
OB86_PRIORITY
BYTE
OB86_OB_NUMBR
BYTE
OB86_RESERVED_1
BYTE
OB86_RESERVED_2
BYTE
OB86_MDL_ADDR
WORD
OB86_Z23
DWORD
OB86_DATE_TIME
DATE_AND_TIME
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
1-43
Blocchi organizzativi
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
B#16#38
B#16#C1
Guasto apparecchiatura di ampliamento
•
OB86_MDL_ADDR: indirizzo logico di base dell'IM
•
OB86_Z23: contiene un bit per ogni apparecchiatura di ampliamento
possibile. Vengono segnalate come guaste (sono impostati i bit
corrispondenti) le apparecchiature di ampliamento che hanno
causato il richiamo dell'OB 86. Le apparecchiature di ampliamento
già guaste in precedenza non vengono più visualizzate.
-
Bit 0: sempre 0
-
Bit 1: apparecchiatura di ampliamento 1
-
:
-
Bit 21: apparecchiatura di ampliamento 21
-
Bit 22 … 29: sempre 0
-
Bit 30: guasto di almeno un'apparecchiatura di ampliamento nel
campo SIMATIC S5
-
Bit 31: sempre 0
Ritorno apparecchiatura di ampliamento
OB86_MDL_ADDR come per OB86_FLT_ID=B#16#C1. In OB86_Z23
vengono segnalate le apparecchiature di ampliamento ritornate (i bit
corrispondenti sono impostati).
B#16#38
B#16#39
B#16#C2
B#16#C3
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.
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
1-44
B#16#C4
OB86_Z23: ID del sistema master DP:
-
Bit 0 … 7: riservati
-
Bit 8 … 15: ID sistema master DP
-
Bit 16 … 31: riservati
Guasto di una stazione DP
•
OB86_MDL_ADDR: indirizzo logico di base del master DP
•
OB86_Z23: indirizzo dello slave DP corrispondente:
-
Bit 0 … 7: n. della stazione DP
-
Bit 8 … 15: ID sistema master DP
-
Bit 16 … 30: indirizzo logico di base di uno slave S7
o indirizzo di diagnostica di uno slave standard DP
-
Bit 31: identificazione I/O
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
OB86_EV_CLASS
OB86_FLT_ID Significato
B#16#39/B#16#38
B#16#C5
Anomalia di una stazione DP
OB86_MDL_ADDR e OB86_Z23 come per FLT_ID=B#16#C4
B#16#38
B#16#C6
Ritorno di apparecchiatura di ampliamento ma errore nella
parametrizzazione delle unità
•
OB86_MDL_ADDR: indirizzo logico di base dell'IM
•
OB86_Z23: contiene un bit per ogni possibile apparecchiatura di
ampliamento:
-
Bit 0: sempre 0
-
Bit 1: apparecchiatura di ampliamento 1:
-
:
-
Bit 21: apparecchiatura di ampliamento 21
-
Bit 22 … 30: riservati
-
Bit 31: sempre 0
Significato di un bit impostato: nell'apparecchiatura di ampliamento
corrispondente
B#16#38
B#16#38
B#16#C7
B#16#C8
-
sono presenti unità con parametri mancanti o errati.
•
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
Ritorno di una stazione DP ma con scostamento tra configurazione
prefissata/attuale
•
B#16#CA
sono presenti unità con identificazione errata
Ritorno di una stazione DP ma errore nella parametrizzazione delle unità
•
B#16#39
-
OB86_MDL_ADDR: indirizzo logico di base del master DP
OB86_Z23: indirizzo dello slave DP corrispondente:
-
Bit 0 … 7: n. della stazione DP
-
Bit 8 … 15: ID sistema master DP
-
Bit 16 … 30: indirizzo logico di base dello slave DP
-
Bit 31: identificazione I/O
Guasto del sistema PROFINET IO
•
OB86_MDL_ADDR: indirizzo logico di base del controller IO
•
OB86_Z23:
-
Bit 0 ... 10: 0 (numero dispositivo)
-
Bit 11 ... 14: ID sistema IO
-
Bit 15: 1
-
Bit 16 ... 31: 0
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
1-45
Blocchi organizzativi
OB86_EV_CLASS
OB86_FLT_ID Significato
B#16#39/38
B#16#CB
Guasto/ritorno della stazione PROFINET IO
•
•
•
B#16#39/38
B#16#CC
•
•
B#16#38
B#16#CD
B#16#CE
B#16#C4: nessun'altra stazione guasta
-
B#16#CF: guasti/anomalie in altre stazioni
OB86_MDL_ADDR: indirizzo logico di base del controller IO
OB86_Z23:
-
Bit 0 ... 10: numero dispositivo
-
Bit 11 ... 14: ID sistema IO
-
Bit 15: 1
-
Bit 16 ... 30: indirizzo logico di base della stazione
-
Bit 31: identificazione I/O
Guasto alla stazione PROFINET IO/eliminazione guasto della stazione
•
B#16#38
OB86_RESERVED_1:
-
OB86_RESERVED_1:
-
B#16#C4: nessun'altra stazione guasta
-
B#16#CF: guasti/anomalie in altre stazioni
OB86_MDL_ADDR: indirizzo logico di base del sistema IO
OB86_Z23:
-
Bit 0 ... 10: numero dispositivo
-
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, configurazione prefissata diversa
da quella attuale
•
OB86_MDL_ADDR: indirizzo di base logico di IO Controller
•
OB86_Z23:
-
Bit 0 ... 10: numero stazione
-
Bit 11 ... 14: ID sistema IO
-
Bit 15: 1
-
Bit 16 ... 30: indirizzo di base logico della stazione
-
Bit 31: identificazione I/O
Ripristino della stazione PROFINET IO, errore di parametrizzazione
dell'unità
•
OB86_MDL_ADDR: indirizzo di base logico di IO Controller
•
OB86_Z23:
-
Bit 0 ... 10: numero stazione
-
Bit 11 ... 14: ID sistema IO
-
Bit 15: 1
-
Bit 16 ... 30: indirizzo di base logico della stazione
-
Bit 31: identificazione I/O
Avvertenza
Se si utilizza una CPU che supporta slave DPV1 o PROFINET, con l'ausilio dell'SFB 54
"RALRM" è possibile ottenere ulteriori informazioni sull'allarme oltre a quelle di avvio
dell'OB. Ciò vale anche quando il master DP viene utilizzato nei modi S7 compatibili.
1-46
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
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, la CPU passa nello 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
Descrizione
OB87_EV_CLASS
BYTE
Classe d'evento e identificazioni B#16#35
OB87_FLT_ID
BYTE
Codice d'identificazione d'errore
(valori possibili: B#16#D2, B#16#D3, B#16#D4, B#16#D5,
B#16#E1, B#16#E2, B#16#E3, B#16#E4, B#16#E5, B#16#E6)
OB87_PRIORITY
BYTE
Classe di priorità; parametrizzabile con STEP 7 (Configurazione
hardware)
OB87_OB_NUMBR
BYTE
Numero di OB (87)
OB87_RESERVED_1 BYTE
Riservato
OB87_RESERVED_2 BYTE
Riservato
OB87_RESERVED_3 WORD
Dipendente dal codice di identificazione errore
OB87_RESERVED_4 DWORD
Dipendente dal codice di identificazione errore
OB87_DATE_TIME
DATE_AND_TIME Data e ora in cui è stato richiamato l'OB
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
1-47
Blocchi organizzativi
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)
B#16#E5:
Errore di accesso a DP per lo scambio dati tramite blocchi
funzionali di comunicazione
OB87_RESERVED_3:
OB87_RESERVED_4:
Riservato per impiego interno della CPU
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
1-48
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
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
Descrizione
OB88_EV_CLASS
BYTE
Classe d’evento e identificazioni: B#16#35
OB88_EW_FLT
BYTE
Codice di errore
valori possibili:
•
B#16#71: profondità di annidamento troppo elevata
del livello di parentesi
•
B#16#72: profondità di annidamento troppo elevata
del master Control Relais
•
B#16#73: Profondità di annidamento troppo elevata
con errori di sincronizzazione
•
B#16#74: Profondità di annidamento troppo elevata
dei richiami dei blocchi (stack U)
•
B#16#75: Profondità di annidamento troppo elevata
dei richiami dei blocchi (stack B)
•
B#16#76: Errore durante la localizzazione dei dati
locali
•
B#16#78: Istruzione sconosciuta
•
B#16#7A:Istruzione di salto al di fuori del blocco
Consultare la lista operazioni della CPU per informazioni
sui codici di errore validi..
OB88_PRIORITY
BYTE
Classe di priorità: 28
OB88_OB_NUMBR
BYTE
Numero OB (88)
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
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
1-49
Blocchi organizzativi
Variabile
Tipo
Descrizione
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
1-50
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
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
L'OB 90 ha la priorità più bassa rispetto a tutti gli altri OB. Esso viene interrotto da ogni
attività di sistema e ogni elaborazione di allarme (anche dall'OB 1 dopo che è trascorso il
tempo ciclo minimo). Una eccezione è costituita dalla elaborazione delle SFC e degli SFB,
che vengono avviati nell'OB 90. Questi vengono elaborati con la priorità dell'OB 1 e perciò
non vengono interrotti dall'esecuzione dell'OB 1. Non avviene alcun controllo del tempo
dell'OB 90.
Il programma utente nell'OB 90 viene elaborato a partire dal primo comando nei seguenti
casi:
•
dopo un nuovo avviamento (avviamento a caldo) o un avviamento a freddo o un
riavviamento
•
dopo il caricamento o la cancellazione di un blocco (con STEP 7)
•
dopo il caricamento dell'OB 90 nella CPU nello stato di funzionamento RUN
•
dopo aver terminato il ciclo di priorità bassa.
Avvertenza
In progettazioni in cui il tempo ciclo minimo ed il tempo di controllo ciclo sono molto vicini,
quando vengono richiamate le SFC e gli SFB è possibile che nell'OB di priorità bassa si
verifichino superamenti imprevisti del tempo ciclo.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
1-51
Blocchi organizzativi
Dati locali degli OB 90
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
Descrizione
OB90_EV_CLASS
BYTE
Classe d'evento e identificazioni B#16#11: attivo
OB90_STRT_INF
BYTE
•
B#16#91: nuovo avviamento (avviamento a caldo)/avviamento
a freddo/riavviamento
•
B#16#92: cancellazione di un blocco
•
B#16#93: caricamento dell'OB 90 nella CPU nello stato RUN
•
B#16#95: conclusione ciclo di sfondo
OB90_PRIORITY
BYTE
Classe di priorità: 29 (corrisponde alla priorità 0.29)
OB90_OB_NUMBR
BYTE
Numero di OB (90)
OB90_RESERVED_1 BYTE
Riservato
OB90_RESERVED_2 BYTE
Riservato
OB90_RESERVED_3 INT
Riservato
OB90_RESERVED_4 INT
Riservato
OB90_RESERVED_5 INT
Riservato
OB_90_DATE_TIME
1-52
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/2
A5E00709342-01
Blocchi organizzativi
1.26
OB di avviamento (OB 100, OB 101 e OB 102)
Tipi di avviamento
Si distingue tra i tipi di avviamento seguenti:
•
Riavviamento (non con S7-300 e S7-400H)
•
Nuovo avviamento (avviamento a caldo).
•
Avviamento a freddo
Dalla tabella seguente si può vedere quale OB viene richiamato dal sistema operativo
all'avviamento.
Tipo di avviamento
Rispettivo OB
Riavviamento
OB 101
Nuovo avviamento (avviamento a caldo)
OB 100
Avviamento a freddo
OB 102
Informazioni più dettagliate sui tipi di avviamento sono riportate nei manuali
"Programmazione con STEP 7" e "Configurazione dell'hardware e progettazione dei
collegamenti con STEP 7" e "Sistema di automazione S7-400H".
Eventi di avvio per l‘avviamento
La CPU esegue un avviamento
•
dopo ALIMENTAZIONE ON
•
se il selettore dei modi operativi viene commutato da STOP a RUN/RUN-P
•
dopo la richiesta tramite una funzione di comunicazione (tramite comando del menù da
PG o tramite richiamo dei blocchi funzionali di comunicazione 19 "START" o 21
"RESUME" su un'altra CPU).
•
mediante sincronizzazione in funzionamento multicomputing
•
in un sistema H dopo l'accoppiamento (solo sulla CPU di riserva)
A seconda dell'evento di avvio della CPU presente o dei suoi parametri registrati viene
richiamato il rispettivo OB di avviamento (OB 100, OB 101 e OB 102). In esso si possono
eseguire le preimpostazioni per il proprio programma ciclico (eccezione: con un sistema H
viene eseguito un avviamento sulla CPU di riserva dopo l'accoppiamento, tuttavia senza il
richiamo di un OB di avviamento.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
1-53
Blocchi organizzativi
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
Descrizione
OB10x_EV_CLASS
BYTE
Classe d'evento e identificazioni: B#16#13: attivo
OB100_STRTUP
BYTE
Richiesta di avviamento:
•
B#16#81: richiesta manuale di nuovo avviamento
(avviamento a caldo)
•
B#16#82: richiesta automatica di nuovo avviamento
•
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)
•
B#16#8C: riserva: richiesta manuale di avviamento
•
B#16#8D: riserva: richiesta manuale di avviamento
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
1-54
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
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)
23 - 16
Tipo di avviamento
appena eseguito
0001 xxxx
Multicomputing (solo S7-400)
0010 xxxx
Funzionamento di più unità centrali nel telaio di montaggio
segmentato (solo S7-400)
xxxx xxx0
Nessuna differenza tra unità di riferimento e unità attuale
(solo S7-300)
xxxx xxx1
Differenza presente tra unità di riferimento e unità attuale
(solo S7-300).
xxxx xx0x
Nessuna differenza tra unità di riferimento e unità attuale
xxxx xx1x
Differenza presente tra unità di riferimento e unità attuale
xxxx x0xx
Nessuna CPU H
xxxx x1xx
CPU H
xxxx 0xxx
Ora per registrazione del tempo non bufferizzata all'ultima
ALIMENTAZIONE ON
xxxx 1xxx
Ora per registrazione del tempo bufferizzata all'ultima
ALIMENTAZIONE ON
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)
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
0001 0100
Nuovo avviamento (avviamento a caldo) tramite manovra
MPI;
ultima ALIMENTAZIONE ON bufferizzata
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
1-55
Blocchi organizzativi
N.
15 - 12
11 - 8
7-0
1-56
Significato
Ammissibilità dei tipi di
avviamento automatico
Ammissibilità dei tipi di
avviamento manuale
Valori
binari
possibili
Spiegazione
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
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
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
N.
Significato
Valori
binari
possibili
Spiegazione
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/2
A5E00709342-01
1-57
Blocchi organizzativi
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
Descrizione
OB121_EV_CLASS
BYTE
Classe d'evento e identificazioni: B#16#25
OB121_SW_FLT
BYTE
Codice d'identificazione d'errore
(valori possibili: B#16#21, B#16#22, B#16#23, B#16#24,
B#16#25, B#16#26, B#16#27, B#16#28, B#16#29, B#16#30,
B#16#31, B#16#32, B#16#33, B#16#34, B#16#35, B#16#3A,
B#16#3C, B#16#3D, B#16#3E, B#16#3F)
OB121_PRIORITY
BYTE
Classe di priorità: classe di priorità dell'OB in cui si è verificato
l'errore
OB121_OB_NUMBR
BYTE
Numero di OB (121)
OB121_BLK_TYPE
BYTE
Tipo di blocco in cui si è verificato l'errore (con S7-300 qui non
viene registrato nessun valore valido): B#16#88: OB, B#16#8A:
DB, B#16#8C: FC, B#16#8E: FB
OB121_RESERVED_1
BYTE
Riservato
OB121_FLT_REG
WORD
Fonte dell'errore (dipendente dal codice di identificazione
d'errore), p. es.:
•
Registro in cui si è verificato l'errore di conversione
•
Indirizzo errato (per errore di lettura/scrittura)
•
Numero errato di temporizzatore, contatore o blocco
•
Area di memoria errata
OB121_BLK_NUM
WORD
Numero del blocco con il comando MC7 che ha causato l'errore
(con S7-300 qui non viene registrato nessun valore valido)
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
1-58
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
Le variabili dipendenti dal codice di identificazione d'errore hanno il seguente significato:
Codice errore
Significato
B#16#21:
Errore di conversione BCD
OB121_FLT_REG:
Identificazione per il registro interessato (W#16#0000: Akku 1)
B#16#22:
Errore di settore in lettura
B#16#23:
Errore lunghezza settore durante scrittura
B#16#28:
Accesso in lettura a un byte, parola o doppia parola con un puntatore, il cui
indirizzo è diverso da 0
B#16#29:
Accesso in scrittura a un byte, parola o doppia parola con un puntatore il cui
indirizzo di bit è diverso da 0
Indirizzo a byte errato. L'area dati e il tipo di accesso vanno rilevati da
OB121_RESERVED_1.
OB121_RESERVED_1:
Bit da 7 a 4, tipo di accesso:
0: Accesso a bit
1: Accesso a byte,
2: Accesso a parola,
3: Accesso a doppia parola
Bit da 3 a 0, area di memoria:
0: Area di periferia
1: Immagine di processo degli ingressi
2: Immagine di processo delle uscite
3: Merker
4: DB globale
5:DB di istanza
6:Dati locali propri
7:Dati locali del richiamante
B#16#24:
Errore di settore in lettura
B#16#25:
Errore di settore in scrittura
OB121_FLT_REG:
Contiene nel byte basso l'identificazione dell'area non ammessa (B#16#86
area propria dati locali)
B#16#26:
Errore con numero temporizzatore
B#16#27:
Errore con numero contatore
OB121_FLT_REG:
Numero non ammesso
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
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
1-59
Blocchi organizzativi
Codice errore
Significato
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.
Numero DB
OB121_FLT_REG:
B#16#3C:
OB121_FLT_REG:
B#16#3D:
OB121_FLT_REG:
B#16#3E:
OB121_FLT_REG:
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
B#16#3F:
OB121_FLT_REG:
1-60
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Blocchi organizzativi
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
OB122_EV_CLASS
OB122_SW_FLT
BYTE
BYTE
OB122_PRIORITY
OB122_OB_NUMBR
OB122_BLK_TYPE
OB122_MEM_AREA
OB122_MEM_ADDR
OB122_BLK_NUM
OB122_PRG_ADDR
OB122_DATE_TIME
Descrizione
Classe d'evento e identificazioni: B#16#29
Codice di errore:
•
B#16#42: Errore di accesso alla periferia, in lettura.
•
B#16#43: Errore di accesso alla periferia, in scrittura
BYTE
Classe di priorità:
classe di priorità dell'OB in cui si è verificato l'errore
BYTE
Numero di OB (122)
BYTE
Tipo di blocco in cui si è verificato l'errore (B#16#88: OB,
B#16#8C: FC, B#16#8E: FB) (nelle S7-300 qui non viene registrato
un valore valido)
BYTE
Area di memoria e tipo di accesso:
•
Bit da 7 a 4: tipo di accesso:
0: accesso a bit
1: accesso a byte
2: accesso a parola
3: accesso a doppia parola
•
Bit da 3 a 0: area di memoria:
0: settore periferia
1: immagine di processo degli ingressi
2: immagine di processo delle uscite
WORD
Indirizzo di memoria in cui si è verificato l'errore
WORD
Numero del blocco con il comando MC7 che ha causato l'errore (con
S7-300 qui non viene registrato nessun valore valido
WORD
Indirizzo relativo del comando MC7 che ha causato l'errore
(con S7-300 qui non viene registrato nessun valore valido)
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/2
A5E00709342-01
1-61
Blocchi organizzativi
1-62
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
2
Parametri generali relativi alle SFC
2.1
Riconoscimento di errore 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/2
A5E00709342-01
2-1
Parametri generali relativi alle SFC
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.
2-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Parametri generali relativi alle SFC
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/2
A5E00709342-01
2-3
Parametri generali relativi alle SFC
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. L'errore non è stato provocato dall'utente e
non può essere quindi da lui eliminato.
8x01
Identificazione sintassi non ammessa in uno parametro ANY-
8x22
Errore di dimensione nella lettura di un parametro.
8x23
Errore di dimensione nella scrittura di un parametro.
Questo codice indica che il parametro x si trova completamente o parzialmente al di fuori dell'area
di memoria di un operando oppure che la lunghezza di un campo di bit in un parametro ANY non è
divisibile per 8.
8x24
Errore di memoria nella lettura di un parametro.
8x25
Errore di memoria nella scrittura di un parametro.
Questo codice indica che il parametro x si trova in un'area di memoria non permessa alla funzione
di sistema. La descrizione delle singole funzioni riporta le aree di memoria non permesse.
8x26
Il parametro contiene un numero di temporizzatore troppo grande.
Questo codice indica che il temporizzatore, dato nel parametro x, non è presente.
8x27
Il parametro contiene un numero di contatore troppo grande (errore numero contatore).
Questo codice indica che il contatore, dato nel parametro x, non è presente.
8x28
Errore di riferimento nella lettura di un parametro.
8x29
Errore di riferimento nella scrittura di un parametro.
Questo codice indica che il parametro x punta ad un operando, il cui indirizzo a bit è diverso da 0.
8x30
Il parametro si trova nel DB globale, protetto in scrittura.
8x31
Il parametro si trova nel DB di istanza, protetto in scrittura
Questo codice indica che il parametro x si trova in un blocco dati protetto in scrittura. Se il blocco
dati era stato aperto dalla funzione di sistema stessa, essa fornisce sempre il valore W#16#8x30.
8x32
Il parametro contiene un numero di DB troppo grande (errore numero DB).
8x34
Il parametro contiene un numero di FC troppo grande (errore numero FC).
8x35
Il parametro contiene un numero di FB troppo grande (errore numero FB).
Questo codice indica che il parametro x contiene un numero di blocco maggiore del massimo
numero di blocco ammesso.
8x3A
Il parametro contiene il numero di un DB che non è stato caricato.
8x3C
Il parametro contiene il numero di una FC che non è stato caricata.
8x3E
Il parametro contiene il numero di un FB che non è stato caricato.
8x42
È avvenuto un errore di accesso, mentre il sistema voleva leggere un'area della periferia degli
ingressi.
8x43
È avvenuto un errore di accesso, mentre il sistema voleva scrivere un'area della periferia delle
uscite.
8x44
Errore all'ennesimo (N > 1) accesso di lettura dopo che si è presentato un errore.
8x45
Errore all'ennesimo (N > 1) accesso di scrittura dopo che si è presentato un errore.
Questo codice indica che viene rifiutato l'accesso al parametro desiderato.
2-4
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Parametri generali relativi alle SFC
2.2
Significato dei parametri REQ, RET_VAL e BUSY nelle
SFC che lavorano in modo asincrono
SFC che lavorano in modo asincrono
Le SFC che lavorano in modo asincrono sono SFC in cui l'esecuzione della funzione può
essere allargata a più richiami delle SFC.
Le seguenti SFC vengono eseguite, generalmente o a determinate condizioni in modo
asincrono:
•
SFC 7 "DP_PRAL"
•
SFC 11 "DPSYC_FR"
•
SFC 12 "D_ACT_DP"
•
SFC 13 "DPNRM_DG"
•
SFC 51 "RDSYSST"
•
SFC 55 "WR_PARM"
•
SFC 56 "WR_DPARM"
•
SFC 57 "PARM_MOD"
•
SFC 58 "WR_REC"
•
SFC 59 "RD_REC"
•
SFC 65 "X_SEND"
•
SFC 67 "X_GET"
•
SFC 68 "X_PUT"
•
SFC 69 "X_ABORT"
•
SFC 72 "I_GET"
•
SFC 73 "I_PUT"
•
SFC 74 "I_ABORT"
•
SFC 82 "CREA_DBL"
•
SFC 83 "READ_DBL"
•
SFC 84 "WRIT_DBL"
•
SFC 90 "H_CTRL"
•
SFC 102 "RD_DPARA"
•
SFC 103 "DP_TOPOL"
•
SFC 114 "PN_DP"
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
2-5
Parametri generali relativi alle SFC
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"
-
Parametro di ingresso REQ
Il parametro di ingresso REQ (request) serve esclusivamente all'avviamento del job:
2-6
•
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).
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Parametri generali relativi alle SFC
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 Riconoscimento di errore 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.
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.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
2-7
Parametri generali relativi alle SFC
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
2-8
0
0
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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 10
MW 12
A
C
B
D
MW 14
E
F
MW 16
G
H
Area di memoria
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
3-1
Funzioni di copiatura e di blocco
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
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.
Avvertenza
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 ricopiati tanti dati
quanti ne sono contenuti nell'area sorgente.
Se l'area di destinazione indicata (parametro DSTBLK) è inferiore all'area sorgente
(parametro SRCBLK), vengono ricopiati tanti dati quanti ne può contenerne l'area di
destinazione.
Se lo spazio effettivamente dispnibile nell’area di destinazione o in quella sorgente è
inferiore rispetto a quello dell‘area di memoria parametrizzata per l’area sorgente o per
quella di destinazione (parametri SRCBLK, DSTBLK), la trasmissione dati non avrà luogo.
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.
I parametri sorgente o di destinazione (o entrambi) possono essere a loro volta del tipo
STRING. Se la sorgente è una stringa, vengono copiati al massimo i caratteri attualmente
contenuti nella stringa. Se sorgente e destinazione sono rispettivamente una stringa, la
lunghezza attuale viene impostata sul numero dei caratteri copiati.
Se si intende copiare una stringa comprendente la lunghezza massima e quella effettiva,
procedere come indicato nel seguito: configurare personalmente i puntatori ANY da indicare
nei parametri SRCBLK e DSTBLK. Utilizzare il tipo di dati BYTE.
Particolarità: Se un blocco dati non rilevante per l'esecuzione del programma viene copiato
con l'SFC 20 BLKMOV nella memoria di lavoro e contemporaneamente ricaricato p. es.
mediante PG , l'SFC può essere ritardata di diversi millisecondi. Ciò causa un allungamento
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.
3-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Funzioni di copiatura e di blocco
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 operabile. Utilizzare la SFC 83.
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/2
A5E00709342-01
3-3
Funzioni di copiatura e di blocco
3.2
Copia della variabile senza interruzioni con la SFC 81
"UBLKMOV"
Descrizione
Con la SFC 81 "UBLKMOV" (uninterruptable block move) viene copiato il contenuto di
un'area di memoria (= area sorgente) in modo coerente in un'altra area di memoria (= area
di destinazione). La procedura di copia non può essere interrotta da altre attività del sistema
operativo.
Con la SFC 81 "UBLKMOV" è possibile copiare tutte le aree di memoria eccetto:
•
i blocchi seguenti: FB, SFB, FC, SFC, OB, SDB
•
contatori
•
temporizzatori
•
aree di memoria dell'area della periferia
•
blocchi dati non rilevanti per l'esecuzione.
La quantità max. di dati che si può copiare ammonta a 512 byte.
Osservare le limitazioni specifiche della CPU chesi possono p. es. prendere dall'elenco delle
operazioni.
Possibilità di interruzione, tempo di reazione all'allarme
La procedura di copia non può essere interrotta. Si deve quindi tenere presente che il tempo
di reazione all'allarme della propria CPU può aumentare se si utilizza la SFC 81
"UBLKMOV".
Parametri
Dichiarazione
Tipo
Area di memoria
Descrizione
SRCBLK
INPUT
ANY
E, A, M, D, L
RET_VAL
OUTPUT
INT
E, A, M, D, L
DSTBLK
OUTPUT
ANY
E, A, M, D, L
Definizione dell'area di memoria che deve
essere copiata (area sorgente). Arrays del tipo
STRING non sono ammessi.
Se si verifica un errore durante l'elaborazione
della funzione, il valore di ritorno contiene un
codice di identificazione dell'errore.
Definizione dell'area di memoria in cui deve
essere copiato (area di destinazione). Arrays del
tipo STRING non sono ammessi.
3-4
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Funzioni di copiatura e di blocco
Avvertenza
L'area sorgente e quella di destinazione non devono sovrapporsi. Se l'area di destinazione
indicata è superiore all'area sorgente, nell'area di destinazione vengono copiati tutti i dati
presenti nell'area sorgente.
Se l'area di destinazione indicata è inferiore all'area sorgente verranno copiati soltanto tanti
dati, quanti è in grado di contenerne l'area di destinazione.
Se lo spazio effettivamente dispnibile nell’area di destinazione o in quella sorgente è
inferiore rispetto a quello dell‘area di memoria parametrizzata per l’area sorgente o per
quella di destinazione (parametri SRCBLK, DSTBLK), la trasmissione dati non avrà luogo
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/2
A5E00709342-01
3-5
Funzioni di copiatura e di blocco
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.
Avvertenza
L'area sorgente e quella di destinazione non devono sovrapporsi.
Anche se l'area da inizializzare non è un multiplo intero della lunghezza del parametro di
ingresso BVAL, essa viene comunque aggiornata fino all'ultimo byte.
Se l'area da inizializzare è più inferiore all'area sorgente, verranno copiati tanti dati, quanti è
in grado di contenerne l'area di destinazione.
Se lo spazio effettivamente dispnibile nell’area di destinazione o in quella sorgente è
inferiore rispetto a quello dell‘area di memoria parametrizzata per l’area sorgente o per
quella di destinazione (parametri BVAL, BLK), la trasmissione dati non avrà luogo.
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.
FILL
B
MW 14
A
C
D
MW 16
E
F
MW 18
G
H
MW 20
A
BVAL
BLK
B
MW 100
C
D
MW 102
E
F
MW 104
G
H
MW 106
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.
3-6
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Funzioni di copiatura e di blocco
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.
Il parametro è una struttura
Se viene passata al parametro di ingresso una struttura, occorre considerare la seguente
particolarità:
Lo STEP 7 interpreta la lunghezza di una struttura sempre come un numero pari di byte. Se
la struttura viene dichiarata con un numero dispari di byte, tale struttura necessita allora di
un byte di memoria supplementare.
Esempio
La struttura è dichiarata nel modo seguente:
TYP_5_BYTE_STRUTTURA : STRUCT
BYTE_1_2 : WORD
BYTE_3_4 : WORD
BYTE_5 : BYTE
END_STRUCT
La struttura dichiarata "TYP_5_BYTE_STRUTTURA" necessita di 6 byte di memoria.
Informazioni di errore
La SFC 21 "FILL" non fornisce informazioni specifiche sugli errori ma soltanto generali.
Vedere Analisi degli errori con il parametro di uscita RET_VAL.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
3-7
Funzioni di copiatura e di blocco
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.
3-8
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Funzioni di copiatura e di blocco
Informazioni di errore
Codice di
errore
(W#16#...)
Significato
0000
Nessun errore
8091
La SFC 22 è stata richiamata annidata.
8092
La funzione "Creazione di blocchi dati" non è eseguibile al momento perché
•
80A1
80A2
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
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/2
A5E00709342-01
3-9
Funzioni di copiatura e di blocco
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 ...
allora, con la SFC 23 ...
è stato creato con il richiamo della SFC 22
"CREAT_DB"
è possibile cancellarlo.
è stato trasferito con STEP 7 alla CPU e non è stato
creato con la parola chiave UNLINKED
è possibile cancellarlo.
è memorizzato sulla flashcard
non è possibile cancellarlo.
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
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
3-10
Descrizione
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Funzioni di copiatura e di blocco
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
80A1
La funzione "Cancellazione di un DB" non è eseguibile al momento perché
•
la funzione "Compressione della memoria utente" è attiva
•
l'utente sta copiando il DB da cancellare dalla CPU in un progetto offline
•
la CPU H è in fase di accoppiamento o aggiornamento
•
la CPU del software WinAC ha rilevato un errore nel sistema operativo del computer sul
quale è stato installato WinAC
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 CPU.
80B2
Il DB con il numero indicato è stato creato con la parola chiave UNLINKED.
80B3
Il DB si trova sulla flashcard.
80B4
Il DB non è stato cancellato perché
•
fa parte di un programma F
•
è un DB di istanza di un blocco dati della comunicazione S7 (solo per S7-400)
•
è un DB tecnologico.
80C1
La funzione "Cancellazione di un DB" non è attualmente eseguibile per mancanza di risorse.
8xyy
Informazione generale di errore, vedere Analisi degli errori con il parametro di uscita
RET_VAL
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
3-11
Funzioni di copiatura e di blocco
3.6
Test di un blocco dati con la SFC 24 "TEST_DB"
Descrizione
Con la SFC 24 "TEST_DB" (test data block) si ottengono informazioni su un blocco dati
presente nella memoria di lavoro della CPU. La SFC rileva il numero dei byte di dati per il
DB selezionato e verifica se il DB è protetto in scrittura.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
DB_NUMBER
INPUT
WORD
E, A, M, D, L, cost.
Numero del DB da verificare
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazione di errore
DB_LENTH
OUTPUT
WORD
E, A, M, D, L
Numero dei byte di dati contenuti nel DB
selezionato.
WRITE_PROT
OUTPUT
BOOL
E, A, M, D, L
Informazione sulla protezione da scrittura del
DB selezionato (1 significa protetto in
scrittura).
Informazioni di errore
Codice di
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
3-12
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Funzioni di copiatura e di blocco
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.
Avvertenza
I blocchi con una lunghezza superiore a 1000 byte non vengono spostati dalla SFC 25
"COMPRESS". Per questo motivo, dopo la compressione possono formarsi spazi vuoti nella
memoria di lavoro.
Parametri
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazione di errore
BUSY
OUTPUT
BOOL
E, A, M, D, L
Informazione se la compressione è attiva a
causa della SFC 25
(1 = attiva)
DONE
OUTPUT
BOOL
E, A, M, D, L
Informazione se l'operazione di compressione
avviata mediante la SFC 25 si è conclusa con
successo
(1 = conclusa con successo)
Controllo sull'operazione di compressione
L'operazione di compressione viene avviata mediante un unico richiamo della SFC 25
"COMPRESS"; tuttavia, non è possibile verificare se la compressione è stata eseguita in
modo corretto.
Se si desidera esercitare questa funzione di controllo, è necessario procedere come segue:
La SFC 25 deve essere richiamata in modo ciclico. Dopo ogni richiamo, dapprima deve
essere valutato il parametro RET_VAL. Se questo ha il valore 0, devono essere valutati i
parametri BUSY e DONE. Se BUSY = 1 e DONE = 0, vuol dire che l'operazione di
compressione è ancora attiva. Solo dopo che BUSY ha assunto il valore 0 e DONE il valore
1, significa che l'operazione di compressione è stata portata a termine con successo. Se, a
questo punto, la SFC 25 viene richiamata di nuovo, si avvia un'ulteriore compressione.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
3-13
Funzioni di copiatura e di blocco
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
3-14
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/2
A5E00709342-01
Funzioni di copiatura e di blocco
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
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/2
A5E00709342-01
3-15
Funzioni di copiatura e di blocco
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.
3-16
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Funzioni di copiatura e di blocco
Procedimento
La SFC 82 "CREA_DBL" è una SFC che lavora in modo asincrono, vale a dire che
l'elaborazione si estende per più richiami di SFC. Per avviare il job, richiamare la SFC 82
con REQ = 1.
Con i parametri di uscita RET_VAL e BUSY viene visualizzato lo stato del job.
Vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in
modo asincrono.
Parametri
Dichiarazione
Tipo
Area di memoria Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
REQ = 1: richiesta di creazione del DB
LOW_LIMIT
INPUT
WORD
E, A, M, D, L
Limite inferiore dell'area dalla quale la
SFC assegna un numero al DB dell'utente
UP_LIMIT
INPUT
WORD
E, A, M, D, L
Limite superiore dell'area dalla quale la
SFC assegna un numero al DB dell'utente
COUNT
INPUT
WORD
E, A, M, D, L
Il valore di conteggio indica il numero di byte
che si vogliono riservare per il blocco dati. In
questo caso occorre assegnare un numero
pari di byte
ATTRIB
INPUT
BYTE
E, A, M, D, L
Proprietà del DB:
Bit 0 = 1: UNLINKED:
il DB è solo nella memoria di
caricamento.
Bit 1 = 1: READ_ONLY:
il DB è protetto in scrittura.
Bit 2 = 1: NON_RETAIN:
il DB non è rimanente.
Bit 3 - 7: riservato
SRCBLK
INPUT
ANY
D
Puntatore sul blocco dati con i cui valori viene
inizializzato il blocco dati da creare
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazione di errore
BUSY
OUTPUT
BOOL
E, A, M, D, L
BUSY = 1: l'operazione non è ancora
terminata.
DB_NUM
OUTPUT
WORD
E, A, M, D, L
Numero del DB creato
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
3-17
Funzioni di copiatura e di blocco
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
La funzione "Crea DB" non è momentaneamente eseguibile perché
•
la funzione "Comprimi la memoria utente" è attiva
•
il numero max. di blocchi della CPU è stato raggiunto
8093
Nel parametro SRCBLK non è indicato un blocco dati/è indicato un blocco dati che non
esiste nella memoria di lavoro
8094
Nel parametro ATTRIB è stato specificato un attributo non ancora supportato.
80A1
Errore nel numero del DB:
80A2
•
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
80B1
Non vi sono numeri di DB liberi
80B2
Memoria di lavoro insufficiente
80BB
Memoria di caricamento insufficiente
80C0
La destinazione viene attualmente elaborata da un'altra SFC o da una funzione di
comunicazione.
80C3
Al momento è già stato raggiunto il numero max. di SFC 82 attive contemporaneamente.
8xyy
Codice di errore generale, p. es.:
•
DB sorgente inesistente o esistente solo come variante copiata
•
Area sorgente non disponibile nel DB
Vedere Analisi degli errori con il parametro di uscita RET_VAL
3-18
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Funzioni di copiatura e di blocco
3.10
Lettura di un blocco dati nella memoria di caricamento con
la SFC 83 "READ_DBL"
Descrizione
Con la SFC 83 "READ_DBL" (read data block in load memory) è possibile copiare un DB o
una parte di un DB contenuto nella memoria di caricamento (Micro Memory Card) nell'area
dati di un DB di destinazione. Il DB di destinazione deve essere rilevante per l'esecuzione,
vale a dire che non deve essere stato creato con l'attributo UNLINKED. Il contenuto della
memoria di caricamento non viene modificato dall'operazione di copia.
Per garantire la coerenza dei dati, non è consentito modificare l'area di destinazione nel
corso dell'elaborazione della SFC 83 (vale a dire finché il parametro BUSY ha il valore
TRUE).
Per i parametri SRCBLK (source block) e DSTBLK (destination block) valgono le seguenti
limitazioni:
•
Con un puntatore ANY del tipo BOOL, la lunghezza deve essere divisibile per 8.
•
Con un puntatore ANY del tipo STRING, la lunghezza deve essere uguale a 1.
La lunghezza del DB sorgente può essere eventualmente determinata con la SFC 24
"TEST_DB".
Avvertenza
La SFC 83 viene elaborata in modo asincrono e non è adatta pertanto alla lettura frequente
(ciclica) di variabili nella memoria di caricamento.
Avvertenza
Una volta avviato, un job viene sempre portato a termine. Se si raggiunge il numero
massimo di SFC 83 attive contemporaneamente e si richiama allo stesso tempo la SFC 83
in una classe di priorità maggiore, viene emesso il codice di errore W#16#80C3. Non è
perciò opportuno riavviare immediatamente il job con la priorità maggiore.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
3-19
Funzioni di copiatura e di blocco
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
3-20
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Funzioni di copiatura e di blocco
3.11
Scrittura di un blocco dati nella memoria di caricamento
con la SFC 84 "WRIT_DBL"
Descrizione
Con la SFC 84 "WRIT_DBL" (write data block in load memory) è possibile trasferire il
contenuto di un DB o di un'area di un DB dalla memoria di lavoro in un DB o un'area di un
DB nella memoria di caricamento (Micro Memory Card). Il DB sorgente deve essere
rilevante per l'esecuzione, vale a dire che non deve essere stato creato con l'attributo
UNLINKED. Esso può tuttavia essere stato creato con la SFC 22 "CREAT_DB".
Per garantire la coerenza dei dati, non è consentito modificare l'area sorgente nel corso
dell'elaborazione della SFC 84 (vale a dire finché il parametro BUSY ha il valore TRUE)..
Per i parametri SRCBLK (soruce block) e DSTBLK (destination block) valgono le seguenti
limitazioni:
•
Con un puntatore ANY del tipo BOOL, la lunghezza deve essere divisibile per 8.
•
Con un puntatore ANY del tipo STRING, la lunghezza deve essere uguale a 1.
La lunghezza del DB di destinazione può essere eventualmente determinata con la SFC 24
"TEST_DB".
La SFC 84 non modifica la somma di controllo del programma utente quando si scrive un DB
creato tramite SFC. Se si tratta di un DB caricato, invece, la prima scrittura nel DB modifica
la somma di controllo del programma utente.
Avvertenza
La SFC 84 non è adatta alla scrittura frequente (ciclica) di variabili nella memoria di
caricamento poiché la tecnologia della Micro Memory Card consente solamente un numero
limitato di accessi in scrittura. Vedere il manuale di riferimento "Sistemi di automazione
SIMATIC S7-300, Configurazione e dati della CPU: CPU 31xC e CPU 31x".
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
3-21
Funzioni di copiatura e di blocco
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
3-22
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Funzioni di copiatura e di blocco
3.12
Creazione di un blocco dati con la SFC 85 "CREA_DB"
Descrizione
Con la SFC 85 "CREA_DB" (create data block) è possibile creare nel programma utente un
blocco dati che non contiene valori preimpostati bensì dati casuali. La SFC crea un blocco
dati con un numero ripreso da un'area indicata e con dimensioni predefinite. Dall'area
indicata, la SFC assegna al DB il numero più basso possibile. Per creare un DB con un
determinato numero occorre assegnare lo stesso numero al limite inferiore e al limite
superiore dell'area da predefinire. I numeri dei DB già contenuti nel programma utente non
sono più assegnabili. La lunghezza del DB deve essere indicata con un numero pari.
A seconda del parametro ATTRIB scelto, il DB creato ha la proprietà RETAIN oppure
NON_RETAIN:
•
RETAIN (= a ritenzione) significa che il DB viene creato nell'area a ritenzione della
memoria di lavoro. In questo caso perciò i valori attuali del DB vengono mantenuti anche
in caso di RETE OFF/ON e in seguito a qualunque nuovo avviamento (a caldo).
•
NON_RETAIN (= non a ritenzione) significa che il DB viene creato nell'area non a
ritenzione della memoria di lavoro. In questo caso perciò i valori attuali del DB saranno
indefiniti in caso di RETE OFF/ON e in seguito a qualunque nuovo avviamento (a caldo).
Se nella memoria di lavoro non esiste una suddivisione tra area a ritenzione e non, il
parametro ATTRIB viene ignorato e quindi i valori del DB vengono mantenuti in seguito a
qualunque passaggio RETE OFF/ON e a qualunque nuovo avviamento (a caldo).
Interruzione della funzione
La SFC 85 "CREA_DB" può essere interrotta soltanto da OB con priorità maggiore. Se
d'altra parte in un OB con priorità maggiore viene richiamata una SFC 85 "CREA_DB", il
richiamo viene respinto con il codice di errore W#16#8091.
Parametri
Dichiarazione
Tipo di
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 dei numeri che si possono
assegnare al blocco dati.
COUNT
INPUT
WORD
E, A, M, D, L, cost.
Il valore di conteggio indica il numero dei
byte di dati che si desidera riservare per il
blocco dati. Qui è necessario indicare un
numero pari di byte (max. 65534).
ATTRIB
INPUT
BYTE
E, A, M, D, L, cost.
Attributi DB:
•
B#16#00: RETAIN
•
B#16#04: NON_RETAIN
RET_VAL
OUTPUT
INT
E, A, M, D, L
Se nel corso dell'elaborazione della
funzione si verifica un errore, il valore di
ritorno contiene un codice di errore.
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.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
3-23
Funzioni di copiatura e di blocco
Informazioni di errore
Codice errore
(W#16#...)
Desrcizione
0000
Nessun errore
8091
È stata richiamata la SFC 85 annidata.
8092
La funzione "Crea DB" non è momentaneamente eseguibile perché
•
la funzione "Comprimi la memoria utente" è attiva
•
la CPU software WinAC ha rilevato un errore nel sistema operativo del computer sul
quale è installato WinAC.
8094
Valore non consentito in ATTRIB
80A1
Errore nel numero del DB:
80A2
•
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
3-24
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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/2
A5E00709342-01
4-1
SFC per il controllo del programma
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.
4-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per il controllo del programma
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/2
A5E00709342-01
4-3
SFC per il controllo del programma
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.
•
E’ 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 massimo del tempo di sincronizzazione CiR in
ms
Campo di valori ammesso: 200 ... 2500 ms (valore di
default: 1000 ms)
Avvertenza: FRZ_TIME rilevante solo in 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
4-4
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/2
A5E00709342-01
SFC per il controllo del programma
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/2
A5E00709342-01
4-5
SFC per il controllo del programma
4-6
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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.
E’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/2
A5E00709342-01
5-1
SFC per la gestione dell'orologio
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
5-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per la gestione dell'orologio
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/2
A5E00709342-01
5-3
SFC per la gestione dell'orologio
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#...)
01
Significato
Impostazione dell'orologio
Il richiamo della SFC corrisponde a quello della SFC 0 "SET_CLK".
I parametri di ingresso CORR, SUMMER e ANN_1 non vengono analizzati.
02
Impostazione dello stato dell'orologio
Il parametro di ingresso PDT non viene analizzato. Dai restanti parametri di ingresso vengono
formati i seguenti elementi dello stato dell'orologio:
•
Valore di correzione, incluso il segno +/-
•
Ora di preavviso
•
Indicazione dell'ora solare/legale
La risoluzione dell'orologio viene impostata compatibilmente con quella della CPU. Il bit di
mancanza di sincronismo dello stato dell'orologio viene indicato con FALSE.
L'ora resta invariata.
03
Impostazione dell'orologio e del relativo stato
Avvertenza
Lo stato dell'orologio della propria CPU può essere determinato leggendo l'ID SZL
W#16#0132 indice W#16#0008 con la SFC 51 "RDSYSST".
5-4
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per la gestione dell'orologio
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/2
A5E00709342-01
5-5
SFC per la gestione dell'orologio
5-6
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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 und 4 possono essere utilizzate anche per contatori del tempo di esercizio a
32 bit. In questo caso tuttavia i contatori del tempo di esercizio si comportano come
contatori a 16 bit (campo di validità da 0 a 32767 ore).
Vedi anche Set di dati dell'estratto della lista parziale con ID SZL W#16#0132 Indice
W#16#000B.
Uso
Un contatore può essere usato per le applicazioni più disparate:
•
calcolo della durata di esercizio della CPU
•
calcolo della durata di esercizio delle apparecchiature di controllo.
Caratteristiche del contatore
Con il comando di start il contatore comincia sempre a contare a partire dal valore raggiunto
per ultimo. Se si intende cominciare il conteggio da un altro valore, tale valore deve essere
esplicitamente assegnato (SFC 2 o SFC 101 con MODE=4). Se la CPU va in STOP o se
l'utente arresta il contatore, la CPU "registra" il valore attuale. In caso di nuovo avviamento
(avviamento a caldo) e avviamento a freddo della CPU il contatore deve essere di nuovo
avviato (SFC 3 o SFC 101 con MODE=1).
Campo di validità
•
CPU con contatori del tempo di esercizio a 16 bit: da 0 a 32 767 ore
•
CPU con contatori del tempo di esercizio a 32 bit: da 0 a (2 elevato a 31esima potenza)
-1 ora= 2 147 483 647 ore
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
6-1
SFC per la gestione del contatore del tempo di esercizio
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
(valori possibili: da 0 a 15)
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
6-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per la gestione del contatore del tempo di esercizio
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#...)
0000
Nessun errore
8080
Numero del contatore del tempo di esercizio errato
8081
E’ 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/2
A5E00709342-01
6-3
SFC per la gestione del contatore del tempo di esercizio
6.3
Impostazione del contatore con la SFC 2 "SET_RTM"
Descrizione
Con la SFC 2 "SET_RTM" (set run-time meter) si setta un contatore della CPU ad un valore
predefinito. Il numero dei contatori regolabili è specifico per la particolare CPU.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
NR
INPUT
BYTE
E, A, M, D, L, cost.
L'ingresso NR contiene il numero del contatore
che si vuole regolare. Valori possibili: da 0 a 7.
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
6-4
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per la gestione del contatore del tempo di esercizio
6.4
Avvio e arresto del contatore con la SFC 3 "CTRL_RTM"
Descrizione
Con la SFC 3 "CTRL_RTM" (control run-time meter) si avvia e si arresta un contatore del
tempo di esercizio.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
NR
INPUT
BYTE
E, A, M, D, L, cost.
L'ingresso NR contiene il numero del contatore,
che si vuole avviare o fermare. Valori possibili: da
0 a 7.
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#...)
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/2
A5E00709342-01
6-5
SFC per la gestione del contatore del tempo di esercizio
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
BYTE
E, A, M, D, L, cost.
L'ingresso NR contiene il numero del contatore,
che si vuole avviare o fermare. Valori possibili: da
0 a 7.
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.
INPUT
Informazioni di errore
Codice di
errore
Spiegazione
(W#16#...)
0000
Nessun errore
8080
Errato numero di 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
6-6
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per la gestione del contatore del tempo di esercizio
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 10 ms nell'S7-300 e di 1 ms
nell'S7-400. 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
31
letto, area compresa tra 0 e 2 -1 ms.
TIME
Informazioni di errore
La SFC 64 "TIME_TCK" non fornisce alcuna informazione di errore.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
6-7
SFC per la gestione del contatore del tempo di esercizio
6-8
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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.
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:
56 "WR_DPARM"
da 2 a 14 byte
possibilità
scrittura solo con
S7-400
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"
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
7-1
SFC/SFB per il trasferimento di set di dati
Campo dati di sistema che può essere solo letto
La tabella seguente mostra la struttura del campo dati di sistema. Nella tabella seguente
sono indicate la dimensione massima di un singolo set di dati e le SFC con le quali possono
essere letti i set di dati.
Numero
del set di
dati
Contenuto
Dimensione
0
Dati di diagnostica specifici
dell'unità (determinati allo stesso
modo per tutti i sistemi)
4 byte
Dati di diagnostica specifici del
canale (incl. set di dati 0)
con S7-300: 16 byte
1
Possibilità di lettura con SFC
51 "RDSYSST"
(SZL_ID 00B1H)
59 "RD_REC"
51 "RDSYSST"
con S7-400: da 4 a 220 byte (SZL_ID 00B2H e 00B3H)
59 "RD_REC"
da 2 a 127 Dati utente
ognuno v240 byte
59 "RD_REC"
da 128 a
240
ognuno v240 byte
59 "RD_REC"
Dati di diagnostica
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 /70/ e /101/.
7-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC/SFB per il trasferimento di set di dati
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 STEP 7. 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
Campo di destinazione per il set di dati letto. È
ammesso solo il tipo di dati BYTE.
Informazioni di errore
Vedere Parametrizzazione di unità con la SFC 57 "PARM_MOD".
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
7-3
SFC/SFB per il trasferimento di set di dati
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 STEP 7. Il set di dati letto viene registrato
nell'area di destinazione aperta con il parametro RECORD.
Procedimento
La SFC 102 "RD_DPARA" è una SFC che lavora in modo asincrono, ciò significa che
l'elaborazione comprende più richiami della SFC. Il job viene avviato richiamando la
SFC 102 con REQ = 1.
Con i parametri di uscita RET_VAL e BUSY viene visualizzato lo stato del job.
Vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in
modo asincrono.
Parametri
Dichiarazione
Tipo
Area di
memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
REQ = 1: richiesta di lettura
LADDR
INPUT
WORD
E, A, M, D, L,
cost.
Qualunque indirizzo dell'unità. In caso di unità
delle uscite occorre impostare il bit con il valore
maggiore
RECNUM
INPUT
BYTE
E, A, M, D, L,
cost.
Numero del set di dati (valori ammessi: da 0 a
240)
RET_VAL
OUTPUT
INT
E, A, M, D, L
Se durante l'elaborazione della funzione compare
un errore, il valore di ritorno contiene un codice di
errore.
Se durante la trasmissione non si è verificato
alcun errore, vanno distinti i seguenti casi:
•
RET_VAL contiene la lunghezza in byte del
set di dati effettivamente letto, se l'area di
destinazione è più grande del set letto.
•
RET_VAL contiene il valore 0, se il set di dati
letto è lungo come l'area di destinazione.
BUSY
OUTPUT
BOOL
E, A, M, D, L
BUSY = 1: il job non è ancora concluso.
RECORD
OUTPUT
ANY
E, A, M, D, L
Area di destinazione per il set di dati letto. È
consentito solo il tipo di dati BYTE.
Informazioni di errore
Vedere Parametrizzazione di unità con la SFC 57 "PARM_MOD"
7-4
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC/SFB per il trasferimento di set di dati
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 STEP 7.
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
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.
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/2
A5E00709342-01
7-5
SFC/SFB per il trasferimento di set di dati
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 STEP 7 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".
7-6
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC/SFB per il trasferimento di set di dati
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).
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.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
7-7
SFC/SFB per il trasferimento di set di dati
Informazioni di errore per le SFC 54 "RD_DPARM", SFC 55 "WR_PARM", SFC 56
"WR_DPARM" e SFC 57 "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 con Layer 2, eventualmente errore
dell'interfaccia/dell'hardware nello slave DP
Periferia decentrata 1)
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)
80B1
La lunghezza del set di dati da trasferire è errata.
-
Con SFC54 "RD_DPARM": la lunghezza del campo di destinazione
indirizzato da RECORD non è sufficiente.
80B2
Il posto connettore progettato non è occupato.
1)
80B3
Il tipo reale di unità non è uguale al tipo nominale di unità in SDB1
1)
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à.
-
7-8
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC/SFB per il trasferimento di set di dati
Codice di
errore
(W#16#...)
Spiegazione
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)
Restrizione
-
Non avviene con la SFC 54 "RD_DPARM"
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
7-9
SFC/SFB per il trasferimento di set di dati
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
È ammesso solo il tipo di dati BYTE.
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.
7-10
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC/SFB per il trasferimento di set di dati
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/2
A5E00709342-01
7-11
SFC/SFB per il trasferimento di set di dati
7.8
Lettura di set di dati con la SFC 59 "RD_REC"
Descrizione
Con la SFC 59 "RD_REC" (read record) si legge il set di dati con il numero RECNUM
dall'unità indirizzata. L'operazione di lettura viene avviata occupando il parametro di ingresso
REQ con 1 al richiamo della SFC 59. Se è stato possibile eseguire subito l'operazione di
lettura, la SFC fornisce sul parametro di uscita BUSY il valore 0. Quando BUSY ha valore 1
l'operazione di lettura non è ancora terminata (vedi il capitolo 2.2). Il set di dati letto viene
registrato nel campo di destinazione aperto dal RECORD dopo un trasferimento dati senza
errori.
Se il set di dati, il cui numero è maggiore di uno, viene letto da una FM o da un CP acquistati
prima del febbraio 1997 (di seguito indicati come "unità meno recenti"), la SFC 59 si
comporterà in modo differente rispetto a come si comporta in un'unità nuova. Questo caso
particolare viene trattato nel capitolo "Utilizzo di FM S7-300 e di CP S7-300 precedenti con
numero DS > 1".
Avvertenza
Se si legge un set di dati, il cui numero è maggiore di uno, da una FM o da un altro CP che
sono stati acquistati prima del febbraio 1997, (di seguito definite "unità meno recenti"), la
SFC 59 si comporta in modo diverso rispetto ad una nuova unità. Questo caso particolare
viene trattato nel capitolo "Utilizzo di FM S7-300 e di CP S7-300 meno recenti con numero
DS > 1".
Avvertenza
Se uno slave DPV1 è stato progettato tramite file GSD (GSD dalla rev. 3) e l'interfaccia DP
del master DP è impostata su "Compatibile con S7", nel programma utente non è consentito
leggere set di dati dalle unità degli ingressi e delle uscite con la SFC 59. Il master DP in
questo caso indirizza il posto connettore sbagliato (posto connettore progettato + 3).
Rimedio: reimpostare l'interfaccia del master DP su "DPV1".
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L, cost.
REQ = 1: Richiesta di lettura
IOID
INPUT
BYTE
E, A, M, D, L, cost.
Identificazione dell'area di indirizzamento:
B#16#54 = Ingresso periferia (PE)
B#16#55 = Uscita periferia (PA)
Se si tratta di un'unità mista si deve indicare
l'identificazione di area dell'indirizzo minore. In
caso di indirizzi uguali si deve indicare B#16#54.
LADDR
INPUT
WORD
E, A, M, D, L, cost.
Indirizzo logico dell'unità. In caso di unità mista si
deve indicare l'indirizzo minore tra i due indirizzi.
RECNUM
INPUT
BYTE
E, A, M, D, L, cost.
Numero del set di dati (valori ammessi: da 0 a
240)
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.
7-12
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC/SFB per il trasferimento di set di dati
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
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
Campo 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.
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.
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.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
7-13
SFC/SFB per il trasferimento di set di dati
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].
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
•
Periferia decentrata
Errore di protocollo DP con Layerr2
Nell'ET200S la lettura del set di dati in modalità PV0 non è possibille
80A3
7-14
Errore di protocollo DP con user interface/user
Periferia decentrata
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC/SFB per il trasferimento di set di dati
Codice di
errore
(W#16#...)
Spiegazione
Restrizione
80A4
Errore di protocollo bus K con Layer 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 w 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 S7300 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
-
80C0
Con SFC 59 "RD_REC": l'unità porta il set di dati, ma non sono
ancora presenti dati di lettura.
Con SFC 59 "RD_REC" o
con SFC 13
"DPNRM_DG"
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.
-
Codice di
errore
(W#16#...)
Spiegazione
Restrizione
80C4
Errore interno temporaneo. Impossibile eseguire il job.
-
Ripetere il job. Se si verifica spesso questo errore verificare che nella
struttura non vi siano fonti di disturbo.
80C5
Periferia decentrata non disponibile
Periferia decentrata
80C6
Il trasferimento del set di dati è stato interrotto a causa di
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/2
A5E00709342-01
7-15
SFC/SFB per il trasferimento di set di dati
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.
7-16
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC/SFB per il trasferimento di set di dati
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
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
Informazioni di errore
Vedere anche Parametrizzazione di unità con la SFC 57 "PARM_MOD".
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
7-17
SFC/SFB per il trasferimento di set di dati
7-18
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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
Con l'SFB 52 "RDREC" (read record) si può leggere il set di dati con il numero INDEX del
componente indirizzato tramite ID (unità o modulo) di uno slave DP/PROFINET IO Device.
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/2
A5E00709342-01
8-1
SFB DPV1 secondo PNO AK 1131
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 byte 2 e 3 del parametro di uscita STATUS viene
visualizzato lo stato dell’ordine. In questo caso, 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 è 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 del richiamo (byte 2 e 3) o
codice di errore.
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
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
Vedere Allarme ricevuto con l'SFB 54 "RALRM"
8-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFB DPV1 secondo PNO AK 1131
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
Con l'SFB 53 "WRREC" (write record) si può trasmettere il set di dati RECORD al
componente indirizzato tramite ID (unità o modulo) di uno slave DP/PROFINET IO Device.
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/2
A5E00709342-01
8-3
SFB DPV1 secondo PNO AK 1131
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 byte 2 e 3 del parametro di uscita STATUS viene
visualizzato lo stato dell’ordine. In questo caso, 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).
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 del richiamo (byte 2 e 3) o
codice di errore
RECORD
IN_OUT
ANY
E, A, M, D, L
Set di dati
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
Vedere Allarme ricevuto con l'SFB 54 "RALRM"
8-4
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFB DPV1 secondo PNO AK 1131
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.
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
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
8-5
SFB DPV1 secondo PNO AK 1131
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.
8-6
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFB DPV1 secondo PNO AK 1131
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-31)
-
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/2
A5E00709342-01
8-7
SFB DPV1 secondo PNO AK 1131
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 ... 31)
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:
0
decentrato: •
Bit 0 ... 3:
Tipo di slave
•
Bit 4 ... 7:
Tipo di profilo
Bit 0 ... 3:
Tipo di
informazione di
allarme
centrale:
•
BYTE
centrale:
DP
DPS7
DPS7 V1
DPV1
riservato
PROFINET IO
riservato
riservato
0
decentrato: •
24
0000:
0001:
0010:
0011:
0100:
0111:
1000:
da 1001:
Bit 4 ... 7:
Versione della
struttura
0000:
Trasparente, per PROFINET
IO è sempre così
(l'allarme proviene da
un'unità decentrata
progettata)
0001:
Sostituto
(l'allarme proviene da uno
slave non DPV1/da un
dispositivo non IO Device o
da un posto connettore non
progettato)
0010:
Creato
(allarme generato nella CPU)
ab 0011:
riservato
0000:
Iniziale
da 0001:
riservato
0
decentrato: Flag dell'interfaccia master PROFIBUS DP/PROFINET IO Controller
8-8
•
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 p PROFIBUS DP)
•
Bit 1 ... 7:
riservato
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFB DPV1 secondo PNO AK 1131
N. byte
TINFO
Tipo di
dati
Significato
25
BYTE
centrale:
0
decentrato: Flag dell'interfaccia slave PROFIBUS DP
•
Bit 0:
EXT_DIAG_FLAG dal telegramma di diagnostica o 0 se
questo bit non è disponibile nell'allarme.
•
Bit 1 ... 7:
riservato
Il bit è 1 se lo slave DP è guasto.
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
configurazione centrale
N. byte
TINFO
26 e 27
Tipo di dati
Significato
WORD
centrale:
0
WORD
decentrato:
Numero ID PROFIBUS come identificazione univoca dello slave
PROFIBUS DP
Qui si conclude l'informazione dell'amministrazione dell'area di destinazione TINFO con
PROFIBUS e configurazione centrale.
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 e29
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]
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
8-9
SFB DPV1 secondo PNO AK 1131
Struttura dell'informazione dell'intestazione con allarmi PROFIBUS DP o periferia
centrale
Byte
Tipo di dati
Significato
0
BYTE
Lunghezza in byte dell'informazione di allarme ricevuta
1
BYTE
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
2
BYTE
Posto connettore del componente causa dell'errore
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]
Nota: l'informazione supplementare dell'allarme può essere tralasciata.
8-10
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFB DPV1 secondo PNO AK 1131
Struttura dell'informazione dell'intestazione di allarmi con PROFINET IO
Byte
Tipo di dati
Significato
0e1
WORD
•
Bit da 0 a 7: tipo di blocco
•
Bit da 8 a 15: riservato
2e3
WORD
4e5
WORD
6e7
WORD
Lunghezza del blocco
Versione:
•
Dai bit 0 a 7: low byte
•
Dai bit 8 a 15: high byte
ID del tipo di allarme:
•
1: Allarme di diagnostica (in arrivo)
•
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: Controllato dal Supervisor (Controlled_by_Supervisor)
•
9: Abilitato dal Supervisor (Released_by_Supervisor)
•
10: Non è inserita l'unità progettata
•
11: Ritorno del sotto-modulo
•
13 ... 31: Riservato
•
32 ...127: Allarme produttore
•
128 ... 65535: Riservato
8 ... 11
DWORD
API (Application Process Identifier)
12 ...13
WORD
ID del posto connettore del componente che ha generato l'allarme (campo di
valori 0 ... 65535)
14...15
WORD
ID del posto connettore del sottomodulo del componente che ha generato
l'allarme (campo di valori 0 ... 65535)
16...19
DWORD
ID del modulo; informazione univoca della sorgente di allarme
20...23
DWORD
ID del sottomodulo; informazione univoca della sorgente di allarme
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
8-11
SFB DPV1 secondo PNO AK 1131
Byte
Tipo di dati
Significato
24...25
WORD
Alarm Specifier:
•
Bit 0 ... 10: numero di sequenza (campo di valori 0 ... 2047)
•
Bit 11: diagnostica di canale:
0: diagnostica di canale non disponibile
1: diagnostica di canale disponibile
•
Bit 12: stato della diagnostica del costruttore:
0: nessuna informazione di stato del costruttore disponibile
1: informazione di stato del costruttore disponibile
•
Bit 13: Stato della diagnostica nel sottomodulo:
0: nessuna informazione di stato disponibile, tutti gli errori sono stati
eliminati
1: è disponibile almeno una diagnostica di canale e/o informazione di
stato
•
Bit 14: riservato
•
Bit 15: Application Relationship Diagnosis State:
-
0: nessuna unità progettata nell'ambito di questa AR emette
segnalazioni di diagnostica
-
1: almeno un'unità progettata nell'ambito di questa AR emette
segnalazioni di diagnostica
Struttura dell'informazione supplementare dell'allarme con PROFINET IO, caso 1
In PROFINET IO l'informazione supplementare dell'allarme è in funzione dell'ID del formato.
L'IO Device utilizza l'ID del formato W#16#0000 bis W#16#7FFF per trasmettere
informazioni 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
8-12
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFB DPV1 secondo PNO AK 1131
Struttura dell'informazione supplementare dell'allarme con PROFINET IO, caso 2
In PROFINET IO l'informazione supplementare dell'allarme è in funzione dell'ID del formato.
L'IO Device utilizza l'ID del formato W#16#8000.per trasmettere 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
2 ... 3
WORD
Numero di canale del componente che ha attivato l'allarme (campo di valori 0 ...
65535):
W#16#8000: diagnostica di canale
4
BYTE
•
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
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/2
A5E00709342-01
8-13
SFB DPV1 secondo PNO AK 1131
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 dei dati di diagnostica del rispettivo dispositivo
Nota
La parte che si estende da "Numero di canale" a "Tipo di errore" può presentarsi da 0 a n
volte.
8-14
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFB DPV1 secondo PNO AK 1131
Struttura dell'informazione supplementare dell'allarme con PROFINET IO, caso 3
In PROFINET IO l'informazione supplementare dell'allarme è in funzione dell'ID del formato.
Qualora dovessero essere trasmessi tipi diversi di informazioni di diagnostica, l'IO Device
utilizza l'ID del formato W#16#8001 (MULTIPLE).
In questo caso l'informazione supplementare di allarme viene emessa in una struttura a
blocchi di lunghezze variabili.
Byte
Tipo di dati
Significato
0 ... 1
WORD
ID del formato per la struttura dei dati dell'informazione supplementare di allarme
2 ... 3
WORD
Tipo di blocco
4 ... 5
WORD
Lunghezza del blocco
6
BYTE
Versione: high byte
7
BYTE
Versione: low byte
8 ... 9
WORD
ID del posto connettore
10 ... 11
WORD
ID del posto connettore subordinato
12 ... 13
WORD
Numero di canale
14 ... 15
WORD
Proprietà del canale
16 ... 17
WORD
ID del formato
W#16#8001: diagnostica del costruttore e /o del canale
18 ... n
BYTE
•
W#16#0000 ... W#16#7FFF: diagnostica del costruttore
•
W#16#8000: diagnostica di canale
•
W#16#8001 ... W#16#FFFF: riservato
Dati in funzione dell'ID del formato
Nota
La parte a partire da "Tipo di blocco" può presentarsi da 1 a n volte.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
8-15
SFB DPV1 secondo PNO AK 1131
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
sì
sì
sì
AINFO
informazione supplementare
allarme
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
centrale:
No
decentrato:
Come fornito da
slave PROFIBUS
DP/PROFINET IO
Device
Allarme di
estrazione /
inserimento
Forma speciale di
allarme di
estrazione:
83
sì
sì
sì
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
Controllato dal
Supervisor
Forma speciale di
allarme di
inserimento:
Abilitato dal
Supervisor
... tutti gli altri OB
8-16
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFB DPV1 secondo PNO AK 1131
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
errore è indicato B#16#80. 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
reserved, reject
Primo richiamo; nessun trasferimento del set di dati attivo
01
reserved, reject
Primo richiamo; trasferimento del set di dati avviato
02
reserved, reject
Richiamo intermedio; trasferimento del set di dati già
attivo
90
reserved, pass
Indirizzo logico iniziale non valido
92
reserved, pass
Tipo di puntatore ANY non ammesso
93
reserved, pass
Il componente DP indirizzato tramite ID o F_ID non è
stato configurato.
80
95
Errore di lettura dell'informazione di allarme
supplementare nel sistema H (in caso di lettura
dell'informazione di allarme supplementare nella periferia
centrale o decentrata tramite interfaccia DP esterna,
questo errore viene emesso come "errore cumulativo").
Avvertenza: in caso di accoppiamento e aggiornamento
può succedere che l'informazione supplementare di
allarme non sia momentaneamente disponibile.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
8-17
SFB DPV1 secondo PNO AK 1131
Error_Decode
(B#16#...)
8-18
Error_Code_1 Spiegazione
(B#16#...)
secondo DVP1
Significato
96
In un sistema H è stata effettuata una commutazione
riserva/master e la CPU che finora era master è entrata in
STOP. Nello stesso momento era in fase di elaborazione
un OB. L'SFB 54 non è in grado di fornire né
l'informazione di start dell'OB, né l'informazione di
amministrazione, né l'informazione dell'intestazione né
l'informazione supplementare sull'allarme.
L'informazione di start dell'OB si può leggere con l’SFC 6
"RD_SINFO". Inoltre, negli OB 4x, 55, 56, 57, 82 e 83 è
possibile leggere in modo asincrono il telegramma di
diagnostica attuale dello slave DP con l'aiuto dell’SFC 13
"DPNRM_DG" (informazione sull'indirizzo
nell'informazione di start dell'OB).
A0
read error
Conferma negativa della lettura dall'unità
A1
write error
Conferma negativa della scrittura nell'unità
A2
module failure
Errore di protocollo DP per vettore 2
A3
reserved, pass
•
PROFIBUS DP: errore di protocollo DP con DirectData-Link-Mapper o User-Interface/User
•
PROFINET IO: errore CM generaler
A4
reserved, pass
Comunicazione disturbata nel bus K
A5
reserved, pass
-
A7
reserved, pass
Slave DP o unità occupati (errore temporaneo)
A8
version conflict
Slave DP o unità segnalano versioni diverse
A9
feature not
supported
Funzione non supportata dallo slave DP p dall'unità
AA - AF
user specific
Slave DP o unità segnalano un errore del produttore
dell'applicazione. Consultare la documentazione del
produttore dello slave DP o dell'unità.
B0
invalid index
Set di dati sconosciuto all'unità
numero del set di dati ≥256 non consentito
B1
write length error
La lunghezza indicata nel parametro RECORD non è
corretta; SFB 54: errore di lunghezza in AINFO
B2
invalid slot
Il posto connettore progettato non è occupato.
B3
type conflict
Tipo di unità effettivo diverso da quello di riferimento
B4
invalid area
Slave DP o unità segnalano un accesso ad un'area non
ammessa
B5
state conflict
Slave DP o unità non pronti
B6
access denied
Slave DP o unità rifiutano l'accesso
B7
invalid range
Slave DP o unità segnalano un'area non ammessa di un
parametro o un valore
B8
invalid parameter
Slave DP o unità segnalano un parametro non ammesso
B9
invalid type
Slave DP o unità segnalano un tipo non ammesso
BA - BF
user specific
Slave DP o unità segnalano un errore del produttore
dell'applicazione. Consultare la documentazione del
produttore dello slave DP o dell'unità.
C0
read constrain
conflict
L'unità ha il set di dati, ma i dati da leggere non sono
ancora disponibili.
C1
write constrain
conflict
I dati dell’ordine di scrittura precedente dell'unità per lo
stesso set di dati non sono ancora stati elaborati
dall'unità.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFB DPV1 secondo PNO AK 1131
Error_Decode
(B#16#...)
Error_Code_1 Spiegazione
(B#16#...)
secondo DVP1
Significato
C2
resource busy
L'unità elabora attualmente il numero massimo di ordine
consentito per una CPU.
C3
resource
unavailable
Le risorse necessarie sono momentaneamente occupate.
C4
Errore temporaneo interno. Impossibile eseguire il task.
Ripetere il task. Se l'errore si verifica spesso verificare
che non ci siano sorgenti di disturbo nella propria
struttura.
C5
Slave DP o unità non disponibili.
C6
Trasmissione del set di dati interrotta per interruzione
classi di priorità
C7
Interruzione del task per nuovo avviamento (avviamento
a caldo) o avviamento a freddo del master DP.
C8 - CF
Slave DP o unità segnalano un errore del produttore
relativo alle risorse. Consultare la documentazione del
produttore dello slave DP o dell'unità.
Dx
81
user specific
Specifico dello slave DP. Vedere la descrizione dello
slave DP.
00 - FF
Errore nel primo parametro di richiamo (SFB 54: MODE)
00
Tipo di funzionamento non consentito
00 - FF
Errore nel secondo parametro di richiamo
:
:
:
88
00 - FF
Errore nell'ottavo parametro di richiamo (SFB 54: TINFO)
82
89
01
Identificazione sintassi scorretta
23
Superamento dei dati o area di destinazione troppo
piccola
24
Identificazione dell'area scorretta
32
N. DB/DI fuori dell'area utente
3A
N. DB/DI è ZERO: per l'identificazione dell'area DB/DI o
del DB/DI indicati non disponibile
00 - FF
Errore nel nono parametro di richiamo (bei SFB 54:
AINFO)
01
Identificazione sintassi scorretta
23
Superamento dei dati o area di destinazione troppo
piccola
24
Identificazione dell'area scorretta
32
N. DB/DI fuori dell'area utente
3A
N. DB/DI è ZERO: per l'identificazione dell'area DB/DI o
del DB/DI indicati non disponibile
8A
00 - FF
Errore nel decimo parametro di richiamo
:
:
:
8F
00 - FF
Errore nel quindicesimo parametro di richiamo
FE, FF
00 - FF
Errore specifico del profilo
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
8-19
SFB DPV1 secondo PNO AK 1131
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 nell'SFB 52:
8-20
•
STATUS[4] contiene la lunghezza dell'area di destinazione di RECORD, con lunghezza
MLEN > lunghezza dell'area di destinazione di RECORD
•
STATUS[4]=MLEN con lunghezza effettiva del set di dati < MLEN < lunghezza dell'area
di destinazione di RECORD.
•
STATUS[4]=0, se fosse necessario impostare STATUS[4] > 255.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFB DPV1 secondo PNO AK 1131
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 che lavorano in modo asincrono (vedere anche Significato dei
parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo asincrono).
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/2
A5E00709342-01
8-21
SFB DPV1 secondo PNO AK 1131
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
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.
8-22
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFB DPV1 secondo PNO AK 1131
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/2
A5E00709342-01
8-23
SFB DPV1 secondo PNO AK 1131
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, p. SFB 75 non invia alcun allarme.
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).
8-24
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFB DPV1 secondo PNO AK 1131
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.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
8-25
SFB DPV1 secondo PNO AK 1131
•
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 lavora in modo asincrono, i richiami dell'SFB 75 negli OB di avviamento non possono
essere interrotti; essi devono essere portati a termine all'interno del programma ciclico.
Avvertenza
Le differenze tra l'informazione sullo stato delle unità nel master DP e quella nello slave intelligente
descritte sopra possono verificarsi soltanto nei posti connettore per i quali sono stati inviati al master
DP allarmi di diagnostica mediante SFB 75. Di conseguenza, i rimedi consigliati sono necessari
soltanto per tali posti connettore.
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.
8-26
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFB DPV1 secondo PNO AK 1131
La seguente tabella indica le informazioni di errore specifiche dell'SFB 75.
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
1
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.
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/2
A5E00709342-01
8-27
SFB DPV1 secondo PNO AK 1131
8-28
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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/2
A5E00709342-01
9-1
SFC per la gestione di allarmi dall'orologio
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:
•
1)
Il sistema operativo richiama l'OB 80 .
•
Subito dopo l'esecuzione dell'OB 80 vengono
richiamati tutti gli OB di allarme dall'orologio saltati
(una sola volta, indipendentemente dal numero dei
periodi saltati), se non sono stati 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. Nell'informazione dell'evento di avvio di OB 80 è codificato quali OB di allarme
dall'orologio non possono essere richiamati dallo spostamento in avanti dell'orologio. Il
tempo nell'informazione dell'evento di avvio corrisponde al tempo spostato in avanti.
2. Il tempo nell'informazione dell'evento di avvio degli OB da recuperare corrisponde al
tempo di inizio del primo allarme dall'orologio saltato.
Comportamento in caso di nuovo avviamento (avviamento a caldo) e avviamento a
freddo
Dopo un nuovo avviamento (avviamento a caldo) e avviamento a freddo, tutte le
configurazioni di allarmi dall'orologio, assegnate da programma tramite SFC, vengono
cancellate.
Attivi diventano allora i parametri assegnati tramite STEP 7.
9-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per la gestione di allarmi dall'orologio
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/2
A5E00709342-01
9-3
SFC per la gestione di allarmi dall'orologio
9.3
Impostazione di un allarme dall'orologio con la SFC 28
"SET_TINT"
Descrizione
Con la funzione di sistema SFC 28 "SET_TINT" (set time-of-day interrupt) è possibile
assegnare data e ora di inizio dei blocchi organizzativi di servizio ad allarmi dall'orologio.
Nell'ora di inizio vengono ignorati i secondi ed i millesimi di secondo indicati e vengono
azzerati.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
OB_NR
INPUT
INT
E, A, M, D, L, cost.
Numero dell'OB che viene richiamato all'istante
SDT + multiplo di PERIOD (OB 10 ... OB 17)
SDT
INPUT
DT
D, L
Data e ora di inizio. Nell'ora di inizio vengono
ignorati i secondi e i millesimi di secondo indicati
e vengono azzerati.
Se si desidera predefinire l'avvio mensile di un
OB di allarme dall'orologio, per la data di inizio
sono ammessi soltanto i giorni 1, 2, ... 28.
PERIOD
INPUT
WORD
E, A, M, D, L, cost.
Periodo a partire dall'istante SDT:
W#16#0000 = una sola volta
W#16#0201 = ogni minuto
W#16#0401 = ogni ora
W#16#1001 = ogni giorno
W#16#1201 = ogni settimana
W#16#1401 = ogni mese
W#16#1801 = ogni anno
W#16#2001 = a fine mese
RET_VAL
OUTPUT
INT
E, A, M, D, L
Se durante l'elaborazione della funzione si verifica
un errore, il parametro attuale di RET_VAL
contiene un codice di errore.
Informazioni di errore
Codice di
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
L'istante d'avvio impostato appartiene al passato
8xyy
Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL
9-4
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per la gestione di allarmi dall'orologio
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/2
A5E00709342-01
9-5
SFC per la gestione di allarmi dall'orologio
9.5
Attivazione di un allarme dall'orologio con la SFC 30
"ACT_TINT"
Descrizione
Con la funzione di sistema SFC 30 "ACT_TINT" (activate time-of-day interrupt) è possibile
attivare un blocco organizzativo di servizio ad allarmi dall'orologio.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
OB_NR
INPUT
INT
E, A, M, D, L, cost.
Numero dell'OB che deve essere attivato
(OB 10 ... OB 17).
RET_VAL
OUTPUT
INT
E, A, M, D, L
Se durante l'elaborazione della funzione si verifica
un errore, il parametro attuale RET_VAL contiene
un codice di errore.
Informazioni di errore
Codice di
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
9-6
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per la gestione di allarmi dall'orologio
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
Bit
Valore
Significato
0
0
L'allarme dall'orologio è abilitato dal sistema operativo.
1
0
Nuovi allarmi dall'orologio non vengono respinti.
2
0
L'allarme dall'orologio non è attivato oppure è terminato.
3
-
-
4
0
L'OB di allarme dall'orologio non è stato caricato.
5
0
L'esecuzione dell'OB di allarme dall'orologio non è stata bloccata da
una funzione di test attiva.
6
0
Base dell'allarme orologio è l'ora di base
1
Base dell'allarme orologio è l'ora locale
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/2
A5E00709342-01
9-7
SFC per la gestione di allarmi dall'orologio
9-8
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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/2
A5E00709342-01
10-1
SFC per la 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.
e un OB di allarme di ritardo,
attivato precedentemente, è ancora
in esecuzione
il sistema operativo genera un
errore di tempo (richiamo di OB 80;
se OB 80 non è presente, la CPU si
porta in STOP).
il tempo di ritardo è trascorso
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.
10-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per la gestione di allarmi di ritardo
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/2
A5E00709342-01
10-3
SFC per la gestione di allarmi di ritardo
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
Bit
Valore
Significato
0
0
L'allarme di ritardo è abilitato dal sistema operativo.
1
0
Nuovi allarmi di ritardo non vengono respinti.
2
0
L'allarme di ritardo non è attivato oppure è terminato.
3
-
-
4
0
L'OB di allarme di ritardo non è stato caricato.
5
0
L'esecuzione dell'OB di allarme di ritardo è stata bloccata da una funzione di test attiva.
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
10-4
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per la gestione di allarmi di ritardo
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
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/2
A5E00709342-01
10-5
SFC per la gestione di allarmi di ritardo
10-6
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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/2
A5E00709342-01
11-1
SFC per la gestione 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.
11-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per la gestione 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_...
Una spiegazione degli errori di programma è riportata nelle seguenti tabelle.
Avvertenza
I bit 29 ("SFC non caricata") e 31 ("SFB non caricata") nella high word della maschera degli
errori di programmazione sono rilevanti solo in S7-400 e nella CPU 318.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
11-3
SFC per la gestione 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
Per SFC 38
= "0"
= "0" per S7-400
Maschera degli errori di accesso per tutte le CPU
Nella figura seguente è rappresentata la stringa di bit della maschera degli errori di accesso
per tutte le CPU. La maschera degli errori di accesso è contenuta nei parametri ACCFLT_...
La spiegazione degli errori di accesso è riportata nelle tabelle "Possibili cause di errore per
tutte le CPU 31x eccetto la CPU 318" e "Possibili cause di errore per tutte le CPU 41x e
CPU 318".
Esempio
La figura seguente mostra l'aspetto della parola meno significativa della maschera per errori
di accesso con tutti gli errori possibili mascherati per tutte le CPU.
11-4
•
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/2
A5E00709342-01
SFC per la gestione 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 L'errore ha luogo...
(W#16#...)
Errore di conversione BCD 2521
... se il valore da convertire non è un numero BCD (p. es. 5E8).
Errore di lunghezza campo 2522
in lettura
... 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 2523
in scrittura
... 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.
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.
Errore di indirizzamento in 2528
lettura
.... 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).
... se si indirizza un byte, una parola o una doppia parola con un
indirizzo di bit 00.
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 00.
Esempio:
giusto:
LAR1 P#M12.0
T B[AR1, P#0.0]
sbagliato: LAR1 P#M12.4
T B[AR1, P#0.0]
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
11-5
SFC per la gestione di eventi di errori di sincronismo
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.
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).
11-6
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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"
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
INT
E, A, M, D, L
OUTPUT
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/2
A5E00709342-01
11-7
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"
Descrizione
La SFC 37 "DMSK_FLT" (unmask synchronous faults) si usa per demascherare gli eventi di
errore mascherati con la SFC 36 "MSK_FLT". Per eseguire questa operazione occorre
impostare su "1" nei parametri di ingresso i corrispondenti bit delle maschere. Con il richiamo
della SFC 37 si demascherano gli eventi di errori di sincronismo corrispondenti.
Contemporaneamente vengono cancellate le registrazioni relative nel registro di stato eventi.
Le nuove maschere sono poi leggibili tramite i parametri di uscita.
Parametri
Dichiarazione
Tipo
Area di memoria
Descrizione
PRGFLT_RESET_MASK
INPUT
DWORD
E, A, M, D, L, cost.
Errori di programma da
demascherare
ACCFLT_RESET_MASK
INPUT
DWORD
E, A, M, D, L, cost.
Errori di accesso da
demascherare
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazione di errore
PRGFLT_MASKED
OUTPUT
DWORD
E, A, M, D, L
Errori di programma ancora
mascherati
ACCFLT_MASKED
OUTPUT
DWORD
E, A, M, D, L
Errori di accesso ancora
mascherati
Informazioni di errore
Codice di
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
11-8
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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"
Descrizione
Con la SFC 38 "READ_ERR" (read error registers) si legge il registro di stato eventi. Tale
registro corrisponde, nella sua struttura, alle maschere per gli errori di programma e di
accesso, programmabili con le SFC 36 e 37 come parametri di ingresso.
Nei parametri di ingresso si indica quali eventi di errori di sincronismo del registro si vogliano
consultare. Con il richiamo della SFC 38 si leggono le registrazioni desiderate del registro di
stato eventi e le si cancellano contemporaneamente.
Dal registro di stato eventi si ottiene l'informazione su quale degli eventi di errore mascherati
si sono presentate almeno una volta nella lista attuale di priorità. Un bit impostato sta ad
indicare che il rispettivo evento di errori di sincronismo si è presentato almeno una volta.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
PRGFLT_QUERY
INPUT
DWORD
E, A, M, D, L, cost. Consultazione degli errori di
programma
ACCFLT_QUERY
INPUT
DWORD
E, A, M, D, L, cost. Consultazione degli errori di accesso
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazione di errore
PRGFLT_CLR
OUTPUT
DWORD
E, A, M, D, L
Avvenuti errori di programma
ACCFLT_CLR
OUTPUT
DWORD
E, A, M, D, L
Avvenuti errori di accesso
Informazioni di errore
Codice di
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/2
A5E00709342-01
11-9
SFC per la gestione di eventi di errori di sincronismo
11-10
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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/2
A5E00709342-01
12-1
SFC per la gestione di allarmi e di eventi di errori di asincronismo
Classi di allarme
Gli allarmi sono suddivisi in diverse classi. La tabella seguente contiene tutte le classi di
allarme e i corrispondenti OB.
Classi di allarme
OB
Allarmi dall'orologio
OB 10 ... OB 17
Allarmi di ritardo
OB 20 ... OB 23
Schedulazioni orologio
OB 30 ... OB 38
Interrupt di processo
OB 40 ... OB 47
Allarmi per DVP1
OB 55 … OB 57
Allarme di multicomputing
OB 60
Allarmi d'errore di ridondanza
OB 70, OB 72
Allarmi per errori di asincronismo
OB 80 ... OB 87
Allarmi per errori di sincronismo
OB 121, OB 122
(L'elaborazione di allarmi per errori di sincronismo viene mascherata o
demascherata con le SFC 36, 37 e 38.)
Eventi di errori di asincronismo
La tabella seguente contiene tutti gli eventi di errore di asincronismo, ai quali è possibile
reagire da programma con un corrispondente OB.
Eventi di errore di asincronismo
OB
Errore di tempo (p. es. superamento del max. tempo 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
12-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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"
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
E, A, M, D, L, cost.
Indica quali richieste di eventi di allarme e di
errore di asincronismo vengono disabilitate.
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.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
12-3
SFC per la gestione di allarmi e di eventi di errori di asincronismo
MODE
MODE
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. Il sistema operativo registra
l'evento W#16#5380 nel buffer di diagnostica.
81
Tutti i nuovi eventi di una classe di allarme indicata vengono disabilitati e non vengono più
registrati nel buffer di diagnostica. Il sistema operativo registra l'evento W#16#5380 nel buffer
di diagnostica.
82
Tutti i nuovi eventi di un allarme indicato vengono disabilitati non vengono più registrati nel
buffer di diagnostica. Il sistema operativo registra l'evento W#16#5380 nel buffer di
diagnostica
Informazioni di errore
Codice di
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
12-4
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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"
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/2
A5E00709342-01
12-5
SFC per la gestione di allarmi e di eventi di errori di asincronismo
Informazioni di errore
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
12-6
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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"
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 dei 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/2
A5E00709342-01
12-7
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"
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 Riconoscimento di errore con il parametro di uscita RET_VAL illustra come
interpretare le informazioni di errore del parametro RET_VAL. In esso si trovano anche le
informazioni di errore generali delle SFC. La tabella seguente contiene tutte le informazioni
di errore specifiche per la SFC 42 che possono essere fornite tramite il parametro RET_VAL.
Valore di
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.
12-8
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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/2
A5E00709342-01
13-1
SFC per la diagnostica
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.
13-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per la diagnostica
Esempio
Supponiamo che l'OB richiamato per ultimo, che non è stato ancora elaborato
completamente, sia l'OB80 e che l'OB di avviamento avviato per ultimo sia l'OB100.
La tabella seguente mostra l'assegnazione degli elementi di struttura del parametro TOP_SI
della SFC 6 "RD_SINFO" alle relative variabili locali dell'OB 80.
TOP_SI
OB 80
Elemento di struttura
EV_CLASS
EV_NUM
PRIORITY
NUM
TYP2_3
TYP1
ZI1
ZI2_3
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
Riconoscimento di errore con il parametro di uscita RET_VAL.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
13-3
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"
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 SFC 51 "RDSYSST" vengono trasmessi solo record di dati completi.
Risorse del sistema
Se vengono avviate varie procedure di lettura asincrone (i job con SZL_ID W#16#00B4 e
W#16#4C91, W#16#4092 e W#16#4292 e W#16#4692 ed eventualmente W#16#00B1 e
W#16#00B3) a breve distanza l'una dall'altra, il sistema operativo garantisce che queste
vengano eseguite tutte senza influenzarsi l'una con l'altra.
L'arrivo al limite delle risorse del sistema viene comunicato in RET_VAL. La temporanea
situazione di errore può essere rimossa ripetendo il job.
Il numero massimo di job attivi "simultaneamente" della SFC 51 dipende dal tipo di CPU.
Informazioni a riguardo sono riportate in /70/ e /101/.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L, cost.
REQ=1: avvio dell'elaborazione
SZL_ID
INPUT
WORD
E, A, M, D, L, cost.
Identificatore della lista parziale SZL o
dell'estratto della lista parziale).
INDEX
INPUT
WORD
E, A, M, D, L, cost.
Tipo o numero di un oggetto in una lista
parziale
RET_VAL
OUTPUT
INT
E, A, M, D, L
Se durante l'esecuzione della funzione si
verifica un errore, il parametro RET_VAL
contiene un codice di errore.
BUSY
OUTPUT
BOOL
E, A, M, D, L
TRUE: l'operazione di lettura non è ancora
terminata.
SZL_HEADER
OUTPUT
STRUCT D, L
13-4
Vedere sotto
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per la diagnostica
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.
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)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
13-5
SFC per la diagnostica
Codice di
errore
(W#16#...)
Spiegazione
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#...)
Identificazione unità
0111
Un set di dati di identificazione
Identificazione dell'unità
0001
Identificazione dell'hardware di base
0006
Identificazione del firmware di base
0007
Caratteristiche CPU
0012
0112
Tutte le caratteristiche
Irrilevante
Caratteristiche di un gruppo
Unità di elaborazione in MC7
0000
Sistema di tempo
0100
Comportamento sistema
0200
Descrizione linguaggio MC7
0300
Disponibilità di SFC 87 e SFC
0400
0F12
Solo informazione intestazione della lista parziale
SZL
irrilevante
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
13-6
Set di dati di tutti i tipi di blocchi
Irrilevante
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per la diagnostica
SZL_ID
(W#16#...)
Lista parziale
INDICE
(W#16#...)
Stato dei LED dell'unità ( non leggibile in tutte le CPU, vedere /102/.
0019
Stato di tutti i LED
Irrilevante
0F19
Solo informazione intestazione della lista parziale
SZL
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
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
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
0132
Dati di stato di una parte della comunicazione
Assegnazione di immagini di processo parziali a CPU
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
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
13-7
SFC per la diagnostica
SZL_ID
(W#16#...)
Lista parziale
INDICE
(W#16#...)
Slave DP attivati nel sistema H
0C75
Stato di comunicazione tra il sistema H ed uno
slave DP attivato
Indirizzo di diagnostica dell’interfaccia
slave DP
Informazioni sistema master DP
0090
Informazioni su tutti i sistemi master DP noti alla
CPU
0000
0190
Informazioni su un sistema master DP
ID sistema master DP
0F90
Solo informazioni nell'intestazione della lista SZL
0000
Informazioni sullo stato delle unità (vengono forniti al max. 27 set di dati)
0191
Informazione di stato di tutte le unità/sottomoduli
inseriti
Irrilevante
0191
Informazione di stato di tutte le unità non
disattivate/telai 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 tutti i sottomoduli
dell'unità host nel telaio indicato
Telaio o ID sistema master DP
0C91
Informazione di stato unità di un'unità nella
Indirizzo di base logico
struttura centrale o in una interfaccia DP integrata
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 stazione DP indicata
Telaio o ID sistema master DP o ID
sistema master DP e numero stazione
0E91
Informazione di stato di tutte le unità assegnate
Irrilevante
Informazione di stato di telai e stazioni
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 0
di montaggio di una CPU
4292
Stato attuale delle stazioni di un sistema master
DP collegato tramite una interfaccia DP esterna
13-8
ID sistema master DP
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per la diagnostica
SZL_ID
(W#16#...)
Lista parziale
INDICE
(W#16#...)
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
Maggiori informazioni sul sistema master DP
0195
Maggiori informazioni su un sistema master DP
ID sistema master DP
0F95
Solo informazioni nell'intestazione della lista SZL
0000
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à
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/2
A5E00709342-01
13-9
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"
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
...
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,
13-10
•
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).
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per la diagnostica
Il nodo non è allacciato
Se deve essere trasmesso un messaggio di diagnostica definito dall'utente(SEND = TRUE),
ma non è allacciato nessun nodo
•
la registrazione dell'evento di diagnostica definito dall'utente nel buffer di diagnostica
avviene comunque
•
nel parametro RET_VAL viene indicato che attualmente non è allacciato nessun nodo
(W#16#8091) o W#16/8091). Il valore W#16/8091 compare nelle versioni meno recenti
della CPU.
Struttura generale
Un messaggio del buffer di diagnostica è strutturato internamente nel modo seguente:
Byte
Contenuto
1e2
ID di evento
3
Classe di priorità
4
Numero di OB
5e6
Riservato
7e8
Informazione supplementare 1
9, 10, 11 e 12
Informazione supplementare 2
dal 13 al 20
Registrazione del tempo
ID di evento
Ad ogni evento è associato un ID di evento.
Informazione supplementare
L'informazione supplementare contiene ulteriori informazioni relative all'evento. Tali
informazioni possono avere contenuti differenti a seconda dell'evento. Se viene generato un
evento di diagnostica, è l'utente stesso a poterne stabilire il contenuto.
Quando si invia un messaggio di diagnostica definito dall'utente, le informazioni
supplementari possono essere integrate come variabili nel testo di segnalazione (specifico
dell'ID di evento).
Registrazione del tempo
Questa registrazione del tempo è del tipo Date_and_Time.
Parametri
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
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
13-11
SFC per la diagnostica
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.
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.
13-12
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per la diagnostica
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)
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/2
A5E00709342-01
13-13
SFC per la diagnostica
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
RET VAL
OUTPUT
INT
E, A, M, D, L
PRIO
OUTPUT
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 .
Se durante l'elaborazione della funzione
si verifica un errore, il valore di risposta
contiene un codice di errore.
In caso contrario RET_VAL contiene il
numero dell‘OB, per il quale tali dati sono
stati richiamati.
Il parametro PRIO fornisce la classe di
priorità dell'OB interrogato.
13-14
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per la diagnostica
Parametri
Dichiarazione
Tipo
Area di memoria
Descrizione
LAST RT
OUTPUT
DINT
E, A, M, D, L
LAST_ET
OUTPUT
DINT
E, A, M, D, L
Tempo di esecuzione dell'ultima
elaborazione relativa all'OB indicato
espresso in microsecondi.
Se l’OB relativamente al 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.
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.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
13-15
SFC per la diagnostica
Parametri
Dichiarazione
Tipo
Area di memoria
Descrizione
CUR_T
OUTPUT
DINT
E, A, M, D, L
CUR_RT
OUTPUT
DINT
E, A, M, D, L
CUR_ET
OUTPUT
DINT
E, A, M, D, L
NEXT_ET
OUTPUT
DINT
E, A, M, D, L
Tempo della richiesta OB per
l’OB indicato e attualmente elaborato,
come tempo relativo espresso in
microsecondi.
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.
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.
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.
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 non utilizza questo
parametro.
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 struttura l’insieme della propria
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 e il
valore DW#16#FFFF FFFF è specificato in LAST_RT.
13-16
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per la diagnostica
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/2
A5E00709342-01
13-17
SFC per la diagnostica
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).
13-18
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per la diagnostica
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
La SFC trasmette l'informazione di
conferma al sistema operativo
00
No
Sì
01
Sì
02
•
Sì, se i dati del collegamento sono
cambiati
•
No, se i dati del non collegamento sono
cambiati
03
Sì
Sì
SÌ
No
Con la trasmissione dell'informazione di conferma al sistema operativo, vengono confermate
le modifiche dello stato dei dati del collegamento dall'ultimo richiamo della SFC 87 (con
MODE=B#16#00, 01 o 02).
Avvertenza
Utilizzando la SFC 87 in un OB di allarme di clock nel tipo di funzionamento "Copia forzata"
(MODE=B#16#02), occorre fare in modo che dopo l'avviamento a freddo della CPU nell'area
di destinazione non vi siano valori iniziali. Ciò è possibile richiamando una volta nell'OB 102
la SFC 87 con il tipo di funzionamento "Copia non forzata con conferma "
(MODE=B#16#01).
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
13-19
SFC per la diagnostica
Parametro
Dichiarazione
Tipo
Area di memoria
di dati
Descrizione
REQ
INPUT
BOOL
Parametro di comando request to activate
E, A, M, D, L, cost.
REQ=1: avvio del job, se non ancora
avvenuto
MODE
INPUT
BYTE
E, A, M, D, L, cost.
Identificazione job
Valori possibili:
•
B#16#00: la SFC non copia i dati di
collegamento ma trasmette al sistema
operativo una semplice informazione di
conferma
•
B#16#01: la SFC copia i dati di
collegamento a prescindere dal loro
stato di modifica nel programma utente
e trasmette al sistema operativo
un'informazione di conferma
•
B#16#02: se i dati di collegamento sono
cambiati, la SFC li copia nel programma
utente. Se non sono cambiati, non
vengono copiati. La SFC trasmette in
entrambi i casi un'informazione di
conferma al sistema operativo
•
B#16#03: la SFC copia i dati di
collegamento a prescindere dal loro
stato di modifica nel programma utente
ma non trasmette al sistema operativo
un'informazione di conferma
RET_VAL
OUTPUT
INT
E, A, M, D, L
Valore di ritorno (codice di errore o stato del
job)
BUSY
OUTPUT
BOOL
E, A, M, D, L
BUSY =1: il job non è concluso
N_CON
OUTPUT
INT
E, A, M, D, L
Indice dell'ultima struttura in CON_ARR, per
cui .DIS_PCON o .DIS_CON hanno il valore
TRUE. Nel programma utente si devono
controllare solo i primi elementi N_CON di
CON_ARR
Avvertenza: la prima struttura nel campo
CON_ARR ha l'indice 1
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.
13-20
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per la diagnostica
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/2
A5E00709342-01
13-21
SFC per la diagnostica
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
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
13-22
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per la diagnostica
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 STEP 7. 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/2
A5E00709342-01
13-23
SFC per la diagnostica
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
Dichiaraz Tipo
ione
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.
13-24
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per la diagnostica
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/2
A5E00709342-01
13-25
SFC per la diagnostica
13-26
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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
BYTE
E, A, M, D, L, cost.
Numero dell'immagine di processo parziale da
aggiornare degli ingressi. Max. campo di valori
(dipendente dalla CPU): da 0 a 15 ( 0 significa
immagine di processo dell'OB1, n con 1 ≤ n ≤ 15
significa immagine di processo parziale n)
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazioni sugli errori
FLADDR
OUTPUT
WORD
E, A, M, D, L
Indirizzo del primo byte causante errori, se si è
verificato un errore di accesso.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
14-1
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
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".
14-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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"
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/2
A5E00709342-01
14-3
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
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".
14-4
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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"
Descrizione
Con l'SFC 126 "SYNC_PI" è possibile aggiornare l'immagine di processo parziale degli
ingressi con sincronizzazione di clock. L'SFC consente quindi ad un programma utente
collegato ad un clock DP di aggiornare, in modo coerente ed con sincronizzazione 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 la 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 la SFC 126 non può essere aggiornata
contemporaneamente con la SFC 26 "UPDAT_PI”.
Parametri
Parametri
Dichiarazione Tipo
Campo di valori
PART
INPUT
da 1 a 30
BYTE
Preconfigurazione Descrizione
Numero dell'immagine di
processo parziale degli
ingressi che dev'essere
aggiornata con
sincronizzazione di
clock.
RET_VAL
OUTPUT
INT
Informazioni sugli errori
FLADDR
OUTPUT
WORD
Indirizzo del primo byte
che causa l'errore, nel
caso si sia verificato un
errore di accesso.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
14-5
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
Informazioni sugli errori
Classe di
evento
Spiegazione
Codice di
errore
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. L'immagine di processo
parziale degli ingressi non è stata aggiornata.
Il ciclo DP è troppo breve per garantire un tempo sufficiente per l'elaborazione SFC. Pertanto è
necessario incrementare i tempi TDP, Ti e To in STEP 7.
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".
14-6
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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"
Descrizione
Con l'SFC 127 "SYNC_PO" è possibile aggiornare l'immagine di processo parziale delle
uscite con sincronizzazione di clock. Il programma utente collegato ad un clock DP può
quindi usare questa SFC per trasmettere all'unità periferica, con sincronizzazione di clock ed
in modo coerente, 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 la 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 la SFC 127 non può essere aggiornata
contemporaneamente con la SFC 27 "UPDAT_PO”.
Parametri
Parametri
Dichiarazione Tipo
Campo di valori
PART
INPUT
BYTE
da 1 a 30
Preconfigurazione Descrizione
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/2
A5E00709342-01
Numero dell'immagine di
processo parziale delle
uscite che dev'essere
aggiornata con
sincronizzazione di
clock.
14-7
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
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. Tuttavia i dati interni ad uno slave 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 è stato rilevato un errore di accesso. Le uscite non sono state
trasmesse all'unità periferica. L'immagine di processo parziale delle uscite rimane inalterata.
W#16#80A1
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.
Il ciclo DP è troppo breve per garantire un tempo sufficiente per l'elaborazione SFC. Pertanto è
necessario incrementare i tempi TDP, Ti e To in STEP 7
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".
14-8
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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"
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
INT
E, A, M, D, L, cost.
Numero dei bit da impostare
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazioni sugli errori
SA
OUTPUT
POINTER P
Puntatore sul primo bit da impostare
Informazioni di errore
Come analizzare le informazioni di errore del parametro RET_VAL è spiegato nel capitolo
Riconoscimento di errore 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/2
A5E00709342-01
14-9
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"
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
INT
E, A, M, D, L, cost.
Numero dei bit da reimpostare
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazioni sugli errori
SA
OUTPUT
POINTER P
Puntatore sul primo bit da reimpostare
Informazioni di errore
Come analizzare le informazioni di errore del parametro RET_VAL è spiegato nel capitolo
Riconoscimento di errore 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.
14-10
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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"
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/2
A5E00709342-01
14-11
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
Al primo richiamo del blocco è necessario occupare l'ingresso RESET con 1.
Se il dispositivo di avanzamento a passi si trova nell'ultimo passo (DSC ha il valore di
LST_STEP) e se il tempo di elaborazione assegnato per questo passo è trascorso, le uscite
Q e EOD vengono impostate e l'SFB rimane nell'ultimo passo finché non si occupa l'ingresso
RESET con 1.
Un temporizzatore DRUM funziona solo negli stati di esercizio AVVIAMENTO e RUN.
Il sistema operativo resetta l'SFB 32 "DRUM" all'avviamento a freddo, ma non al nuovo
avviamento (avviamento a caldo). Se l'SFB 32 "DRUM" deve essere inizializzato dopo il
nuovo avviamento (avviamento a caldo), lo si deve richiamare nell'OB 100 con RESET = 1.
Parametri
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
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
14-12
E, A, M, D, L, P,
cost.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
Parametri
Dichiarazione Tipo
PREV_TIME
VAR
DWORD E, A, M, D, L, cost.
Area di memoria
(Non rilevante per l'utente: tempo sistema
del richiamo SFB precedente)
S_PRESET
VAR
ARRAY
of
WORD
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 yesimo da emettere nel passo x.
Significato dei bit di maschera:
E, A, M, D, L, 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/2
A5E00709342-01
14-13
SFC per l'aggiornamento dell'immagine di processo e l'elaborazione del campo di bit
14-14
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
SUBNETI
D
INPUT
E, A, M, D, L, cost.
•
Identificazione dell'area:
•
0, se il posto connettore si trova in uno dei
telai di montaggio 0 (apparecchiatura
centrale) o da 1 a 21 (apparecchiatura di
ampliamento)
•
ID sistema master DP del sistema periferico
decentrale, se il posto connettore si trova in
un dispositivo di periferia decentrata.
•
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
RACK
INPUT
BYTE
WORD
E, A, M, D, L, cost.
SLOT
INPUT
WORD
E, A, M, D, L, cost.
N. del posto connettore
SUBSLOT
INPUT
BYTE
E, A, M, D, L, cost.
Posto connettore del sotto-modulo (se non è
possibile collocare alcun sotto-modulo, indicare 0)
SUBADDR INPUT
WORD
E, A, M, D, L, cost.
Offset nell'area di indirizzamento dati utili
dell'unità
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazioni sugli errori
IOID
OUTPUT
BYTE
E, A, M, D, L
Identificazione dell'area:
B#16#54: Ingresso periferia (PE)
B#16#55: Uscita periferia (PA)
In caso di unità miste la SFC fornisce
l'identificazione dell'area dell'indirizzo più basso.
In caso di indirizzi uguali la SFC fornisce
l‘identificazione B#16#54.
LADDR
OUTPUT
WORD
E, A, M, D, L
Indirizzo di base logico dell‘unità
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
15-1
Funzioni di sistema per l'indirizzamento di unità
Informazioni di errore
Codice di
errore
Spiegazione
(W#16#...)
0000
Nessun errore.
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 o è occupato da un modulo con indirizzi compressi
(ET 200S)
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
15-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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"
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
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)
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/2
A5E00709342-01
15-3
Funzioni di sistema per l'indirizzamento di unità
Parametri di uscita AREA
Il parametro di uscita AREA indica come interpretare i parametri di uscita RACK, SLOT e
SUBADDR.
La tabella seguente spiega questo rapporto di dipendenza.
Valore di AREA
Sistema
Significato di RACK, SLOT e SUBADDR
0
S7-400
RACK : N. del telaio di montaggio
SLOT : N. del posto connettore
SUBADDR : differenza tra l'indirizzo logico e l'indirizzo logico di base
1
S7-300
RACK : N. del telaio di montaggio
SLOT : N. del posto connettore
SUBADDR : differenza tra l'indirizzo logico e l'indirizzo logico di base
2
DP
RACK (low byte): numero di stazione
RACK (high byte): ID del sistema master DP
SLOT: numero di slot nella stazione
SUBADDR: offset nell'area indirizzamento dati utili indirizzo logico
dell'unità corrispondente
3
Area S5-P
RACK : N. del telaio di montaggio
SLOT : N. del posto connettore della capsula di adattamento
SUBADDR : indirizzo nell'area S5 x
4
Area S5-Q
RACK : N. del telaio di montaggio
SLOT : N. del posto connettore della capsula di adattamento
SUBADDR : indirizzo nell'area S5 x
5
Area S5-IM3
RACK : N. del telaio di montaggio
SLOT : N. del posto connettore della capsula di adattamento
SUBADDR : indirizzo nell'area S5 x
6
Area S5-IM4
RACK : N. del telaio di montaggio
SLOT : N. del posto connettore della capsula di adattamento
SUBADDR : indirizzo nell'area S5 x
Informazioni di errore
Codice di
errore
Spiegazione
(W#16#...)
0000
Nessun errore.
8090
L'indirizzo logico indicato non è valido o valore non ammissibile con parametro IOID
8093
Per le unità selezionate tramite IOID e LADDR questa SFC non è consentita.
8xyy
Informazioni generali di errore, vedere Analisi degli errori con il parametro di uscita RET_VAL
15-4
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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"
Descrizione
Partendo da un indirizzo logico di un'unità, è possibile con la SFC 50 "RD_LGADR" (read
module logical addresses) rilevare tutti gli indirizzi logici convenzionati di questa unità.
L'assegnazione degli indirizzi alle unità è stata effettuata in precedenza con STEP 7. La
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/2
A5E00709342-01
15-5
Funzioni di sistema per l'indirizzamento di unità
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.
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 in
uno dei telai di montaggio 0-3
(apparecchiatura centrale)
•
1 ... 31: ID del sistema master DP
della rispettiva apparecchiatura da
campo se il posto connettore si
trova in un'apparecchiatura da
campo del PROFIBUS
•
100 … 115: ID del sistema
PROFINET IO della rispettiva
apparecchiatura da campo se il
posto connettore si trova in
un'apparecchiatura da campo del
PROFINET
Numero del telaio di montaggio se
l'identificatore area è = 0
Numero della stazione
dell'apparecchiatura da campo se
l'identificatore area è > 0
SLOT
INPUT
INT
E, A, M, D, L, cost.
Numero del posto connettore
SUBSLOT
INPUT
INT
E, A, M, D, L, cost.
Posto connettore del sotto-modulo (se
non è possibile inserire sotto-moduli, qui
va indicato 0)
RET_VAL
OUTPUT
INT
E, A, M, D, L
Informazione di errore
LADDR
OUTPUT
WORD
E, A, M, D, L
Indirizzo iniziale dell'unità
il bit 15 di LADDR indica se l'indirizzo
disponibile è un indirizzo di ingresso
(bit 15 = 0) oppure un indirizzo di uscita
(Bit 15 = 1).
15-6
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Funzioni di sistema per l'indirizzamento di unità
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/2
A5E00709342-01
15-7
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"
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 in
uno dei telai di montaggio 0-3
(apparecchiatura centrale)
•
1 ... 31: ID del sistema master DP
della rispettiva apparecchiatura da
campo se il posto connettore si
trova in un'apparecchiatura da
campo del PROFIBUS
•
100 … 115: ID del sistema
PROFINET IO della rispettiva
apparecchiatura da campo se il
posto connettore si trova in
un'apparecchiatura da campo del
PROFINET
Numero del telaio di montaggio se
l'identificatore area è = 0
Numero della stazione
dell'apparecchiatura da campo se
l'identificatore area è > 0
SLOT
OUTPUT
INT
E, A, M, D, L
Numero del posto connettore
SUBSLOT
OUTPUT
INT
E, A, M, D, L
Numero del sotto-modulo
OFFSET
OUTPUT
INT
E, A, M, D, L
Offset nell'area di indirizzi dei dati utili
dell'unità corrispondente
15-8
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
Funzioni di sistema per l'indirizzamento di unità
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/2
A5E00709342-01
15-9
Funzioni di sistema per l'indirizzamento di unità
Informazioni di errore
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
15-10
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-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 che lavora in modo asincrono, ciò significa 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 che lavorano
in modo asincrono. 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/2
A5E00709342-01
16-1
SFC per periferia decentrata o per PROFINET IO
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#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. Se gli
indirizzi sono uguali si deve 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.
16-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per periferia decentrata o per PROFINET IO
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/2
A5E00709342-01
16-3
SFC per periferia decentrata o per PROFINET IO
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" è una SFC che lavora in modo asincrono, ciò significa 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 che lavorano
in modo asincrono.
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.
16-4
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per periferia decentrata o per PROFINET IO
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/2
A5E00709342-01
16-5
SFC per periferia decentrata o per PROFINET IO
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.
16-6
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per periferia decentrata o per PROFINET IO
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 lavorare nel 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 lavorare nel 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
E, A, M, D, L, cost.
Parametro di comando attivato al raggiungimento
del limite REQ1 attivazione dell’ordine
SYNC/FREEZE
BOOL
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/2
A5E00709342-01
16-7
SFC per periferia decentrata o per PROFINET IO
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:
con esattamente un identificativo per ordine:
B#16#04 (UNFREEZE),
B#16#08 (FREEZE),
B#16#10 (UNSYNC),
B#16#20 (SYNC)
con più identificativo per ordine:
B#16#14 (UNSYNC, UNFREEZE),
B#16#18 (UNSYNC, FREEZE),
B#16#24 (SYNC, UNFREEZE),
B#16#28 (SYNC, FREEZE)
RET_VAL
OUTPUT
INT
E, A, M, D, L
Se durante l'elaborazione della funzione si verifica
un errore, il valore di ritorno contiene un codice di
errore.
RET_VAL è valido solo per un ciclo, ovvero dal
primo comando che segue il richiamo
dell’SFC fino al richiamo SFC successivo. Ne
consegue che RET_VAL deve essere analizzato
dopo ogni elaborazione del blocco.
BUSY
OUTPUT
BOOL
E, A, M, D, L
BUSY=1:
L’ordine SYNC/FREEZE non è stato ancora
terminato.
16-8
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per periferia decentrata o per PROFINET IO
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/2
A5E00709342-01
16-9
SFC per periferia decentrata o per PROFINET IO
16.3
Disattivazione e attivazione di slave DP/PROFINET IO
Device con l‘FC 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 IE/PB Link PN IO con l’ausilio di un SFC 12, si avrà la disattivazione di tutti i
PROFINET IO Device ad esso subordinati. 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.
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.
16-10
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per periferia decentrata o per PROFINET IO
Modalità operative
L’SFC 12 "D_ACT_DP" è una SFC che lavora in modo asincrono, ciò significa 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 dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in modo
asincrono.
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.
La disattivazione di uno slave DP/ PROFINET IO Device non provoca un avvio dell'OB di
guasto del telaio (OB 86) ed il sistema non ordina nemmeno che vengano eseguite
registrazioni nel buffer di diagnostica.
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. Il guasto della stazione viene constatato solo alla
nuova attivazione della stessa e comunicato all'utente tramite il relativo RET_VAL.
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/2
A5E00709342-01
16-11
SFC per periferia decentrata o per PROFINET IO
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 consederarsi
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.
L'attivazione di uno slave DP/PROFINET IO Device non provoca un avvio dell'OB di guasto
del telaio (OB 86), ed il sistema operativo non comanda nemmeno l'esecuzione di
registrazioni nel buffer di diagnostica.
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 .
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).
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.
•
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.
16-12
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per periferia decentrata o per PROFINET IO
Parametri
Parametri dell’SFC 12 "D_ACT_DP"
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
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
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.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
16-13
SFC per periferia decentrata o per PROFINET IO
Codice di
errore
(W#16#...)
Spiegazione
80A1
Non è statopossibile parametrizzare il componetne 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
Il componente indirizzato non risponde
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’SFC12 è stata avviata e viene continuata con un altro indirizzo logico (questo codice di errore
è possibile solo con MODE=1).
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.
8xyy
16-14
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/2
A5E00709342-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"
Diagnostica slave
Con l’SFC 13 "DPNRM_DG" (read diagnosis data of a DP-slave) è possibile leggere i dati di
diagnostica di uno slave DP nella forma stabilita da EN 50 170 Volume 2, PROFIBUS.
La struttura generale della diagnostica slave è riportata nella seguente tabella, ulteriori
informazioni nei manuali relativi agli slave DP.
Byte
Significato
0
Stato di stazione 1
1
Stato di stazione 2
2
Stato di stazione 3
3
Numero stazione master
4
Identificazione del costruttore (byte superiore)
5
Identificazione del costruttore (byte inferiore)
6 ...
Altre diagnostiche specifiche dello slave
Descrizione
Con l’SFC 13 "DPNRM_DG" (read diagnosis data of a DP-slave) è possibile leggere i dati di
diagnostica di uno slave DP nella forma stabilita da EN 50 170 Volume 2, PROFIBUS. Al
termine del corretto trasferimento dati, i dati letti vengono registrati nell'area di destinazione
rappresentata da RECORD.
L'operazione di lettura viene avviata occupando con 1 il parametro di ingresso REQ al
momento di richiamo dell’SFC 13.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
16-15
SFC per periferia decentrata o per PROFINET IO
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 che lavorano in modo asincrono.
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. Lunghezza
minima del set di dati da leggere o dell'area di
destinazione = 6, lunghezza massima del set di
dati da leggere = 240; negli slave standard in cui il
numero di dati di diagnostica di norma è superiore
a 240 ed è di max. 244, i primi 240 byte vengono
trasferiti nell'area di destinazione e il bit di
overflow corrispondente viene impostato nei dati.
BUSY
OUTPUT
BOOL
E, A, M, D, L
BUSY=1:
L'operazione di lettura non è ancora terminata.
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.
16-16
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per periferia decentrata o per PROFINET IO
Slave standard con più di 240 byte di dati di diagnostica
Per slave standard, in cui il numero dei dati di diagnostica standard è posto tra i 241 e i 244
byte, si deve fare attenzione a quanto segue:
Se l'indicazione della lunghezza di RECORD
•
è minore di 240 byte, i dati vengono annullati e in RET_VAL viene registrata la relativa
informazione di errore.
•
è maggiore di od uguale a 240 byte, i primi 240 byte dei dati di diagnostica standard
vengono trasferiti nell'area di destinazione e il relativo bit di overflow viene impostato nei
dati.
Parametro di uscita RET_VAL
•
Se durante l'esecuzione della funzione si è verificato un errore, il valore di ritorno
conterrà un codice di errore.
•
Se durante il trasferimento non si è verificato alcun errore, RET_VAL conterrà la
lunghezza dei dati letti in byte come numero positivo.
Avvertenza
Il numero di dati letti dipende, in uno slave DP, dal suo stato di diagnostica.
Informazioni di errore
Per analizzare le informazioni di errore del parametro RET_VAL, vedere anche Analisi degli
errori con il parametro di uscita RET_VAL. In questo capitolo sono riportate anche le
informazioni di errore generali delle SFC. Le informazioni di errore specifiche per l’SFC 13
sono una parte delle informazioni sugli errori per l’SFC 59 "RD_REC", vedere Lettura di set
di dati con 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.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
16-17
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"
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 è di 32 byte. 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.
16-18
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per periferia decentrata o per PROFINET IO
Con uno slave standard DP con struttura modulare e varie identificazioni DP, è possibile con
un richiamo dell’SFC 14, accedere solo ai dati di un'unità/identificazione DP sotto l'indirizzo
iniziale progettato.
Parametri
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.
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/2
A5E00709342-01
16-19
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"
Coerenza dei dati
Vedere il capitolo: Informazioni generali sui blocchi di comunicazione S7 e di comunicazione
di base S7 - Coerenza dei dati.
Avvertenza
I dati coerenti si possono eventualmente scrivere anche attraverso l'immagine di processo
delle uscite.
Per verificare se la CPU S7-300 utilizzata supporta questa funzionalità, leggere il manuale
Sistemi di automazione S7-300: Configurazione e dati della CPU.
Tutte le CPU S7-400 supportano questa funzionalità.
!
Cautela
In caso di utilizzo dell’SFC 15 "DPWR_DAT" evitare gli accessi ad aree della periferia le cui
immagini di processo parziali sono assegnate con collegamento OB6x (allarmi in
sincronismo di clock).
Scopo dell’SFC 15
L’SFC 15 "DPWR_DAT" è necessaria in quanto con i comandi di trasferimento che hanno
accesso alla periferia e all'immagine di processo degli ingressi è possibile scrivere in modo
coerente un massimo di quattro byte.
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 è di 32 byte. 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.
16-20
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
SFC per periferia decentrata o per PROFINET IO
Con uno slave standard DP con struttura modulare e varie identificazioni DP, è possibile
accedere solo ad una unità dello slave DP.
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 di come progettata con
STEP 7 per l'unità selezionata. Solo il tipo dei dati
BYTE è ammesso.
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.
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.
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/2
A5E00709342-01
16-21
SFC per periferia decentrata o per PROFINET IO
16-22
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
17
PROFInet
17.1
Informazioni sulle SFC 112, 113 e 114
Avvertenza
Il sistema operativo aggiorna per default sia l'interfaccia PROFInet sia 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 componenti PROFInet.
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 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/2
A5E00709342-01
17-1
PROFInet
Aggiornamento dell'interfaccia PROFInet
Poiché la coerenza dei dati viene garantita per mezzo della memoria ombra, secondo la
descrizione precedente, l'aggiornamento dell'interfaccia PROFInet è costituito dalle due
azioni seguenti:
•
Copia degli ingressi della memoria ombra negli ingressi del DB di interfaccia prima di
elaborare il programma utente appartenente al componente PROFInet
•
Copia delle uscite del DB di interfaccia nelle uscite della memoria ombra dopo aver
elaborato il programma utente appartenente al componente PROFInet.
L'aggiornamento dell'interfaccia PROFInet viene eseguito automaticamente dal sistema
operativo oppure dall'utente, richiamando le SFC 112 e 113 (secondo la progettazione
definita al momento della creazione del componente PROFInet nel SIMATIC Manager). La
figura seguente mostra uno schema dell'aggiornamento per mezzo delle SFC 112 e 113.
'%GಪLQWHUIDFFLD
LQWHUIDFFLDSURJUDPPDXWHQWH
,1
287
6)&
ರ31B,1ಮ
6)&
ರ31B287ಮ
0HPRULDRPEUD
,QWHUIDFFLD352),QHW
,1
287
L'aggiornamento da parte del sistema avviene sempre nel punto di controllo del ciclo.
17-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
PROFInet
Invece per aggiornare l'interfaccia tramite le SFC 112 e 113 occorre richiamare la SFC 112
all'inizio dell'OB nel quale si trova il programma appartenente al componente PROFInet e la
SFC 113 alla fine dello stesso OB. La figura seguente mostra un esempio utilizzando
l'OB 30.
5LFKLDPRGHOOD6)&
5LFKLDPRGHOOD6)&
2%
2%
2%
W
Avvertenza sui componenti multifunzione (più DB di interfaccia PROFInet su un
dispositivo):
I componenti multifunzione consentono l’aggioranmento di tutti i DB di interfaccia con un
unico ordine SFC (DBNO=0) (analogamente all’aggiornamento nel punto di controllo del
ciclo triggerato tramite SFC). Se durante l’aggiornamento di un DB di interfaccia si verifica
un errore, l‘operazione di aggiornamento dell’altro DB non viene interrotta. Un eventuale
valore negativo di RET_VAL si riferisce ad uno dei DB di interfaccia aggiornati.
Aggiornamento delle interconnessioni DP
L'aggiornamento delle interconnessioni DP viene eseguito da parte del sistema operativo
oppure per mezzo della SFC 114, secondo la progettazione definita al momento della
creazione del componente PROFInet nel SIMATIC Manager.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
17-3
PROFInet
17.2
Aggiornamento degli ingressi dell'interfaccia del
programma utente dei componenti PROFInet con la
SFC 112 "PN_IN"
Descrizione
La SFC 112 "PN_IN" consente di copiare i dati di ingresso contenuti in PROFInet dalla
memoria ombra del componente PROFInet nel corrispondente DB di interfaccia. Al termine
della SFC i dati di ingresso attuali sono a disposizione dell'applicazione utente.
Parametri
Dichiarazione
Tipo di
dati
Area di memoria
Descrizione
DBNO
INPUT
WORD
E, A, M, D, L, 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 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.
8006
Il DB di interfaccia è protetto in scrittura nella CPU oppure è stato compilato con la parola
chiave UNLINKED.
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
Vedere anche:
Informazioni sulle SFC 112, 113 e 114
17-4
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
PROFInet
17.3
Aggiornamento delle uscite dell'interfaccia PROFInet dei
componenti PROFInet 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 nella corrispondente memoria ombra. Al
termine della SFC i dati di uscita attuali sono a disposizione di altri componenti PROFInet.
Parametri
Dichiarazione
Tipo di
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 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.
8006
Il DB di interfaccia è stato compilato con la parola chiave UNLINKED.
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
Vedere anche:
Informazioni sulle SFC 112, 113 e 114
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
17-5
PROFInet
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 nel PROFIBUS locale e
•
Tutte le interconnessioni con trasferimento ciclico tra componenti PROFInet nel
PROFIBUS locale e componenti PROFInet 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 cioè si può estendere per
più richiami di SFC. L'aggiornamento delle interconnessioni DP si avvia richiamando la
SFC 114 con REQ=1.
Lo stato dell'ordine viene visualizzato attraverso i parametri di uscita RET_VAL e BUSY
(vedere anche: Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in
modo asincrono).
Parametri
Dichiarazione
Tipo di
dati
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L, cost.
REQ=1: avvio dell'aggiornamento delle
interconnessioni DP
RET_VAL
OUTPUT
INT
E, A, M, D, L
Se durante l'elaborazione della funzione si
verifica un errore, il valore di ritorno contiene un
codice di errore.
BUSY
OUTPUT
BOOL
E, A, M, D, L
BUSY=1:
L'aggiornamento delle interconnessioni DP non è
ancora terminato.
17-6
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
PROFInet
Informazioni di errore
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
Primo richiamo con REQ=1. BUSY ha il valore 1.
7002
Richiamo intermedio (REQ è irrilevante). L'aggiornamento delle interconnessioni DP non è
ancora concluso. BUSY ha il valore 1.
8001
La progettazione 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
Vedere anche:
Informazioni sulle SFC 112, 113 e 114
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
17-7
PROFInet
17-8
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
18
FB per l'accesso ciclico ai dati utili secondo
PNO
18.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 FBsopracitati sono identiche agli FB omonimi definiti nella Norma
"PROFIBUS and PROFINET Communication Function Blocks on PROFIBUS DP and
PROFINET IO
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
18-1
FB per l'accesso ciclico ai dati utili secondo PNO
18.2
Lettura di tutti gli ingressi di uno slave DP standard
/PROFINET IO Device tramite l‘FB 20 "GETIO"
Descrizione
L‘FB 20 "GETIO" consente la lettura coerente di tutti gli ingressi di uno slave DP standard
/PROFINET IO Device. L‘FB 20 richiama per questo scopo l‘SFC 14 "DPRD_DAT". Se la
trasmissione dati avviene correttamente, i dati letti vengono inseriti nell’area di destinazione
creata da INPUTS.
La lunghezza dell’area di destinazione deve essere identica a quella progettata in STEP 7
per il componente selezionato.
Utilizzando uno slave DP standard a struttura modulare o dotato di più identificativi DP, è
possibile, con un singolo richiamo dell‘FB 20, accedere di volta in volta soltanto ai dati di un
componente o ad un identificativo DP nell’ambito degli indirizzi iniziali progettati.
Parametri
Dichiara
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" .
18-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
FB per l'accesso ciclico ai dati utili secondo PNO
18.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 dei 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 1/2
A5E00709342-01
18-3
FB per l'accesso ciclico ai dati utili secondo PNO
18.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.
18-4
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
FB per l'accesso ciclico ai dati utili secondo PNO
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
OFFSET
INPUT
INT
E, A, M, D, L, Cost..
Numero dei primi byte che devono essere letti
nell’immagine di processo del componente
(valore minimo: 0)
LEN
INPUT
INT
E, A, M, D, L, Cost..
Numero dei byte da leggere
STATUS
OUTPUT
DWORD
E, A, M, D, L
Contiene l’informazione di errore dell‘SFC 81
"UBLKMOV" nel formato DW#16#40xxxx00, se
ERROR = TRUE
ERROR
OUTPUT
BOOL
E, A, M, D, L
Segnalazione di errore:
ERROR = TRUE, se al richiamo dell‘SFC 81
"UBLKMOV" si verifica un errore.
INPUTS
IN_OUT
ANY
E, A, M, D
Area di destinazione dei dati letti:
•
Se l’area di destinazione è inferiore a LEN,
vengono trasmessi tanti byte quanti è in
grado di riceverne il parametro INPUTS. Al
parametro ERROR viene assegnato il valore
FALSE
•
Se l’area di destinazione è superiore a LEN,
vengono scritti i primi byte LEN dell’area di
destinazionne. Al parametro ERROR viene
assegnato il valore FALSE.
Informazioni di errore
Vedere Copiatura continuata di varabili con l‘SFC 81 "UBLKMOV".
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
18-5
FB per l'accesso ciclico ai dati utili secondo PNO
18.5
Scrittura di una parte delle uscite di uno slave DP standard
/PROFINET IO Device con l‘FB 23 "SETIO_PART"
Descrizione
L‘FB 23 "SETIO_PART" consente il trasferimento coerente di dati dall’area sorgente creata
dal parametro OUTPUTS ad una parte dell’area dell’immagine di processo appartenente ad
uno slave DP standard / PROFINET IO Device. L‘FB 23 richiama per questo scopo l‘SFC 81
"UBLKMOV".
Avvertenza
Assegnare un’immagine di processo parziale delle uscite all‘OB nel quale viene richiamato
l‘FB 23 "SETIO_PART". È inoltre necessario, prima del richiamo dell‘FB 23, acquisire il
relativo slave DP standard o il relativo PROFINET IO Device nell‘immagine di processo
parziale delle uscite. Se la CPU non conosce le immagini di processo parziale o se si
intende richiamare l‘FB 23 nell‘OB 1, è necessario, prima di procedere al richiamo
dell‘FB 23, acquisire il relativo slave DP standard o il relativo PROFINET IO Device
nell‘immagine di processo delle uscite
I parametri OFFSET e LEN consentono di stabilire in quale parte dell’area dell’immagine di
processo dei componenti indirizzati tramite l’ID debba avvenire la scrittura.
Se la trasmissione dati si è conclusa correttamente, al parametro ERROR viene assegnato il
valore FALSE.
Se durante la trasmissione dati si sono verificati errori, al parametro ERROR viene
assegnato il valore TRUE e nel parametro STATUS viene inoltrata l’informazione di errore
dell‘SFC 81 "UBLKMOV".
Se l’area sorgente (parametro OUTPUTS) è inferiore a LEN, vengono trasmessi tanti byte
quanti ne aono contenuri nel parametro OUTPUTS. Al parametro ERROR viene assegnato il
valore FALSE. Se l’area sorgente è superiore a LEN, vengono trasferiti i primi byte LEN dal
parametro OUTPUTS. Al parametro ERROR viene assegnato il valore FALSE.
Avvertenza
Nell’immagine di processo della uscite, l‘FB 23 "SETIO_PART" non effettua il controllo dei
limiti tra i dati appartenenti ai diversi componenti PROFIBUS-DP e PROFINET IO. È
pertanto compito dell’utente accertarsi che l’area dell’immagine di processo determinata
tramite i parametri OFFSET e LEN appartenga ad un componente univoco. Una scrittura
globale dei dati dei componenti, in grado di operare una distinzione di appartenenza degli
stessi, non può essere garantita nel sistemi futuri. La trasferibilità in sistemi di altri costruttori
viene quindi compromessa.
18-6
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
FB per l'accesso ciclico ai dati utili secondo PNO
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
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 dei dati da scrivere:
•
Se l’area sorgente è inferiore a LEN,
vengono trasmessi tanti byte quanti ne sono
contenuri nel parametro OUTPUTS. Al
parametro ERROR viene assegnato il valore
FALSE
•
Se l’area sorgente è superiore a LEN,
vengono trasferiti i primi byte LEN dal
parametro OUTPUTS. Al parametro ERROR
viene assegnato il valore FALSE.
Informazioni di errore
Vedere Copiatura continuata di varabili con l‘SFC 81 "UBLKMOV".
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
18-7
FB per l'accesso ciclico ai dati utili secondo PNO
18-8
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 1/2
A5E00709342-01
s
SFC per la comunicazione di
dati globali
Panoramica della
comunicazione S7 e della
comunicazione di base S7
SIMATIC
Software di sistema
per S7-300/400 - Funzioni
standard e di sistema
Volume 2/2
Manuale di riferimento
Comunicazione S7
Comunicazione di base S7
Comunicazione aperta tramite
Industrial Ethernet
Creazione di segnalazioni
riferite ai blocchi
Temporizzatore IEC e
contatore IEC
Funzioni IEC
SFB per la regolazione
integrata
SFB per CPU compatte
SFC per le CPU H
Funzioni di copiatura e di
blocco
Tecnica delle materie
plastiche
A5E00739862-01
21
22
23
24
25
26
27
28
29
30
31
32
Lista di stato di sistema SZL
33
Eventi
34
Lista delle SFC e degli SFB
35
Glossario
Indice analitico
Edizione 03/2006
20
Dati di diagnostica
Bibliografia
Il presente manuale fa parte del pacchetto
di documentazione con il numero di ordinazione:
6ES7810-4CA08-8EW1
19
Istruzioni tecniche di sicurezza
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
!
Avvertenza
!
Cautela
questo simbolo indica che la mancata osservanza delle opportune misure di sicurezza la morte o
gravi lesioni fisiche.
il simbolo indica che la mancata osservanza delle relative misure di sicurezza la morte o gravi lesioni
fisiche.
indica che la mancata osservanza delle relative misure di sicurezza può causare lesioni fisiche non
gravi.
Cautela
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
L'apparecchio/sistema in questione deve essere installato e messo in servizio solo rispettando le
indicazioni contenute in questa documentazione. La messa in servizio e l'esercizio di un
apparecchio/sistema devono essere eseguiti solo da personale qualificato. Con riferimento alle
indicazioni contenute in questa documentazione in merito alla sicurezza, come personale qualificato si
intende quello autorizzato a mettere in servizio, eseguire la relativa messa a terra e contrassegnare le
apparecchiature, i sistemi e i circuiti elettrici rispettando gli standard della tecnica di sicurezza.
Uso regolamentare delle apparecchiature/dei sistemi:
Si prega di tener presente quanto segue:
!
Avvertenza
L'apparecchiatura può essere destinata solo agli impieghi previsti nel catalogo e nella descrizione
tecnica e può essere utilizzata solo insieme a apparecchiature e componenti di Siemens o di altri
costruttori raccomandati o omologati dalla Siemens.
Per garantire un funzionamento ineccepibile e sicuro del prodotto è assolutamente necessario che le
modalità di trasporto, di immagazzinamento, di installazione e di montaggio siano corrette, che
l'apparecchiatura venga usata con cura e che si provveda ad una manutenzione appropriata.
Marchio di prodotto
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
Automation and Drives
Postfach 4848
90437 NÜRNBERG
GERMANIA
A5E00739862-01
03/2006
Copyright © Siemens AG 2006
Con riserva di eventuali modifiche tecniche
Indice
19
SFC per la comunicazione di dati globali ............................................................................ 19-3
19.1
19.2
20
Panoramica della comunicazione S7 e della comunicazione di base S7......................... 20-3
20.1
20.2
20.3
20.4
21
Differenze fra i blocchi di comunicazione S7 e i blocchi di comunicazione
di base S7 ................................................................................................................. 20-3
Coerenza dei dati...................................................................................................... 20-3
Informazioni generali sui blocchi di comunicazione S7 ............................................ 20-3
Panoramica dei blocchi di comunicazione di base S7.............................................. 20-3
Comunicazione S7 ................................................................................................................. 21-3
21.1
21.2
21.3
21.4
21.5
21.6
21.7
21.8
21.9
21.10
21.11
21.12
21.13
21.14
21.15
21.16
21.17
21.18
22
Trasmissione programmata di un blocco GD con la SFC 60 "GD_SND"................. 19-3
Rilevamento programmato di un blocco GD ricevuto con la SFC 61 "GD_RCV" .... 19-3
Parametri comuni agli SFB/FB e alle SFC/FC di comunicazione S7 ....................... 21-3
Comportamento all'avviamento degli SFB di comunicazione S7 ............................. 21-3
Comportamento in caso di disturbi degli SFB di comunicazione S7 ........................ 21-3
Trasmissione non coordinata di dati con l'SFB/FB 8 "USEND"................................ 21-3
Ricezione non coordinata di dati con l'SFB/FB 9 "URCV"........................................ 21-3
Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND" ....................................... 21-3
Ricezione di dati a blocchi con l'SFB 13/FB "BRCV"................................................ 21-3
Scrittura di dati in una CPU remota con l'SFB/FB 15 "PUT" .................................... 21-3
Lettura dei dati di una CPU remota con l'SFB/FB 14 "GET" .................................... 21-3
Invio di dati ad una stampante con l'SFB 16 "PRINT" .............................................. 21-3
Esecuzione di un nuovo avviamento (avviamento a caldo) o un avviamento
a freddo nel dispositivo remoto con l'SFB 19 "START" ............................................ 21-3
Commutazione di un dispositivo remoto nello stato di funzionamento STOP
con l'SFB 20 "STOP" ................................................................................................ 21-3
Esecuzione di un riavviamento in un dispositivo remoto
con l'SFB 21 "RESUME"........................................................................................... 21-3
Interrogazione dello stato di un dispositivo partner remoto
con l'SFB 22 "STATUS"............................................................................................ 21-3
Ricezione del cambiamento di stato di un dispositivo remoto
con l'SFB 23 "USTATUS" ......................................................................................... 21-3
Interrogazione dello stato del collegamento appartenente ad un'istanza
SFB di comunicazione con la SFC 62 "CONTROL"................................................. 21-3
Interrogazione dello stato di un collegamento con la FC 62 "C_CNTRL" .............. 21-49
Fabbisogno di memoria di lavoro dei blocchi di comunicazione S7 ....................... 21-51
Comunicazione di base S7.................................................................................................... 22-3
22.1
22.2
22.3
22.4
22.5
22.6
Parametri comuni delle SFC di comunicazione di base S7...................................... 22-3
Informazioni di errore delle SFC di comunicazione per collegamenti S7
non progettati ............................................................................................................ 22-3
Invio di dati ad un partner di comunicazione esterno alla propria stazione S7
con la SFC 65 "X_SEND" ......................................................................................... 22-3
Ricezione di dati da un partner di comunicazione esterno
alla propria stazione S7con la SFC 66 "X_RCV"...................................................... 22-3
Scrittura di dati in un partner di comunicazione esterno
alla propria stazione S7 con la SFC 68 "X_PUT" ..................................................... 22-3
Lettura di dati da un partner di comunicazione esterno
alla propria stazione S7 con la SFC 67 "X_GET"..................................................... 22-3
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
iii
Indice
22.7
22.8
22.9
22.10
23
Comunicazione aperta tramite Industrial Ethernet............................................................. 23-3
23.1
23.2
23.3
23.4
23.5
23.6
23.7
23.8
23.9
23.10
23.11
23.12
24
Panoramica............................................................................................................... 23-3
Funzionamento degli FB per la comunicazione aperta tramite Industrial Ethernet.. 23-3
Parametrizzazione di collegamenti di comunicazione aperti tramite
i protocolli TCP native e ISO on TCP ....................................................................... 23-3
Parametrizzazione del punto di accesso alla comunicazione locale
con il protocollo UDP ................................................................................................ 23-3
Struttura dell’informazione di indirizzo del partner remoto con il protocollo UDP .... 23-3
Esempi di parametrizzazione di collegamenti di comunicazione aperti ................... 23-3
Inizializzazione del collegamento con l'FB 65 "TCON"............................................. 23-3
Sconnessione con l'FB 66 "TDISCON" .................................................................... 23-3
Invio di dati tramite i protocolli TCP native e ISO on TCP con l'FB 63 "TSEND ...... 23-3
Ricezione di dati tramite i protocolli TCP native e ISO on TCP
con l'FB 64 "TRCV"................................................................................................... 23-3
Invio di dati tramite il protocollo UDP con l‘FB 67 "TUSEND" .................................. 23-3
Ricezione di dati tramite il protocollo UDP con l‘FB 68 "TURCV" ............................ 23-3
Creazione di segnalazioni riferite ai blocchi ....................................................................... 24-3
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
24.16
24.17
iv
Annullamento di un collegamento ad un partner di comunicazione esterno
alla propria stazione S7 con la SFC 69 "X_ABORT"................................................ 22-3
Scrittura di dati in un partner di comunicazione interno
alla propria stazione S7 con la SFC 73 "I_PUT" ...................................................... 22-3
Lettura di dati da un partner di comunicazione interno
alla propria stazione S7 con la SFC 72 "I_GET" ...................................................... 22-3
Annullamento di un collegamento con un partner di comunicazione interno
alla propria stazione S7 con la SFC 74 "I_ABORT" ................................................. 22-3
Introduzione alla creazione di segnalazioni riferite ai blocchi con gli SFB ............... 24-3
Creazione di segnalazioni riferite ai blocchi senza visualizzazione
della conferma con l'SFB 36 "NOTIFY" .................................................................... 24-3
Creazione di segnalazioni riferite ai blocchi senza visualizzazione
della conferma con l'SFB 31 "NOTIFY_8P".............................................................. 24-3
Creazione di segnalazioni riferite ai blocchi con visualizzazione
della conferma con l'SFB 33 "ALARM"..................................................................... 24-3
Creazione di segnalazioni riferite ai blocchi con variabili per otto segnali
con l'SFB 35 "ALARM_8P" ....................................................................................... 24-3
Creazione di segnalazioni riferite ai blocchi senza variabili per otto segnali
con l'SFB 34 "ALARM_8".......................................................................................... 24-3
Trasmissione di dati di archivio con l'SFB 37 "AR_SEND" ...................................... 24-3
Inibizione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni
cumulative tecnologiche con la SFC 10 "DIS_MSG"................................................ 24-3
Abilitazione di segnalazioni riferite ai blocchi e ai simboli e di segnalazioni
cumulative tecnologiche con la SFC 9 "EN_MSG"................................................... 24-3
Comportamento all'avviamento degli SFB per la creazione
di segnalazioni riferite ai blocchi ............................................................................... 24-3
Comportamento in caso di disturbo degli SFB per la creazione
di segnalazioni riferite ai blocchi ............................................................................... 24-3
Introduzione alla creazione di segnalazioni riferite ai blocchi con le SFC................ 24-3
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"....................................................................................... 24-3
Rilevamento dello stato di conferma dell'ultima segnalazione
ALARM_SQ/ALARM_DQ arrivata con la SFC 19 "ALARM_SC" ............................. 24-3
Creazione di segnalazioni confermabili e sempre confermate riferite ai blocchi
con le SFC 107 "ALARM_DQ" e 108 "ALARM_D" ................................................... 24-3
Lettura di risorse di sistema a occupazione dinamica con la
SFC 105 "READ_SI"................................................................................................. 24-3
Abilitazione di risorse di sistema a occupazione dinamica con la
SFC 106 "DEL_SI".................................................................................................... 24-3
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Indice
25
Temporizzatore IEC e contatore IEC .................................................................................... 25-3
25.1
25.2
25.3
25.4
25.5
25.6
26
Funzioni IEC............................................................................................................................ 26-3
26.1
26.2
26.3
26.4
26.5
26.6
26.7
26.8
26.9
26.10
26.11
27
Posizionamento con uscita analogica con l'SFB 44 "Analogico".............................. 28-3
Posizionamento con uscita digitale con l'SFB 46 "Digitale" ..................................... 28-3
Comando del contatore con l'SFB 47 "COUNT"....................................................... 28-3
Comando della misurazione della frequenza con l'SFB 48 "FREQUENC" .............. 28-3
Comando della modulazione dell'ampiezza degli impulsi con l'SFB 49 "PULSE".... 28-3
Invio di dati (ASCII, 3964(R)) con l'SFB 60 "SEND_PTP"........................................ 28-3
Ricezione di dati (ASCII, 3964(R)) con l'SFB 61 "RCV_PTP".................................. 28-3
Cancellazione del buffer ricevente (ASCII, 3964(R)) con l'SFB 62 "RES_RCVB" ... 28-3
Invio di dati (RK 512) con l'SFB 63 "SEND_RK" ...................................................... 28-3
Prelievo di dati (RK 512) con l'SFB 64 "FETCH RK"................................................ 28-3
Ricezione e messa a disposizione di dati (RK 512) con l'SFB 65 "SERVE_RK" ..... 28-3
Ulteriori informazioni di errore degli SFB da 60 a 65................................................ 28-3
SFC per le CPU H ................................................................................................................... 29-3
29.1
30
Regolazione continua con l'SFB 41/FB 41 "CONT_C"............................................. 27-3
Regolazione a passi con l'SFB 42/FB 42 "CONT_S" ............................................... 27-3
Formazione di impulsi con l'SFB 43/FB 43 "PULSEGEN" ....................................... 27-3
Esempio con un blocco PULSEGEN ........................................................................ 27-3
SFB per CPU compatte.......................................................................................................... 28-3
28.1
28.2
28.3
28.4
28.5
28.6
28.7
28.8
28.9
28.10
28.11
28.12
29
Sommario.................................................................................................................. 26-3
Dati tecnici relativi alle funzioni IEC.......................................................................... 26-3
Data e ora come tipi di dati composti........................................................................ 26-3
Funzioni orologio....................................................................................................... 26-3
Confronto tra variabili DATE_AND_TIME................................................................. 26-3
Confronto tra variabili STRING ................................................................................. 26-3
Modifica dei valori numerici ...................................................................................... 26-3
Esempio in AWL ....................................................................................................... 26-3
Esempio in AWL ....................................................................................................... 26-3
Modifica della variabile STRING............................................................................... 26-3
Conversione dei formati............................................................................................ 26-3
SFB per la regolazione integrata .......................................................................................... 27-3
27.1
27.2
27.3
27.4
28
Creazione di un impulso con l'SFB 3 "TP"................................................................ 25-3
Creazione di ritardo all'inserzione con l'SFB 4 "TON" .............................................. 25-3
Creazione di ritardo alla disinserzione con l'SFB 5 "TOF" ....................................... 25-3
Conteggio in avanti con l'SFB 0 "CTU"..................................................................... 25-3
Conteggio all'indietro con l'SFB 1 "CTD" .................................................................. 25-3
Conteggio in avanti e all'indietro con l'SFB 2 "CTUD".............................................. 25-3
Influenza delle sequenze nei sistemi H con la SFC 90 "H_CTRL"........................... 29-3
Funzioni integrate (per CPU con ingressi/uscite integrati) ............................................... 30-3
30.1
30.2
30.3
30.4
SFB 29 (HS_COUNT)............................................................................................... 30-3
SFB 30 (FREQ_MES)............................................................................................... 30-3
SFB 38 (HSC_A_B) .................................................................................................. 30-3
SFB 39 (POS) ........................................................................................................... 30-3
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
v
Indice
31
Tecnica delle materie plastiche ............................................................................................ 31-3
31.1
32
Dati di diagnostica ................................................................................................................. 32-3
32.1
32.2
32.3
33
Panoramica della struttura dei dati di diagnostica .................................................... 32-3
Dati di diagnostica..................................................................................................... 32-3
Struttura dei dati di diagnostica specifici del canale ................................................. 32-3
Lista di stato di sistema SZL................................................................................................. 33-3
33.1
33.2
33.3
33.4
33.5
33.6
33.7
33.8
33.9
33.10
33.11
33.12
33.13
33.14
33.15
33.16
33.17
33.18
33.19
33.20
33.21
33.22
33.23
33.24
33.25
33.26
33.27
33.28
33.29
33.30
33.31
33.32
33.33
33.34
vi
SFC 63 (AB_CALL)................................................................................................... 31-3
Panoramica della lista di stato di sistema (SZL)....................................................... 33-3
Struttura di una lista parziale SZL............................................................................. 33-3
ID SZL....................................................................................................................... 33-3
Liste parziali SZL possibili ........................................................................................ 33-3
ID SZL W#16#xy11 - Identificazione di unità............................................................ 33-3
ID SZL W#16#xy12 - Caratteristiche della CPU....................................................... 33-3
ID SZL W#16#xy13 - Aree di memoria utente.......................................................... 33-3
ID SZL W#16#xy14 - Aree di sistema....................................................................... 33-3
ID SZL W#16#xy15 - Tipi di blocchi.......................................................................... 33-3
ID SZL W#16#xy19 - Stato dei LED di unità ............................................................ 33-3
ID SZL W#16#xy1C - Identificazione di un componente .......................................... 33-3
ID SZL W#16#xy22 – Stato degli allarmi .................................................................. 33-3
ID SZL W#16#xy25 - Associazione tra immagini di processo parziali e OB ............ 33-3
ID SZL W#16#xy32 - Dati di stato della comunicazione........................................... 33-3
Set di dati dell'estratto della lista parziale con
ID SZL W#16#0132 Indice W#16#0005 ................................................................... 33-3
Set di dati dell'estratto della lista parziale con
ID SZL W#16#0132 Indice W#16#0008 ................................................................... 33-3
Set di dati dell’estratto della lista parziale con
ID SZL W#16#0132 Indice W#16#000B................................................................... 33-3
Set di dati dell’estratto della lista parziale con
ID SZL W#16#0132 Indice W#16#000C................................................................... 33-3
Set di dati dell'estratto della lista parziale con
ID SZL W#16#0232 Indice W#16#0004 ................................................................... 33-3
ID SZL W#16#xy37 - Informazioni Ethernet sull'unità .............................................. 33-3
ID SZL W#16#xy71 - Informazione cumulativa della CPU H ................................... 33-3
ID SZL W#16#xy74 - Stato dei LED dell'unità .......................................................... 33-3
ID SZL W#16#xy75 - Slave DP connessi nel sistema H .......................................... 33-3
ID SZL W#16#xy90 - Informazioni sul sistema master DP....................................... 33-3
ID SZL W#16#xy91 - Informazione sullo stato delle unità........................................ 33-3
ID SZL W#16#xy92 - Informazione sullo stato del telaio
di montaggio/della stazione ...................................................................................... 33-3
ID SZL W#16#0x94 – Telaio di montaggio -/ informazione
di stato della stazione ............................................................................................... 33-3
ID SZL W#16#xy95 - Informazioni supplementari sul sistema master DP............... 33-3
ID SZL W#16#xy96 – Informazioni sullo stato delle unità
PROFINET IO e PROFIBUS DP .............................................................................. 33-3
ID SZL W#16#xyA0 - Buffer di diagnostica .............................................................. 33-3
ID SZL W#16#00B1 - Informazione di diagnostica unità.......................................... 33-3
ID SZL W#16#00B2 - Set di dati di diagnostica1 tramite indirizzo fisico.................. 33-3
ID SZL W#16#00B3 - Dati di diagnostica unità tramite indirizzo di base logico....... 33-3
ID SZL W#16#00B4 - Dati di diagnostica di uno slave DP....................................... 33-3
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Indice
34
Eventi....................................................................................................................................... 34-3
34.1
34.2
34.3
34.4
34.5
34.6
34.7
34.8
34.9
34.10
34.11
34.12
35
Eventi e ID di evento................................................................................................. 34-3
Classe di evento 1 - Eventi di OB standard.............................................................. 34-3
Classe di evento 2 - Eventi di errore di sincronismo ................................................ 34-3
Classe di evento 3 - Eventi di errore di asincronismo .............................................. 34-3
Classe di evento 4 - Eventi di stop ed altri passaggi tra diversi stati
di funzionamento....................................................................................................... 34-3
Classe di evento 5 - Elaborazione stati di funzionamento........................................ 34-3
Classe di evento 6 - Eventi di comunicazione .......................................................... 34-3
Classe di evento 7 - Eventi H/F ................................................................................ 34-3
Classe di evento 8 - Eventi di diagnostica per unità................................................. 34-3
Classe di evento 9 - Eventi utente standard............................................................. 34-3
Classe di evento A e B - Eventi utente liberi ............................................................ 34-3
Classe di evento riservata ........................................................................................ 34-3
Lista delle SFC e degli SFB................................................................................................... 35-3
35.1
35.2
35.3
35.4
Lista delle SFC, in ordine numerico.......................................................................... 35-3
Lista delle SFC, in ordine alfabetico ......................................................................... 35-3
Lista degli SFB, in ordine numerico .......................................................................... 35-3
Lista degli SFB, in ordine alfabetico ......................................................................... 35-3
Bibliografia ........................................................................................................................ Bibliografia-3
Glossario ...............................................................................................................................Glossario-3
Indice analitico............................................................................................................ Indice analitico-3
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
vii
Indice
viii
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
19
SFC per la comunicazione di dati globali
19.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/2
A5E00739862-01
19-1
SFC per la comunicazione di dati globali
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_ID
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
19-2
OUTPUT
INT
E, A, M, D, L
Informazione sull'errore
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFC per la comunicazione di dati globali
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/2
A5E00739862-01
19-3
SFC per la comunicazione di dati globali
19.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
19-4
•
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/2
A5E00739862-01
SFC per la comunicazione di dati globali
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/2
A5E00739862-01
19-5
SFC per la comunicazione di dati globali
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.
19-6
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
20
Panoramica della comunicazione S7 e della
comunicazione di base S7
20.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
Collegamenti di
comunicazione
Non viene progettato un collegamento. Viene
creato al momento di 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
Viene progettato un collegamento in maniera
fissa mediante la progettazione di
collegamenti.
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.
Nello stato di funzionamento STOP il
collegamento viene mantenuto.
S7-300: come FB e FC
S7-400: come SFB e SFC
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à nella propria stazione
S7 oppure sulla sotto-rete MPI.
Indirizzamento di unità sulla sotto-rete MPI,
sul PROFIBUS oppure sull'Industrial Ethernet
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/).
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
20-1
Panoramica della comunicazione S7 e della comunicazione di base S7
Criterio
Comunicazione di base S7
Lunghezza dati
utili massima
Viene garantita solo una lunghezza di dati utili La lunghezza massima trasferibile di dati utili
pari a 76 byte.
dipende dal tipo di blocco (USEND / URCV,
GET ecc.) e dal partner di comunicazione
(S7-300 o S7-400).
Comunicazione S7
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.
Realizzazione della norma IEC 61131-5 con S7-300
I seguenti blocchi consentono di realizzare quanto previsto nella norma IEC 61131-5:
20-2
•
USEND(SFB8)/URCV(SFB9)
•
BSEND(SFB12)/BRCV(SFB13)
•
PUT(FB15)/GET(FB14) corrisponde a READ/WRITE
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Panoramica della comunicazione S7 e della comunicazione di base S7
20.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.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
20-3
Panoramica della comunicazione S7 e della comunicazione di base S7
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).
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.
20-4
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Panoramica della comunicazione S7 e della comunicazione di base S7
20.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".
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 tutte le SFB sono realizzate come FB nella S7-300.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
20-5
Panoramica della comunicazione S7 e della comunicazione di base S7
SFB/FB per lo scambio dati
Gli SFB/ FB di comunicazione per lo scambio dei dati servono allo scambio dei dati tra due
partner di comunicazione. A seconda che esista un SFB/FB di comunicazione solo sull'unità
locale oppure sia sull'unità locale che sull'unità remota, si parla di scambio dati a una o a
due vie.
Blocchi
Blocchi
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
SFB 12/
FB 12
BSEND/
SFB 13
FB 13
BRCV
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
SFB 15
FB 15
PUT
Scrittura di variabili comandata dal programma senza che sia
presente una funzione di comunicazione specifica nel programma
utente del partner di comunicazione
SFB 16
-
PRINT
Invio di dati a una stampante (solo S7-400)
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
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.
20-6
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Panoramica della comunicazione S7 e della comunicazione di base S7
SFB per l'interrogazione dello stato di funzionamento
Con gli SFB per l'interrogazione dello stato di funzionamento si possono ricevere
informazioni sullo stato di funzionamento di un dispositivo remoto.
Con SFB "STATUS" il tipo di scambio dati è a una via, mentre con SFB "USTATUS" lo
scambio dati è a due vie.
Blocco S7-400
Breve descrizione
SFB 22
STATUS
Indica lo stato di funzionamento di un partner di comunicazione (CPU S7-400,
M7-300/400) su richiesta dell'utente.
SFB 23
USTATUS
Se è stato impostato l'apposito attributo (Invia messaggi sullo stato di
funzionamento), riceve lo stato di funzionamento di una CPU S7-400 quando
questa passa in uno stato diverso.
SFC/FC per l'interrogazione del collegamento
Blocco S7-400
Blocco S7-300
Breve descrizione
SFC 62 "CONTROL"
-
Interrogazione dello stato di un collegamento appartenente
all'istanza di un SFB
-
FC 62 "C_CNTRL"
Interrogazione dello stato di un collegamento attraverso la
sua ID
Suggerimento:
Lo stato del collegamento attuale si può diagnosticare anche con la SFC 87 C_DIAG (solo
per S7-400).
Programma d'esempio
Con STEP 7 viene fornito un programma esemplificativo per S7-400 che illustra l'uso degli
SFB di comunicazione S7. Il progetto di esempio si chiama step7\examples\com_sfb e si
trova in "...\STEP7\Examples\ZIt01_10".
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
20-7
Panoramica della comunicazione S7 e della comunicazione di base S7
20.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.
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.
20-8
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Panoramica della comunicazione S7 e della comunicazione di base S7
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.
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.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
20-9
Panoramica della comunicazione S7 e della comunicazione di base S7
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.
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.
20-10
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
21
Comunicazione S7
21.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:
3. Parametri di controllo: servono all'attivazione di un blocco
4. Parametri di indirizzamento: servono all'indirizzamento del partner di comunicazione
remoto
5. Parametri di trasmissione: indicano i campi dei dati che devono essere trasmessi al
partner remoto
6. Parametri di ricezione: indicano i campi dei dati, nei quali vengono registrati i dati ricevuti
dal partner remoto
7. 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/2
A5E00739862-01
21-1
Comunicazione S7
Parametri di indirizzamento
Parametro
Descrizione
ID
Riferimento alla descrizione locale del collegamento (preimpostato durante la progettazione del
collegamento in STEP 7).
R_ID
Il parametro R_ID consente di definire il rapporto fra un SFB di trasmissione e un SFB di
ricezione. Il lato della trasmissione dell'SFB e il lato di ricezione dell'altro SFB devono avere lo
stesso valore per R_ID.
Viene così resa possibile la comunicazione di diverse coppie di SFB 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:
Con gli ID di variabili è possibile utilizzare più collegamenti mediante un blocco dati di istanza.
1. Con gli ID_R di variabili è possibile determinare con un'istanza più interdipendenze di
coppie di FB di trasmissione e ricezione.
2. È 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.
Parametri di stato
Con i parametri di stato si può controllare se il blocco ha terminato regolarmente il suo
compito oppure se è ancora attivo. Inoltre essi indicano i guasti presentatisi.
Avvertenza
I parametri di stato sono validi solo in un ciclo, cioè dal primo comando che segue il richiamo
dell'SFB/FB, fino al successivo richiamo dell'SFB/FB. Ne consegue che questi parametri
devono essere analizzati dopo ogni esecuzione di blocco.
21-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione S7
Parametri di trasmissione e di ricezione
Se in un SFB non vengono utilizzati tutti i parametri di trasmissione o di ricezione, il primo
parametro non utilizzato deve essere rispettivamente un puntatore NIL (vedere /232/), e i
parametri utilizzati devono trovarsi uno dietro l'altro in ordine progressivo. job.
Avvertenza sulla S7-400
Al momento del primo richiamo, viene stabilita tramite il puntatore ANY la quantità massima
di dati utili trasferibili per il job; all'interno della memoria di lavoro della CPU viene infatti
creato un buffer di comunicazione per garantire la coerenza dei dati che occupa uno spazio
di memoria di lavoro fino a 480 byte. È opportuno eseguire il primo richiamo nell'OB di
nuovo avviamento (avviamento a caldo) o di avviamento a freddo se il blocco con il richiamo
SFB non viene ricaricato con lo stato di funzionamento RUN della CPU.
Con i richiami successivi è possibile trasmettere/ricevere un numero qualunque di dati,
tuttavia fino al numero massimo del primo richiamo.
Un'eccezione a questa regola è costituita dagli SFB BSEND e BRCV. Essi consentono di
trasferire fino a 64 Kbyte per ogni job (vedere Trasmissione di dati a blocchi con l'SFB 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.
Dimensione dei dati utili
Negli SFB/FB USEND, URCV, GET e PUT 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
Osservare le limitazioni relative alle dimensioni dei dati utili, contenute nei dati tecnici della
CPU utilizzata.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
21-3
Comunicazione S7
Dimensione esatta dei dati utili
Se la dimensione sopra indicata non è sufficiente, è possibile determinare la lunghezza utile
massima in byte come indicato di seguito.
•
Determinare la dimensione dei blocchi di dati valida per la comunicazione in base alla
seguente tabella:
CPU utente
CPU remota
Dimensione dei blocchi di dati in byte
S7-300
qualunque
240 (S7-300)
S7-400
S7-300 / C7-300
240 (S7-400)
S7-400
S7-400 o CPU 318
480
•
In base al valore individuato, cercare nella seguente tabella la lunghezza massima
ammessa per i dati utili espressa in byte. Il valore è applicabile a lunghezze lineari delle
aree SD_i, RD_i, ADDR_i.
Numero di parametri SD_i, RD_i, ADDR_i utilizzati
Dimensione 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
-
-
-
USEND
212
-
-
-
PUT
212
196
180
164
GET
222
218
214
210
USEND
212
-
-
-
PUT
452
436
420
404
240 (S7-400)
480
960
21-4
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/2
A5E00739862-01
Comunicazione S7
21.2
Comportamento all'avviamento degli SFB di
comunicazione S7
Presupposti
Qui di seguito sono indicati i presupposti per le S7-400:
•
le descrizioni dei collegamenti (SDB) sulle unità sono presenti
•
i collegamenti progettati sono stabiliti
•
in ogni SFB il parametro attuale per l'ID coincide con l'ID di collegamento progettato.
Nuovo avviamento (avviamento a caldo) e avviamento a freddo
Nel nuovo avviamento (avviamento a caldo) e avviamento a freddo tutti gli SFB vengono
trasferiti nello stato NO_INIT. I parametri attuali memorizzati nei DB di istanza rimangono
invariati.
Nuovo avviamento (avviamento a caldo) e avviamento a freddo negli SFB per lo
scambio dati a due vie
Generalmente negli SFB per lo scambio dati a due vie le unità non effettuano entrambe un
nuovo avviamento (avviamento a caldo) o avviamento a freddo. L'adattamento viene
eseguito implicitamente dagli SFB in base alle seguenti regole.
I blocchi di ricezione (SFB, URCV, BRCV) presentano il seguente comportamento:
•
Se l'SFB ha ricevuto un job, ma non lo ha ancora confermato al momento del nuovo
avviamento (avviamento a caldo) o dell'avviamento a freddo, esso genera un
telegramma di interruzione di sequenza (SFB BRCV) e salta quindi direttamente nello
stato NO_INIT.
•
Nell'SFB BRCV può subentrare il caso che, nonostante l'interruzione di sequenza
trasmessa, si presenti un ulteriore segmento di dati. Quest'ultimo viene respinta a livello
locale.
•
Nell'SFB URCV ha luogo il passaggio immediato nello stato NO_INIT.
I blocchi di trasmissione (SFB USEND, BSEND) si comportano nel modo seguente:
•
Se l'SFB BSEND ha iniziato una sequenza di job, che non è ancora terminata, esso
trasmette un'interruzione di sequenza al nuovo avviamento (avviamento a caldo) o
all'avviamento a freddo. Immediatamente dopo passa nello stato NO_INIT.
Un'accettazione che arriva più tardi viene respinta a livello locale.
•
Se l'SFB BSEND ha già trasmesso o ricevuto un'interruzione di sequenza al momento
della richiesta di un nuovo avviamento, (avviamento a caldo) o un avviamento a freddo
esso passa immediatamente nello stato NO_INIT.
•
In tutti gli altri casi, e se l'SFB trasmette solo messaggi (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/2
A5E00739862-01
21-5
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.
21-6
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione S7
21.3
Comportamento in caso di disturbi degli SFB di
comunicazione S7
Qui di seguito viene descritto il comportamento in caso di disturbi dei blocchi di
comunicazione S7 nelle S7-400.
Interruzione di collegamento
I collegamenti assegnati alle istanze SFB di comunicazione vengono controllati per
identificare eventuali interruzioni.
In caso di interruzione di un collegamento la reazione dell'SFB dipende dal suo stato interno:
Se l'interruzione di collegamento viene identificata negli stati IDLE o ENABLED, l'SFB
reagisce nel modo seguente:
•
Esso passa nello stato ERROR ed emette l'identificazione di errore "Problemi di
comunicazione" tramite i parametri di uscita ERROR e STATUS.
•
Al successivo richiamo del blocco esso assume di nuovo il suo stato originario e
controlla di nuovo il collegamento.
Un SFB che non si trova negli stati IDLE e DISABLED, reagisce nel modo seguente:
•
Esso interrompe la sua elaborazione, passa immediatamente oppure al successivo
richiamo del blocco nello stato ERROR ed emette l'identificazione di errore "Problemi di
comunicazione" tramite i parametri di uscita ERROR e STATUS.
•
Al successivo richiamo del blocco, quest'ultimo assume lo stato IDLE, DISABLED o
ENABLED. Negli stati IDLE e ENABLED viene controllato di nuovo il collegamento.
Questo procedimento viene eseguito anche se nel frattempo il collegamento è stato
ristabilito.
Caduta di rete
Una caduta di rete bufferizzata con riavviamento provoca l'interruzione di tutti i collegamenti
attivati. Per tutti i blocchi interessati vale perciò quanto detto sopra.
Per una caduta di rete bufferizzata con nuovo avviamento (avviamento a caldo) o con
avviamento a freddo automatico vale quanto detto sia per l'interruzione del collegamento che
per il nuovo avviamento (avviamento a caldo) o l‘avviamento a freddo.
Nel caso speciale del nuovo avviamento (avviamento a caldo) o avviamento a freddo
automatico non bufferizzato, durante il quale viene eseguita automaticamente una
cancellazione totale dopo il ritorno della rete, gli SFB di comunicazione S7 si comportano
come descritto nel capitolo "Comportamento all'avviamento degli SFB di comunicazione S7".
Comportamento durante passaggio tra stati di funzionamento
Durante un passaggio tra gli stati di funzionamento STOP, AVVIAMENTO, RUN e ALT l'SFB
rimane nel suo stato attuale (eccezione: nel nuovo avviamento (avviamento a caldo) o
avviamento a freddo viene assunto lo stato NO_INIT). Ciò vale sia negli SFB per la
comunicazione ad una via, sia negli SFB per la comunicazione a due vie.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
21-7
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:
21-8
•
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/2
A5E00739862-01
Comunicazione S7
21.4
Trasmissione non coordinata di dati con l'SFB/FB 8
"USEND"
Descrizione
L'SFB/FB 8 "USEND" trasmette dati ad un remoto SFB/FB partner del tipo "URCV". La
trasmissione avviene senza coordinazione con il partner dell'SFB/FB, ovvero l'SFB/FB
partner non deve confermare la trasmissione dei dati.
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 e SD_1. Una volta terminato un
job, è possibile assegnare nuovi valori ai parametri R_ID, ID e SD_1.
S7-400: l'operazione di trasmissione ha luogo dopo un fronte di salita all'ingresso di
comando REQ. Il riferimento dei dati da trasmettere è fornito dai parametri SD_1, ... SD_4,
anche se non devono essere occupati tutti e quattro i parametri di trasmissione.
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
segue:
•
numero
•
lunghezza
•
tipo di dati.
Il parametro R_ID dei due SFB/FB deve essere identico.
Il parametro di stato DONE visualizza con un 1 logico che l'operazione di trasmissione è
terminata e si è svolta correttamente.
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
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
Parametro di stato DONE:
ERROR
STATUS
OUTPUT
OUTPUT
E, A, M, D, L
BOOL
E, A, M, D, L
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,
indicazione errori:
ERROR=0
STATUS ha il valore:
0000H: né avvertimento, né errore
<> 0000H: avvertimento, 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/2
A5E00739862-01
21-9
Comunicazione S7
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
S7-300:
IN_OUT
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.
ANY
SD_1
E, A, M, D, T, Z
S7-400:
SD_i
(1≤ i ≤4)
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)
Spiegazione
0
11
0
1
25
1
1
4
1
10
1
12
1
18
1
20
1
27
Avviso:
•
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
•
inoltre per S7-300:
•
numero massimo di ordini/istanze paralleli superato
Errore nei visualizzatori dell'area di trasmissione SD_i riguardanti la lunghezza o il
tipo di dati.
L'accesso alla memoria utente locale non è possibile (p. es. accesso a un DB
cancellato)
Per il richiamo di SFB/FB
•
è stato indicato un DB di istanza che non appartiene all'SFB "USEND"
•
è stato indicato un DB globale e non un DB di istanza
•
è stato trovato un DB di istanza (caricamento di un nuovo DB di istanza dal
PG)
•
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.)
•
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.
21-10
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione S7
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 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 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/2
A5E00739862-01
21-11
Comunicazione S7
21.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 di 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: i riferimenti per queste aree di ricezione vengono forniti dai parametri RD_1 ...
RD_4.
Inoltre, occorre fare attenzione che le aree definite dai parametri RD_i/RD_1 e SD_i/SD_1
(nel relativo SFB/FB partner "USEND") siano compatibili relativamente a quanto segue:
•
numero
•
lunghezza
•
tipo di dati.
Al parametro di stato NDR si visualizza 1 a significare che l'operazione di copia è terminata.
Il parametro R_ID deve essere identico in entrambi gli SFB/FB.
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
NDR
OUTPUT
BOOL
Parametro di stato NDR:
E, A, M, D, L
0: Job non ancora avviato o ancora in
esecuzione
1: Job eseguito senza errori.
ERROR
STATUS
OUTPUT
OUTPUT
BOOL
E, A, M, D, L
WORD
E, A, M, D, L
Parametri di stato ERROR e STATUS,
indicazione errori:
ERROR=0
STATUS ha il valore:
0000H: né avvertimento, né errore
<> 0000H: avvertimento, STATUS
fornisce informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul tipo
di errore.
21-12
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione S7
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
S7-300:
IN_OUT
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.
ANY
RD_1
E, A, M, D, T, Z
S7-400:
RD_i
(1≤ i ≤4)
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)
Spiegazione
0
9
Messaggio di avviso overrun: vecchi dati di ricezione sono stati sovrascritti da nuovi
dati di ricezione.
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
•
inoltre per S7-300:
-
numero massimo di ordini/istanze paralleli superato
1
4
Errore nei visualizzatori 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
Per il richiamo di 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:
-
1
19
Le istanze sono state sovraccaricate da CPU-RUN (è necessario un
passaggio da STOP a RUN della CPU o del CP.)
L'SFB/FB "USEND" corrispondente trasmette dati in modo più veloce di quanto
questi possano essere copiati dall'SFB/FB "URCV" nelle aree di ricezione.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
21-13
Comunicazione S7
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.
•
S7-300:
1
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.
Coerenza dei dati
I dati vengono ricevuti in modo coerente 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 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.
21-14
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione S7
21.6
Trasmissione di dati a blocchi con l'SFB/FB 12 "BSEND"
Descrizione
L'SFB/FB 12 "BSEND" trasmette dati ad un partner SFB/FB remoto di tipo "BRCV". Questo
tipo di trasferimento dati consente il traferimento di una maggiore quantità di dati tra i partner
di comunicazione rispetto a tutti gli altri SFB/FB di comunicazione per collegamenti S7
progettati. È possibile trasferire dati nella seguente quantità:
•
32768 byte per S7-300 über SIMATIC-Net-CP
•
65534 byte per S7-400 e S7-300 urmediante interfaccia integrata.
L'area dati da trasmettere viene segmentata. Ogni segmento viene trasmesso
singolarmente al partner. L'ultimo segmento viene confermato dal partner già la suo arrivo,
indipendentemente dal relativo richiamo dell'SFB/FB "BRCV".
S7-300: l'operazione di trasmissione ha luogo dopo un fronte di salita a REQ. Con ogni
fronte di salita a REQ vengono ripresi i parametri R_ID, ID, SD_1 e LEN. Al termine di un
job, è possibile assegnare nuovi valori ai parametri R_ID,ID, SD_1 e LEN. Per la
trasmissione di dati segmentati, il blocco deve essere richiamato ciclicamente nel
programma utente.
L'indirizzo iniziale e la lunghezza massima dei dati da trasmettere sono predefiniti da SD_1.
La lunghezza del blocco dati si definisce per ogni job con il parametro LEN.
S7-400 e S7-300 mediante interfaccia integrata: l'operazione di trasmissione viene attivata
dopo il richiamo del blocco e la presenza di un fronte di salita all'ingresso di comando REQ.
L'invio dei dati dalla memoria utente è asincrona rispetto all'elaborazione del programma
utente.
L'indirizzo iniziale dei dati da trasmettere è predefinito da SD_1. La lunghezza dei dati da
trasmettere si può definire per ogni job tramite LEN. LEN sostituisce quindi la parte di
lunghezza di SD_1.
Il parametro R_ID deve essere identico in entrambi gli SFB/FB.
Se all'ingresso di comando R è presente un fronte di salita, l'operazione di trasmissione in
corso viene interrotta.
Il parametro di stato DONE con 1 indica che l'operazione di trasmissione è stata portata a
termine con successo.
Il nuovo job di trasmissione può essere avviato solo dopo che è stata conclusa la
trasmissione se i parametri di stato DONE o ERROR hanno assunto il valore 1.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
21-15
Comunicazione S7
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
Parametro di stato DONE:
0: Job non ancora avviato o ancora in
esecuzione
1: Job eseguito senza errori.
ERROR
OUTPUT
BOOL
E, A, M, D, L
STATUS
OUTPUT
WORD
E, A, M, D, L
Parametri di stato ERROR e STATUS,
indicazione errori:
ERROR=0
STATUS ha il valore:
0000H: né avvertimento, né errore
<> 0000H: avvertimento, 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
21-16
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/2
A5E00739862-01
Comunicazione S7
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)
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. 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
•
inoltre per S7-300:
-
numero massimo di ordini/istanze paralleli superato
1
2
Conferma di acknowledge negativa dal partner SFB/FB. La funzione non
può essere eseguita.
1
3
R_ID non è conosciuto nel collegamento di comunicazione definito da ID,
oppure il blocco di ricezione non è stato ancora richiamato.
1
4
Errore nel puntatore dell'area di ricezione SD_1 riguardante la lunghezza o il
tipo di dati, oppure al parametro LEN è stato passato il valore 0.
1
5
La richiesta di reset è stata eseguita.
1
6
L'SFB/FB partner si trova nello stato DISABLED (EN_R ha il valore 0).
Verificare inoltre la coerenza dei parametri di ingresso del blocco BRCV
rispetto al blocco BSEND.
1
7
L'SFB/FB partner si trova nello stato sbagliato
Il blocco di ricezione non è stato più richiamato dopo l'ultimo trasferimento
dati.
1
8
L'accesso all'oggetto remoto nella memoria utente è stato respinto. L'area di
destinazione nel relativo SFB/FB 13 "BRCV" è troppo piccola.
Nell'SFB/FB 13 "BRCV" viene segnalato ERROR = 1, STATUS = 4 o
ERROR = 1, STATUS = 10.
1
10
L'accesso alla memoria utente locale non è possibile (p. es. accesso a un
DB cancellato).
1
12
Per il richiamo dell'SFB/FB
1
18
•
è 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:
-
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/2
A5E00739862-01
21-17
Comunicazione S7
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.
21-18
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione S7
21.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
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/2
A5E00739862-01
21-19
Comunicazione S7
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,
indicazione errori:
ERROR=0
STATUS ha il valore:
0000H: né avvertimento, né errore
<> 0000H: avvertimento, 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
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
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
•
inoltre per le S7-300:
-
numero massimo di ordini/istanze paralleli superato
1
2
Funzione non eseguibile (errore di protocollo)
1
4
Errore nei visualizzatori 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.
21-20
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione S7
ERROR
STATUS
(decimale)
Spiegazione
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
1
18
Per il richiamo di SFB/FB
•
è stato indicato un DB di istanza che non appartiene all'SFB 13
•
è stato indicato un DB globale al posto di un DB di istanza
•
non è stato trovato un DB di istanza (caricamento di un nuovo DB di
istanza dal PG)
•
R_ID esiste già nel collegamento.
•
inoltre per S7-300:
-
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
le istanze sono state sovraccaricate da CPU-RUN (è necessario un
passaggio da STOP a RUN della CPU o del CP.)
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/2
A5E00739862-01
21-21
Comunicazione S7
21.8
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: con un fronte di salita all'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 deposita i dati agli indirizzi e invia una conferma di esecuzione.
Occorre fare attenzione che le aree definite tramite i parametri ADDR_i e RD_i siano
compatibili per ciò che riguarda il numero, la lunghezza e il tipo di dati.
La conferma di esecuzione viene analizzata e se non si sono verificati errori, con il prossimo
richiamo di SFB/FB, il parametro di stato DONE indica 1.
È possibile riattivare l'operazione di scrittura solo al termine di quest'ultima.
La CPU remota può trovarsi nello 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, ERROR e STATUS emettono degli errori o dei messaggi
di avvertimento.
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 corso
1:
job concluso senza errori
Parametri di stato ERROR e STATUS,
indicazione errori:
ERROR=0
STATUS ha il valore:
0000H: né avvertimento, né errore
<> 0000H: avvertimento, 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
ADDR_1
S7-400:
Puntatore sulle aree da scrivere nella CPU
partner
E, A, M, D, T, Z
ADDR_i
(1≤ i ≤4)
21-22
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione S7
Parametri
Dichiarazione
Tipo
Area di memoria
Descrizione
S7-300:
IN_OUT
ANY
S7-300:
Puntatori sulle aree della CPU utente che
contengono i dati da inviare.
M, D
SD_1
S7-400:
S7-400:
SD_i
E, A, M, D, T, Z
(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).
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
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)
•
collegamento con il partner non ancora creato
•
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 visualizzatori 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
Per il richiamo di SFB/FB
•
è stato indicato un DB di istanza che non appartiene all'SFB/FB 15
•
è stato indicato 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)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
21-23
Comunicazione S7
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.
•
S7-300:
1
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.
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.
21-24
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione S7
21.9
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 caso di fronte di salita all'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.
I dati ricevuti vengono copiati nelle aree di ricezione progettate (RD_i) con il successivo
richiamo di SFB/FB.
L'utente si deve accertare che il numero, la lunghezza e il tipo di dati nelle aree definite dai
parametri ADDR_i e RD_i siano compatibili.
Al termine di questa operazione, il parametro di stato NDR indica 1.
L'operazione di lettura può essere riattivata solo dopo che è stata portata a termine.
Se si verificano problemi di accesso durante la lettura dei dati o se viene rilevato un errore
durante il controllo del tipo di dati, ERROR e STATUS emettono degli errori o dei messaggi
di avvertimento.
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
NDR
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato NDR:
0: Job non ancora avviato o ancora in
esecuzione
1: Job eseguito senza errori.
ERROR
OUTPUT
BOOL
E, A, M, D, L
STATUS
OUTPUT
WORD
E, A, M, D, L
Parametri di stato ERROR e STATUS,
indicazione errori:
ERROR=0
STATUS ha il valore:
0000H: né avvertimento, né errore
<> 0000H: avvertimento, STATUS
fornisce informazioni dettagliate
ERROR=1
Si è verificato un errore. STATUS
fornisce informazioni dettagliate sul tipo
di errore.
S7-300:
IN_OUT
ANY
S7-300:
ADDR_1
M, D
S7-400:
S7-400:
ADDR_i
E, A, M, D, T, Z
Puntatori sulle aree della CPU partner che
devono essere lette.
(1≤ i ≤4)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
21-25
Comunicazione S7
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
S7-300:
IN_OUT
S7-300:
Puntatori sulle aree della CPU utente in cui
vengono memorizzati i dati letti.
ANY
M, D
RD_1
S7-400:
S7-400:
RD_i
E, A, M, D, T, Z
(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).
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
•
inoltre per S7-300:
•
numero massimo di ordini/istanze paralleli superato
1
2
Non è possibile eseguire la funzione.
1
4
Errore nei visualizzatori 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
1
20
Per il richiamo dell'SFB/FB
•
è stato indicato un DB di istanza che non appartiene all'SFB 14
•
è stato indicato 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.
•
1
21-26
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/2
A5E00739862-01
Comunicazione S7
Coerenza dei dati
Se ci si attiene a quanto indicato di seguito, i dati vengono ricevuti in modo coerente:
Analizzare completamente la parte attualmente in uso dell'area di ricezione RD_i prima di
attivare un nuovo job.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
21-27
Comunicazione S7
21.10
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:
0: Job non ancora avviato o ancora in
esecuzione
1: Job eseguito senza errori.
ERROR
OUTPUT
BOOL
E, A, M, D, L
STATUS
OUTPUT
WORD
E, A, M, D, L
Parametri di stato ERROR e STATUS,
indicazione errori:
ERROR=0
STATUS ha il valore:
0000H: né avvertimento, né errore
<> 0000H: avvertimento, 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).
21-28
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione S7
Parametro di transito FORMAT
La stringa di caratteri FORMAT contiene caratteri da stampare e elementi di formato. Essa
ha la seguente struttura:
Caratteri
Istruzione di conversione
Istruzione di comando
Per ogni area di trasmissione da stampare, da SD_1 a SD_4, deve essere disponibile in
FORMAT un'istruzione di conversione. Le istruzioni di conversione vengono applicate alle
aree di trasmissione SD_i in base alla loro successione. Caratteri e istruzioni possono
invece susseguirsi a piacere.
•
Caratteri
Sono ammessi
tutti i caratteri stampabili
-
•
-
$$ (carattere per dollari), $' (virgoletta semplice),
-
$L e $l (line feed), $P e $p (page), $R e $r (carriage return),
-
$T e $t (tabulatore)
Istruzioni di conversione
%
Flag
Ampiezza
.
Precisione
Modo di rappresentazione
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
21-29
Comunicazione S7
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.
Nell'emissione con allineamento a destra eventualmente
vengono collocati prima dei caratteri vuoti; nell'emissione con
allineamento a sinistra questi vengono collocati dopo.
•
senza:
•
0:
La precisione è di rilievo solo nei modi di rappresentazione A,
D, F, e R (vedi tabella seguente).
•
n:
emissione nella rappresentazione standard
Ampiezza
Precisione
nessuna emissione del punto di decimale e della cifra
decimale nei modi di rappresentazione F e R
Modo di
rappresentazione
•
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
Esempio
Lunghezza
Osservazioni
A, a
DATE
25.07.1996
10
-
K
1
-
BYTE
M
1
WORD
KL
2
DWORD
KLMN
4
ARRAY of CHAR
KLMNOP
Numero
carattteri
1996-07-25
10
-
0.345678
8
-
DWORD
C, c
CHAR
ARRAY of BYTE
D, d
DATE
DWORD
F, f
REAL
DWORD
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
21-30
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione S7
Rappresentazione
Possibili tipi di
dati
Esempio
Lunghezza
Osservazioni
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_250ms
max. 21
Im Fehlerfall wird
ausgegeben.
U, u
BYTE
255
max. 3
-
WORD
65 535
max. 5
DWORD
4 294 967 295
max. 10
BOOL
1
1
DWORD
X, x
Z, z
BYTE
101 ..
8
WORD
101 ..
16
DWORD
101 ..
32
TIME_OF_DAY
(TOD)
15:38:59.874
12
-
-
Nella tabella, nei punti in cui viene indicata la lunghezza massima della rappresentazione standard,
l'effettiva emissione può anche essere più corta.
Avvertenza
Nei tipi di dati C e S dipende dalla stampante collegata
•
quali dati possono essere stampati
•
ciò che la stampante emette nel caso di caratteri non stampabili, a meno che il driver
stampante non contenga una tabella di trasformazione per questi caratteri.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
21-31
Comunicazione S7
•
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
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.
21-32
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione S7
Errore
Emissione stampante
Istruzione di conversione non eseguibile
Emissione di caratteri * in base alla lunghezza
(massima) della rappresentazione standard o
all'ampiezza indicata.
Ampiezza indicata non sufficiente
Nei modi di rappresentazione A, C, D, N, S, T, Z
vengono emessi tanti caratteri quanti ne prevede
l'ampiezza indicata. In tutti gli altri modi di
rappresentazione vengono emessi caratteri * in base
all'ampiezza indicata.
Troppe istruzioni di conversione
Le istruzioni di conversione a cui non appartiene alcun
visualizzatore 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
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 visualizzatori 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.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
21-33
Comunicazione S7
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.
21-34
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione S7
21.11
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:
0: Job non ancora avviato o ancora in
esecuzione
1: Job eseguito senza errori.
ERROR
OUTPUT
BOOL
E, A, M, D, L
STATUS
OUTPUT
WORD
E, A, M, D, L
Parametri di stato ERROR e STATUS,
indicazione errori:
ERROR=0 e STATUS ha il valore:
0000H: né avvertimento, né errore
<> 0000H: avvertimento, 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/2
A5E00739862-01
21-35
Comunicazione S7
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
IN_OUT
IO_STATE
IN_OUT
ANY
E, A, M, D, T, Z
BYTE
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.
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)
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
2
•
descrizione del collegamento non caricata (locale o remoto)
•
collegamento interrotto ( p. es. cavo, CPU spenta, CP in STOP)
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)
21-36
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione S7
ERROR
STATUS
(decimale)
Spiegazione
1
12
Per il richiamo dell'SFB è stato indicato
1
20
•
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.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
21-37
Comunicazione S7
21.12
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
Parametro di stato DONE:
0: Job non ancora avviato o ancora in
esecuzione
1: Job eseguito senza errori.
ERROR
OUTPUT
BOOL
E, A, M, D, L
STATUS
OUTPUT
WORD
E, A, M, D, L
Parametri di stato ERROR e STATUS,
indicazione errori:
ERROR=0 e STATUS ha il valore:
0000H: né avvertimento, né errore
<> 0000H: avvertimento, 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 arrestare.
Il nome deve essere costituito da max. 32
caratteri.
In un sistema standard della serie S7 il nome
deve essere P_PROGRAM.
In un sistema H sono possibili i seguenti nomi:
21-38
•
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).
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione S7
Parametri
Dichiarazione Tipo
IO_STATE IN_OUT
BYTE
Area di memoria
Descrizione
E, A, M, D, L
Attualmente non rilevante. Al momento non può
essere assegnato alcun valore a questo
parametro se il partner di comunicazione è un
sistema di automazione della famiglia S7.
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
1
20
Per il richiamo dell'SFB è stato indicato
•
un DB di istanza che non appartiene all'SFB 20
•
un DB globale al posto di un DB di istanza
•
non è stato trovato alcun DB di istanza (caricamento di un nuovo DB di
istanza dal PG)
•
S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la
memoria di lavoro fosse sufficiente: compressione della memoria di
lavoro
•
Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento
poiché il buffer di comunicazione viene creato nella memoria di lavoro.
Durante l'aggiornamento non sono consentiti interventi che modificano la
memoria di lavoro.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
21-39
Comunicazione S7
21.13
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
Parametro di stato DONE:
0: Job non ancora avviato o ancora in
esecuzione
1: Job eseguito senza errori.
ERROR
OUTPUT
BOOL
E, A, M, D, L
STATUS
OUTPUT
WORD
E, A, M, D, L
Parametri di stato ERROR e STATUS,
indicazione errori:
ERROR=0 e STATUS ha il valore:
0000H: né avvertimento, né errore
<> 0000H: avvertimento, 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.
ARG
21-40
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.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione S7
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
IO_STATE
IN_OUT
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.
BYTE
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
0
25
1
1
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.
È 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 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
Per il richiamo dell'SFB è stato indicato
1
20
•
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.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
21-41
Comunicazione S7
21.14
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:
0: Job non ancora avviato o ancora in
esecuzione
1: Job eseguito senza errori.
ERROR
OUTPUT
BOOL
E, A, M, D, L
STATUS
OUTPUT
WORD
E, A, M, D, L
Parametri di stato ERROR e STATUS,
indicazione errori:
ERROR=0 e STATUS ha il valore:
0000H: né avvertimento, né errore
<> 0000H: avvertimento, 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
21-42
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/2
A5E00739862-01
Comunicazione S7
Parametro di transito LOCAL
Nel caso in cui il partner di comunicazione è una CPU S7, il parametro di transito LOCAL
contiene il suo stato di funzionamento attuale: il primo byte è riservato, il secondo contiene
un'identificazione per lo stato di funzionamento.
Stato di funzionamento
Identificazione corrispondente
STOP
00H
Nuovo avviamento
01H
RUN
02H
Riavviamento
03H
ALT
04H
Avviamento a freddo
06H
RUN (stato del sistema H: ridondante)
09H
ACCOPPIAMENTO
0BH
AGGIORNAMENTO
0CH
Informazioni di errore
La tabella seguente riporta tutte le informazioni specifiche sugli errori relativi all'SFB 22 che
possono essere emesse dai parametri ERROR e STATUS.
ERROR
STATUS
(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
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.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
21-43
Comunicazione S7
21.15
Ricezione del cambiamento di stato di un dispositivo
remoto con l'SFB 23 "USTATUS"
Descrizione
L'SFB 23 "USTATUS" riceve il cambiamento di stato di un dispositivo remoto partner della
comunicazione; quest'ultimo invia senza essere stato sollecitato il proprio stato in caso di un
cambio di questo se è la progettazione è avvenuta con STEP 7.
Se al momento del richiamo, l'ingresso di comando EN_R indica 1 e sussiste un telegramma
da parte del partner, con il prossimo richiamo dell'SFB viene depositata l'informazione di
stato nelle variabili PHYS, LOG e LOCAL. Al termine di tale operazione, il parametro di stato
NDR indica 1.
Sul collegamento utilizzato da USTATUS, l'invio di messaggi sullo stato di funzionamento
deve essere abilitato.
Avvertenza
Per ogni collegamento è possibile collocare solo una istanza dell'SFB 23.
Parametri
Parametri
Dichiarazione
Tipo
Area di memoria
Descrizione
EN_R
INPUT
BOOL
E, A, M, D, L, cost.
ID
INPUT
WORD
M, D, cost.
NDR
OUTPUT
BOOL
E, A, M, D, L
ERROR
STATUS
OUTPUT
OUTPUT
BOOL
WORD
E, A, M, D, L
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
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)
21-44
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione S7
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.
1
20
•
S7-400: memoria di lavoro insufficiente. Rimedio nel caso in cui la memoria
di lavoro fosse sufficiente: compressione della memoria di lavoro
•
Sistema H: primo richiamo dell'SFB impossibile durante l'aggiornamento
poiché il buffer di comunicazione viene creato nella memoria di lavoro.
Durante l'aggiornamento non sono consentiti interventi che modificano la
memoria di lavoro.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
21-45
Comunicazione S7
21.16
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,
indicazione errori:
ERROR=0 e STATUS ha il valore:
0000H: né avvertimento, né errore
<> 0000H: avvertimento, 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
21-46
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/2
A5E00739862-01
Comunicazione S7
Parametro di uscita I_TYP
La tabella seguente spiega quale identificazione appartiene a quale tipo SFB.
Tipo SFB
Identificazione (W#16#...)
USEND
00
URCV
01
BSEND
04
BRCV
05
GET
06
PUT
07
PRINT
08
START
0B
STOP
0C
RESUME
0D
STATUS
0E
USTATUS
0F
ALARM
15
ALARM_8
16
ALARM_8P
17
NOTIFY
18
AR_SEND
19
NOTIFY_8P
1A
(nessun SFB disponibile; I_DB o OFFSET errati)
FF
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.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
21-47
Comunicazione S7
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
21-48
•
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/2
A5E00739862-01
Comunicazione S7
21.17
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,
indicazione errori:
ERROR=0 e STATUS hanno il valore:
0000H: né avvertimento, né errore
<> 0000H: avvertimento, 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
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/2
A5E00739862-01
21-49
Comunicazione S7
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.
21-50
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione S7
21.18
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
FC 62
C_CNTRL
Blocco: 546 byte
Avvertenza sul comportamento in caso di interruzione
Nella S7-300, i blocchi di comunicazione SIMATIC_NET si possono richiamare solo in una
classe di priorità.
Blocco S7-400
Fabbisogno di memoria di lavoro in byte
SFB 8/
USEND/
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/2
A5E00739862-01
21-51
Comunicazione S7
21-52
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
22
Comunicazione di base S7
22.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/2
A5E00739862-01
22-1
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".
22-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione di base S7
22.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":
8090
Richiamo intermedio con REQ=1
L'indirizzo di destinazione indicato del partner di comunicazione non è valido, p. es.
•
IOID errato
•
presenza indirizzo di base errato
•
indirizzo MPI (> 126) errato
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
22-3
Comunicazione di base S7
Codice
errore
(W#16# ...)
Spiegazione (generale)
Spiegazione (specifica per SFC)
8092
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
possibile per SFC 67 "X_GET" e SFC 68
"X_PUT" e SFC 72 "I_GET" e SFC 73 "I_PUT"
•
il posto connettore progettato non è
occupato
•
il tipo di unità attuale non è uguale al tipo di
unità prefissato
•
la periferia decentrata non è disponibile
•
nell'SDB corrispondente non vi è alcuna
registrazione per l'unità.
80B3
I dati possono essere o soltanto letti oppure
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 sono adatti all'area nella CPU partner nella
quale si deve scrivere.
possibile per SFC 68 "X_PUT" e SFC 73
"I_PUT"
22-4
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione di base S7
Codice
errore
(W#16# ...)
Spiegazione (generale)
Spiegazione (specifica per SFC)
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
80C3
•
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).
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/2
A5E00739862-01
22-5
Comunicazione di base S7
22.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.
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.
22-6
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione di base S7
22.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:
REQ_ID
OUTPUT
DWORD E, A, M, D, L
NDA
OUTPUT
BOOL
E, A, M, D, L
•
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.
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.
Parametro di stato "new data arrived".
NDA=0:
•
Nella coda di attesa non è presente alcun
blocco dati
NDA=1:
•
Nella coda di attesa è presente almeno un
blocco dati (richiamo della SFC 66 con
EN_DT=0)
•
Il blocco dati più vecchio nella coda di attesa
è stato copiato nel programma utente
(richiamo della SFC 66 con EN_DT=1)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
22-7
Comunicazione di base S7
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.
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
22-8
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione di base S7
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.
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.
-
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
22-9
Comunicazione di base S7
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.
22-10
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione di base S7
22.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.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
22-11
Comunicazione di base S7
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.
22-12
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione di base S7
22.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.
RD
OUTPUT
ANY
E, A, M, D
Riferimento all'area di ricezione (receive data
area). Sono consentiti i seguenti tipi di dati:
BOOL, BYTE, CHAR, WORD, INT, DWORD,
DINT, REAL, DATE, TOD, TIME,S5_TIME,
DATE_AND_TIME nonché gli array dei tipi di
dati citati, a eccezione di BOOL.
L'area di ricezione RD deve essere lunga
almeno quanto l'area di lettura VAR_ADDR nel
partner di comunicazione. Inoltre i tipi di dati di
RD e VAR_ADDR devono coincidere.
L'area di ricezione può occupare al massimo 76
byte.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
22-13
Comunicazione di base S7
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.
22-14
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione di base S7
22.7
Annullamento di un collegamento ad un partner di
comunicazione esterno alla propria stazione S7 con la
SFC 69 "X_ABORT"
Descrizione
Con la SFC 69 "X_ABORT" si annulla il collegamento ad un partner di comunicazione
esterno alla propria stazione S7, il quale era stato creato con una delle SFC X_SEND,
X_GET o X_PUT. Se è stato terminato il job appartenente a X_SEND, X_GET o X_PUT
(BUSY = 0), dopo il richiamo della SFC 69 "X_ABORT" sono nuovamente abilitate su
entrambi i lati le risorse di collegamento che erano state occupate per il collegamento.
Se il job appartenente a X_SEND, X_GET o X_PUT (BUSY = 1) non è stato terminato, una
volta terminata l'interruzione del collegamento occorre richiamare nuovamente la relativa
SFC con REQ = 0 e CONT = 0 ed attendere BUSY = 0. Solo allora sono di nuovo abilitate
tutte le risorse di collegamento occupate.
Si può richiamare la SFC 69 "X_ABORT" solo su quel lato su cui è in esecuzione la
SFC "X_SEND", "X_PUT" o "X_GET".
L'attivazione dell'annullamento dei collegamenti avviene dopo il richiamo della SFC con
REQ=1.
Parametri
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
DEST_ID
INPUT
WORD
E, A, M, D, L, cost.
Parametro di indirizzamento "destination ID".
Contiene l'indirizzo MPI del partner di
comunicazione. Esso è stato progettato con
STEP 7.
RET_VAL
OUTPUT
INT
E, A, M, D, L
Se durante l'elaborazione della funzione si
verifica un errore, il valore di ritorno contiene il
relativo codice di errore.
BUSY
OUTPUT
BOOL
E, A, M, D, L
BUSY=1: l'annullamento dei collegamenti non è
ancora concluso.
BUSY=0: l'annullamento dei collegamenti è
concluso.
Transizione dello stato di funzionamento in STOP
Se la CPU passa nello stato di funzionamento STOP, viene elaborato fino alla fine
l'annullamento dei collegamenti avviato mediante la SFC 69 "X_ABORT".
Transizione dello stato di funzionamento del partner di comunicazione in STOP
Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP
non ha alcun effetto per l'annullamento dei collegamenti con la SFC 69 "X_ABORT": il
collegamento viene annullato.
Informazioni di errore
Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non
progettati e Analisi degli errori con il parametro di uscita RET_VAL.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
22-15
Comunicazione di base S7
22.8
Scrittura di dati in un partner di comunicazione interno alla
propria stazione S7 con la SFC 73 "I_PUT"
Descrizione
Con la SFC 73 "I_PUT" si scrivono i dati in un partner di comunicazione interno alla propria
stazione S7. Il partner di comunicazione può essere collocato nell'apparecchiatura centrale,
in un'apparecchiatura di ampliamento oppure in posizione decentrata. Fare attenzione che il
partner di comunicazione collocato in posizione decentrata sia stato assegnato con STEP 7
alla propria CPU. Sul partner di comunicazione non c'è alcuna SFC corrispondente.
Il processo di trasmissione avviene dopo il richiamo della SFC con livello 1 sull'ingresso di
comando REQ.
Occorre fare attenzione affinché l'area di trasmissione (sulla CPU mittente), definita tramite il
parametro SD, abbia la stessa lunghezza dell'area di ricezione (nel partner di
comunicazione) definita mediante il parametro VAR_ADDR. Ne consegue che i tipi di dati di
SD e VAR_ADDR devono coincidere.
Parametri
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
WORD
E, A, M, D, L, cost.
Indirizzo logico dell'unità partner. Nel caso di
un'unità mista va indicato l'indirizzo minore tra i
due.
VAR_ADDR INPUT
ANY
E, A, M, D, L
Riferimento all'area nella CPU partner nella
quale si deve scrivere. Si deve scegliere un tipo
di dati che venga supportato dal partner di
comunicazione.
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, S5TIME, 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 trasmissione può occupare al massimo
84 byte.
22-16
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione di base S7
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
RET_VAL
OUTPUT
INT
E, A, M, D, L
Se durante l'elaborazione della funzione si
verifica un errore, il valore di ritorno contiene il
relativo codice di errore.
BUSY
OUTPUT
BOOL
E, A, M, D, L
BUSY=1: il processo di trasmissione non è
ancora concluso.
BUSY=0: il processo di trasmissione è concluso,
o nessun processo di trasmissione è attivo.
Transizione dello stato di funzionamento in STOP
Se la CPU passa nello stato di funzionamento STOP, il collegamento creato dalla SFC 73
"I_PUT" viene disattivato. I dati non possono più essere inviati. Se, al momento della
transizione dello stato di funzionamento, i dati di trasmissione erano già stati copiati nel
buffer interno, il contenuto del buffer viene annullato.
Transizione dello stato di funzionamento del partner di comunicazione in STOP
Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP
non ha alcun effetto per il trasferimento dati con la SFC 73 "I_PUT". I dati inviati vengono
comunque scritti.
Coerenza dei dati
I dati vengono inviati in modo coerente.
Informazioni di errore
Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non
progettati e Analisi degli errori con il parametro di uscita RET_VAL.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
22-17
Comunicazione di base S7
22.9
Lettura di dati da un partner di comunicazione interno alla
propria stazione S7 con la SFC 72 "I_GET"
Descrizione
Con la SFC 72 "I_GET" si leggono i dati da un partner di comunicazione interno alla propria
stazione S7. Il partner di comunicazione può essere collocato nell'apparecchiatura centrale,
in un'apparecchiatura di ampliamento oppure in posizione decentrata. Fare attenzione che il
partner di comunicazione collocato in posizione decentrata sia stato assegnato con STEP 7
alla propria CPU. Sul partner di comunicazione non c'è alcuna SFC corrispondente.
L'attivazione del processo di ricezione avviene dopo il richiamo della SFC con REQ=1. Poi
richiamare a lungo la SFC finché la ricezione dei dati non viene visualizzata con BUSY=0 .
RET_VAL contiene quindi la lunghezza in byte del blocco dati ricevuto.
Occorre fare attenzione che l'area di ricezione (sulla CPU ricevente), definita mediante il
parametro RD, sia almeno lunga quanto l'area di lettura (nel partner di comunicazione)
definita dal parametro VAR_ADDR. Ne consegue che i tipi di dati di RD e VAR_ADDR
devono coincidere.
Parametri
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.
22-18
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione di base S7
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 94
byte.
Transizione dello stato di funzionamento in STOP
Se la CPU passa nello stato di funzionamento STOP, il collegamento creato dalla SFC 72
"I_GET" viene disattivato. Se i dati già ricevuti, che stanno in una memoria intermedia del
sistema operativo, vanno persi o meno, dipende dal tipo dell'avviamento successivo:
•
con un riavviamento (non con S7-300 e S7-400) questi dati vengono copiati nell'area
definita da RD;
•
con un nuovo avviamento (avviamento a caldo) o avviamento a freddo questi dati
vengono annullati.
Transizione dello stato di funzionamento del partner di comunicazione in STOP
Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP
non ha alcun effetto per il trasferimento dati con la SFC 72 "I_GET" : i dati vengono letti
anche nello stato di funzionamento STOP.
Coerenza dei dati
I dati vengono ricevuti in modo coerente.
Informazioni di errore
Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non
progettati e Analisi degli errori con il parametro di uscita RET_VAL.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
22-19
Comunicazione di base S7
22.10
Annullamento di un collegamento con un partner di
comunicazione interno alla propria stazione S7 con la
SFC 74 "I_ABORT"
Descrizione
Con la SFC 74 "I_ABORT" si annulla il collegamento ad un partner di comunicazione interno
alla propria stazione S7, il quale era stato creato con la SFC 72 "I_GET" o la SFC 73
"I_PUT". Se è stato terminato il job appartenente a I_GET o I_PUT (BUSY = 0), dopo il
richiamo della SFC 74 "I_ABORT" sono nuovamente abilitate su entrambi i lati le risorse di
collegamento che erano state occupate per il collegamento.
Se il job appartenente a I_GET o I_PUT (BUSY = 1) non è stato terminato, una volta
terminata l'interruzione del collegamento occorre richiamare nuovamente la relativa SFC con
REQ = 0 e CONT = 0 ed attendere BUSY = 0. Solo allora sono di nuovo abilitate tutte le
risorse di collegamento occupate.
Si può richiamare la SFC 74 "I_ABORT" solo su quel lato su cui è in esecuzione la
SFC "I_PUT" o la "I_GET" (ossia sul lato client).
L'attivazione dell'annullamento dei collegamenti avviene dopo il richiamo della SFC con
REQ=1.
Parametri
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.
22-20
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione di base S7
Transizione dello stato di funzionamento in STOP
Se la CPU passa nello stato di funzionamento STOP, viene elaborato fino alla fine
l'annullamento dei collegamenti avviato mediante la SFC 74 "I_ABORT".
Transizione dello stato di funzionamento del partner di comunicazione in STOP
Una transizione della CPU del partner di comunicazione nello stato di funzionamento STOP
non ha alcun effetto per l'annullamento dei collegamenti con la SFC 69 "I_ABORT": il
collegamento viene annullato.
Vedere Informazioni di errore delle SFC di comunicazione per collegamenti S7 non
progettati e Analisi degli errori con il parametro di uscita RET_VAL.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
22-21
Comunicazione di base S7
22-22
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
23
Comunicazione aperta tramite Industrial
Ethernet
23.1
Panoramica
Comunicazione aperta tramite Industrial Ethernet
Per consentire, nel programma utente, lo scambio di dati con altri partner che supportano la
comunicazione Ethernet, STEP 7 fornisce i seguenti FB e UDT disponibili nella biblioteca
"Standard Library" alla voce "Communication Blocks".
•
Protocoli alla connessione: TCP native secondo RFC 793, ISO on TCP secondo
RFC 1006:
•
UDT 65 "TCON_PAR" con la struttura di dati per la parametrizzazione del collegamento
•
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 66 "TCON_ADR" con la struttura di dati dei parametri di indirizzo del partner
remoto
-
FB 65 "TCON" per la configurazone 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
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
23-1
Comunicazione aperta tramite Industrial Ethernet
23.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 tipi 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 native secondo RFC 793 (tipi di collegamento B#16#01 und B#16#11)
-
ISO on TCP secondo RFC 1006 (tipo di collegamento B#16#12)
Protocolli privi 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.
Gli FB per la comunicazione aperta tramite Industrial Ethernet supportano il seguente
protocollo privo di connessione: UDP secondo RFC 768 (tipo di collegamento B#16#13)
Il funzionamento dei blocchi funzionali, dipende dalla variante di protocollo impiegata. La
descrizione dettagliata di questi protocolli viene riportata nel seguito.
TCP native
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
attribuire al parametro LEN dell'FB 64 "TRCV" (numero dei byte da ricevere) lo stesso valore
del parametro LEN dell'FB 63"TSEND" (numero dei byte da inviare).
Qualora la lunghezza dei dati di ricezione (parametro LEN dell'FB 64 "TRCV") superasse
quella dei dati di invio, l'FB 64 "TRCV" copia i dati ricevuti nell'area di ricezione indicata
(parametro DATA) soltanto al raggiungimento della lunghezza parametrizzata. Ciò è
possibile soltanto in seguito alla ricezione di dati di un ordine successivo. Tenere presente in
questo caso che nella medesima area di ricezione si trovano dati provenienti da due diversi
ordini di invio. Non conoscendo la lunghezza esatta del primo messaggio, è impossibile
individuare la fine di un messaggio e l'inizio del successivo.
Qualora la lunghezza dell'area di ricezione (parametro DATA dell'FB 64 "TRCV"), fosse
inferiore rispetto alla lunghezza dei dati inviati, l'FB 64 copia nell'area di ricezione tanti byte
quanti ne sono stati prefissati nel parametro LEN, imposta quindi NDR su TRUE e inserisce
il valore di LEN nel parametro RCVD_LEN. Ad ogni richiamo successivo l'operatore riceve
un ulteriore blocco dei dati inviati.
23-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione aperta tramite Industrial Ethernet
ISO on TCP
Nel trasferimento dati vengono fornite informazioni circa lunghezza e la fine di un
messaggio.
Qualora la lunghezza dei dati di ricezione (parametro LEN dell'FB 64 "TRCV") superasse
quella 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 la lunghezza dell'area di ricezione (parametro DATA dell' FB 64 "TRCV"), 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 native 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
configurato il punto di accesso alla comunicazione locale richiamando, sia per il mittente sia
per il ricevente, il parametro FB 65 "TCON".
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 la lunghezza dei dati di ricezione (parametro LEN dell'FB 68 "TURCV") superasse
quella 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 la lunghezza dell'area di ricezione (parametro DATA dell'FB 68 "TURCV") fosse
inferiore rispetto alla lunghezza dei dati inviati, anziché copiare i dati nell'area di ricezione,
l'FB 68 emette la seguente informazione di errore: ERROR = 1, STATUS = W#16#8088.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
23-3
Comunicazione aperta tramite Industrial Ethernet
23.3
Parametrizzazione di collegamenti di comunicazione aperti
tramite i protocolli TCP native e ISO on TCP
Blocco dati per la parametrizzazione del collegamento
Per consentire la parametrizzazione di collegamenti di comunicazione aperti tramite TCP
native 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
Parametri
Valore
iniziale
Descrizione
0 ... 1
block_length
WORD
W#16#40
Lunghezza dell'UDT 65: 64 byte (fissa)
2 ... 3
id
WORD
W#16#0000 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
5
6
7
8
23-4
active_est
local_device_id
local_tsap_id_len
rem_subnet_id_len
BOOL
BYTE
BYTE
BYTE
FALSE
B#16#02
B#16#02
B#16#00
Tipo di collegamento:
•
B#16#11: TCP/IP native
•
B#16#12: ISO on TCP
•
B#16#01: TCP/IP native (modo compatibile)
ID per il tipo di inizializzazione del collegamento:
•
FALSE: inizializzazione del collegamento passiva:
•
TRUE: inizializzazione del collegamento attiva
•
B#16#00:comunicazione tramite CP
•
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
•
N. dell'interfaccia IE parametrizzata in WinAC
RTX 2005 (valori possibili: da B#16#01 a
B#16#04)
Lunghezza del parametro local_tsap_id applicata;
valori possibili:
•
0 o 2, con il tipo di collegamento = B#16#01
oppure B#16#11
Per la parte attiva è ammesso soltanto il valore
B#16#00.
•
2 ... 16, con il tipo di collegamento = B#16#12
Questo parametro non viene attualmente impiegato.
Assegnare il valore B#16#00.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione aperta tramite Industrial Ethernet
Byte
Parametri
Parametri
Valore
iniziale
Descrizione
9
rem_staddr_len
BYTE
B#16#00
Lunghezza dell'indirizzo del punto finale del
collegamento remoto
10
rem_tsap_id_len
BYTE
B#16#00
•
0: non specificato, ovvero parametro rem_staddr
non di rilievo
•
4: indirizzo IP valido nel parametro rem_staddr
Lunghezza del parametro rem_tsap_id; valori possibili:
•
0 o 2, con il tipo di collegamento = B#16#01
oppure B#16#11
Per la parte passiva è ammesso soltanto il valore
B#16#00.
•
2 … 16, con il tipo di collegamento = B#16#12
11
next_staddr_len
BYTE
B#16#00
Lunghezza del parametro next_staddr applicata
12 27
local_tsap_id
ARRAY
[1..16] of
BYTE
B#16#00 ... in connection_type =
•
B#16#11: N. porta locale (valori possibili: 2000 ....
5000),
local_tsap_id[1] = high byte del N. della porta
locale nella rappresentazione esadecimale,
local_tsap_id[2] = low byte del N. della porta
locale nella rappresentazione esadecimale,
local_tsap_id[3-16] = non di rilievo
•
B#16#12: lokale TSAP-ID:
local_tsap_id[1] = B#16#E0 (tipo di collegamento:
collegamento T),
local_tsap_id[2] = rack e slot della CPU (bit 0 … 4
slot, bit 5 … 7: numero del rack),
local_tsap_id[3-16] = ampliamento TSAP
•
B#16#01: N. porta locale
(valori possibili: 2000 - 5000),
local_tsap_id[1] = low byte del N. della porta
locale nella rappresentazione esadecimale,
local_tsap_id[2] = high byte del N. della porta
locale nella rappresentazione esadecimale
local_tsap_id[3-16] = non di rilievo
Nota: 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 ... Lunghezza dell'indirizzo IPdel punto finale del
collegamento remoto p. es. 192.168.002.003:
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]= non di rilievo
•
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]= non di rilievo
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
23-5
Comunicazione aperta tramite Industrial Ethernet
Byte
Parametri
Parametri
Valore
iniziale
40 55
rem_tsap_id
ARRAY
[1..16] of
BYTE
B#16#00 ... in connection_type =
56 61
62 63
next_staddr
spare
ARRAY
[1..6] of
BYTE
Descrizione
•
B#16#11: N. porta remota (valori possibili:
2000 … 5000),
rem_tsap_id[1] = high byte del N. della porta
locale nella rappresentazione esadecimale,
rem_tsap_id[2] = low byte del N. della porta locale
nella rappresentazione esadecimale,
rem_tsap_id[3-16] = non di rilievo
•
B#16#12: ID del TSAP remoto:
rem_tsap_id[1] = B#16#E0 (tipo di collegamento:
collegamento T),
rem_tsap_id[2] = Rack e slot del punto finale del
collegamento remoto (CPU) (bit 0 … 4: slot,
bit 5 … 7: numero del rack),
rem_tsap_id[3-16] = ampliamento TSAP
•
B#16#01: N. porta remota (valori possibili:
2000 ….5000),
local_tsap_id[1] = low byte del N. della porta
locale nella rappresentazione esadecimale,
local_tsap_id[2] = high byte del N. della porta
locale nella rappresentazione esadecimale,
local_tsap_id[3-16] =non di rilievo
B#16#00 ... in local_device_id =
WORD
•
B#16#00:
next_staddr[1]: rack e slot del relativo CP
(locale) (bit 0 … 4: slot, bit 5 … 7: numero del
rack)
next_staddr[2-6]: non di rilievo
•
B#16#02:
next_staddr[1-6]: non di rilievo
W#16#0000 non di rilievo
Tipi di collegamento per le CPU
Nel seguito vengono elencati i tipi di collegamento richiesti da ogni singola CPU:
•
connection_type=B#16#11 (TCP native): CPUs 31x-2 PN/DP a partire dalla versione
firmware V2.4, WinAC RTX a partire da V4.2 (WinAC RTX 2005)
•
connection_type=B#16#12 (ISO on TCP): CPUs 31x-2 PN/DP a partire dalla versione
firmware V2.4, S7-400-CPUs (senza CPU 414-4H e CPU 417-4H) a partire dalla
versione firmware V4.1
•
connection_type=B#16#01 (TCP native, modo compatibile): tutte le CPU 31x-2 PN/DP,
WinAC RTX a partire da V4.2 (WinAC RTX 2005)
Il numero dei collegamenti possibili è indicato nei dati tecnici della CPU.
23-6
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione aperta tramite Industrial Ethernet
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.
Vedere anche:
Esempi di parametrizzazione di collegamenti di comunicazione aperti
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
23-7
Comunicazione aperta tramite Industrial Ethernet
23.4
Parametrizzazione del punto di accesso alla comunicazione
locale con il protocollo UDP
Blocco 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 (UDT 65)
Byte
Parametri
Tipo di
dati
Valore
inziale
Descrizione
0-1
block_length
WORD
W#16#40
Lunghezza dell‘UDT 65: 64 byte (fissa)
2-3
id
WORD
W#16#0000
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#01
Tipo di collegamento:
•
B#16#13: UDP
5
active_est
BOOL
FALSE
ID per il tipo di inizializzazione del collegamento:
assegnare il valore FALSE a questo parametro in
quanto dal punto di accesso alla comunicazione sono
possibili sia l’invio che la ricezione die dati
6
local_device_id
BYTE
B#16#02
•
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
7
local_tsap_id_len
BYTE
B#16#02
Lunghezza del parametro impiegatalocal_tsap_id;
valore possibile: 2
8
rem_subnet_id_len
BYTE
B#16#00
Questo parametro non viene impiegato. Assegnargli il
valore B#16#00.
9
rem_staddr_len
BYTE
B#16#00
Questo parametro non viene impiegato. Assegnargli il
valore B#16#00.
10
rem_tsap_id_len
BYTE
B#16#00
Questo parametro non viene impiegato. Assegnargli il
valore B#16#00.
11
next_staddr_len
BYTE
B#16#00
Questo parametro non viene impiegato. Assegnargli il
valore B#16#00.
23-8
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione aperta tramite Industrial Ethernet
Byte
Parametri
Tipo di
dati
Valore
inziale
Descrizione
12 27
local_tsap_id
ARRAY
[1..16] of
BYTE
B#16#00 ...
N. porta locale. (valori possibili: 2000 - 5000),
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] = non di rilievo
Nota: 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
[1..16] of
BYTE
B#16#00 ...
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.
62 63
spare
WORD
W#16#0000
non di rilievo
Tipi di collegamento UDP per le CPU
Il tipo di collegamento UDP (connection_type=B#16#13) è disponibile nelle CPU 31x-2
PN/DP a partire dalla versione del firmware V2.4.
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 ed il livello di comunicazione del sistema operativo.
Vedere anche:
Esempi di parametrizzazione di collegamenti di comunicazione aperti
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
23-9
Comunicazione aperta tramite Industrial Ethernet
23.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
erhalten. 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: 2000 ... 5000)
•
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
Non di rilievo
Vedere anche:
Esempi di parametrizzazione di collegamenti di comunicazione aperti
23-10
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione aperta tramite Industrial Ethernet
23.6
Esempi di parametrizzazione di collegamenti di
comunicazione aperti
Esempio 1: due CPU S7-400 comunicano tramite CP 443-1 Advanced
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 (nota: 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
Tipo di collegamento: 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/2
A5E00739862-01
23-11
Comunicazione aperta tramite Industrial Ethernet
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
LD locale del TSAP:
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] = non di
rilievo
rem_staddr
rem_tsap_id
next_staddr
23-12
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] = non di rilievo
•
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] = non di rilievo
•
next_staddr[1] = B#16#06
•
next_staddr[2-6] = non di rilievo
Indirizzo IP del punto finale del
collegamento remoto
LD remoto del TSAP:
0xE0045443502D31
Rack = 0, slot = 6
(bit da 7 a 5: n. rack, bit da 4 a 0: n.
slot.)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione aperta tramite Industrial Ethernet
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
Tipo di collegamento: 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
ID del TSAP locale:
•
local_tsap_id[2] = B#16#04
•
•
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] = non di
rilievo
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] = non di rilievo
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
0xE0045443502D31
Indirizzo del punto finale del
collegamento remoto:
23-13
Comunicazione aperta tramite Industrial Ethernet
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
TSAP dell'ID 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] = non di rilievo
•
next_staddr[1] = B#16#28
•
next_staddr[2-6] = non di rilievo
next_staddr
ARRAY
[1..6] of
BYTE
Rack = 1, slot = 8
(bit 7 ... 5: N rack., bit 4 ... 0: N slot.)
Esempio 2: due CPU S7-300 con interfaccia PROFINET integrata
Entrambe i partner di comunicazione sono due 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 319-3 PN/DP (FW V2.4.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
23-14
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione aperta tramite Industrial Ethernet
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#01
Tipo di collegamento: modo di
compatibilità TCP/IP
active_est
BOOL
TRUE
Creazione del collegamento attivo
local_device_id
BYTE
B#16#02
Comunicazione tramite interfaccia
Ethernet integrata
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#7D (125)
•
rem_staddr[2] = B#16#03 (3)
•
rem_staddr[3] = B#16#A8 (168)
•
rem_staddr[4] = B#16#C0 (192)
•
rem_staddr[5-6] = non di rilievo
"2005"
•
rem_tsap_id[1] = B#16#D5
•
rem_tsap_id[2] = B#16#07
•
rem_tsap_id[3-16] = non di rilievo
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Indirizzo IP del punto finale di
comunicazione remoto
N. della porta remota: 2005 =
W#16#07D5
23-15
Comunicazione aperta tramite Industrial Ethernet
La tabella sottostante fornisce i parametri di rilievo registrati nel DB per la creazione del
collegamento passivo per il partner di comunicazione B:
Parametri
Tipo di
dati
Valore nell'esempio
Descrizione
id
WORD
W#16#000F
ID di collegamento
connection_type
BYTE
B#16#01
Tipo di collegamento: TCP/IP native
active_est
BOOL
FALSE
Creazione passiva del collegamento
local_device_id
BYTE
B#16#02
Comunicazione tramite interfaccia
Ethernet integrata
local_tsap_id_len
BYTE
B#16#02 (è possibile soltanto questo Lunghezza del parametro applicata
valore)
local_tsap_id
rem_staddr_len
BYTE
B#16#04
Lunghezza dell'indirizzo del punto finale
del collegamento remoto:
•
4: indirizzo IP valido nel parametro
rem_staddr
rem_tsap_id_len
BYTE
B#16#00 (è possibile soltanto questo Lunghezza del parametro applicata
valore)
rem_tsap_id
local_tsap_id
ARRAY
[1..16] of
BYTE
"2005"
rem_staddr
23-16
ARRAY
[1..6] of
BYTE
•
local_tsap_id[1] = B#16#07
•
local_tsap_id[2] = B#16#D5
•
local_tsap_id[3-16] = non di
rilievo
"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] = non di rilievo
N. della porta locale: 2005 =
W#16#07D5
Indirizzo IP del punto finale del
collegamento
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione aperta tramite Industrial Ethernet
Esempio 3: due CPU S7-300 con interfaccia PROFINET integrata (esempio di
comunicazione tramite protocollo UDP)
Entrambe i partner di comunicazione sono due 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 319-3 PN/DP (FW V2.4.0)
Partner di comunicazione B:
CPU 319-3 PN/DP (FW V2.4.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
dai
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
Tipo di collegamento: UDP
active_est
BOOL
FALSE
Con il tipo di collegamento UDP è
possibile soltanto questo valore.
local_device_id
BYTE
B#16#03
Comunicazione tramite interfaccia
Ethernet integrata
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] = non di
rilievo
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
23-17
Comunicazione aperta tramite Industrial Ethernet
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
dai
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
Tipo di collegamento: UDP
active_est
BOOL
FALSE
Con il tipo di collegamento UDP è
possibile soltanto questo valore.
local_device_id
BYTE
B#16#03
Comunicazione tramite interfaccia
Ethernet integrata
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] = non di
rilievo
Richimando nel mittente il parametro FB 67 "TUSEND", in un DB vengono inoltrati i seguenti
parametri di indirizzo del ricevente:
Parametri
Tipo di
dai
rem_ip_addr
ARRAY
[1..4] of
BYTE
rem_port_nr
ARRAY
[1..2] of
BYTE
Valore nell'esempio
Descrizione
Indirizzo IP del ricevente:
192.168.3.125
•
rem_ip_addr[1] = B#16#C0 (192)
•
rem_ip_addr[2] = B#16#A8 (168)
•
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
N. porta del ricevente: 2005 =
W#16#07D5
Richimando nel ricevente il parametro FB 68 "TURCV", in un DB vengono inoltrati i seguenti
parametri di indirizzo del mittente:
Parametri
Tipo di
dai
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
23-18
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/2
A5E00739862-01
Comunicazione aperta tramite Industrial Ethernet
23.7
Inizializzazione del collegamento con l'FB 65 "TCON"
Impiego dell'FB 65 "TCON" con i protocolli TCP native e ISO on TCP
Entrambe i partner di comunicazione richiamano il parametro FB 65 "TCON" per la
creazione del collegamento di comunicazione. Nel corso della parametrizzazione è possibile
determinare quale punto finale della comunicazione debba essere attivo e quale passivo. Il
numero dei collegamenti possibili è indicato nei dati tecnici della CPU.
Il collegamento 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 cerca di ripristinare il collegamento. 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. Per il ripristino del collegamento
richiamare nuovamente il parametro FB 65 "TCON"
Impiego dell'FB 65 "TCON" con il protecollo UDP
Per consentire la configurazione del punto di accesso alla comunicazione 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.
Modalità operative
L'FB 65 "TCON" è un FB operante in modo asincrono, ovvero l'elaborazione comprende più
richiami dell'FB. L'attivazione della comunicazione avviene richiamando FB 65 mediante
REQ = 1.
Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine.
STATUS corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono
(vedere anche: Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in
modo asincrono).
La tabella sottostante illustra la correlazione tra i parametri BUSY, DONE e ERROR. Questi
parametri consentono di rilevare lo stato attuale dell'FB 65 ovvero quando l'inizializzazione
del collegamento è 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.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
23-19
Comunicazione aperta tramite Industrial Ethernet
Parametri
Parametri
Dichiarazione
Tipo di
dati
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
Il parametro di controllo REQUEST attiva la
creazione del collegamento con fronte di salita.
ID
INPUT
WORD
M, D, Cost.
ID del collegamento da creare con il partner
remoto oppure tra il programma utente e il livello
di comunicazione del sistema operativo. L'ID deve
essere identico al parametro ID al quale si
riferisce nella descrizione del collegamento locale
Campo di valori: da W#16#0001 a
W#16#0FFF
DONE
OUTPUT
BOOL
E, A, M, D, L
Parametro di stato DONE:
•
BUSY
OUTPUT
BOOL
E, A, M, D, L
ERROR
OUTPUT
BOOL
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:
•
ERROR=1: si è verificato un errore durante
l'elaborazione. STATUS offre informazioni
dettagliate sul tipo di errore
STATUS
OUTPUT
WORD
M, D
Parametro di stato STATUS: informazione di
errore
CONNECT
IN_OUT
ANY
D
Il puntatore si trova sulla relativa descrizione del
collegamento (UDT 65), vedere
Parametrizzazione dei collegamenti di
comunicazione aperti tramite i protocolli TCP
native e ISO on TCP und Parametrizzazione del
punto di accesso della comunicazione locale
tramite il protocollo UDP
23-20
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione aperta tramite Industrial Ethernet
Informazioni di errore
ERROR
STATUS
(W#16#...)
Spiegazione
0
0
0
0
0000
7000
7001
7002
1
0
8086
8087
1
809B
1
80A3
1
80A7
1
80B3
1
80B4
1
1
80C3
80C4
1
1
8722
8732
1
873A
1
877F
È stato possibile creare il collegamento
Richiamo di REQ=0 , non è stato dato avvio all'attivazione del collegamento
Primo richiamo di REQ=1, attivazione del collegamento in corso
Richiamo intermedio (non di rilievo per REQ), attivazione del collegamento in
corso
L'ID del parametro non deve avere il valore null.
È stato raggiunto il numero max. dei collegamenti, non sono possibili ulteriori
collegamenti
Il parametro local_device_id indicato nella descrizione del collegamento non si addice
alla CPU di destinazione
È stato effettuato il tentativo di creare nuovamente una comunicazione già
esistente.
Errore di comunicazione: è stato richiamato TDISCON mentre TCON non aveva
ancora terminato. Mediante il richiamo di TDISCON viene ora eseguita la
disconnessione anticipata.
Progettazione incoerente:
•
Errore nella descrizione del collegamento
•
Porta locale (parametro local_tsap_id) già presente in un'altra descrizione del
collegamento.
•
L'ID nella descrizione del collegamento diverge dall'ID del parametro
Inosservanza della condizione "local_tsap_id_len >= B#16#02" oppure della
condizione "local_tsap_id[1] = B#16#E0" o di entrambe nella variante del protocollo
ISO on TCP (connection_type = B#16#12) durante la creazione passiva del
collegamento (active_est = FALSE).
Temporanea scarsità di risorse della CPU
Errore di comunicazione temporaneo:
•
il collegamento non può essere per ora creato.
•
l'interfaccia viene nuovamente parametrizzato.
Parametro CONNECT: area sorgente non valida, area non disponibile nel DB
Parametro CONNECT: il numero del DB si trova al di fuori della banda dei numeri
specifica per la CPU
Parametro CONNECT: impossibile accedere alla descrizione del collegamento (p. es.
DB non disponibile)
Parametro CONNECT: errore interno, p. es. riferimento ANY non ammesso
Vedere anche:
Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP native e
ISO on TCP
Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP
Sconnessione con l'FB 66 "TDISCON"
Invio di dati tramite i protocolli TCP native e ISO on TCP con l'FB 63 "TSEND
Ricezione di dati tramite i protocolli TCP native e ISO on TCP con l'FB 64 "TRCV""
Invio di dati tramite il protocollo UDP con l‘FB 67 "TUSEND"
Ricezione di dati tramite il protocollo UDP con l‘FB 68 "TURCV"
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
23-21
Comunicazione aperta tramite Industrial Ethernet
23.8
Sconnessione con l'FB 66 "TDISCON"
Impiego dell'FB 66 "TDISCON" con i protocolli TCP native 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 protecollo 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 comprende
più richiami dell'FB. La 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 dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in
modo asincrono).
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.
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.
23-22
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione aperta tramite Industrial Ethernet
Parametri
Parametri
Dichiarazione
Tipo di
dati
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
Il parametro di controllo REQUEST attiva la
disconnessione del collegamento indicato dall'ID.
L'avvio della disconnessione 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
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 fornisce
informazioni dettagliate sul tipo di errore.
Parametro di stato STATUS:
•
Informazioni di errore
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
23-23
Comunicazione aperta tramite Industrial Ethernet
Informazioni di errore
ERROR
STATUS
(W#16#...)
Spiegazione
0
0000
È stato possibile creare il collegamento
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
Vedere anche:
Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP native e
ISO on TCP
Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP
Inizializzazione del collegamento con l'FB 65 "TCON"
Invio di dati tramite i protocolli TCP native e ISO on TCP con l'FB 63 "TSEND
Ricezione di dati tramite i protocolli TCP native e ISO on TCP con l'FB 64 "TRCV""
Invio di dati tramite il protocollo UDP con l‘FB 67 "TUSEND"
Ricezione di dati tramite il protocollo UDP con l‘FB 68 "TURCV"
23-24
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione aperta tramite Industrial Ethernet
23.9
Invio di dati tramite i protocolli TCP native 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 dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in
modo asincrono).
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
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.
rilievo
Nota
Per effetto del funzionamento asincrono dell‘FB 63 "TSEND", la coerenza dei dati presenti
nell’area di invio deve essere mantenuta fino a quando i parametri DONE o ERROR avranno
assunto il valore TRUE.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
23-25
Comunicazione aperta tramite Industrial Ethernet
Parametri
Parametri
Dichiarazione
Tipo di
dati
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
Il parametro di controllo REQUEST attiva la
creazione del collegamento con fronte di salita.
Al primo richiamo eseguito con REQ=1 vengono
trasferiti i dati dell’area indicata nel parametro
DATA
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 di byte da inviare con il presente ordine
Campo di valori:
DONE
OUTPUT
BOOL
E, A, M, D, L
BUSY
OUTPUT
BOOL
E, A, M, D, L
ERROR
OUTPUT
BOOL
E, A, M, D, L
•
da 1 a 1460, se il tipo di collegamento =
B#16#01
•
da 1 a 8192, se il tipo di collegamento =
B#16#11
•
da 1 a 1452, se il tipo di collegamento =
B#16#12
•
da 1 a 8192, se il tipo di collegamento =
B#16#12 ese non viene impiegato alcun CP
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. Non è possibile 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:
DATA
IN_OUT
ANY
E, M, D
Campo di invio: contiene indirizzo e lunghezza
L'indirizzo indica:
•
23-26
Informazioni di errore
•
l'immagine di processo degli ingressi
•
l'immagine di processo delle uscite
•
un merker
•
un blocco dati
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione aperta tramite Industrial Ethernet
Informazioni di errore
ERROR
STATUS
(W#16#...)
Spiegazione
0
0000
L'ordine di invio dati si è concluso senza errori
0
7000
Primo richiamo di REQ=0 , non è stata avviata l'operazione di invio dati
0
7001
Primo richiamo di REQ=1, è stata avviata l'operazione di invio dati
0
7002
Richiamo intermedio (non di rilievo per REQ), ordine in corso
Nota: in questa fase di elaborazione il sistema operativo accede ai dati disponibili nel
buffer 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
80A1
Errore di comunicazione:
•
non è ancora stato richiamato l'FB 65 "TCON" dell'ID 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
Le risorse (memoria) della CPU sono momentaneamente occupate
1
80C4
Errore di comunicazione temporaneo:
1
8822
•
è attualmente impossibile creare il collegamento con il partner di comunicazione.
•
l'interfaccia viene nuovamente parametrizzata.
Parametro DATA: Area sorgente non valida: area non disponibile nel DB
1
8824
Parametro DATA: errore di area nel pointer ANY
1
8832
Parametro DATA: numero del DB troppo elevato
1
883A
Parametro DATA: impossibile accedere al buffer di invio (p. es. DB cancellato)
1
887F
Parametro DATA: errore interno, p. es. riferimento ANY non ammesso
Vedere anche:
Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP native e
ISO on TCP
Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP
Inizializzazione del collegamento con l'FB 65 "TCON"
Sconnessione con l'FB 66 "TDISCON"
Ricezione di dati tramite i protocolli TCP native e ISO on TCP con l'FB 64 "TRCV""
Invio di dati tramite il protocollo UDP con l‘FB 67 "TUSEND"
Ricezione di dati tramite il protocollo UDP con l‘FB 68 "TURCV"
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
23-27
Comunicazione aperta tramite Industrial Ethernet
23.10
Ricezione di dati tramite i protocolli TCP native e ISO on
TCP con l'FB 64 "TRCV"
Descrizione
L'FB 64 "TRCV" riceve dati mediante un collegamento di comunicazione.
Esistono due possibilità di ricezione ed elaborazione dati:
•
Versione 1: il blocco dati ricevuto viene subito elaborato
•
Versione 2: i blocchi dati ricevuti vengono memorizzati in un buffer di ricezione ed
elaborati soltanto quando esso è pieno.
La tabella sottostante illustra la correlazione tra il tipo di collegamento e queste due
modalità:
Tipo di
collegamento
Modalità
B#16#01 e B#16#11 L'utente può determinare la modalità
B#16#12
Modalità 2 (fissa)
Nella tabella sottostante vengono descritte dettagliatamente entrambi le modalità
Dati ricevuti ...
Campo(di valori) di
LEN
Sono subito disponibili 0
Memorizzazione nel
•
buffer di ricezione. I
dati sono disponibili
non appena è stata
•
raggiunta la lunghezza
progettata
23-28
Campo(di valori)
di RCVD_LEN
Descrizione
1…x
Viene trasmesso un buffer, la cui
lunghezza x è memorizzata nel pointer
ANY del buffer di ricezione (parametro
DATA).
Non appena entra un blocco dati, esso
viene immediatamente memorizzato per
l'elaborazione nel buffer di ricezione. Il
numero di dati ricevuti (parametri
RCVD_LEN) può raggiungere al
massimo la grandezza prevista nel
parametro DATA. La ricezione viene
segnalata mediante NDR = 1
Da 1 a 1460, se il
Valore identico a
tipo di collegamento quello del
= B#16#01
parametro LEN
Da 1 a 8192, il tipo
di collegamento =
B#16#11
•
Da 1 a 1452, il tipo
di collegamento =
B#16#12
•
Da 1 a 8192, se il
tipo di collegamento
= B#16#12 e se non
viene impiegato
alcun alcun CP
La lunghezza di ricezione viene
trasmessa al parametro LEN. Al
raggiungimento di questa lunghezza, i
dati di ricezione vengono memorizzati
nel parametro DATA (NDR = 1).
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione aperta tramite Industrial Ethernet
Modalità operative
L'FB 64 "TRCV" è un FB operante in modo asincrono, ovvero l'elaborazione comprende più
richiami dell'FB. L'attivazione della ricezione avviene richiamando FB 64 mediante REQ = 1.
Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine.
STATUS corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono
(vedere anche: Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in
modo asincrono).
La tabella 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.
Nota
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/2
A5E00739862-01
23-29
Comunicazione aperta tramite Industrial Ethernet
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.
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
•
LEN = 0 (modalità Ad hoc): impiegare la
lunghezza implicita indicata in ANY Pointer
DATA. I dati ricevuti vengono resi
immediatamente disponibili al richiamo del
blocco. Il numero dei dati ricevuti è disponibile
in RCVD_LEN.
•
1 <= LEN <= max: numero di byte da
ricevere. Il numero dei dati effettivamente
ricevuti è disponibile in RCVD_LEN. I dati
sono disponibili soltanto dopo la ricezione
completa.
max è in funzione del tipo di collegamento:
max = 1460 con il tipo di collegamento
B#16#01, max = 8192 con il tipo di
collegamento B#16#11, max = 1452 con il
tipo di collegamento B#16#12 impiegando il
CP, max = 8192 con il tipo di collegamento
B#16#12 senza impiego del CP
NDR
ERROR
BUSY
OUTPUT
OUTPUT
OUTPUT
BOOL
BOOL
BOOL
E, A, M, D, L
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 = 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, M, D
Area di ricezione, contiene lunghezza e indirizzo
L'indirizzo indica:
23-30
•
l'immagine di processo degli ingressi
•
l'immagine di processo delle uscite
•
un merker
•
un blocco dati
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione aperta tramite Industrial Ethernet
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
Primo richiamo di REQ=0 , non è stato dato avvio alla ricezione
0
7001
Il blocco è pronto alla ricezione
0
7002
Richiamo intermedio, ordine in corso
Nota: durante la fase di elaborazione, il sistema operaativo scrive dati nel buffer di
ricezione DATA che, in caso di errori, può pertanto contenere dati incoerenti.
1
8085
Il parametro LEN supera il valore max. consentito oppure il valore di LEN è stato
modificato dopo il primo richiamo
1
8086
L'ID del parametro si trova in un campo valori non ammesso
1
8088
•
Il buffer di destinazione (DATA) è troppo ridotto
•
Il valore indicato in LEN supera quello dell'area di ricezione prefissato tramite
DATA
•
Eliminazione dell’errore se il tipo di collegamento = B#16#12: incrmentare il
buffer di destinazione DATA.
1
80A1
Errore di comunicazione:
•
non è ancora stato richiamato l'FB 65 "TCON" dell'ID indicato
•
il collegamento indicato viene attualmente interrotto. Impossibile ricevere dati
tramite questo collegamento.
•
l'interfaccia viene nuovamente parametrizzata
1
80B3
Il collegamento parametrizzato (parametro connection_type nella descrizione del
collegamento) è di tipo UDP. Impiegare l‘FB 68 "TURCV".
1
80C3
Le risorse (memoria) della CPU sono momentaneamente occupate
1
80C4
Errore di comunicazione temporaneo: attivazione del collegamento in corso
1
8922
Parametro DATA: Area di destinazione non valida: area non disponibile nel DB
1
8924
Parametro DATA: errore di area nel pointer ANY
1
8932
Parametro DATA: numero DB troppo elevato
1
893A
Parametro DATA: impossibile accedere al buffer di ricezione (p. es. DB cancellato)
1
897F
Parametro DATA: errore interno, p. es. riferimento ANY non ammesso
Vedere anche:
Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP native e
ISO on TCP
Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP
Inizializzazione del collegamento con l'FB 65 "TCON"
Sconnessione con l'FB 66 "TDISCON"
Invio di dati tramite i protocolli TCP native e ISO on TCP con l'FB 63 "TSEND
Invio di dati tramite il protocollo UDP con l‘FB 67 "TUSEND"
Ricezione di dati tramite il protocollo UDP con l‘FB 68 "TURCV"
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
23-31
Comunicazione aperta tramite Industrial Ethernet
23.11
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 ndirizzo è
indicato nel parametro ADDR
Nota
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 invede
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 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 dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in
modo asincrono).
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.
Nota
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.
23-32
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione aperta tramite Industrial Ethernet
Parametri
Parametri
Dichiara
zione
Tipo di
dati
Area di memoria
Descrizione
REQ
INPUT
BOOL
E, A, M, D, L
Il parametro di controllo REQUEST attiva
l’operazione di invio con fronte di salita.
Al primo richiamo eseguito con REQ=1 vengono
trasferiti i byte dell’area indicata nel parametro
DATA
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 die byte da inviare con l‘ordine
Campo di valori: da 1 a 1460
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/2
A5E00739862-01
23-33
Comunicazione aperta tramite Industrial Ethernet
Informazioni di errore
ERROR
STATUS
(W#16#...)
Spiegazione
0
0000
L’ordine di invio si è concluso senza errori
0
7000
Primo richiamo di REQ=0 , non è stato avviato l’invio
0
7001
Primo richiamo di REQ=1, è stato avviato l’invio
0
7002
Richiamo intermedio ( REQ non di rilievo ), ordine in corso
Nota: in questa fase di elaborazione il sistema operativo accede ai dati disponibili nel
buffer 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
80A1
Errore di comunicazione:
1
80B3
1
80C3
1
80C4
•
non è ancora stato richiamato l'FB 65 "TCON" dell'ID indicato
•
il collegamento indicato tra il programma utente ed il livello di comunicazione del
sistema operativo viiene momentaneamente interrotto. Un'operazione di invio
tramite questo collegamento non è possibile.
•
L'interfaccia viene nuovamente inizializzata
•
Il collegamento parametrizzato (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 o dell’indirizzo IP
Le risorse (memoria) della CPU sono momentaneamente occupate
Errore di comunicazione temporaneo:
•
La creazione del collegamento tra il programma utente ed il livello di
comunicazione del sistema operativo non è momentaneamente possibile.
•
L'interfaccia viene nuovamente parametrizzata.
1
8822
Parametro DATA: Area sorgente non valida: area non disponibile nel DB
1
8824
Parametro DATA: errore di area nel pointer ANY
1
8832
Parametro DATA: numero del DB troppo elevato
1
883A
Parametro DATA: impossibile accedere al buffer di invio (p. es. DB cancellato)
1
887F
Parametro DATA: errore interno, p. es. riferimento ANY non ammesso
Vedere anche:
Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP native e
ISO on TCP
Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP
Inizializzazione del collegamento con l'FB 65 "TCON"
Sconnessione con l'FB 66 "TDISCON"
Invio di dati tramite i protocolli TCP native e ISO on TCP con l'FB 63 "TSEND
Ricezione di dati tramite i protocolli TCP native e ISO on TCP con l'FB 64 "TRCV"
Ricezione di dati tramite il protocollo UDP con l‘FB 68 "TURCV"
23-34
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Comunicazione aperta tramite Industrial Ethernet
23.12
Ricezione di dati tramite il protocollo UDP con l‘FB 68
"TURCV"
Descrizione
L'FB 68 "TURCV" riceve i dati tramite il protocolo UDP. Al termine della ricezione da parte
dell‘FB 68, nel parametro ADDR viene indicato l’indirizzo del partner remoto ovvero del
mittente.
Modalità operative
L'FB 68 "TURCV" è un FB operante in modo asincrono, ovvero l'elaborazione comprende
più richiami dell'FB. L'attivazione dell’operazione di invio avviene richiamando FB 68
mediante REQ = 1.
Mediante i parametri di uscita BUSY e STATUS viene visualizzato lo stato dell'ordine.
STATUS corrisponde al parametro di uscita RET_VAL delle SFC operanti in modo asincrono
(vedere anche: Significato dei parametri REQ, RET_VAL e BUSY nelle SFC che lavorano in
modo asincrono).
La tabella 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.
Nota
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/2
A5E00739862-01
23-35
Comunicazione aperta tramite Industrial Ethernet
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.
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
1 <= LEN <= 1460: numero di byte da ricevere.
I dati ricevuti vengono resi immediatamente
disponibili al richiamo del blocco. Il numero dei
dati ricevuti è disponibile in RCVD_LEN.
NDR
ERROR
OUTPUT
OUTPUT
BOOL
BOOL
E, A, M, D, L
E, A, M, D, L
BUSY
OUTPUT
BOOL
E, A, M, D, L
STATUS
OUTPUT
WORD
M, D
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 fornisce informazioni
dettagliate sul tipo di errore
•
BUSY = 1: l'ordine non è ancora stato
terminato. Impossibile avviare un nuovo
ordine
•
BUSY = 0: l'ordine è terminato.
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: contiene indirizzo e lunghezza
L'indirizzo indica:
ADDR
23-36
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/2
A5E00739862-01
Comunicazione aperta tramite Industrial Ethernet
Informazioni di errore
ERROR
STATUS
(W#16#...)
Spiegazione
0
0000
Acquisizione di nuovi dati. La lunghezza attuale die dati ricevuti viene visualizzata in
RCVD_LEN.
0
7000
Primo richiamo di REQ=0, non è stato avviato l’invio
0
7001
Il blocco è pronto alla ricezione
0
7002
Richiamo intermedio, ordine in corso
Nota: in questa fase di elaborazione il sistema operativo scrive i dati nel buffer di
ricezione DATA che, in caso di errori, può pertanto contenere dati incoerenti.
1
8085
Il parametro LEN supera il valore massimo consentito oppure il valore presente al
primo richiamo è stato modificato
1
8086
L'ID del parametro si trova in un campo valori non ammesso
1
8088
•
il buffer di destinazione (DATA) è troppo ridotto
•
Il valore del parametro LEN è maggiore rispetto a quello prefissato in DATA per
l’area di ricezione
1
80A1
Errore di comunicazione:
•
non è ancora stato richiamato l'FB 65 "TCON" dell'ID indicato
•
il collegamento indicato tra il programma utente ed il livello di comunicazione del
sistema operativo viiene momentaneamente interrotto. Un'operazione di
ricezione tramite questo collegamento non è possibile.
•
L'interfaccia viene nuovamente parametrizzata
1
80B3
Il collegamento parametrizzato (parametro connection_type nella descrizione del
collegamento) è non di tipo UDP. Impiegare il parametro FB 68 "TRCV".
1
80C3
Le risorse (memoria) della CPU sono momentaneamente occupate
1
80C4
Errore di comunicazionte temporaneo: creazione del collegamento in corso.
1
8922
Parametro DATA: Area sorgente non valida: area non disponibile nel DB
1
8924
Parametro DATA: errore di area nel pointer ANY
1
8932
Parametro DATA: numero del DB troppo elevato
1
893A
Parametro DATA: impossibile accedere al buffer di ricezione (p. es. DB cancellato)
1
897F
Parametro DATA: errore interno, p. es. riferimento ANY non ammesso
Vedere anche:
Parametrizzazione di collegamenti di comunicazione aperti tramite i protocolli TCP native e
ISO on TCP
Parametrizzazione del punto di accesso alla comunicazione locale con il protocollo UDP
Inizializzazione del collegamento con l'FB 65 "TCON"
Sconnessione con l'FB 66 "TDISCON"
Invio di dati tramite i protocolli TCP native e ISO on TCP con l'FB 63 "TSEND
Ricezione di dati tramite i protocolli TCP native e ISO on TCP con l'FB 64 "TRCV"
Invio di dati tramite il protocollo UDP con l‘FB 67 "TUSEND"
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
23-37
Comunicazione aperta tramite Industrial Ethernet
23-38
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
24
Creazione di segnalazioni riferite ai blocchi
24.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 31 "NOTIFY_8P”
•
SFB 33 "ALARM_8"
•
SFB 34 "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/2
A5E00739862-01
24-1
Creazione di segnalazioni riferite ai blocchi
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.
24-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Creazione di segnalazioni riferite ai blocchi
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/2
A5E00739862-01
24-3
Creazione di segnalazioni riferite ai blocchi
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.
24-4
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Creazione di segnalazioni riferite ai blocchi
24.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
Area di memoria
Descrizione
SIG
INPUT
ID
INPUT
BOOL
E, A, M, D, L
Segnale da controllare
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 STEP 7. 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/2
A5E00739862-01
24-5
Creazione di segnalazioni riferite ai blocchi
Parametri
Dichiarazione Tipo
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, transizione del segnale. La segnalazione
non ha potuto essere inviata
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:
1
18
1
20
•
un DB di istanza che non appartiene all'SFB 36
•
un DB globale invece di un DB di istanza.
EV_ID è già stata trasferita da uno degli SFB 31 o da 33 a 36
La memoria di lavoro non è sufficiente
Sistema H: richiamo dell'SFB durante l'aggiornamento
1
24-6
21
La segnalazione con la EV_ID specificata è inibita.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Creazione di segnalazioni riferite ai blocchi
24.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/2
A5E00739862-01
24-7
Creazione di segnalazioni riferite ai blocchi
Parametri
Dichiarazione
Tipo
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)
24-8
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Creazione di segnalazioni riferite ai blocchi
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, almeno una transizione di segnale/una
segnalazione non ha potuto essere inviata
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
Sistema H: richiamo dell'SFB durante l'aggiornamento
1
21
La segnalazione con la EV_ID specificata è inibita.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
24-9
Creazione di segnalazioni riferite ai blocchi
24.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.
24-10
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Creazione di segnalazioni riferite ai blocchi
L'SFB 33 "ALARM" è conforme alla norma IEC 1131-5.
Parametri
Dichiarazione Tipo
Area di memoria
Descrizione
EN_R
INPUT
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.
EV_ID
INPUT
DWORD Cost. (E, A, M, D, L) Numero del messaggio (non consentito: 0)
EV_ID viene analizzato solamente con il primo
richiamo. In seguito, per ogni richiamo dell'SFB 33
con il relativo DB di istanza, vale il numero di
messaggio usato al primo richiamo.
BOOL
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/2
A5E00739862-01
24-11
Creazione di segnalazioni riferite ai blocchi
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
Avviso: perdita della segnalazione, transizione di segnale/la
segnalazione non ha potuto essere inviata.
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
1
4
1
10
1
12
Per la EV_ID specificata non è presente alcun collegamento
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
Accesso a memoria utente locale impossibile (p. es. accesso a DB
cancellati)
Al richiamo degli SFB è stato indicato:
•
un DB di istanza che non appartiene all'SFB 33
•
un DB globale invece di un DB di istanza
1
18
L'EV_ID è già stata utilizzata da uno degli SFB 31 0 da 33 a 36
1
20
Insufficiente memoria di lavoro.
1
21
La segnalazione con la EV_ID specificata è inibita.
Avvertenza
Dopo il primo richiamo del blocco le uscite ACK_UP e ACK_DN hanno valore 1 e il valore
storico dell'ingresso SIG viene assunto a 0.
24-12
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Creazione di segnalazioni riferite ai blocchi
24.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
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
BOOL
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
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.
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
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
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/2
A5E00739862-01
24-13
Creazione di segnalazioni riferite ai blocchi
Parametri
Dichiarazione Tipo
ACK_STATE OUTPUT
WORD
Area di memoria
Descrizione
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)
•
I bit 0 … 7 sono impostati per l'evento in
entrata con SIG_1 …SIG_7
•
I bit 8 … 15 sono impostati per l'evento in
uscita con SIG_1 … SIG_7
Stato dell'inizializzazione: W#16#FFFF, cioè tutti
gli eventi entranti e uscenti sono confermati
SD_j,
1≤ j ≤10
IN_OUT
ANY
E, A, M, D, T, Z
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)
24-14
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Creazione di segnalazioni riferite ai blocchi
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
Avviso: Perdita della segnalazione, almeno una transizione del
segnale/una segnalazione non ha potuto essere inviata.
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:
1
18
•
un DB di istanza che non appartiene all'SFB 35
•
un DB globale invece di un DB di istanza
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/2
A5E00739862-01
24-15
Creazione di segnalazioni riferite ai blocchi
24.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
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
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
24-16
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Creazione di segnalazioni riferite ai blocchi
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
Avviso: Perdita della segnalazione, almeno una transizione del
segnale/una segnalazione non ha potuto essere inviata
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:
1
18
•
un DB di istanza che non appartiene all'SFB 34
•
un DB globale invece di un DB di istanza
EV_ID è già stata trasferita da uno degli SFB 31 o da 33 a 36
1
20
Insufficiente memoria di lavoro.
1
21
La segnalazione con la EV_ID specificata è inibita.
Avvertenza
Dopo il primo richiamo del blocco tutti i bit dell'uscita ACK_STATE sono impostati e i valori
storici delle entrate SIG_i, 1≤i≤8 vengono assunti a 0.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
24-17
Creazione di segnalazioni riferite ai blocchi
24.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
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 STEP 7. 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
SD_1
IN_OUT
ANY
E, A, M, D, T, Z
Puntatore sui dati di archivio. L'indicazione della
lunghezza non viene analizzata.
Sono ammessi solo i tipi di dati BOOL ( non
consentito: campo di bit), BYTE, CHAR, WORD,
INT, DWORD, DINT, REAL, DATE, TOD, TIME,
S5TIME, DATE_AND_TIME.
I dati di archivio devono essere configurati per il
sistema di destinazione specifico.
Avvertenza:
Se il puntatore ANY accede a un DB, il DB deve
sempre essere specificato
(p. es.: P# DB10.DBX5.0 byte 10)
LEN
24-18
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/2
A5E00739862-01
Creazione di segnalazioni riferite ai blocchi
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/2
A5E00739862-01
24-19
Creazione di segnalazioni riferite ai blocchi
24.8
Inibizione di segnalazioni riferite ai blocchi e ai simboli e di
segnalazioni cumulative tecnologiche con la SFC 10
"DIS_MSG"
Descrizione
Con la SFC 10 "DIS_MSG" (disable message) vengono inibite segnalazioni riferite ai blocchi
creati con gli SFB, segnalazioni riferite ai simboli (SCAN) e segnalazioni cumulative
tecnologiche. I messaggi da inibire vengono definiti tramite i parametri di ingresso MODE e
MESGN. La condizione necessaria per l'avviamento positivo di un procedimento di inibizione
con la SFC 10 "DIS_MSG" è che non sia attivo al momento alcun ulteriore procedimento di
inibizione della SFC 10.
Le segnalazioni che al richiamo della SFC 10 sono già pronti per essere trasmesse ma si
trovano ancora in un buffer interno, non subiscono più l'inibizione, cioè vengono ancora
trasmesse.
Le uscite ERROR e STATUS degli SFB "NOTIFY", "NOTIFY_8P”, "ALARM", "ALARM_8P" e
"ALARM_8" comunicano che la trasmissione di messaggi è inibita.
Il procedimento di inibizione viene avviato se, al richiamo della SFC 10, viene occupato il
parametro di ingresso REQ con 1.
Modo di funzionamento
Il procedimento di inibizione viene condotto in modo asincrono, cioè si può estendere a più
richiami della SFC 10 (vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle
SFC che lavorano in modo asincrono:
•
Al primo richiamo (REQ = 1) la SFC 10 verifica i parametri di ingresso e cerca di
occupare le risorse di sistema necessarie. In caso di riuscita W#16#7001 viene
registrato in RET_VAL, BUSY viene impostato e l'inibizione avviata.
In caso contrario in RET_VAL viene registrata la relativa informazione di errore e il job è
terminato. BUSY in tal caso non può essere analizzato.
•
Ad un eventuale richiamo intermedio in RET_VAL viene registrato W#16#7002 (il job
viene ancora elaborato dalla CPU) e BUSY viene impostato. Un richiamo intermedio non
influisce sul job in corso.
All'ultimo richiamo in RET_VAL viene registrato W#16#0000, se non è presente alcun errore.
BUSY in questo caso viene indicato con 0.
In caso di errore in RET_VAL viene registrata l'informazione di errore e BUSY non può
essere analizzato.
Parametri
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
24-20
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Creazione di segnalazioni riferite ai blocchi
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/2
A5E00739862-01
24-21
Creazione di segnalazioni riferite ai blocchi
24.9
Abilitazione di segnalazioni riferite ai blocchi e ai simboli e
di segnalazioni cumulative tecnologiche con la SFC 9
"EN_MSG"
Descrizione
Con la SFC 9 "EN_MSG" (enable message) vengono riabilitate le segnalazioni inibite riferite
ai blocchi e ai simboli e le segnalazioni cumulative tecnologiche inibiti. L'inibizione può
essere stata attivata da un controllore visualizzato o con la SFC 10 "DIS_MSG".
Le segnalazioni da abilitare devono essere definite tramite i parametri di ingresso MODE e
MESGN. Presupposto per l'avviamento positivo di un procedimento di abilitazione con la
SFC 9 "EN_MSG" è che momentaneamente non sia attivo alcun altro procedimento di
abilitazione della SFC 9.
Il procedimento di abilitazione viene avviato se, al richiamo della SFC 9, il parametro di
ingresso REQ viene occupato con 1.
Modo di funzionamento
Il procedimento di abilitazione viene condotto in modo asincrono, cioè si può estendere a più
richiami della SFC 9 (vedere anche Significato dei parametri REQ, RET_VAL e BUSY nelle
SFC che lavorano in modo asincrono.
•
Al primo richiamo (REQ = 1) la SFC 9 verifica i parametri di ingresso e cerca di occupare
le risorse di sistema necessarie. In caso di riuscita in RET_VAL viene registrato
W#16#7001, BUSY viene impostato e l'abilitazione avviata.
In caso contrario in RET_VAL viene registrata la relativa informazione di errore e il job è
terminato. BUSY in tal caso non può essere analizzato.
•
Ad un eventuale richiamo intermedio in RET_VAL viene registrato W#16#7002 (il job
viene ancora elaborato dalla CPU) e BUSY viene impostato. Un richiamo intermedio non
influisce sul job in corso.
All'ultimo richiamo in RET_VAL viene registrato W#16#0000 se non è presente alcun errore.
BUSY in questo caso viene descritto con 0.
In caso di errore in RET_VAL viene registrata l'informazione di errore e BUSY non può
essere analizzato.
Parametri
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
24-22
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Creazione di segnalazioni riferite ai blocchi
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/2
A5E00739862-01
24-23
Creazione di segnalazioni riferite ai blocchi
24.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).
24-24
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Creazione di segnalazioni riferite ai blocchi
24.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/2
A5E00739862-01
24-25
Creazione di segnalazioni riferite ai blocchi
24.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.
24-26
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Creazione di segnalazioni riferite ai blocchi
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/2
A5E00739862-01
24-27
Creazione di segnalazioni riferite ai blocchi
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.
24-28
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Creazione di segnalazioni riferite ai blocchi
24.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).
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".
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
24-29
Creazione di segnalazioni riferite ai blocchi
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.
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
24-30
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Creazione di segnalazioni riferite ai blocchi
Informazioni d'errore
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.
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/2
A5E00739862-01
24-31
Creazione di segnalazioni riferite ai blocchi
24.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
Informazioni d'errore
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
24-32
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Creazione di segnalazioni riferite ai blocchi
24.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/2
A5E00739862-01
24-33
Creazione di segnalazioni riferite ai blocchi
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
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)
CMP_ID
INPUT
DWORD
E, A, M, D, L, cost. component identifier (non consentito: 0)
Numero della segnalazione (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
24-34
OUTPUT
INT
E, A, M, D, L
Informazione di errore
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Creazione di segnalazioni riferite ai blocchi
Informazioni di errore
Codice errore
(W#16#...)
Spiegazione
0000
Non si è verificato nessun errore.
0001
•
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.
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/2
A5E00739862-01
24-35
Creazione di segnalazioni riferite ai blocchi
24.16
Lettura di risorse di sistema a occupazione dinamica con la
SFC 105 "READ_SI"
Generazione di risorse di sistema a occupazione dinamica durante la creazione di
segnalazioni con le SFC 107 e 108
Quando si creano segnalazioni con le SFC 107 "ALARM_DQ" e 108 "ALARM_D", il sistema
operativo occupa momentaneamente uno spazio nella memoria del sistema.
Se l'utente p. es. cancella dalla CPU un FB con richiami SFC 107 o SFC 108, può succedere
che le relative risorse di sistema restino occupate in modo duraturo. Quando si ricarica l'FB
con i richiami SFC 107 o SFC 108, quindi, può succedere che le SFC 107 e 108 non
possano più essere elaborate correttamente.
Descrizione
Con la SFC 105 "READ_SI" è possibile leggere risorse di sistema occupate al momento
della creazione di segnalazioni con le SFC 107 e 108, grazie ai valori qui utilizzati di EV_ID e
CMP_ID. Questi vengono assegnati alla SFC 105 "READ_SI" nel parametro SI_ID.
La SFC 105 "READ_SI" dispone di 4 tipi di funzionamento possibili, descritti nella tabella
seguente. Il tipo di funzionamento desiderato si può impostare con il parametro MODE.
MODE
Quali risorse di sistema occupate dalle SFC 107/SFC 108 vengono lette?
1
Tutte (richiamo della SFC 105 eseguito con SI_ID:=0)
2
La risorsa di sistema occupata da EV_ID:=ev_id al momento del richiamo delle
SFC 107/SFC 108 (richiamo della SFC 105 eseguito con SI_ID:=ev_id)
3
Tutte le risorse di sistema occupate da CMP_ID:=cmp_id al momento del richiamo delle
SFC 107/SFC 108 (richiamo della SFC 105 eseguito con SI_ID:=cmp_id)
0
Ulteriori risorse di sistema che nel richiamo precedente non hanno potuto essere lette con
MODE=1 o MODE=3 perché l'area di destinazione selezionata SYS_INST era troppo piccola
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à.
24-36
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Creazione di segnalazioni riferite ai blocchi
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
Parametri
Dichiarazione
Tipo
Area di memoria
Descrizione
MODE
INPUT
INT
E, A, M, D, L, cost.
Identificazione del job
Valori consentiti:
SI_ID
INPUT
DWORD E, A, M, D, L, cost.
•
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
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
24-37
Creazione di segnalazioni riferite ai blocchi
Informazioni di errore
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
24-38
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Creazione di segnalazioni riferite ai blocchi
24.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
Area di memoria
Descrizione
MODE
INPUT
INT
E, A, M, D, L, cost.
Identificazione del job
Valori consentiti:
SI_ID
INPUT
DWORD E, A, M, D, L, cost.
•
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/2
A5E00739862-01
24-39
Creazione di segnalazioni riferite ai blocchi
Informazioni di errore
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
24-40
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
25
Temporizzatore IEC e contatore IEC
25.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/2
A5E00739862-01
25-1
Temporizzatore IEC e contatore IEC
Diagramma di tempo
IN
Q
PT
PT
PT
ET
PT
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
25-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Temporizzatore IEC e contatore IEC
25.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
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 salita
all'ingresso IN. PT deve essere positivo
(avvertenza: il campo di valori è definito dal tipo di
dati TIME).
Q
OUTPUT
BOOL
E, A, M, D, L
Stato del tempo
ET
OUTPUT
TIME
E, A, M, D, L
Tempo trascorso
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
25-3
Temporizzatore IEC e contatore IEC
25.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
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 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
25-4
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Temporizzatore IEC e contatore IEC
25.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
E, A, M, D, L, cost.
Ingresso di conteggio
BOOL
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/2
A5E00739862-01
25-5
Temporizzatore IEC e contatore IEC
25.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
E, A, M, D, L, cost.
Ingresso di conteggio
BOOL
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
25-6
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/2
A5E00739862-01
Temporizzatore IEC e contatore IEC
25.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
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
QD
OUTPUT
BOOL
E, A, M, D, L
Stato di conteggio all'indietro:
QD ha valore
1, se CV ≤ 0
0 diversamente
CV
OUTPUT
INT
E, A, M, D, L
Valore di conteggio attuale
(valori possibili: da -32.768 a 32.767)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
25-7
Temporizzatore IEC e contatore IEC
25-8
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
26
Funzioni IEC
26.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
FC 9 EQ_DT
DT
Confronto di DT se uguale
FC 12 GE_DT
DT
Confronto di DT se maggiore o uguale
FC 14 GT_DT
DT
Confronto di DT se maggiore
FC 18 LE_DT
DT
Confronto di DT se minore o uguale
FC 23 LT_DT
DT
Confronto di DT se minore
FC 28 NE_DT
DT
Confronto di DT se diverso
FC 10 EQ_STRNG
String
Confronto di STRING se uguale
FC 13 GE_STRNG
String
Confronto di STRING se maggiore o uguale
FC 15 GT_STRNG
String
Confronto di STRING se maggiore
FC 19 LE_STRNG
String
Confronto di STRING se minore o uguale
FC 24 LT_STRNG
String
Confronto di STRING se minore
FC 29 NE_STRNG
String
Confronto di STRING se diverso
FC 21 LEN
String
Lunghezza di una variabile STRING
FC 20 LEFT
String
Parte sinistra di una variabile STRING
FC 32 RIGHT
String
Parte destra di una variabile STRING
FC 26 MID
String
Parte centrale di una variabile STRING
FC 2 CONCAT
String
Combinazione di due variabili STRING
FC 17 INSERT
String
Inserimento in una variabile STRING
FC 4 DELETE
String
Cancellazione in una variabile STRING
FC 31 REPLACE
String
Sostituzione in una variabile STRING
FC 11 FIND
String
Ricerca in una variabile STRING
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
26-1
Funzioni IEC
Nome
Famiglia di blocco IEC
Funzione
FC 1 AD_DT_TM
Floating Point Math
Addizione di una durata di tempo ad un istante
FC 35 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)
26-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Funzioni IEC
26.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.
Assegnazione (quantità byte) in
N° FC
Nome
Memoria lavoro
Memoria carico
Dati locali (byte)
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
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
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
26-3
Funzioni IEC
Assegnazione (quantità byte) in
N° FC
Nome
Memoria lavoro
Memoria carico
Dati locali (byte)
FC 25
MAX
374
532
8
FC 27
MIN
374
532
8
FC 36
SEL
374
560
8
26-4
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Funzioni IEC
26.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/2
A5E00739862-01
26-5
Funzioni IEC
26.4
Funzioni orologio
Descrizione FC 1 AD_DT_TM
Con la funzione FC 1 è possibile aggiungere una durata di tempo (formato TIME) ad un
istante (formato DT) e fornire come risultato un nuovo istante (formato DT). L´istante
(parametro T) deve essere compreso tra DT#1990-01-01-00:00:00.000 e
DT#2089-12-31-23:59:59.999. Con la funzione non è possibile eseguire una verifica
dell´ingresso. Se il risultato dell´addizione non si trova nel campo specificato sopra, il
risultato viene limitato al valore corrispondente e il risultato binario BIE viene azzerato.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
T
INPUT
DATE_AND_TIME
D, L
Istante nel formato DT
D
INPUT
TIME
E, A, M, D, L, Cost.
Durata di tempo nel formato TIME
RET_VAL
OUTPUT
DATE_AND_TIME
D, L
Somma nel formato DT
Per il parametro di ingresso T ed il parametro di uscita è possibile assegnare solo una
variabile definita in modo simbolico.
Descrizione FC 3 D_TOD_DT
Con la funzione FC 3 è possibile combinare i formati di dati DATE e TIME_OF_DAY (TOD) e
convertirli nel formato di dati DATE_AND_TIME (DT). Il valore di ingresso IN1 deve essere
compreso entro i limiti DATE#1990-01-01 e DATE#2089-12-31 (non si hanno verifiche). La
funzione non segnala errori.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
IN1
INPUT
DATE
E, A, M, D, L, Cost.
Variabile di ingresso nel formato
DATE
IN2
INPUT
TIME_OF_DAY
E, A, M, D, L, Cost.
Variabile di ingresso nel formato TOD
RET_VAL
OUTPUT
DATE_AND_TIME
D, L
Valore di ritorno nel formato DT
Per il valore di ritorno è possibile assegnare solo una variabile definita in modo simbolico.
26-6
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Funzioni IEC
Descrizione FC 6 DT_DATE
Con la funzione FC 6 è possibile dissociare il formato di dati DATE dal formato
DATE_AND_TIME. DATE è compreso entro i limiti DATE#1990-1-1 e DATE#2089-12-31. La
funzione non segnala errori.
Parametro
Dichiarazione Tipo di dati
Area di memoria Descrizione
IN
INPUT
DATE_AND_TIME
D, L
Variabile di ingresso con formato DT
RET_VAL
OUTPUT
DATE
E, A, M, D, L
Valore di ritorno nel formato DATE
Per il valore di ingresso è possibile assegnare solo una variabile definita in modo simbolico.
Descrizione FC 7 DT_DAY
Con la funzione FC 7 è possibile dissociare il giorno della settimana dal formato
DATE_AND_TIME. Il giorno della settimana è presente nel formato di dati INTEGER:
•
1 Domenica
•
2 Lunedì
•
3 Martedì
•
4 Mercoledì
•
5 Giovedì
•
6 Venerdì
•
7 Sabato
La funzione non segnala errori.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
IN
INPUT
DATE_AND_TIME
D, L
Variabile di ingresso nel formato DT
RET_VAL
OUTPUT
INT
E, A, M, D, L
Valore di ritorno nel formato INT
Per il valore di ingresso è possibile assegnare solo una variabile definita in modo simbolico.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
26-7
Funzioni IEC
Descrizione FC 8 DT_TOD
Con la funzione FC 8 è possibile dissociare il formato di dati TIME_OF_DAY dal formato
DATE_AND_TIME. La funzione non segnala errori.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
IN
INPUT
DATE_AND_TIME
D, L
Variabile di ingresso nel formato DT
RET_VAL
OUTPUT
TIME_OF_DAY
E, A, M, D, L
Valore di ritorno nel formato TOD
Per il valore di ingresso è possibile assegnare solo una variabile definita in modo simbolico.
Descrizione FC 33 S5TI_TIM
Con la funzione FC 33 è possibile convertire il formato di dati S5TIME nel formato TIME. Se
il risultato della conversione si trova fuori del campo numerico TIME il risultato viene limitato
al valore corrispondente e il risultato binario BIE viene azzerato.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
IN
INPUT
S5TIME
E, A, M, D, L, Cost.
Variabile di ingresso nel formato S5TIME
RET_VAL
OUTPUT
TIME
E, A, M, D, L
Valore di ritorno nel formato TIME
Descrizione FC 34 SB_DT_DT
Con la funzione FC 34 è possibile sottrarre due istanti (formato DT) e fornire come risultato
una durata di tempo (formato TIME). Gli istanti devono trovarsi in un campo compreso tra
DT#1990-01-01-00:00:00.000 e DT#2089-12-31-23:59:59.999. Con la funzione non è
possibile eseguire una verifica dell´ingresso. Quando il primo istante (parametro DT1) è
maggiore (più recente) del secondo (parametro T2), il risultato è positivo; quando il primo
istante è minore (meno recente) del secondo, il risultato è negativo. Se il risultato della
sottrazione si trova fuori del campo numerico di TIME, il risultato viene limitato al valore
corrispondente ed il risultato binario BIE viene azzerato.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
DT1
INPUT
DATE_AND_TIME
D, L
Primo istante nel formato DT
DT2
INPUT
DATE_AND_TIME
D, L
Secondo istante nel formato DT
RET_VAL
OUTPUT
TIME
E, A, M, D, L
Differenza nel formato TIME
Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo
simbolico.
26-8
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Funzioni IEC
Descrizione FC 35 SB_DT_TM
Con la funzione FC 35 è possibile sottrarre una durata di tempo (formato TIME) da un
istante (formato DT) e fornire come risultato un nuovo istante (formato DT). L´istante
(parametro T) deve trovarsi nel campo compreso tra DT#1990-01-01-00:00:00.000 e
DT#2089-12-31-23:59:59.999 . Con la funzione non è possibile eseguire una verifica
dell´ingresso. Se il risultato della sottrazione non si trova nel campo specificato sopra, il
risultato viene limitato al valore corrispondente ed il risultato binario BIE viene azzerato.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
T
INPUT
DATE_AND_TIME
D, L
Istante nel formato DT
D
INPUT
TIME
E, A, M, D, L, Cost.
Durata di tempo nel formato TIME
RET_VAL
OUTPUT
DATE_AND_TIME
D, L
Differenza nel formato DT
Per il parametro di ingresso T ed il parametro di uscita è possibile assegnare solo una
variabile definita in modo simbolico.
Descrizione FC 40 TIM_S5TI
Con la funzione FC 40 è possibile convertire il formato di dati TIME nel formato S5TIME.
Durante la conversione si arrotonda per difetto. Se il parametro di ingresso è maggiore del
formato S5TIME rappresentabile (maggiore di TIME#02:46:30.000), viene emesso come
risultato S5TIME#999.3 ed il risultato binario BIE viene azzerato.
Parametro
Dichiarazione
IN
INPUT
RET_VAL
OUTPUT
Tipo di dati
Area di memoria
Descrizione
TIME
E, A, M, D, L, Cost.
Variabile di ingresso nel formato TIME
S5TIME
E, A, M, D, L
Variabile di ritorno nel formato S5TIME
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
26-9
Funzioni IEC
26.5
Confronto tra variabili DATE_AND_TIME
Descrizione FC 9 EQ_DT
Con la funzione FC 9 è possibile determinare se i contenuti di due variabili nel formato
DATE_AND_TIME sono uguali ed emettere come valore di ritorno il risultato del confronto. Il
valore di ritorno ha lo stato di segnale "1", quando l´istante nel parametro DT1 è uguale
all´istante nel parametro DT2. La funzione non segnala errori.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
DT1
INPUT
DATE_AND_TIME
D, L
Variabile di ingresso nel formato DT
DT2
INPUT
DATE_AND_TIME
D, L
Variabile di ingresso nel formato DT
RET_VAL
OUTPUT
BOOL
E, A, M, D, L
Risultato del confronto
Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo
simbolico.
Descrizione FC 12 GE_DT
Con la funzione FC 12 è possibile determinare quale dei contenuti di due variabili nel
formato DATE_AND_TIME è maggiore o se sono uguali ed emettere come valore di ritorno il
risultato del confronto. Il valore di ritorno ha lo stato di segnale "1", quando l´istante nel
parametro DT1 è maggiore (più recente) dell´istante nel parametro DT2 oppure i due istanti
sono uguali. La funzione non segnala errori.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
DT1
INPUT
DATE_AND_TIME
D, L
Variabile di ingresso nel formato DT
DT2
INPUT
DATE_AND_TIME
D, L
Variabile di ingresso nel formato DT
RET_VAL
OUTPUT
BOOL
E, A, M, D, L
Risultato del confronto
Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo
simbolico.
26-10
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Funzioni IEC
Descrizione FC 14 GT_DT
Con la funzione FC 14 è possibile determinare quale dei contenuti di due variabili nel
formato DATE_AND_TIME è maggiore ed emettere come valore di ritorno il risultato del
confronto. Il valore di ritorno ha uno stato di segnale "1", quando l´istante nel parametro DT1
è maggiore (più recente) dell´istante nel parametro DT2. La funzione non segnala errori.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
DT1
INPUT
DATE_AND_TIME
D, L, Cost.
Variabile di ingresso nel formato DT
DT2
INPUT
DATE_AND_TIME
D, L, Cost.
Variabile di ingresso nel formato DT
RET_VAL
OUTPUT
BOOL
E, A, M, D, L
Risultato del confronto
Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo
simbolico.
Descrizione FC 18 LE_DT
Con la funzione FC 18 è possibile determinare quale dei contenuti di due variabili nel
formato DATE_AND_TIME è minore o se sono uguali ed emettere come valore di ritorno il
risultato del confronto. Il valore di ritorno ha lo stato di segnale "1", quando l´istante nel
parametro DT1 è minore (meno recente) dell´istante nel parametro DT2 oppure entrambi gli
istanti sono uguali. La funzione non segnala errori.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
DT1
INPUT
DATE_AND_TIME
D, L
Variabile di ingresso con formato DT
DT2
INPUT
DATE_AND_TIME
D, L
Variabile di ingresso con formato DT
RET_VAL
OUTPUT
BOOL
E, A, M, D, L
Risultato del confronto
Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo
simbolico.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
26-11
Funzioni IEC
Descrizione FC 23 LT_DT
Con la funzione FC 23 è possibile determinare quale dei contenuti di due variabili nel
formato DATE_AND_TIME è minore ed emettere come valore di ritorno il risultato del
confronto. Il valore di ritorno ha lo stato di segnale "1", quando l´istante nel parametro DT1 è
minore (meno recente) dell´istante nel parametro DT2. La funzione non segnala errori.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
DT1
INPUT
DATE_AND_TIME
D, L
Variabile di ingresso nel formato DT
DT2
INPUT
DATE_AND_TIME
D, L
Variabile di ingresso nel formato DT
RET_VAL
OUTPUT
BOOL
E, A, M, D, L
Risultato del confronto
Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo
simbolico.
Descrizione FC 28 NE_DT
Con la funzione FC 28 è possibile determinare se i contenuti di due variabili nel formato
DATE_AND_TIME sono diversi ed emettere come valore di ritorno il risultato del confronto. Il
valore di ritorno ha lo stato di segnale "1", quando l´istante nel parametro DT1 è diverso
dall´istante nel parametro DT2. La funzione non segnala errori.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
DT1
INPUT
DATE_AND_TIME
D, L
Variabile di ingresso nel formato DT
DT2
INPUT
DATE_AND_TIME
D, L
Variabile di ingresso nel formato DT
RET_VAL
OUTPUT
BOOL
E, A, M, D, L
Risultato del confronto
Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo
simbolico.
26-12
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Funzioni IEC
26.6
Confronto tra variabili STRING
Descrizione FC 10 EQ_STRNG
Con la funzione FC 10 è possibile determinare se sono uguali i contenuti di due variabili nel
formato STRING ed emettere come valore di ritorno il risultato di confronto. Il valore di
ritorno ha lo stato di segnale "1", quando la stringa di caratteri nel parametro S1 è uguale
alla stringa di caratteri nel parametro S2. La funzione non segnala errori.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
S1
INPUT
STRING
D, L
Variabile di ingresso nel formato STRING
S2
INPUT
STRING
D, L
Variabile di ingresso nel formato STRING
RET_VAL
OUTPUT
BOOL
E, A, M, D, L
Risultato del confronto
Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo
simbolico.
Descrizione FC 13 GE_STRNG
Con la funzione FC 13 è possibile determinare quale dei contenuti di due variabili nel
formato STRING è maggiore o se sono uguali ed emettere come valore di ritorno il risultato
del confronto. Il valore di ritorno ha lo stato di segnale "1", quando la stringa di caratteri nel
parametro S1 è maggiore o uguale alla stringa di caratteri nel parametro S2. I caratteri
vengono confrontati, partendo da sinistra, sulla base del loro codice ASCII (ad es. è `a'
maggiore di`A'). Il primo carattere diverso è decisivo per il risultato del confronto. In caso di
uguaglianza dei primi caratteri, viene considerata maggiore la stringa di caratteri più lunga.
La funzione non segnala errori.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
S1
INPUT
STRING
D, L
Variabile di ingresso nel formato STRING
S2
INPUT
STRING
D, L
Variabile di ingresso nel formato STRING
RET_VAL
OUTPUT
BOOL
E, A, M, D, L
Risultato del confronto
Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo
simbolico.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
26-13
Funzioni IEC
Descrizione FC 15 GT_STRNG
Con la funzione FC 15 è possibile determinare quale dei contenuti di due variabili nel
formato STRING è maggiore ed emettere come valore di ritorno il risultato del confronto. Il
valore di ritorno ha lo stato di segnale "1", quando la stringa di caratteri nel parametro S1 è
maggiore della stringa di caratteri nel parametro S2. I caratteri vengono confrontati, partendo
da sinistra, sulla base del loro codice ASCII (ad es. è `a' maggiore di `A'). Il primo carattere
diverso è decisivo per il risultato del confronto. In caso di uguaglianza dei primi caratteri,
viene considerata maggiore la stringa di caratteri più lunga. La funzione non segnala errori.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
S1
INPUT
STRING
D, L
Variabile di ingresso nel formato STRING
S2
INPUT
STRING
D, L
Variabile di ingresso nel formato STRING
RET_VAL
OUTPUT
BOOL
E, A, M, D, L
Risultato del confronto
Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo
simbolico.
Descrizione FC 19 LE_STRNG
Con la funzione FC 19 è possibile determinare quale dei contenuti di due variabili nel
formato STRING è minore o se sono uguali ed emettere come valore di ritorno il risultato del
confronto. Il valore di ritorno ha lo stato di segnale "1", quando la stringa di caratteri nel
parametro S1 è minore o uguale alla stringa di caratteri nel parametro S2. I caratteri
vengono confrontati, partendo da sinistra, sulla base del loro codice ASCII (ad es. è `A'
minore di `a'). Il primo carattere diverso è decisivo per il risultato del confronto. In caso di
uguaglianza dei primi caratteri, viene considerata minore la stringa di caratteri più corta. La
funzione non segnala errori.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
S1
INPUT
STRING
D, L
Variabile di ingresso nel formato STRING
S2
INPUT
STRING
D, L
Variabile di ingresso nel formato STRING
RET_VAL
OUTPUT
BOOL
E, A, M, D, L
Risultato del confronto
Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo
simbolico.
26-14
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Funzioni IEC
Descrizione FC 24 LT_STRNG
Con la funzione FC 24 è possibile determinare quale dei contenuti di due variabili nel
formato STRING è minore ed emettere come valore di ritorno il risultato del confronto. Il
valore di ritorno ha lo stato di segnale "1", quando la stringa di caratteri nel parametro S1 è
minore della stringa di caratteri nel parametro S2. I caratteri vengono confrontati, partendo
da sinistra, sulla base del loro codice ASCII (ad es. è `A' minore di `a'). Il primo carattere
diverso è decisivo per il risultato del confronto. Se la parte sinistra della stringa più lunga è
identica alla stringa più corta, viene considerata minore la stringa di caratteri più corta. La
funzione non segnala errori.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
S1
INPUT
STRING
D, L
Variabile di ingresso nel formato STRING
S2
INPUT
STRING
D, L
Variabile di ingresso nel formato STRING
RET_VAL
OUTPUT
BOOL
E, A, M, D, L
Risultato del confronto
Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo
simbolico.
Descrizione FC 29 NE_STRNG
Con la funzione FC 29 è possibile determinare se i contenuti di due variabili nel formato
STRING sono diversi ed emettere come valore di ritorno il risultato del confronto. Il valore di
ritorno ha lo stato di segnale "1", quando la stringa di caratteri nel parametro S1 è diversa
dalla stringa di caratteri nel parametro S2. La funzione non segnala errori.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
S1
INPUT
STRING
D, L
Variabile di ingresso nel formato STRING
S2
INPUT
STRING
D, L
Variabile di ingresso nel formato STRING
RET_VAL
OUTPUT
BOOL
E, A, M, D, L
Risultato del confronto
Per i parametri di ingresso è possibile assegnare solo una variabile definita in modo
simbolico.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
26-15
Funzioni IEC
26.7
Modifica dei valori numerici
Descrizione FC 22 LIMIT
Con la funzione FC 22 è possibile limitare il valore numerico di una variabile a valori limite
parametrizzabili. Come valori di ingresso sono consentite variabili del tipo di dati INT, DINT e
REAL. Tutte le variabili parametrizzate devono presentare lo stesso tipo di dati. Il tipo di
variabile viene riconosciuto dal puntatore ANY. Il valore limite inferiore (parametro MN) deve
essere minore del o uguale al valore limite superiore (parametro MX).
Il valore di uscita rimane immutato ed il bit BIE viene azzerato, quando:
•
una variabile parametrizzata ha un tipo di dati inammissibile,
•
tutte le variabili parametrizzate non hanno tra loro lo stesso tipo di dati,
•
il valore limite inferiore non è maggiore del valore limite superiore,
•
una variabile REAL non rappresenta alcun numero in punto mobile valido.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
MN
INPUT
ANY
E, A, M, D, L
Limite inferiore
IN
INPUT
ANY
E, A, M, D, L
Variabile di ingresso
MX
INPUT
ANY
E, A, M, D, L
Limite superiore
RET_VAL
OUTPUT
ANY
E, A, M, D, L
Variabile di uscita limitata
Descrizione FC 25 MAX
Con la funzione FC 25 è possibile selezionare il maggiore di tre valori numerici di variabile.
Come valori di ingresso sono consentite variabili del tipo INT, DINT e REAL. Tutte le variabili
parametrizzate devono presentare lo stesso tipo di dati. Il tipo di variabile viene riconosciuto
dal puntatore ANY.
Il valore di uscita rimane immutato ed il bit BIE viene azzerato, quando:
•
una variabile parametrizzata ha un tipo di dato inammissibile,
•
tutte le variabili parametrizzate non hanno tra loro lo stesso tipo di dato,
•
una variabile REAL non rappresenta alcun numero in punto mobile valido.
Parametro
Dichiarazione
Tipo di dati Area di memoria
Descrizione
IN1
INPUT
ANY
E, A, M, D, L
Primo valore di ingresso
IN2
INPUT
ANY
E, A, M, D, L
Secondo valore di ingresso
IN3
INPUT
ANY
E, A, M, D, L
Terzo valore di ingresso
RET_VAL
OUTPUT
ANY
E, A, M, D, L
Il maggiore dei valori di ingresso
26-16
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Funzioni IEC
26.8
Esempio in AWL
CALL FC 25
IN1
IN2
IN3
RET_VAL
=
:= P#M 10.0 DINT 1
:= MD20
:= P#DB1.DBX 0.0 DINT 1
:= P#M 40.0 DINT 1
M 0.0
Nota:
I tipi di dati ammessi INT, DINT e REAL devono essere riportati nel puntatore ANY. Sono
anche ammessi parametri come “MD20“; a tal fine “MD20“ deve tuttavia essere definito in
“Simbolo“ con il tipo di dati corrispondente.
Descrizione FC 27 MIN
Con la funzione FC 27 è possibile selezionare il minore di tre valori numerici di variabile.
Come valori di ingresso sono consentite variabili del tipo INT, DINT e REAL. Tutte le variabili
parametrizzabili devono presentare lo stesso tipo di dati. Il tipo di variabile viene riconosciuto
dal puntatore ANY.
Il valore di uscita rimane immutato ed il bit BIE viene azzerato, quando:
•
una variabile parametrizzata ha un tipo di dati inammissibile,
•
tutte le variabili parametrizzate non hanno tra loro lo stesso tipo di dati,
•
una variabile REAL non rappresenta alcun numero in punto mobile valido.
Parametro
Dichiarazione
Tipo di dati Area di memoria
Descrizione
IN1
INPUT
ANY
Primo valore di ingresso
E, A, M, D, L
IN2
INPUT
ANY
E, A, M, D, L
Secondo valore di ingresso
IN3
INPUT
ANY
E, A, M, D, L
Terzo valore di ingresso
RET_VAL
OUTPUT
ANY
E, A, M, D, L
Il minore dei valori di ingresso
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
26-17
Funzioni IEC
26.9
Esempio in AWL
CALL FC 27
IN1
IN2
IN3
RET_VAL
=
:= P#M 10.0 DINT 1
:= MD20
:= P#DB1.DBX 0.0 DINT 1
:= P#M 40.0 DINT 1
M 0.0
Nota:
I tipi di dati ammessi INT, DINT e REAL devono essere riportati nel puntatore ANY. Sono
anche ammessi parametri come “MD20“; a tal fine “MD20“ deve tuttavia essere definito in
“Simbolo“ con il tipo di dati corrispondente.
Descrizione FC 36 SEL
Con la funzione FC 36 è possibile selezionare uno di due valori di variabile tramite un
interruttore (parametro G). Come valori di ingresso sui parametri IN0 e IN1 sono consentite
variabili con tutti i tipi di dati, corrispondenti alla larghezza di dati bit, byte, parola e doppia
parola (non il tipo di dati DT e STRING). Le due variabili di ingresso e la variabile di uscita
devono presentare lo stesso tipo di dati.
Il valore di uscita rimane immutato e il bit BIE viene azzerato quando:
•
una variabile parametrizzata ha un tipo di dati inammissibile,
•
tutte le variabili parametrizzate tra loro non hanno lo stesso tipo di dati,
•
una variabile REAL non rappresenta un numero in punto mobile valido.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
G
INPUT
BOOL
E, A, M, D, L
Selettore
IN0
INPUT
ANY
E, A, M, D, L
Primo valore di ingresso
IN1
INPUT
ANY
E, A, M, D, L
Secondo valore di ingresso
RET_VAL
OUTPUT
ANY
E, A, M, D, L
Valori di ingresso selezionati
26-18
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Funzioni IEC
26.10
Modifica della variabile STRING
Descrizione FC 2 CONCAT
Con la funzione FC 2 è possibile combinare due variabili STRING in una stringa di caratteri.
Se la stringa di caratteri risultante è più lunga delle variabili definite nel parametro di uscita,
la stringa di caratteri risultante viene limitata alla lunghezza massima impostata e il bit BIE
viene azzerato.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
IN1
INPUT
STRING
D, L
Variabile di ingresso nel formato STRING
IN2
INPUT
STRING
D, L
Variabile di ingresso nel formato STRING
RET_VAL
OUTPUT
STRING
D, L
Stringa di caratteri combinata
Per i parametri è possibile assegnare solo una variabile definita in modo simbolico.
Descrizione FC 4 DELETE
Con la funzione FC 4 è possibile cancellare caratteri L in una stringa di caratteri a partire dal
carattere P (incluso). Se L e/o P sono uguali a zero o se P è maggiore della lunghezza
attuale della stringa di caratteri di ingresso, viene fornita la stringa di caratteri di ingresso. Se
la somma di L e P è maggiore della stringa di caratteri di ingresso, verrà cancellato fino alla
fine della stringa di caratteri. Se L e/o P sono negativi, viene emessa una stringa vuota e il
bit BIE viene azzerato.
Parametro
Dichiarazione Tipo di dati
Area di memoria
Descrizione
IN
INPUT
D, L
Variabile STRING in cui avviene la
cancellazione
STRING
L
INPUT
INT
E, A, M, D, L, Cost. Quantità dei caratteri da cancellare
P
INPUT
INT
E, A, M, D, L, Cost. Posizione del primo carattere da cancellare
RET_VAL
OUTPUT
STRING
D, L
Stringa di caratteri risultante
Per il parametro di ingresso IN e il parametro di uscita è possibile assegnare solo una
variabile definita in modo simbolico.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
26-19
Funzioni IEC
Descrizione FC 11 FIND
Con la funzione FC 11 è possibile fornire la posizione della seconda stringa di caratteri (IN2)
all´interno della prima stringa di caratteri (IN1). La ricerca comincia a sinistra; viene
segnalata la comparsa della prima stringa di caratteri. Se la seconda stringa di caratteri non
è presente nella prima stringa, verrà segnalato zero. La funzione non segnala errori.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
IN1
INPUT
STRING
D, L
Variabile STRING in cui avviene la ricerca
IN2
INPUT
STRING
D, L
Variabile STRING da cercare
RET_VAL
OUTPUT
INT
E, A, M, D, L
Posizione della stringa di caratteri trovata
Per i parametri di ingresso IN1 e IN2 è possibile assegnare solo una variabile definita in
modo simbolico.
Descrizione FC 17 INSERT
Con la funzione FC 17 è possibile inserire la stringa di caratteri del parametro IN2 nella
stringa di caratteri del parametro IN1 dopo il carattere P. Se P è uguale a zero, la seconda
stringa di caratteri viene inserita prima della prima stringa. Se P è maggiore della lunghezza
attuale della prima stringa di caratteri, la seconda stringa di caratteri viene aggiunta alla
prima. Se P è negativo viene emessa una stringa vuota ed il bit BIE viene azzerato. Il bit BIE
viene azzerato anche quando la stringa di caratteri risultante è più lunga della variabile
indicata nel parametro di uscita; in questo caso la stringa di caratteri risultante viene limitata
alla lunghezza massima impostata.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
IN1
INPUT
STRING
D, L
Variabile STRING che viene inserita
IN2
INPUT
STRING
D, L
Variabile STRING da inserire
P
INPUT
INT
E, A, M, D, L, Cost.
Posizione di inserimento
RET_VAL
OUTPUT
STRING
D, L
Stringa di caratteri risultante
Per i parametri di ingresso IN1 e IN2 e i parametri di uscita è possibile assegnare solo una
variabile definita in modo simbolico.
26-20
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Funzioni IEC
Descrizione FC 20 LEFT
Con la funzione FC 20 vengono forniti i primi caratteri L di una stringa di caratteri. Se L è
maggiore della lunghezza attuale delle variabili STRING, viene fornito il valore di ingresso. In
presenza di L = 0 e di una stringa vuota, come valore di ingresso viene fornita una stringa
vuota. Se L è negativo viene emessa una stringa vuota e il bit BIE viene azzerato.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
IN
INPUT
STRING
D, L
Variabile di ingresso nel formato STRING
L
INPUT
INT
E, A, M, D, L, Cost.
Lunghezza della parte sinistra della stringa
RET_VAL
OUTPUT
STRING
D, L
Variabile di uscita nel formato STRING
Per il parametro IN e il valore di ritorno è possibile assegnare solo una variabile definita in
modo simbolico.
Descrizione FC 21 LEN
Una variabile STRING contiene due lunghezze: la lunghezza massima (che viene indicata in
parentesi quadre durante la definizione delle variabili) e la lunghezza attuale (che è la
quantità di caratteri validi momentaneamente). La lunghezza attuale è minore o uguale alla
lunghezza massima. La quantità dei byte occupati da una stringa di caratteri è maggiore di 2
della lunghezza massima.
Con la funzione FC 21 è possibile emettere come valore di ritorno la lunghezza attuale di
una stringa di caratteri (quantità dei caratteri validi). Una stringa vuota (`') ha lunghezza zero.
La lunghezza massima ammonta a 254. La funzione non segnala errori.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
S
INPUT
STRING
D, L
Variabile di ingresso nel formato STRING
RET_VAL
OUTPUT
INT
E, A, M, D, L
Quantità dei caratteri attuali
Per il parametro di ingresso è possibile assegnare solo una variabile definita in modo
simbolico.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
26-21
Funzioni IEC
Descrizione FC 26 MID
Con la funzione FC 26 è possibile fornire la parte centrale di una stringa di caratteri (caratteri
L a partire dal carattere P incluso). Se la somma di L e P supera la lunghezza attuale delle
variabili STRING, viene fornita una stringa di caratteri partendo dal carattere P fino alla fine
del valore di ingresso. In tutti gli altri casi (se P si trova fuori della lunghezza attuale, se P e/o
L sono uguali a zero o negativi) viene emessa una stringa vuota e il bit BIE viene azzerato.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
IN
INPUT
STRING
D, L
Variabile di ingresso nel formato STRING
L
INPUT
INT
E, A, M, D, L, Cost.
Lunghezza della parte centrale della stringa
P
INPUT
INT
E, A, M, D, L, Cost.
Posizione del primo carattere
RET_VAL
OUTPUT
STRING
D, L
Variabile di uscita nel formato STRING
Per il parametro IN e il valore di ritorno è possibile assegnare solo una variabile definita in
modo simbolico.
Descrizione FC 31 REPLACE
Con la funzione FC 31 è possibile sostituire caratteri L della prima stringa di caratteri (IN1)
con la seconda stringa di caratteri (IN2) partendo dal carattere P (incluso). Se L è uguale a
zero viene fornita la prima stringa di caratteri. Se P è uguale a zero o uno, la sostituzione si
ha a partire dal primo carattere (incluso). Se P si trova fuori della prima stringa di caratteri, la
seconda stringa di caratteri viene aggiunta alla prima. Se L e/o P sono negativi viene
emessa una stringa vuota e il bit BIE viene azzerato. Il bit BIE viene azzerato anche quando
la stringa di caratteri risultante è più lunga della variabile indicata nel parametro di uscita; in
questo caso la stringa di caratteri risultante viene limitata alla lunghezza massima impostata.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
IN1
INPUT
STRING
D, L
Variabile STRING in cui avviene
l´inserimento
IN2
INPUT
STRING
D, L
Variabile STRING da inserire
L
INPUT
INT
E, A, M, D, L, Cost.
Quantità dei caratteri da sostituire
P
INPUT
INT
E, A, M, D, L, Cost.
Posizione del primo carattere sostituito
RET_VAL
OUTPUT
STRING
D, L
Stringa di caratteri risultante
Per i parametri di ingresso IN1 e IN2 e il parametro di uscita è possibile assegnare solo una
variabile definita in modo simbolico.
26-22
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Funzioni IEC
Descrizione FC 32 RIGHT
Con la funzione FC 32 è possibile fornire gli ultimi caratteri L di una stringa di caratteri. Se L
è maggiore della lunghezza attuale delle variabili STRING, viene fornito il valore di ritorno.
Nel caso di L = 0 e di una stringa vuota, come valore di ingresso viene fornita una stringa
vuota. Se L è negativo viene emessa una stringa vuota e il risultato binario BIE viene
azzerato.
Parametro
Dichiarazione
Tipo di dati Area di memoria
Descrizione
IN
INPUT
STRING
D, L
Variabile di ingresso nel formato STRING
L
INPUT
INT
E, A, M, D, L, Cost. Lunghezza della parte destra della stringa
RET_VAL
OUTPUT
STRING
D, L
Variabile di uscita nel formato STRING
Per il parametro IN e il valore di ritorno è possibile assegnare solo una variabile definita in
modo simbolico.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
26-23
Funzioni IEC
26.11
Conversione dei formati
Descrizione FC 5 DI_STRNG
Con la funzione FC 5 è possibile convertire in una stringa di caratteri una variabile con
formato DINT. La stringa di caratteri viene rappresentata con un segno iniziale. Se la
variabile indicata nel parametro di ritorno è troppo corta, non avviene alcuna conversione ed
il bit BIE viene azzerato.
Parametro
Dichiarazione
Tipo di dati Area di memoria
Descrizione
I
INPUT
DINT
E, A, M, D, L, Cost. Valore di ingresso
RET_VAL
OUTPUT
STRING
D, L
Stringa di caratteri risultante
Per il parametro di uscita è possibile assegnare solo una variabile definita in modo
simbolico.
Descrizione FC 16 I_STRNG
Con la funzione FC 16 è possibile convertire in una stringa di caratteri una variabile con
formato INT. La stringa di caratteri viene rappresentata con un segno iniziale. Se la variabile
indicata nel parametro di ritorno è troppo corta, non avviene alcuna conversione ed il bit BIE
viene azzerato.
Parametro
Dichiarazione
Tipo di dati Area di memoria
Descrizione
I
INPUT
INT
E, A, M, D, L, Cost. Valore di ingresso
RET_VAL
OUTPUT
STRING
D, L
Stringa di caratteri risultante
Per il parametro di uscita è possibile assegnare solo una variabile definita in modo
simbolico.
26-24
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Funzioni IEC
Descrizione FC 30 R_STRNG
Con la funzione FC 30 è possibile convertire in una stringa di caratteri una variabile nel
formato REAL. La stringa di caratteri viene rappresentata con 14 posizioni:
±v.nnnnnnnE±xx
±
segno
v
1 posizione prima della virgola
n
7 posizioni dopo la virgola
x
2 posizioni esponenti
Se la variabile indicata nel parametro di ritorno è troppo corta oppure se nel parametro IN
non vi è alcun numero in punto mobile valido, non avviene alcuna conversione e il bit BIE
viene azzerato.
Parametro
Dichiarazione
Tipo di dati Area di memoria
Descrizione
IN
INPUT
REAL
E, A, M, D, L, Cost. Valore di ingresso
RET_VAL
OUTPUT
STRING
D, L
Stringa di caratteri risultante
Per il parametro di uscita è possibile assegnare solo una variabile definita in modo
simbolico.
Descrizione FC 37 STRNG_DI
Con la funzione FC 37 è possibile convertire una stringa di caratteri in una variabile con
formato DINT. Il primo carattere nella stringa di caratteri può essere un segno o una cifra, i
caratteri successivi devono essere costituiti da cifre. Se la lunghezza della stringa di caratteri
è zero o maggiore di 11 oppure si trovano caratteri inammissibili nella stringa di caratteri,
non avviene alcuna conversione ed il bit BIE viene azzerato. Se il risultato della conversione
si trova fuori del campo numerico DINT, il risultato viene limitato al valore corrispondente ed
il risultato binario BIE viene azzerato.
Parametro
Dichiarazione
Tipo di dati Area di memoria
Descrizione
S
INPUT
STRING
D, L
Stringa di caratteri di ingresso
RET_VAL
OUTPUT
DINT
E, A, M, D, L
Risultato
Per il parametro di ingresso è possibile assegnare solo una variabile definita in modo
simbolico.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
26-25
Funzioni IEC
Descrizione FC 38
STRNG_I
Con la funzione FC 38 è possibile convertire una stringa di caratteri in una variabile con
formato INT. Il primo carattere nella stringa di caratteri può essere un segno o una cifra, i
caratteri successivi devono essere costituiti da cifre. Se la lunghezza della stringa di caratteri
è zero o maggiore di 6 oppure si trovano caratteri inammissibili nella stringa di caratteri, non
avviene alcuna conversione e il bit BIE viene azzerato. Se il risultato della conversione si
trova fuori del campo numerico INT, il risultato viene limitato al valore corrispondente e il
risultato binario BIE viene azzerato.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
S
INPUT
STRING
D, L
Stringa di caratteri risultante
RET_VAL
OUTPUT
INT
E, A, M, D, L
Risultato
Per il parametro di ingresso è possibile assegnare solo una variabile definita in modo
simbolico.
Descrizione FC 39
STRNG_R
Con la funzione FC 39 è possibile convertire una stringa di caratteri in una variabile con
formato REAL. La stringa di caratteri deve essere presente nel seguente formato:
±v.nnnnnnnE±xx
±
Segno
v
virgola
1 Posizione prima della
n
7 Posizioni dopo la virgola
x
2 Posizioni esponenti
Se la lunghezza della stringa di caratteri è minore di 14, oppure se non è strutturata come
descritto sopra, allora non avviene alcuna conversione ed il bit BIE viene azzerato. Se il
risultato della conversione è fuori del campo numerico REAL, il risultato viene limitato al
valore corrispondente ed il risultato binario BIE viene azzerato.
Parametro
Dichiarazione
Tipo di dati
Area di memoria
Descrizione
S
INPUT
STRING
D, L
Stringa di caratteri di ingresso
RET_VAL
OUTPUT
REAL
E, A, M, D, L
Risultato
Per il parametro di ingresso è possibile assegnare solo una variabile definita in modo
simbolico.
26-26
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
27
SFB per la regolazione integrata
27.1
Regolazione continua con l'SFB 41/FB 41 "CONT_C"
Introduzione
L'SFB/FB 41 "CONT_C" (continuous controller) serve per regolare processi tecnici con
grandezze di ingresso ed uscita continuative per il sistema di automazione SIMATIC S7.
Tramite la parametrizzazione è possibile inserire o disinserire funzioni parziali del regolatore
PID e adattarlo così ai requisiti del sistema regolato.
Uso
Il regolatore può essere utilizzato come regolatore PID con setpoint fisso in regolazioni
singole o a più corse ripetute come regolatore in cascata, di miscela o di rapporto. Il modo di
funzionamento si basa sull'algoritmo di regolazione PID del regolatore digitale con segnale di
uscita analogico, eventualmente completato da un generatore di impulsi per la generazione
di segnali di uscita modulati alla durata dell'impulso per controlli a 2 o 3 punti con organi
attuatori proporzionali.
Avvertenza
Il calcolo dei valori nei blocchi di regolazione è corretto solamente se il blocco viene
richiamato a intervalli regolari. Per questo motivo i blocchi di regolazione andrebbero
richiamati in un OB di allarme dall'orologio (OB 30 … OB 38). Il tempo di campionamento va
indicato nel parametro CYCLE.
Descrizione
Oltre alle funzioni nel ramo del valore di riferimento e nel ramo del valore attuale, l'SFB
realizza un regolatore PID completo con uscita continua per grandezze controllanti e
possibilità di influenzamento manuale del valore controllante.
Segue la descrizione delle funzioni parziali:
Ramo del valore di riferimento
Il valore di riferimento viene introdotto sull'ingresso SP_INT in formato di virgola mobile.
Ramo del valore attuale
Il valore attuale può essere letto nel formato della periferia o in virgola mobile. La funzione
CRP_IN converte il valore di periferia PV_PER in un formato di virgola mobile da -100 ...
+100 % secondo la regola seguente:
Uscita di CPR_IN = PV_PER
∗
100
27648
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
27-1
SFB per la regolazione integrata
La funzione PV_NORM normalizza l'uscita di CRP_IN secondo la regola seguente:
Uscita di PV_NORM = (uscita di CPR_IN)
∗ PV_FAC + PV_OFF
A PV_FAC è preassegnato 1 e a PV_OFF 0.
Formazione della deviazione di regolazione
Il risultato della differenza tra il valore di riferimento e il valore attuale è rappresentato dalla
deviazione di regolazione. Per sopprimere una piccola oscillazione continua causata da una
quantizzazione della grandezza controllante (ad es. con una modulazione di durata degli
impulsi con PULSEGEN) la deviazione di regolazione viene condotta attraverso una zona
morta (DEADBAND). Se DEADB_W = 0, la zona morta è disinserita.
Algoritmo PID
L'algoritmo PID opera con un algoritmo di posizione. Il componente proporzionale, integrale
(INT) e differenziale (DIF) sono collegati in parallelo e possono essere inseriti o disinseriti
singolarmente. In questo modo è possibile parametrizzare i regolatori P, PI, PD e PID.
Anche i regolatori solo per I sono possibili.
Elaborazione manuale dei valori
È possibile commutare tra il funzionamento manuale e quello automatico. Con il
funzionamento manuale, la grandezza controllante viene inseguita con un valore manuale.
L'integratore (INT) viene impostato internamente a LMN - LMN_P - DISV e il derivatore (DIF)
a 0 e quindi aggiustato internamente. La commutazione sul funzionamento automatico
avviene quindi senza urti.
Elaborazione del valore controllante
Il valore controllante viene limitato con la funzione LMNLIMIT a valori preassegnabili. Il
superamento dei limiti da parte della dimensione di ingresso viene indicato in bit di
segnalazione.
La funzione LMN_NORM normalizza l'uscita di LMNLIMIT secondo la regola seguente:
∗ LMN_FAC + LMN_OFF
LMN = (uscita di LMNLIMIT)
A LMN_FAC è preassegnato 1, a LMN_OFF 0.
Il valore controllante è anche disponibile in formato di periferia. La funzione CRP_OUT
trasforma il valore in virgola mobile LMN in un valore di periferia in base alla regola
seguente:
LMN_PER = LMN ∗
27648
100
Inserzione segnale disturbo
All'ingresso DISV può essere inserito in modo aggiuntivo un segnale di disturbo.
27-2
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per la regolazione integrata
Inizializzazione
L'SFB "CONT_C" dispone di una routine di inizializzazione che verrà eseguita quando il
parametro di ingresso COM_RST = TRUE è impostato.
Con l'inizializzazione, l'integratore viene impostato internamente sul valore di inizializzazione
I_ITVAL. Con un richiamo a livello di schedulazione orologio, esso continua ad operare a
partire da questo valore.
Tutte le altre uscite vengono impostate sui valori preassegnati corrispondenti.
Informazioni di errore
La parola di segnalazione di errore RET_VAL non viene utilizzata.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
27-3
SFB per la regolazione integrata
Schema a blocchi
SP_INT
PVPER_ON
GAIN
PV_IN
DEADBAND
0
CRP_IN
+
-
PV_NORM
X
1
PV_PER
DEADB_W
%
P_SEL
1
INT
0.0
ER
PV
PV_FAC,
PV_OFF
LMN_P
0
I_SEL
DISV
1
TI, INT_HOLD,
I_ITL_ON,
I_ITLVAL
_
0.0 _
0
+
+
LMN_I
DIF
1
0.0
0
TD, TM_LAG
D_SEL
LMN_D
QLMN_HLM
QLMN_LLM
MAN
MAN_ON
1
LMN
LMN_NORM
LMNLIMIT
%
0
LMN_HLM,
LMN_LLM
27-4
CRP_OUT
LMN_PER
LMN_FAC,
LMN_OFF
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per la regolazione integrata
Parametri di ingresso
La tabella seguente contiene i parametri di ingresso dell'SFB 41 "CONT_C".
Parametri
Tipo
COM_RST
BOOL
Campo dei valori
Preassegnazione
FALSE
Descrizione
COMPLETE RESTART
Il blocco ha una routine di inizializzazione che viene
elaborata se l'ingresso COM_RST" è impostato.
MAN_ON
BOOL
TRUE
MANUAL VALUE ON / Attiva funzionamento
manuale
Se l'ingresso "Attiva funzionamento manuale" è
impostato, il circuito di regolazione è interrotto.
Come valore controllante è predefinito un valore
manuale.
PVPER_ON BOOL
FALSE
PROCESS VARIABLE PERIPHERY ON / Attiva
valore attuale della periferia
Se il valore istantaneo deve essere letto dalla
periferia, l'ingresso PV_VER deve essere collegato
con la periferia e l'ingresso "Attiva valore attuale
della periferia" deve essere impostato.
P_SEL
BOOL
TRUE
PROPORTIONAL ACTION ON / Attivare
componente P
Nell'algoritmo PID è possibile inserire e disinserire
singolarmente i componenti PID. Il componente P è
inserito se l'ingresso "Attivare componente P" è
impostato.
I_SEL
BOOL
TRUE
INTEGRAL ACTION ON / Attiva componente I
Nell'algoritmo PID è possibile inserire e disinserire
singolarmente le parti PID. Il componente I è inserito
se l'ingresso "Attiva componente I" è impostato.
INT_HOLD
BOOL
FALSE
INTEGRAL ACTION HOLD / Congela componente I
L'uscita dell'integratore può essere congelata. A
questo scopo, l'ingresso "Congela componente I"
deve essere impostato.
I_ITL_ON
BOOL
FALSE
INITIALIZATION OF THE INTEGRAL ACTION /
Impostare componente I
L'uscita dell'integratore può essere settata
sull'ingresso I_ITL_VAL. A questo scopo, l'ingresso
"Impostare componente I" deve essere impostato.
D_SEL
BOOL
FALSE
DERIVATIVE ACTION ON / Attiva componente D
Nell'algoritmo PID è possibile inserire e disinserire
singolarmente i componenti PID. Il componente D è
inserito se l'ingresso "Attiva componente D" è
impostato.
CYCLE
TIME
>= 1ms
T#1s
SAMPLE TIME / Tempo di campionamento
Il tempo tra i richiami di blocco deve essere
costante. L'ingresso "Tempo di campionamento"
indica il tempo tra i richiami di blocco.
SP_INT
REAL
-100.0...100.0 (%)
o grandezza fisica 1)
0.0
INTERNAL SETPOINT / Valore prefissato interno
L'ingresso "Valore prefissato interno" serve per la
preimpostazione di un valore prefissato.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
27-5
SFB per la regolazione integrata
Parametri
Tipo
Campo dei valori
Preassegnazione
Descrizione
PV_IN
REAL
-100.0...100.0 (%)
0.0
PROCESS VARIABLE IN / Ingresso valore attuale
All'ingresso "Ingresso valore attuale" può essere
parametrizzato un valore di messa in servizio o può
essere collegato un valore attuale esterno in
formato di virgola mobile.
o grandezza fisica 1)
PV_PER
WORD
W#16#0000 PROCESS VARIABLE PERIPHERIE / Valore
attuale periferia
Il valore attuale nel formato della periferia viene
collegato con il regolatore all'ingresso "Valore
attuale periferia".
MAN
REAL
-100.0...100.0 (%)
0.0
GAIN
REAL
MANUAL VALUE / Valore manuale
L'ingresso "Valore manuale" serve per la
preimpostazione di un valore manuale tramite la
funzione di servizio e supervisione.
o grandezza fisica 2)
2.0
PROPORTIONAL GAIN / Coefficiente proporzionale
L'ingresso "Coefficiente proporzionale" indica
l'amplificazione della regolazione.
TI
TIME
>= CYCLE
T#20s
RESET TIME / Tempo di integrazione
L'ingresso "Tempo di integrazione" determina il
comportamento temporale dell'integratore.
TD
TIME
T#10s
>= CYCLE
DERIVATIVE TIME / Tempo del derivatore
L'ingresso "Tempo del derivatore" determina il
comportamento temporale del derivatore.
TM_LAG
TIME
T#2s
>= CYCLE/2
TIME LAG OF THE DERIVATE ACTION / Tempo di
ritardo del componente D
L'algoritmo del componente D contiene un ritardo
che può essere parametrizzato all'ingresso "Tempo
di ritardo del componente D".
DEADB_W
REAL
0.0
>= 0.0 (%)
LMN_HLM
REAL
LMN_LLM ...100.0
(%)
100.0
REAL
-100.0... LMN_HLM
(%)
0.0
REAL
MANIPULATED VALUE LOW LIMIT / Valore
controllante, limite inferiore
Il valore controllante viene sempre limitato da un
limite superiore e da uno inferiore. L'ingresso
"Valore controllante, limite inferiore" indica il limite
inferiore.
o grandezza fisica 2)
PV_FAC
MANIPULATED VALUE HIGH LIMIT / Valore
controllante, limite superiore
Il valore controllante viene sempre limitato da un
limite superiore e da uno inferiore. L'ingresso
"Valore controllante, limite superiore" indica il limite
superiore.
o grandezza fisica 2)
LMN_LLM
DEAD BAND WIDTH / Ampiezza zona morta
La deviazione di regolazione viene condotta
attraverso una zona morta. L'ingresso "Ampiezza
zona morta" determina la grandezza della zona
morta.
o grandezza fisica 1)
1.0
PROCESS VARIABLE FACTOR / Fattore del valore
attuale
L'ingresso "Fattore del valore attuale" viene
moltiplicato con il valore attuale. L'ingresso serve
per l'adattamento dell'area del valore attuale.
27-6
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per la regolazione integrata
Parametri
Tipo
PV_OFF
REAL
Campo dei valori
Preassegnazione
Descrizione
0.0
PROCESS VARIABLE OFFSET / Offset del valore
attuale
L'ingresso "Offset del valore attuale" viene
addizionato al valore attuale. L'ingresso serve per
l'adattamento dell'area del valore attuale.
LMN_FAC
REAL
1.0
MANIPULATED VALUE FACTOR / Fattore del
valore controllante
L'ingresso "Fattore del valore controllante" viene
moltiplicato con il valore controllante. L'ingresso
serve per l'adattamento dell'area del valore
controllante.
LMN_OFF
REAL
0.0
MANIPULATED VALUE OFFSET / Offset del valore
controllante
L'ingresso "Offset del valore controllante" viene
addizionato al valore controllante. L'ingresso serve
per l'adattamento dell'area del valore controllante.
I_ITLVAL
REAL
-100.0...100.0 (%)
0.0
o grandezza fisica 2)
INITIALIZATION VALUE OF THE INTEGRAL
ACTION / Valore di inizializzazione per il
componente I
L'uscita dell'integratore può essere impostata
all'ingresso I_ITL_ON. All'ingresso "Valore di
inizializzazione per il componente I" c'è il valore di
inizializzazione.
DISV
REAL
-100.0...100.0 (%)
o grandezza fisica 2)
0.0
DISTURBANCE VARIABLE / Segnale di disturbo
Per l'inserzione di un segnale di disturbo, il segnale
di disturbo viene collegato all'ingresso "Segnale di
disturbo".
1) Parametro nel ramo del valore di riferimento, del valore attuale con la stessa unità
2) Parametro nel ramo del valore di riferimento con la stessa unità
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
27-7
SFB per la regolazione integrata
Parametri di uscita
La tabella seguente contiene i parametri di uscita dell'SFB 41 "CONT_C".
Parametri
Tipo
LMN
REAL
Campo dei valori
Preassegnazione
0.0
Descrizione
MANIPULATED VALUE / Valore controllante
All'uscita "Valore controllante" viene emesso il
valore controllante effettivo nel formato in virgola
mobile.
LMN_PER
WORD
W#16#0000 MANIPULATED VALUE PERIPHERY / Valore
controllante periferia
Il valore controllante nel formato periferia viene
collegato con il regolatore all'uscita "Valore
controllante periferia".
QLMN_HLM BOOL
FALSE
HIGH LIMIT OF MANIPULATED VALUE REACHED
/ Intervento limite superiore del valore controllante
Il valore controllante viene sempre limitato da un
limite superiore e da uno inferiore. L'uscita
"Intervento del limite superiore del valore
controllante" segnala che è stato superato il limite
superiore.
QLMN_LLM BOOL
FALSE
LOW LIMIT OF MANIPULATED VALUE REACHED
/Intervento limite inferiore del valore controllante
Il valore controllante viene sempre limitato da un
limite superiore e da uno inferiore. L'uscita
"Intervento del limite inferiore del valore
controllante" segnala che si è al di sotto del limite
inferiore.
LMN_P
REAL
0.0
PROPORTIONALITY COMPONENT / Componente
P
L'uscita "Componente P" contiene la quota
proporzionale della grandezza controllante.
LMN_I
REAL
0.0
INTEGRAL COMPONENT / Componente I
L'uscita "Componente I" contiene la quota integrale
della grandezza controllante.
LMN_D
REAL
0.0
DERIVATIVE COMPONENT / Componente D
L'uscita "Componente D" contiene la quota
differenziale della grandezza controllante.
PV
REAL
0.0
PROCESS VARIABLE / Valore attuale
Il valore attuale effettivo viene emesso all'uscita
"Valore attuale".
ER
REAL
0.0
ERROR SIGNAL / Deviazione di regolazione
Il valore efficace della deviazione di regolazione
viene emesso all'uscita "Deviazione di regolazione".
27-8
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per la regolazione integrata
27.2
Regolazione a passi con l'SFB 42/FB 42 "CONT_S"
Introduzione
L'SFB/FB 42 "CONT_S" (step controller) serve per il controllo di processi tecnici con segnali
di uscita per valori controllanti binari per organi attuatori integranti del sistema di
automazione SIMATIC S7. Tramite la parametrizzazione è possibile inserire o disinserire
funzioni parziali del regolatore a passi PI e adattarlo così ai requisiti del sistema regolato.
Uso
Il regolatore può essere utilizzato singolarmente come regolatore PI con setpoint fisso o in
loop di sottoregolazione come regolatore in cascata, di miscela o di rapporto, ma non come
regolatore pilota. Il modo di funzionamento si basa sull'algoritmo di regolazione PI del
regolatore digitale a campionamento e viene completato dagli organi di funzione per la
generazione del segnale di uscita binario dal segnale di regolazione analogico.
Dalla V1.5 dell'FB e dalla V1.1.0 della CPU 314 IFM vale quanto segue:
Con TI = T#0ms è possibile disattivare il componente I del regolatore. In questo modo il
blocco può essere utilizzato come regolatore P.
Poiché il regolatore lavora senza segnalazione di risposta di posizione, la grandezza di
regolazione impostata internamente non coincide esattamente con la posizione del
regolatore. Viene effettuato un confronto quando la grandezza (ER * GAIN) diventa negativa.
Quindi il regolatore imposta l'uscita QLMNDN (segnale del valore di regolazione basso)
finché viene impostato LMNR_LS (segnale di arresto inferiore della segnalazione di risposta
di posizione).
Il regolatore può anche essere impiegato in una struttura a cascata come regolatore
sottoordinato. Attraverso l'ingresso del valore di riferimento SP_INT viene predefinita la
posizione del regolatore. In questo caso l'ingresso del valore attuale e il parametro TI (tempo
di integrazione) vengono azzerati. Un esempio di applicazione pratica è p. es. la regolazione
della temperatura con regolazione della potenza calorifica tramite comando impulso-pausa e
regolazione della potenza di raffreddamento tramite una valvola a farfalla. Per chiudere
completamente la valvola, la grandezza di regolazione (ER * GAIN) dovrebbe diventare
negativa.
Avvertenza
Il calcolo dei valori nei blocchi di regolazione è corretto solamente se il blocco viene
richiamato a intervalli regolari. Per questo motivo i blocchi di regolazione andrebbero
richiamati in un OB di allarme dall'orologio (OB 30 … OB 38). Il tempo di campionamento va
indicato nel parametro CYCLE.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
27-9
SFB per la regolazione integrata
Descrizione
Oltre alle funzioni nel ramo del valore attuale, l'SFB realizza un regolatore PI completo con
uscita binaria per valori controllanti e possibilità di influenzamento manuale del valore
controllante. Il regolatore a passi opera senza segnalazione di risposta di posizione.
Sono disponibili le seguenti funzioni parziali:
Ramo del valore di riferimento
Il valore di riferimento viene introdotto sull'ingresso SP_INT nel formato in virgola mobile.
Ramo del valore attuale
Il valore attuale può essere letto nel formato della periferia o in virgola mobile. La funzione
CRP_IN converte il valore di periferia PV_PER in un formato di virgola mobile da -100 ...
+100 % secondo la regola seguente:
Uscita di CPR_IN = PV_PER
∗
100
27648
La funzione PV_NORM normalizza l'uscita di CRP_IN secondo la regola seguente:
Uscita di PV_NORM = (uscita di CPR_IN)
∗ PV_FAC + PV_OFF
A PV_FAC è preassegnato 1 e a PV_OFF 0.
Formazione della deviazione di regolazione
Il risultato della differenza tra il valore di riferimento e il valore attuale è rappresentato dalla
deviazione di regolazione. Per sopprimere una piccola oscillazione continua causata da una
quantizzazione della grandezza controllante una risoluzione limitata del valore controllante
tramite la valvola di regolazione) la deviazione di regolazione viene condotta attraverso una
zona morta (DEADBAND). Se DEADB_W = 0, la zona morta è disinserita.
Algoritmo di passo PI
L'SFB lavora senza segnalazione di risposta di posizione. Il componente I dell'algoritmo PI e
la segnalazione di risposta di posizione prevista vengono calcolati in un unico integratore
(INT) e confrontati sotto forma di valore di ritorno con il componente P rimasto. La differenza
va ad un regolatore a tre punti (THREE_ST) e un generatore di impulsi (PULSEOUT) che
genera gli impulsi per la valvola di regolazione. La frequenza delle manovre del regolatore
viene ridotta mediante un adattamento della soglia di risposta del regolatore a 3 punti.
Inserzione segnale disturbo
All'ingresso DISV può essere inserito in modo aggiuntivo un segnale di disturbo.
Inizializzazione
L'SFB "CONT_S" dispone di una routine di inizializzazione che verrà eseguita quando il
parametro di ingresso COM_RST = TRUE è impostato.
Tutte le uscite vengono impostate ai valori preassegnati corrispondenti.
Informazioni di errore
La parola di segnalazione di errore RET_VAL non viene utilizzata.
27-10
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per la regolazione integrata
Schema a blocchi
SP_INT
PVPER_ON
GAIN
PV_IN
DEADBAND
+
-
0
CRP_IN
PV_NORM
X
1
PV_PER
DEADB_W
%
ER
PV
PV_FAC
PV_OFF
INT
LMNR_HS
LMNLIMIT
LMNR_SIM
LMNR_LS
100.0 ,
0.0
LMNRS_ON,
LMNRSVAL
LMNUP
LMNDN
LMNS_ON
PULSEOUT
1
DISV
THREE_ST
0
adapt
1
+
PULSE_TM,
BREAK_TM
0
MTR_TM
QLMNDN
AND
AND
-
QLMNUP
AND
AND
1
100.0
0
0.0
1
-100.0
+
0
0.0
OR
LMNS_ON
1
1/TI
0.0
X
+
INT
0
0.0
X
1/MTR_TM
1
-
0
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
27-11
SFB per la regolazione integrata
Parametri di ingresso
La tabella seguente contiene i parametri di ingresso dell'SFB 42 "CONT_S".
Parametri
Tipo
COM_RST
BOOL
Campo dei valori
Preassegnazione
FALSE
Descrizione
COMPLETE RESTART
Il blocco ha una routine di inizializzazione che viene
elaborata se l'ingresso "Nuovo avviamento" è
impostato.
LMNR_HS
BOOL
FALSE
HIGH LIMIT SIGNAL OF REPEATED
MANIPULATED VALUE / Segnale di arresto
superiore della segnalazione di risposta di posizione
Il segnale "Valvola di regolazione al limite superiore"
viene collegato all'ingresso "Segnale di arresto
superiore della segnalazione di risposta di
posizione". LMNR_HS = TRUE vuol dire: la valvola
di regolazione si trova al limite superiore.
LMNR_LS
BOOL
FALSE
LOW LIMIT SIGNAL OF REPEATED
MANIPULATED VALUE / Segnale di arresto
inferiore della segnalazione di risposta di posizione
Il segnale "Valvola di regolazione al limite inferiore"
viene collegato all'ingresso "Segnale di arresto
inferiore della segnalazione di risposta di posizione".
LMNR_LS = TRUE vuol dire: la valvola di
regolazione si trova al limite inferiore.
LMNS_ON
BOOL
TRUE
MANIPULATED SIGNALS ON / Inserire
funzionamento manuale dei segnali del valori
controllante
All'ingresso "Funzionamento manuale dei segnali
del valore controllante" l'elaborazione dei segnali del
valore controllante viene commutata sul
funzionamento manuale.
LMNUP
BOOL
FALSE
MANIPULATED SIGNALS UP / Segnale del valore
controllante, alto
Nel funzionamento manuale dei segnali del valore
controllante, il segnale di uscita QLMNUP viene
comandato all'ingresso "Segnale del valore
controllante, alto".
LMNDN
BOOL
FALSE
MANIPULATED SIGNALS DOWN / Segnale del
valore controllante, basso
Nel funzionamento manuale dei segnali del valore
controllante, il segnale di uscita QLMNDN viene
comandato all'ingresso "Segnale del valore
controllante, basso".
PVPER_ON BOOL
FALSE
PROCESS VARIABLE PERIPHERY ON / Attivare
valore attuale della periferia
Se il valore attuale deve essere letto dalla periferia,
l'ingresso PV_VER deve essere collegato con la
periferia e l'ingresso "Attiva valore attuale della
periferia" deve essere impostato.
CYCLE
TIME
>= 1ms
T#1s
SAMPLE TIME / Tempo di campionamento
Il tempo tra i richiami di blocco deve essere
costante. L'ingresso "Tempo di campionamento"
indica il tempo tra i richiami di blocco.
27-12
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per la regolazione integrata
Parametri
Tipo
Campo dei valori
Preassegnazione
Descrizione
SP_INT
REAL
-100.0...100.0 (%)
0.0
INTERNAL SETPOINT / Valore di riferimento
interno
o grandezza fisica 1)
L'ingresso "Valore di riferimento interno" serve per
la preimpostazione di un valore di riferimento.
PV_IN
REAL
-100.0...100.0 (%)
0.0
PV_PER
WORD
PROCESS VARIABLE IN / Ingresso valore attuale
All'ingresso "Ingresso valore attuale" può essere
parametrizzato un valore di messa in servizio o può
essere collegato un valore attuale esterno in
formato di virgola mobile.
o grandezza fisica 1
W#16#0000 PROCESS VARIABLE PERIPHERIE / Valore
attuale periferia
Il valore attuale nel formato della periferia viene
collegato con il regolatore all'ingresso "Valore
attuale periferia".
GAIN
REAL
2.0
PROPORTIONAL GAIN / Coefficiente proporzionale
L'ingresso "Coefficiente proporzionale" indica
l'amplificazione della regolazione.
TI
TIME
>= CYCLE
T#20s
RESET TIME / Tempo di integrazione
L'ingresso "Tempo di integrazione" determina il
comportamento temporale dell'integratore.
DEADB_W
REAL
0.0...100.0 (%)
1.0
La deviazione di regolazione viene condotta
attraverso una zona morta. L'ingresso "Ampiezza
zona morta" determina la grandezza della zona
morta.
o grandezza fisica 1
PV_FAC
REAL
DEAD BAND WIDTH / Ampiezza zona morta
1.0
PROCESS VARIABLE FACTOR / Fattore del valore
attuale
L'ingresso "Fattore del valore attuale" viene
moltiplicato con il valore attuale. L'ingresso serve
per l'adattamento dell'area del valore attuale.
PV_OFF
REAL
0.0
PROCESS VARIABLE OFFSET / Offset del valore
attuale
L'ingresso "Offset del valore attuale" viene
addizionato al valore attuale. L'ingresso serve per
l'adattamento dell'area del valore attuale.
PULSE_TM
TIME
>= CYCLE
T#3s
MINIMUM PULSE TIME / Durata minima
dell'impulso
Sul parametro "Durata minima dell'impulso" può
essere parametrizzata una lunghezza minima
dell'impulso.
BREAK_TM TIME
>= CYCLE
T#3s
MINIMUM BREAK TIME / Durata minima della
pausa
Sul parametro "Durata minima della pausa" può
essere parametrizzata una lunghezza minima per
una pausa.
MTR_TM
TIME
>= CYCLE
T#30s
MOTOR MANIPULATED VALUE / Tempo di
regolazione motore
Al parametro "Tempo di regolazione motore" viene
registrato il tempo di esecuzione della valvola di
regolazione da picco a picco.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
27-13
SFB per la regolazione integrata
Parametri
Tipo
Campo dei valori
Preassegnazione
Descrizione
DISV
REAL
-100.0...100.0 (%)
0.0
DISTURBANCE VARIABLE / Segnale di disturbo
o grandezza fisica 2
Per l'inserzione di un segnale di disturbo, il segnale
di disturbo viene collegato all'ingresso "Segnale di
disturbo".
1) Parametro nel ramo del valore di riferimento, del valore attuale con la stessa unità
2) Parametro nel ramo del valore controllante con la stessa unità
27-14
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per la regolazione integrata
Parametri di uscita
La tabella seguente contiene i parametri di uscita dell'SFB 42 "CONT_S".
Parametri
Tipo
QLMNUP
BOOL
Campo dei valori
Preassegnazione
Descrizione
FALSE
MANIPULATED SIGNAL UP / Segnale del valore
controllante, alto
Se l'uscita "Segnale controllante, alto" è impostata,
la valvola di regolazione deve essere aperta.
QLMNDN
BOOL
FALSE
MANIPULATED SIGNAL DOWN / Segnale del
valore controllante, basso
Se l'uscita "Segnale controllante, basso" è
impostata, la valvola di regolazione deve essere
chiusa.
PV
REAL
0.0
PROCESS VARIABLE / Valore attuale
Il valore efficace attuale viene emesso all'uscita
"Valore attuale".
ER
REAL
0.0
ERROR SIGNAL / Deviazione di regolazione
Il valore efficace della deviazione di regolazione
viene emesso all'uscita "Deviazione di regolazione".
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
27-15
SFB per la regolazione integrata
27.3
Formazione di impulsi con l'SFB 43/FB 43 "PULSEGEN"
Introduzione
L'SFB/FB 43 "PULSEGEN" (pulse generator) serve per la creazione di un regolatore PID
con uscita a impulsi per organi attuatori proporzionali.
Il manuale elettronico è disponibile in Avvio > Simatic > Documentazione > Italiano >
STEP 7-PID Control
Uso
Con l'SFB "PULSEGEN" è possibile creare regolatori PID a 2 o 3 punti con modulazione
della durata di impulso. La funzione viene usata di solito in collegamento con il regolatore
continuo "CONT_C".
PULSEGEN
CONT_C
LMN
INV
Avvertenza
Il calcolo dei valori nei blocchi di regolazione è corretto solamente se il blocco viene
richiamato a intervalli regolari. Per questo motivo i blocchi di regolazione andrebbero
richiamati in un OB di allarme dall'orologio (OB 30 … OB 38). Il tempo di campionamento va
indicato nel parametro CYCLE.
27-16
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per la regolazione integrata
Descrizione
La funzione PULSEGEN trasforma la grandezza di ingresso INV (= LMN del regolatore PID)
tramite modulazione della durata degli impulsi in una sequenza di impulsi con periodo
costante che corrisponde al tempo di ciclo con cui viene aggiornata la grandezza di ingresso
e che deve essere parametrizzata in PER_TM.
La durata di un impulso per periodo è proporzionale alla grandezza di ingresso. Il ciclo
parametrizzato tramite PER_TM non è uguale al ciclo di elaborazione
dell'SFB_"PULSEGEN". Infatti, un ciclo PER_TM è formato da più cicli di elaborazione
dell'SFB "PULSEGEN" e il numero dei richiami dell'SFB "PULSEGEN" per ciclo PER_TM
rappresenta il grado di precisione della modulazione della durata dell'impulso.
INV
(LMN)
100
80
50
50
30
t
0
QPOS_P
1
t
0
Ciclo PULSEGEN
(=Ciclo CONT_C)
PER_TM
Una grandezza di ingresso 30% e 10 richiami SFB "PULSEGEN" per ogni PER_TM
significano perciò:
•
"uno" sull'uscita QPOS per i primi tre richiami dell'SFB "PULSEGEN (30% di 10 richiami)
•
"zero" sull'uscita QPOS per sette altri richiami dell'SFB "PULSEGEN" (70% di 10
richiami)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
27-17
SFB per la regolazione integrata
Schema a blocchi
POS_P_ON
NEG_P_ON
SYN_ON
STEP3_ON
ST2BI_ON
MAN_ON
1
#
INV
_
_
_
_
_
_
QPOS_P
QNEG_P
0
PER_TM,
P_B_TM,
RATIOFAC
Precisione del valore controllante
In questo esempio, a causa di un "rapporto di campionamento" di 1:10 (richiami CONT_C
rispetto richiami PULSEGEN) la precisione del valore controllante è limitata al 10%, cioè, i
valori di ingresso preassegnati INV possono essere riportati all'uscita QPOS a griglia del
10% rispetto alla lunghezza dell'impulso.
In maniera conforme, il grado di precisione aumenta con il numero dei richiami
SFB "PULSEGEN" per ogni richiamo CONT_C.
Se ad esempio, PULSEGEN viene richiamato 100 volte più spesso di CONT_C, si raggiunge
una risoluzione dell'1% dell'area del valore controllante.
Avvertenza
La scansione della frequenza di richiamo deve essere programmata dall'utente.
27-18
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per la regolazione integrata
Sincronizzazione automatica
Sussiste la possibilità di sincronizzare automaticamente l'emissione degli impulsi con il
blocco che aggiorna la grandezza di ingresso INV (ad esempio CONT_C). In questo modo si
garantisce il fatto che una grandezza di ingresso che cambia venga emessa al più presto
possibile come impulso.
Il generatore di impulsi valuta sempre nell'intervallo di tempo del periodo PER_TM la
grandezza di ingresso INV e converte il valore in un segnale di impulso della lunghezza
corrispondente.
Dato però che INV di solito viene calcolato in un livello di schedulazione orologio più lento, il
generatore di impulsi dovrebbe cominciare al più presto dopo l'aggiornamento di INV con la
conversione del valore digitale in un segnale di impulso.
Il blocco può sincronizzare l'inizio del periodo secondo il seguente procedimento:
se INV è modificato e il richiamo di blocco non si trova né nel primo né negli ultimi due cicli di
richiamo di un periodo, la sincronizzazione viene eseguita. La durata dell'impulso viene
calcolata di nuovo e si comincia con l'emissione al prossimo ciclo con un nuovo periodo.
LMN = INV = 30.0
LMN = INV = 80.0
LMN = INV = 50.0
L'elaborazione di CONT_C
....
t
Ciclo di CONT_C
Start periodo
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
....
t
PER_TM
CICLO di
PULSEGEN
Sincronizzazione dello
start periodo
PULSEGEN identifica: INV è cam
biato e il richiamo non si trova nel
primo o negli ultimi due cicli del pe
riodo
Elaborazione di PULSEGEN
PER_TM
Nessuna sincronizzazione
necessaria
PULSEGEN identifica: INV è cambiato in
80.0 o 50.0 e il richiamo si trova nel primo
o negli ultimi due cicli del periodo
Elaborazione di PULSEGEN nel primo o negli ultimi
due cicli del periodo
La sincronizzazione automatica può essere disinserita all'ingresso "SYN_ON" (=FALSE).
Avvertenza
Con l'inizio del nuovo periodo, il vecchio valore di INV (cioè di LMN) viene riportato a
sincronizzazione terminata più o meno esattamente al segnale di impulso.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
27-19
SFB per la regolazione integrata
Tipi di funzionamento
A seconda della parametrizzazione del generatore di impulsi, i regolatori PID possono
essere configurati a tre punti o con un'uscita a due punti bipolare o unipolare. La tabella
seguente illustra l'impostazione delle combinazioni degli interruttori per i vari tipi di
funzionamento possibili.
Tipo di funzionamento
MAN_ON
STEP3_ON
ST2BI_ON
Regolazione a tre punti
FALSE
TRUE
a scelta
Regolazione a due punti con area di
regolazione bipolare (-100% ... +100%)
FALSE
FALSE
TRUE
Regolazione a due punti con area di
regolazione unipolare (0% ... +100%)
FALSE
FALSE
FALSE
Funzionamento manuale
TRUE
a scelta
a scelta
Regolazione a tre punti
Nel tipo di funzionamento "Regolazione a tre punti", possono essere creati tre stati del
segnale di regolazione. A questo scopo, i valori di stato dei segnali binari di uscita QPOS_P
e QNEG_P vengono attribuiti ai relativi stati di funzionamento dell'organo attuatore: la tabella
illustra l'esempio di una regolazione di temperatura:
Segnali di uscita
Riscaldamento
off
Raffreddamento
QPOS_P
TRUE
FALSE
FALSE
QNEG_P
FALSE
FALSE
TRUE
Dalla grandezza di ingresso viene calcolata la durata dell'impulso mediante una curva
caratteristica. La forma di questa curva caratteristica viene definita dalla durata minima
dell'impulso ovvero dalla durata della pausa e dal fattore di rapporto.
Il valore normale per il fattore di rapporto è 1.
Le flessioni sulle curve caratteristiche sono causate dalla durata minima dell'impulso o della
pausa.
Durata minima dell'impulso o della pausa
Se la durata minima dell'impulso o della pausa P_B_TM è parametrizzata in modo corretto, è
possibile evitare tempi di attivazione e disattivazione brevi, i quali compromettono la durata
di attività di organi comando e dispositivi di regolazione.
Avvertenza
I valori assoluti di piccola entità della grandezza di ingresso LMN, i quali potrebbero
generare una durata dell'impulso minore di P_B_TM vengono soppressi. I valori di ingresso
di grande entità invece, che potrebbero generare una durata dell'impulso maggiore di
PER_TM - P_B_TM), vengono impostati a 100% o -100%.
27-20
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per la regolazione integrata
La durata degli impulsi positivi o negativi si calcola dalla grandezza di ingresso (in %)
moltiplicata per il periodo:
Dur. dell'impulso INV
100
=
∗ PER_TM
La figura sottostante illustra una linea caratteristica simmetrica del regolatore a tre punti
(fattore proporzionale = 1).
Durata dell'impulso positivo
On permanente
PER_TM
PER_TM - P_B_TM
P_B_TM
-100 %
100 %
Off permanente
Durata dell'impulso negativo
Regolazione a tre punti, asimmetrica
Il rapporto della durata degli impulsi positivi rispetto a quelli negativi può essere modificata
tramite il fattore di rapporto RATIOFAC. In caso di un processo termico ad esempio, è
possibile tener conto di costanti di tempo del sistema regolato differenti per il riscaldamento
e il raffreddamento.
Il fattore di rapporto influenza anche la durata minima dell'impulso e della pausa. Un fattore
di rapporto < 1 significa che il valore di intervento per gli impulsi negativi viene moltiplicato
con il fattore di rapporto.
Fattore di rapporto < 1
La durata dell'impulso all'uscita negativa calcolata dalla grandezza di ingresso moltiplicata
per il periodo viene ridotta del fattore di rapporto (vedere figura seguente).
Dur. dell'impulso pos. =
Dur. dell'impulso neg. =
INV
100
INV
100
∗ PER_TM
∗ PER_TM
∗ RATIOFAC
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
27-21
SFB per la regolazione integrata
La figura sottostante illustra una linea caratteristica asimmetrica del regolatore a tre punti
(fattore proporzionale = 0.5).
Durata dell'impulso positivo
PER_TM
PER_TM – P_B_TM
P_B_TM
-200%
P_B_TM
100%
PER_TM – P_B_TM
PER_TM
Durata dell'impulso negativo
Fattore di rapporto > 1
La durata dell'impulso all'uscita positiva calcolata dalla grandezza di ingresso moltiplicata
per il periodo viene ridotta del fattore di rapporto:
Dur. dell'impulso neg. =
Dur. dell'impulso pos. =
INV
100
INV
100
∗ PER_TM
∗
PER_TM
RATIOFAC
Regolazione a due punti
Con la regolazione a due punti viene collegata solo l'uscita a impulso QPOS_P di
PULSEGEN con il relativo l'organo attuatore di accensione/spegnimento. A seconda
dell'area del valore controllante utilizzata, il regolatore a due punti ha un'area del valore
controllante bipolare o unipolare.
Regolazione a due punti con area del valore controllante bipolare (-100%...100%)
Durata dell'impulso positivo
On permanente
PER_TM
PER_TM - P_B_TM
Off permanente
P_B_TM
-100.0 %
27-22
0.0 %
100.0 %
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per la regolazione integrata
Regolazione a due punti con area del valore controllante unipolare (0%...100%)
Durata dell'impulso positivo
PER_TM
PER_TM - P_B_TM
P_B_TM
100.0 %
0.0 %
QNEG_P ha a disposizione il segnale di uscita negato, se il collegamento del regolatore a
due punti nel loop di regolazione richiede un segnale binario logico inverso per gli impulsi di
regolazione.
Impulso
Organo attuatore
On
Off
QPOS_P
QNEG_P
TRUE
FALSE
FALSE
TRUE
Funzionamento manuale per la regolazione a due o tre punti
Con il funzionamento manuale (MAN_ON = TRUE), è possibile impostare le uscite binarie
del regolatore a due o tre punti mediante i segnali POS_P_ON e NEG_P_ON
indipendentemente da INV.
Regolazione
POS_P_ON
NEG_P_ON
QPOS_P
QNEG_P
Regolazione a tre punti
FALSE
FALSE
FALSE
FALSE
TRUE
FALSE
TRUE
FALSE
FALSE
TRUE
FALSE
TRUE
TRUE
TRUE
FALSE
FALSE
FALSE
a scelta
FALSE
TRUE
TRUE
a scelta
TRUE
FALSE
Regolazione a due punti
Inizializzazione
L'SFB "PULSEGEN" dispone di una routine di inizializzazione che verrà eseguita quando il
parametro di ingresso COM_RST = TRUE è impostato.
Tutte le uscite di segnale vengono impostate a zero.
Informazioni di errore
La parola di segnalazione di errore RET_VAL non viene utilizzata.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
27-23
SFB per la regolazione integrata
Parametri di ingresso
Parametri
Tipo
Campo dei valori
Preassegnazione
INV
REAL
-100.0...100.0 (%)
0.0
Descrizione
INPUT VARIABLE / Variabile di ingresso
Al parametro di ingresso "Variabile di ingresso"
viene inserita una grandezza analogica del valore
controllante.
PER_TM
TIME
>=20*CYCLE
T#1s
PERIOD TIME / Periodo
Al parametro di ingresso "Periodo" viene introdotto il
periodo costante della modulazione di durata
dell'impulso. Questa corrisponde al tempo di
campionamento del regolatore. Il rapporto tra il
tempo di campionamento del generatore di impulsi e
il tempo di campionamento del regolatore determina
la precisione della modulazione di durata
dell'impulso.
P_B_TM
TIME
>= CYCLE
T#0ms
MINIMUM PULSE/BREAK TIME / Durata minima
dell'impulso o della pausa
Sul parametro di ingresso "Durata minima
dell'impulso o della pausa" può essere
parametrizzata una lunghezza minima di impulso o
di pausa.
RATIOFAC
REAL
0.1 ...10.0
1.0
RATIO FACTOR / fattore di rapporto
Con il parametro di ingresso "Fattore di rapporto" è
possibile modificare il rapporto della durata di
impulsi negativi in impulsi positivi. In un processo
termico è possibile compensare differenti costanti di
tempo per uso riscaldamento o raffreddamento (ad
esempio, un processo con riscaldamento elettrico e
raffreddamento ad acqua).
STEP3_ON
BOOL
TRUE
THREE STEP CONTROL ON / Inserire regolazione
a tre punti
Sul parametro di ingresso "Inserire regolazione a tre
punti" viene attivato il tipo di funzionamento
corrispondente. Con la regolazione a tre punti sono
operativi entrambi i segnali di uscita.
ST2BI_ON
BOOL
FALSE
TWO STEP CONTROL FOR BIPOLAR
MANIPULATED VALUE RANGE ON / Inserire
regolazione a due punti per area bipolare del valore
controllante
Al parametro di ingresso "Inserire regolazione a due
punti per area bipolare del valore controllante" si
può scegliere tra il tipo di funzionamento
"Regolazione a due punti per area bipolare del
valore controllante" e "Regolazione a due punti per
area unipolare del valore controllante". Qui deve
essere STEP3_ON = FALSE.
MAN_ON
BOOL
FALSE
MANUAL MODE ON / Inserire funzionamento
manuale
Con l'impostazione del parametro di ingresso
"Inserire funzionamento manuale" è possibile
impostare manualmente i segnali di uscita.
27-24
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per la regolazione integrata
Parametri
Tipo
Campo dei valori
POS_P_ON BOOL
Preassegnazione
Descrizione
FALSE
POSITIVE PULSE ON / Inserimento impulso
positivo
Con il funzionamento manuale regolazione a tre
punti, è possibile controllare sul parametro di
ingresso "Inserimento impulso positivo" il segnale di
uscita QPOS_P . Con il funzionamento manuale
regolazione a due punti, QNEG_P viene impostato
sempre inverso a QPOS_P.
NEG_P_ON BOOL
FALSE
NEGATIVE PULSE ON / Inserimento impulso
negativo
Con il funzionamento manuale regolazione a tre
punti, è possibile controllare sul parametro di
ingresso "Inserimento impulso negativo" il segnale
di uscita QNEG_P. Con il funzionamento manuale
regolazione a due punti, QNEG_P viene impostato
sempre inverso a QPOS_P.
SYN_ON
BOOL
TRUE
SYNCHRONISATION ON / Inserire
sincronizzazione
Con l'impostazione del parametro di ingresso
"Inserire sincronizzazione", sussiste la possibilità di
sincronizzare automaticamente l'emissione degli
impulsi con il blocco che aggiorna la grandezza di
ingresso INV. In questo modo si garantisce che una
grandezza di ingresso che cambia venga emessa al
più presto possibile come impulso.
COM_RST
BOOL
FALSE
COMPLETE RESTART
Il blocco ha una routine di inizializzazione che viene
elaborata se l'ingresso COM_RST è impostato.
CYCLE
TIME
>= 1ms
T#10ms
SAMPLE TIME / Tempo di campionamento
Il tempo tra i richiami di blocco deve essere
costante. L'ingresso "Tempo di campionamento"
indica il tempo tra i richiami di blocco.
Avvertenza
Nel blocco, i valori dei parametri di ingresso non vengono limitati. Non ha luogo una verifica
dei parametri.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
27-25
SFB per la regolazione integrata
Parametri di uscita
Parametri
Tipo
QPOS_P
BOOL
Campo dei valori
Preassegnazione
Descrizione
FALSE
OUTPUT POSITIVE PULSE / Segnale di uscita
impulso positivo
Se deve essere emesso un impulso, il parametro di
uscita "Segnale di uscita impulso positivo" è
impostato. Con la regolazione a tre punti si tratta
dell'impulso positivo. Con la regolazione a due punti,
QNEG_P viene impostato sempre inverso a
QPOS_P.
QNEG_P
BOOL
FALSE
OUTPUT NEGATIVE PULSE / Segnale di uscita
impulso negativo
Se deve essere emesso un impulso, il parametro di
uscita "Segnale di uscita impulso negativo" è
impostato. Con la regolazione a tre punti si tratta
dell'impulso negativo. Con la regolazione a due
punti, QNEG_P viene impostato sempre inverso a
QPOS_P.
27-26
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per la regolazione integrata
27.4
Esempio con un blocco PULSEGEN
Loop di regolazione
Con il regolatore continuo CONT_C ed il generatore di impulsi PULSEGEN può essere
realizzato un regolatore con setpoint fisso con uscita a commutazione per organi attuatori
proporzionali. La figura seguente descrive lo svolgimento principale del segnale del loop di
regolazione.
CONT_C
PULSEGEN
LMN
INV
QPOS_P
QNEG_P
PV_PER
Percorso con
uscita a commutazione
Il regolatore continuo CONT_C costituisce il valore controllante LMN che viene convertito dal
generatore di impulsi PULSEGEN in segnali di impulso e di pausa QPSO_P oppure
QNEG_P.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
27-27
SFB per la regolazione integrata
Richiami di blocco e collegamento
Il regolatore con setpoint fisso con uscita a commutazione per organi attuatori proporzionali
PULS_CTR è costituito dai blocchi CONT_C e PULSEGEN. Il richiamo del blocco è
realizzato in modo che CONT_C venga richiamato ogni 2 s (=CYCLE*RED_FAC) e
PULSEGEN ogni 10 ms (=CYCLE). Il tempo del ciclo dell'OB 35 è impostato su 10 ms. È
possibile osservare il collegamento nella figura seguente.
Al nuovo avviamento (avviamento a caldo) il blocco PULS_CTR viene richiamato
nell'OB 100 e l'ingresso COM_RST viene impostato su TRUE.
OB 100 (Nuovo avviamento)
OB 35 (10ms)
TRUE (OB 100)
FALSE (OB35)
T#10
200
PULS_CTR, DPULS_CTR
FB 50, DB 50
COM_RST
CYCLE
RED_FAC
PULS_CTR, DPULS_CTR
FB 50, DB 50
COM_RST
CYCLE
RED_FAC
CONT_C
PULSEGEN
COM_RST
SP_INT
PV_PER
CYCLE
COM_RST
CYCLE
SP_INT
PER_TM
PV_PER
QPOS_P
QPOS_P
LMN
INV
Al richiamo di CONT_C
ridotto di RED_FAC
27-28
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per la regolazione integrata
Programma AWL dell'FB PULS_CTR
Indirizzo
Dichiarazione Nome
Tipo
Commento
0.0
in
SP_INT
REAL
Valore di riferimento
4.0
in
PV_PER
WORD
Periferia valore attuale
6.0
in
RED_FAC
INT
Fattore di riduzione richiamo
8.0
in
COM_RST
BOOL
Nuovo avviamento
10.0
in
CYCLE
TIME
Tempo di campionamento
14.0
out
QPOS_P
BOOL
Segnale di regolazione
16.0
stat
DI_CONT_C
FB-CONT_C
Contatore
142.0
stat
DI_PULSEGEN FB-PULSEGEN
176.0
stat
sCount
INT
Contatore
0.0
temp
tCycCtr
TIME
Tempo di campionamento del regolatore
AWL
Spiegazione
U
SPBN
L
T
M001: L
Contatore
#COM_RST
M001
0
#sCount
//Calcolo del tempo di campionamento della regolazione
#CYCLE
L
//Routine di inizializzazione
#RED_FAC
*D
T
#tCycCtr
L
#sCount
L
1
//Diminuzione del contatore e confronto con zero
-I
T
#sCount
L
0
<=I
M002: L
SPBN
M002
CALL
#DI_CONT_C
COM_RST
:=#COM_RST
CYCLE
:=#tCycCtr
SP_INT
:=#SP_INT
PV_PER
:=#PV_PER
L
#RED_FAC
T
#sCount
/Richiamo di blocco condizionato e impostazione del contatore
#DI_CONT_C.LMN
T
#DI_PULSEGEN.INV
CALL
#DI_PULSEGEN
PER_TM
:=#tCycCtr
COM_RST
:=#COM_RST
CYCLE
:=#CYCLE
QPOS_P
:=#QPOS_P
BE
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
27-29
SFB per la regolazione integrata
27-30
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
28
SFB per CPU compatte
28.1
Posizionamento con uscita analogica con l'SFB 44
"Analogico"
Descrizione
Per il comando delle funzioni di posizionamento del programma utente, utilizzare l'SFB
ANALOG (SFB 44).
Un'uscita analogica assegnata in modo fisso comanda la parte di potenza con una tensione
(segnale di tensione) di ±10 V o con una corrente (segnale di corrente) di ±20 mA.
•
Una volta conclusa la fase di accelerazione (RAM_UP), il traguardo viene avvicinato
dapprima con la velocità (VRif).
•
Nel punto di inizio frenatura calcolato dalla CPU, il ritardo (RAMP_DN) viene introdotto
fino al punto di commutazione.
•
Appena raggiunto il punto di commutazione, il movimento prosegue con l'avanzamento
lento (VLenta).
•
Nel punto di disinserzione l'azionamento viene disattivato.
•
Punto di commutazione e punto di disinserzione vengono definiti, per ogni traguardo da
avvicinare, attraverso i valori differenza di commutazione e differenza di
disinserzione predefiniti dall'utente nei parametri. La differenza di commutazione e
quella di disinserzione possono essere definite diversamente per la corsa in avanti
(direzione +) e all'indietro (direzione -).
•
La corsa si conclude (WORKING = FALSE) una volta raggiunto il punto di disinserzione.
A partire da questo momento può iniziare una nuova corsa.
•
Il traguardo predefinito è raggiunto (POS_RCD = TRUE) quando la quota reale della
posizione ha raggiunto la zona del traguardo. Se la quota reale della posizione lascia
nuovamente la zona del traguardo senza avvio di una nuova corsa, il segnale "Posizione
raggiunta" non viene nuovamente resettato.
Se la differenza di commutazione è minore della differenza di disinserzione, a partire dal
punto di inizio frenatura, il ritardo sarà lineare fino al valore di riferimento 0 della velocità.
Parametri di base:
Qui di seguito vengono descritti i parametri dell'SFB identici per tutti i modi di funzionamento.
I parametri specifici per modo di funzionamento sono descritti nei singoli modi di
funzionamento.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
28-1
SFB per CPU compatte
Parametri:
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
LADDR
INPUT
0
Specifico della
CPU
W#16#0310
Indirizzo E/A del
proprio sotto-modulo,
definito dall'utente in
"Configurazione HW".
WORD
Se gli indirizzi E e A
non sono uguali,
indicare il più piccolo
dei due.
CHANNEL
INPUT
INT
2
0
0
Numero di canale
STOP
INPUT
BOOL
4.4
TRUE/FALSE
FALSE
Arresto della corsa
Con STOP = TRUE è
possibile terminare/
interrompere la corsa
anticipatamente.
ERR_A
INPUT
BOOL
4.5
TRUE/FALSE
FALSE
Conferma cumulativa
errore esterno
Con ERR_A = TRUE
vengono confermati
errori esterni.
SPEED
INPUT
DINT
12
Avanzamento
lento fino a
1 000 000
impulsi/s
1000
Non è possibile
modificare la velocità
durante la corsa.
Al massimo
fino alla
velocità
massima
parametrizzata
WORKING
OUTPUT
BOOL
16.0
ACT_POS
OUTPUT
DINT
18
TRUE/FALSE
Da -5x10
8
a
L'asse viene
accelerato fino alla
velocità "VRif".
FALSE
Corsa in atto
0
Attuale quota reale
della posizione
0
Modo di
funzionamento
attivo/impostato
8
+5x10
impulsi
MODE_OUT
28-2
OUTPUT
INT
22
0, 1, 3, 4, 5
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
ERR
OUTPUT
24
WORD
Campo di
valori
Preassegnazione
Ogni bit
0
0o1
Descrizione
Errori esterni:
Bit 2: controllo tacca
di zero
Bit 11: controllo del
campo corsa (sempre
1)
Bit 12: controllo del
campo di lavoro
Bit 13: controllo della
quota reale
Bit 14: controllo
dell'approssimazione
al traguardo
Bit 15: controllo della
zona del traguardo
Restanti bit riservati
ST_ENBLD
OUTPUT
BOOL
26.0
TRUE/FALSE
TRUE
La CPU imposta
l'abilitazione all'avvio
se vengono
soddisfatti tutti i
seguenti presupposti:
•
Non vi è uno
STOP (STOP =
FALSE)
•
Non vi sono
errori esterni
(ERR = 0)
•
È impostata
l'abilitazione
dell'azionamento
(DRV_EN =
TRUE
•
Non vi sono
posizionamenti in
corso
(WORKING =
FALSE)
ERROR
OUTPUT
BOOL
26.1
TRUE/FALSE
FALSE
Errore di
avvio/continuazione di
una corsa
STATUS
OUTPUT
WORD
28.0
Da
W#16#0000 a
W#16#FFFF
W#16#0000
Numero di errore
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
28-3
SFB per CPU compatte
Parametri non collegati al blocco (dati locali statici):
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
ACCEL
STATIC
30
Da 1 a 100
000
100
DINT
impulsi/s
DECEL
STATIC
DINT
34
CHGDIFF_P
STATIC
DINT
38
2
100
Ritardo
Impossibile da
modificare durante la
corsa.
2
Da 0 a +10
impulsi
Accelerazione
Impossibile da
modificare durante la
corsa.
Da 1 a 100
000
impulsi/s
Descrizione
8
1000
Differenza di
commutazione +:
La "differenza di
commutazione +"
definisce il punto di
commutazione nel
quale l'azionamento si
muove in avanti con
marcia lenta.
CUTOFFDIFF_P
STATIC
DINT
42
Da 0 a +10
impulsi
8
100
Differenza di
disinserzione +:
La "differenza di
disinserzione +"
definisce il punto di
disinserzione nel quale
l'azionamento si
muove in avanti con
marcia lenta.
CHGDIFF_M STATIC
DINT
46
Da 0 a +10
impulsi
8
1000
Differenza di
commutazione -:
La "differenza di
commutazione -"
definisce il punto di
commutazione nel
quale l'azionamento si
muove all'indietro con
marcia lenta.
CUTOFFDIFF_M
STATIC
DINT
50
Da 0 a +10
impulsi
8
100
Differenza di
disinserzione -:
La "differenza di
disinserzione -"
definisce il punto di
disinserzione nel quale
l'azionamento si
muove all'indietro con
marcia lenta.
PARA
28-4
STATIC
BOOL
54.0
TRUE/FALSE FALSE
Asse parametrizzato
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
DIR
STATIC
54.1
TRUE/FALSE FALSE
BOOL
Preassegnazione
Descrizione
Attuale/ultima
direzione dello
spostamento
FALSE = in avanti
(direzione +)
TRUE = all'indietro
(direzione -)
CUTOFF
STATIC
BOOL
54.2
TRUE/FALSE FALSE
Azionamento nella
zona di disinserzione
(dal punto di
disinserzione fino
all'avvio della corsa
successiva)
CHGOVER
STATIC
BOOL
54.3
TRUE/FALSE FALSE
Azionamento nella
zona di commutazione
(dal raggiungimento
dell'avanzamento lento
fino all'avvio della
corsa successiva)
RAMP_DN
STATIC
BOOL
54.4
TRUE/FALSE FALSE
L'azionamento viene
ritardato (dal punto di
inizio frenatura fino al
punto di
commutazione)
RAMP_UP
STATIC
BOOL
54.5
TRUE/FALSE FALSE
L'azionamento viene
accelerato (dall'avvio
al raggiungimento
della velocità SPEED
(VRif))
DIST_TO_
STATIC
DINT
56
GO
LAST_TRG
Da -5x10
8
a
0
Attuale percorso
restante
0
Ultimo/attuale
traguardo
8
+5x10
impulsi
STATIC
DINT
60
Da -5x10
8
a
8
+5x10
impulsi
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
•
Spostamento
incrementale
assoluto:
con l'avvio della
corsa, LST_TRG
= traguardo
attuale assoluto
(TARGET).
•
Spostamento
incrementale
relativo:
con l'avvio della
corsa, LST_TRG
= LAST_TRG
della corsa
precedente +/percorso indicato
(TARGET).
28-5
SFB per CPU compatte
Parametri per il modo di funzionamento "A impulsi"
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
DRV_EN
INPUT
BOOL
4.0
TRUE/FALSE
FALSE
Abilitazione
azionamento
DIR_P
INPUT
BOOL
4.2
TRUE/FALSE
FALSE
A impulsi, direzione +
(fronte di salita)
DIR_M
INPUT
BOOL
4.3
TRUE/FALSE
FALSE
A impulsi, direzione (fronte di salita)
MODE_IN
INPUT
INT
6
0, 1, 3, 4, 5
1
Modo di
funzionamento, 1 = a
impulsi
WORKING
OUTPUT
BOOL
16.0
TRUE/FALSE
FALSE
Corsa in atto
ACT_POS
OUTPUT
DINT
18
0
Attuale quota reale
della posizione
0
Modo di
funzionamento
attivo/impostato
Da -5x10
8
a
8
+5x10
impulsi
MODE_OUT
OUTPUT
INT
22
0, 1, 3, 4, 5
Parametri per il modo di funzionamento "Ricerca del punto di zero"
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
DRV_EN
INPUT
BOOL
4.0
TRUE/FALSE
FALSE
Abilitazione
azionamento
DIR_P
INPUT
BOOL
4.2
TRUE/FALSE
FALSE
Ricerca del punto di
zero in direzione +
(fronte di salita)
DIR_M
INPUT
BOOL
4.3
TRUE/FALSE
FALSE
Ricerca del punto di
zero in direzione (fronte di salita)
MODE_IN
INPUT
INT
6
0, 1, 3, 4, 5
1
Modo di
funzionamento, 3 =
"Ricerca del punto di
zero"
WORKING
OUTPUT
BOOL
16.0
TRUE/FALSE
FALSE
Corsa in atto
SYNC
OUTPUT
BOOL
16.3
TRUE/FALSE
FALSE
SYNC = TRUE: asse
sincronizzato
ACT_POS
OUTPUT
DINT
18
Da -5x10
0
Attuale quota reale
della posizione
0
Modo di
funzionamento
attivo/impostato
8
a
8
+5x10
impulsi
MODE_OUT
28-6
OUTPUT
INT
22
0, 1, 3, 4, 5
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
Parametri per il modo di funzionamento "Spostamento incrementale relativo"
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
DRV_EN
INPUT
BOOL
4.0
TRUE/FALSE
FALSE
Abilitazione
azionamento
DIR_P
INPUT
BOOL
4.2
TRUE/FALSE
FALSE
Corsa in direzione +
(fronte di salita)
DIR_M
INPUT
BOOL
4.3
TRUE/FALSE
FALSE
Corsa in direzione (fronte di salita)
MODE_IN
INPUT
INT
6
0, 1, 3, 4, 5
1
Modo di
funzionamento, 4 =
spostamento
incrementale relativo
TARGET
INPUT
DINT
8
1000
Percorso in impulsi
(sono ammessi solo
valori positivi)
WORKING
OUTPUT
BOOL
16.0
TRUE/FALSE
FALSE
Corsa in atto
POS_RCD
OUTPUT
BOOL
16.1
TRUE/FALSE
FALSE
Posizione raggiunta
ACT_POS
OUTPUT
DINT
18
0
Attuale quota reale
della posizione
0
Modo di
funzionamento
attivo/impostato
Da 0 a 10
impulsi
Da -5x10
+5x10
MODE_OUT
OUTPUT
INT
22
8
9
8
a
impulsi
0, 1, 3, 4, 5
Parametri per il modo di funzionamento "Spostamento incrementale assoluto"
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
DRV_EN
INPUT
BOOL
4.0
TRUE/FALSE
FALSE
Abilitazione
azionamento
START
INPUT
BOOL
4.1
TRUE/FALSE
FALSE
Avvio corsa (fronte di
salita)
DIR_P
INPUT
BOOL
4.2
TRUE/FALSE
FALSE
Corsa in direzione +
(fronte di salita)
DIR_M
INPUT
BOOL
4.3
TRUE/FALSE
FALSE
Corsa in direzione (fronte di salita)
MODE_IN
INPUT
INT
6
0, 1, 3, 4, 5
1
Modo di
funzionamento, 5 =
spostamento
incrementale assoluto
TARGET
INPUT
DINT
8
Asse lineare:
1000
Traguardo in impulsi
FALSE
Corsa in atto
da -5x10
+5x10
8
a
8
Asse rotante:
da 0 a fine asse
rotante - 1
WORKING
OUTPUT
BOOL
16.0
TRUE/FALSE
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
28-7
SFB per CPU compatte
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
POS_RCD
OUTPUT
16.1
TRUE/FALSE
FALSE
Posizione raggiunta
0
Attuale quota reale
della posizione
0
Modo di
funzionamento
attivo/impostato
ACT_POS
OUTPUT
BOOL
DINT
18
Da -5x10
+5x10
MODE_OUT
OUTPUT
INT
22
8
8
a
impulsi
0, 1, 3, 4, 5
Parametri per il job "Imposta punto di zero"
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
SYNC
OUTPUT
16.3
TRUE/FALSE
FALSE
Asse sincronizzato
BOOL
Parametri non collegati al blocco (dati locali statici):
Parametri
Dichiarazione
Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
JOB_REQ
STATIC
BOOL
76.0
TRUE/FALSE
FALSE
Avvio del job (fronte
di salita)
JOB_DONE
STATIC
BOOL
76.1
TRUE/FALSE
TRUE
Il nuovo job può
essere avviato
JOB_ERR
STATIC
BOOL
76.2
TRUE/FALSE
FALSE
Job errato
JOB_ID
STATIC
INT
78
1, 2
0
Job, 1 = "Imposta
punto di zero"
JOB_STAT
STATIC
WORD
80
Da W#16#0000 W#16#0000
a W#16#FFFF
JOB_VAL
STATIC
DINT
82
Da 5x10
+5x10
28-8
8
8
a
impulsi
0
Numero di errore nel
job
Parametri del job,
coordinate del punto
di zero
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
Parametri per il job "Cancella percorso restante"
Parametri non collegati al blocco (dati locali statici):
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
JOB_REQ
STATIC
BOOL
76.0
TRUE/FALSE
FALSE
Avvio del job (fronte di
salita)
JOB_DONE
STATIC
BOOL
76.1
TRUE/FALSE
TRUE
Il nuovo job può
essere avviato
JOB_ERR
STATIC
BOOL
76.2
TRUE/FALSE
FALSE
Job errato
JOB_ID
STATIC
INT
78
1, 2
0
Job, 2 = "Cancella
percorso restante"
JOB_STAT
STATIC
WORD
80
Da W#16#0000
a W#16#FFFF
W#16#0000
Numero di errore nel
job
JOB_VAL
STATIC
DINT
82
-
0
Impostazione
qualunque
Parametri per la funzione "Misura lunghezza"
Questa funzione viene avviata da un fronte dell'ingresso digitale. Non vi sono parametri di
ingresso specifici.
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
MSR_DONE
OUTPUT
16.2
TRUE/FALSE
FALSE
Misura della lunghezza
conclusa
Preassegnazione
Descrizione
0
Quota reale della
posizione di inizio della
misura della lunghezza
0
Quota reale della
posizione di fine della
misura lunghezza
0
Lunghezza misurata
BOOL
Parametri non collegati al blocco (dati locali statici):
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
BEG_VAL
STATIC
64
DINT
Campo di
valori
Da -5x10
8
a
8
+5x10
impulsi
END_VAL
STATIC
DINT
68
Da -5x10
8
a
8
+5x10
impulsi
LEN_VAL
STATIC
DINT
72
Da 0 a 10
impulsi
9
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
28-9
SFB per CPU compatte
Informazioni sugli errori
Errori del modo di funzionamento (ERROR = TRUE)
Al riconoscimento di questi errori, il parametro di uscita ERROR viene impostato su TRUE.
La causa dell'errore viene visualizzata nel parametro STATUS.
Codice di
errore classe
evento
Spiegazione
W#16#2002
SFB scorretto, utilizzare l'SFB 44
W#16#2004
Numero di canale scorretto (CHANNEL). Impostare "0" come numero di canale
W#16#3001
Il job di corsa non è stato accettato poiché il job nello stesso richiamo SFB è errato. Correggere
i parametri del job corrispondente
W#16#3002
Non è consentito modificare MODE_IN mentre l'azionamento è ancora in funzione. Attendere la
fine del posizionamento in corso.
W#16#3003
Modo di funzionamento sconosciuto (MODE_IN). Sono consentiti 1 (a impulsi), 3 (ricerca del
punto di zero), 4 (spostamento incrementale relativo) e 5 (spostamento incrementale assoluto).
W#16#3004
È consentito impostare sempre solo una richiesta di avvio per volta. Le richieste di avvio
consentite sono DIR_P o DIR_M o START.
W#16#3005
Il job START è consentito solo con il modo di funzionamento "Spostamento incrementale
assoluto". Avviare la corsa con DIR_P o DIR_M
W#16#3006
DIR_P o DIR_M con asse lineare e modo di funzionamento "Spostamento incrementale
assoluto" non consentiti. Avviare la corsa con START
W#16#3007
Asse non sincronizzato. "Spostamento incrementale assoluto" possibile solo con asse
sincronizzato.
W#16#3008
Uscire dal campo di lavoro. La corsa è consentita all'indietro solo a impulsi in direzione del
campo di lavoro.
W#16#3101
Avvio non abilitato poiché l'asse non è stato parametrizzato. Parametrizzare il sotto-modulo
"Posizionamento" nella "Configurazione HW"
W#16#3102
Avvio non abilitato poiché manca l'abilitazione dell'azionamento. Impostare l'"Abilitazione
azionamento" nell'SFB (DRV_EN=TRUE)
W#16#3103
Avvio non abilitato poiché è impostato lo STOP. Cancellare lo STOP nell'SFB (STOP=FALSE)
W#16#3104
Avvio non abilitato poiché l'asse è momentaneamente in posizione (WORKING=TRUE).
Attendere la fine del posizionamento in corso.
W#16#3105
Avvio non abilitato poiché è ancora presente almeno un errore esterno non confermato.
Eliminare e confermare prima tutti gli errori esterni e quindi riavviare la corsa.
W#16#3202
La preassegnazione della velocità SPEED è scorretta. La preassegnazione della velocità non è
compresa nel campo consentito dell'avanzamento lento fino a 1000000 impulsi/s. Ma al
massimo fino alla velocità massima parametrizzata.
W#16#3203
La preassegnazione dell'accelerazione ACCEL non è compresa nel campo consentito da 1 a
2
100000 impulsi/s .
W#16#3204
La preassegnazione del ritardo DECEL non è compresa nel campo consentito da 1 a 100000
2
impulsi/s .
W#16#3206
La preassegnazione della velocità SPEED deve essere maggiore/uguale alla frequenza di
riferimento parametrizzata.
W#16#3301
Differenza di commutazione/disinserzione eccessiva. Predefinire la differenza di
commutazione/disinserzione max con 10
8
W#16#3304
Differenza di disinserzione insufficiente. La differenza di disinserzione deve essere almeno
uguale a metà della zona del traguardo.
W#16#3305
Differenza di commutazione insufficiente. La differenza di commutazione deve essere almeno
uguale a metà zona del traguardo.
28-10
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
Codice di
errore classe
evento
Spiegazione
W#16#3401
Preassegnazione del traguardo non compresa nel campo di lavoro. Con un asse lineare e uno
spostamento incrementale assoluto, la preassegnazione del traguardo deve essere compresa
nel finecorsa software (incluso).
W#16#3402
Preassegnazione del traguardo scorretta. Con un asse rotante, la preassegnazione del
traguardo deve essere maggiore di 0 e minore della fine dell'asse rotante.
W#16#3403
Indicazione scorretta del percorso. Con lo spostamento incrementale relativo, il tragitto da
percorrere deve essere positivo.
W#16#3404
Indicazione scorretta del percorso. Le coordinate assolute risultanti del traguardo devono
8
essere maggiori di -5x10 .
W#16#3405
Indicazione scorretta del percorso. Le coordinate assolute risultanti del traguardo devono
8
essere minori di 5x10 .
W#16#3406
Indicazione scorretta del percorso. Le coordinate assolute risultanti del traguardo devono
essere comprese nel campo di lavoro (+/- metà zona del traguardo)
W#16#3501
Campo corsa eccessivo. Coordinate traguardo + attuale percorso restante devono essere
maggiori/uguali a -5x10
W#16#3502
8
Campo corsa eccessivo. Coordinate traguardo + attuale percorso restante devono essere
minori/uguali a 5x10
8
W#16#3503
Campo corsa insufficiente. La corsa in direzione + deve essere maggiore della differenza di
disinserzione indicata per la direzione +
W#16#3504
Campo corsa insufficiente. La corsa in direzione - deve essere maggiore della differenza di
disinserzione indicata per la direzione -
W#16#3505
Campo corsa insufficiente o finecorsa già superato in direzione +. L'ultimo traguardo
raggiungibile in direzione + (campo di lavoro o limite del campo corsa) è troppo vicino alla
posizione attuale
W#16#3506
Campo corsa insufficiente o finecorsa già superato in direzione -. L'ultimo traguardo
raggiungibile in direzione - (campo di lavoro o limite del campo corsa) è troppo vicino alla
posizione attuale
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
28-11
SFB per CPU compatte
Errori nei job (JOB_ERR = TRUE)
Al riconoscimento di questi errori, il parametro di uscita JOB_ERR viene impostato su TRUE.
La causa dell'errore viene visualizzata nel parametro JOB_STAT.
Codice di
errore classe
evento
Spiegazione
W#16#4001
Asse non parametrizzato. Parametrizzare il sotto-modulo "Posizionamento" nella
"Configurazione HW".
W#16#4002
Job impossibile poiché vi è ancora un posizionamento in corso. Attendere finché WORKING
diventa = FALSE, quindi ripetere il job.
W#16#4004
Job sconosciuto. Controllarne il numero e quindi ripetere il job.
W#16#4101
Con un asse lineare, le coordinate del punto di zero indicate non devono trovarsi fuori dei limiti
del campo di lavoro.
W#16#4102
Con un asse lineare, le coordinate del punto di zero indicate + attuale percorso restante
8
devono essere ancora maggiori/uguali a -5x10 .
W#16#4103
Con un asse lineare, le coordinate del punto di zero indicate + attuale percorso restante
8
devono essere ancora minori/uguali a 5x10 .
W#16#4104
Con un asse lineare, le coordinate del punto di zero indicate + attuale differenza rispetto al
8
punto di avvio della corsa devono essere ancora maggiori/uguali a -5x10 .
W#16#4105
Con un asse lineare, le coordinate del punto di zero indicate + attuale differenza rispetto al
8
punto di avvio della corsa devono essere ancora minori/uguali a 5x10 .
W#16#4106
Con un asse rotante, le coordinate del punto di zero non devono essere minore di 0 e
maggiori/uguali alla fine dell'asse rotante.
Errori esterni (ERR)
La funzione controlla la corsa, il campo della corsa e la periferia collegata, a condizione che
l'utente abbia prima attivato questi controlli nelle maschere di parametrizzazione
"Azionamento", "Asse" e "Encoder".
Quando i controlli reagiscono, viene segnalato un errore esterno. Si possono verificare errori
esterni in qualsiasi momento, a prescindere dalle funzioni avviate. Gli errori esterni vanno
sempre confermati con ERR_A = TRUE.
Gli errori esterni vengono visualizzati nel paramtero dell'SFB ERR (WORD) con
l'impostazione di un bit.
Controllo
Codice errore
Bit in ERR-WORD
Impulsi errati (tacca di zero)
W#16#0004
2
Campo corsa
W#16#0800
11
Campo di lavoro
W#16#1000
12
Quota reale
W#16#2000
13
Approssimazione al traguardo W#16#4000
14
Zona del traguardo
15
W#16#8000
Errori di sistema
Un errore di sistema viene visualizzato con BIE = FALSE. Un errore di sistema viene
causato da un errore di scrittura/lettura del DB di istanza o dal richiamo multiplo dell'SFB.
28-12
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
28.2
Posizionamento con uscita digitale con l'SFB 46 "Digitale"
Descrizione
Per il comando delle funzioni di posizionamento del programma utente, utilizzare l'SFB
DIGITAL (SFB46).
Quattro uscite digitali a 24 V assegnate in modo fisso all'azionamento comandano la parte di
potenza. Le uscite digitali comandano, a seconda del tipo di azionamento parametrizzato, la
direzione e i livelli di velocità (marcia veloce/lenta).
Il rilevamento del percorso avviene per mezzo di un trasduttore incrementale asincrono a
24 V con due segnali sfasati di 90 gradi.
•
Il traguardo viene avvicinato dapprima con la velocità (VVel)
•
Nel punto di commutazione, la velocità viene commutata su un avanzamento lento
(VLenta).
•
Nel punto di disinserzione l'azionamento viene disattivato.
•
Punto di commutazione e punto di disinserzione vengono definiti, per ogni traguardo da
avvicinare, attraverso i valori differenza di commutazione e differenza di
disinserzione predefiniti dall'utente nei parametri. La differenza di commutazione e
quella di disinserzione possono essere definite diversamente per la corsa in avanti
(direzione +) e all'indietro (direzione -).
•
La corsa si conclude (WORKING = FALSE) una volta raggiunto il punto di disinserzione.
A partire da questo momento può iniziare una nuova corsa.
•
Il traguardo predefinito è raggiunto (POS_RCD = TRUE) quando la quota reale della
posizione ha raggiunto la zona del traguardo. Se la quota reale della posizione lascia
nuovamente la zona del traguardo senza avvio di una nuova corsa, il segnale "Posizione
raggiunta" non viene nuovamente resettato.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
28-13
SFB per CPU compatte
Parametri di base:
Qui di seguito vengono descritti i parametri dell'SFB identici per tutti i modi di funzionamento.
I parametri specifici per modo di funzionamento sono descritti nei singoli modi di
funzionamento.
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
LADDR
INPUT
0
Specifico della
CPU
W#16#0310
Indirizzo E/A del
proprio sotto-modulo,
definito dall'utente in
"Configurazione HW".
WORD
Se gli indirizzi E e A
non sono uguali,
indicare il più piccolo
dei due.
CHANNEL
INPUT
INT
2
0
0
Numero di canale
STOP
INPUT
BOOL
4.4
TRUE/FALSE
FALSE
Arresto della corsa
Con STOP = TRUE è
possibile
terminare/interrompere
la corsa
anticipatamente.
ERR_A
INPUT
BOOL
4.5
TRUE/FALSE
FALSE
Conferma cumulativa
errore esterno
Con ERR_A = TRUE
vengono confermati
errori esterni.
SPEED
INPUT
BOOL
12.0
TRUE/FALSE
FALSE
Due livelli di velocità
per marcia veloce o
lenta
TRUE=marcia veloce
FALSE=marcia lenta
WORKING
ACT_POS
OUTPUT
OUTPUT
BOOL
DINT
14.0
16
TRUE/FALSE
Da -5x10
8
a
FALSE
Corsa in atto
0
Attuale quota reale
della posizione
0
Modo di
funzionamento
attivo/impostato
8
+5x10
impulsi
MODE_OUT
28-14
OUTPUT
INT
20
0, 1, 3, 4, 5
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
Parametri
Dichiarazione Tipo di
dati
ERR
OUTPUT
WORD
Indirizzo
(DB di
istanza)
22
Campo di
valori
Preassegnazione
Ogni bit
0
0o1
Descrizione
Errori esterni
Bit2: controllo tacca di
zero
Bit11: controllo del
campo corsa
(sempre 1)
Bit12: controllo del
campo di lavoro
Bit13: controllo della
quota reale
Bit14: controllo
dell'approssimazione
al traguardo
Bit15: controllo della
zona del traguardo
Restanti bit riservati
ST_ENBLD
OUTPUT
BOOL
24.0
TRUE/FALSE
TRUE
La CPU imposta
l'abilitazione all'avvio
se vengono soddisfatti
tutti i seguenti
presupposti:
•
Non vi è uno
STOP (STOP =
FALSE)
•
Non vi sono errori
esterni (ERR = 0)
•
È impostata
l'abilitazione
dell'azionamento
(DRV_EN = TRUE
•
Non vi sono
posizionamenti in
corso (WORKING
= FALSE)
ERROR
OUTPUT
BOOL
24.1
TRUE/FALSE
FALSE
Errore di
avvio/continuazione di
una corsa
STATUS
OUTPUT
WORD
26.0
Da
W#16#0000 a
W#16#FFFF
W#16#0000
Numero di errore
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
28-15
SFB per CPU compatte
Parametri non collegati al blocco (dati locali statici):
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
CHGDIFF_P
STATIC
28
DINT
Campo di
valori
Da 0 a +10
impulsi
8
Preassegnazione
Descrizione
1000
Differenza di
commutazione +:
La "differenza di
commutazione +"
definisce il punto di
commutazione nel
quale l'azionamento si
muove in avanti
passando dalla marcia
veloce alla marcia
lenta.
CUTOFFDIFF_P
STATIC
DINT
32
Da 0 a +10
impulsi
8
100
Differenza di
disinserzione +:
La "differenza di
disinserzione +"
definisce il punto di
disinserzione nel quale
l'azionamento viene
disinserito dalla marcia
lenta in avanti.
CHGDIFF_M STATIC
DINT
36
Da 0 a +10
impulsi
8
1000
Differenza di
commutazione -:
La "differenza di
commutazione -"
definisce il punto di
commutazione nel
quale l'azionamento si
muove all'indietro
passando dalla marcia
veloce alla marcia
lenta.
CUTOFFDIFF_M
STATIC
DINT
40
Da 0 a +10
impulsi
8
100
Differenza di
disinserzione -:
La "differenza di
disinserzione -"
definisce il punto di
disinserzione nel quale
l'azionamento viene
disinserito dalla marcia
lenta all'indietro.
PARA
STATIC
BOOL
44.0
TRUE/FALSE
FALSE
Asse parametrizzato
DIR
STATIC
BOOL
44.1
TRUE/FALSE
FALSE
Attuale/ultima
direzione dello
spostamento
FALSE = in avanti
(direzione +)
TRUE = all'indietro
(direzione -)
28-16
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
CUTOFF
STATIC
BOOL
44.2
TRUE/FALSE
FALSE
Azionamento nella
zona di disinserzione
(dal punto di
disinserzione fino
all'avvio della corsa
successiva)
CHGOVER
STATIC
BOOL
44.3
TRUE/FALSE
FALSE
Azionamento nella
zona di commutazione
(dal raggiungimento
dell'avanzamento lento
fino all'avvio della
corsa successiva)
DIST_TO_G
O
STATIC
DINT
46
0
Attuale percorso
restante
0
Ultimo/attuale
traguardo
Da -5x10
+5x10
LAST_TRG
STATIC
DINT
50
8
+5x10
a
impulsi
Da -5x10
8
8
8
a
impulsi
Spostamento
incrementale assoluto:
con l'avvio della corsa,
LST_TRG = traguardo
attuale assoluto
(TARGET).
Spostamento
incrementale relativo:
con l'avvio della corsa,
LST_TRG =
LAST_TRG della corsa
precedente +/percorso indicato
(TARGET).
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
28-17
SFB per CPU compatte
Parametri per il modo di funzionamento "A impulsi"
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
DRV_EN
INPUT
BOOL
4.0
TRUE/FALSE
FALSE
Abilitazione
azionamento
DIR_P
INPUT
BOOL
4.2
TRUE/FALSE
FALSE
A impulsi, direzione +
(fronte di salita)
DIR_M
INPUT
BOOL
4.3
TRUE/FALSE
FALSE
A impulsi, direzione (fronte di salita)
MODE_IN
INPUT
INT
6
0, 1, 3, 4, 5
1
Modo di
funzionamento, 1 = a
impulsi
WORKING
OUTPUT
BOOL
14.0
TRUE/FALSE
FALSE
Corsa in atto
ACT_POS
OUTPUT
DINT
16
0
Attuale quota reale
della posizione
0
Modo di
funzionamento
attivo/impostato
Da -5x10
+5x10
MODE_OUT
OUTPUT
INT
20
8
8
a
impulsi
0, 1, 3, 4, 5
Parametri per il modo di funzionamento "Ricerca del punto di zero"
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
DRV_EN
INPUT
BOOL
4.0
TRUE/FALSE
FALSE
Abilitazione
azionamento
DIR_P
INPUT
BOOL
4.2
TRUE/FALSE
FALSE
Ricerca del punto di
zero in direzione +
(fronte di salita)
DIR_M
INPUT
BOOL
4.3
TRUE/FALSE
FALSE
Ricerca del punto di
zero in direzione (fronte di salita)
MODE_IN
INPUT
INT
6
0, 1, 3, 4, 5
1
Modo di
funzionamento, 3 =
"Ricerca del punto di
zero"
WORKING
OUTPUT
BOOL
14.0
TRUE/FALSE
FALSE
Corsa in atto
SYNC
OUTPUT
BOOL
14.3
TRUE/FALSE
FALSE
SYNC = TRUE: asse
sincronizzato
ACT_POS
OUTPUT
DINT
16
0
Attuale quota reale
della posizione
0
Modo di
funzionamento
attivo/impostato
Da -5x10
+5x10
MODE_OUT
28-18
OUTPUT
INT
20
8
8
a
impulsi
0, 1, 3, 4, 5
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
Parametri per il modo di funzionamento "Spostamento incrementale relativo"
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
DRV_EN
INPUT
BOOL
4.0
TRUE/FALSE
FALSE
Abilitazione
azionamento
DIR_P
INPUT
BOOL
4.2
TRUE/FALSE
FALSE
Corsa in direzione +
(fronte di salita)
DIR_M
INPUT
BOOL
4.3
TRUE/FALSE
FALSE
Corsa in direzione (fronte di salita)
MODE_IN
INPUT
INT
6
0, 1, 3, 4, 5
1
Modo di
funzionamento, 4 =
spostamento
incrementale relativo
TARGET
INPUT
DINT
8
1000
Percorso in impulsi
(sono ammessi solo
valori positivi)
Da 0 a 10
9
impulsi
WORKING
OUTPUT
BOOL
14.0
TRUE/FALSE
FALSE
Corsa in atto
POS_RCD
OUTPUT
BOOL
14.1
TRUE/FALSE
FALSE
Posizione raggiunta
ACT_POS
OUTPUT
DINT
16
0
Attuale quota reale
della posizione
0
Modo di
funzionamento
attivo/impostato
Da -5x10
+5x10
MODE_OUT
OUTPUT
INT
20
8
8
a
impulsi
0, 1, 3, 4, 5
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
28-19
SFB per CPU compatte
Parametri per il modo di funzionamento "Spostamento incrementale assoluto"
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
DRV_EN
INPUT
BOOL
4.0
TRUE/FALSE
FALSE
Abilitazione
azionamento
START
INPUT
BOOL
4.1
TRUE/FALSE
FALSE
Avvio corsa (fronte di
salita)
DIR_P
INPUT
BOOL
4.2
TRUE/FALSE
FALSE
Corsa in direzione +
(fronte di salita)
DIR_M
INPUT
BOOL
4.3
TRUE/FALSE
FALSE
Corsa in direzione (fronte di salita)
MODE_IN
INPUT
INT
6
0, 1, 3, 4, 5
1
Modo di
funzionamento, 5 =
spostamento
incrementale assoluto
TARGET
INPUT
DINT
8
Asse lineare:
1000
Traguardo in impulsi
da -5x10
+5x10
8
a
8
Asse rotante:
da 0 a fine asse
rotante -1
WORKING
OUTPUT
POS_RCD
ACT_POS
BOOL
14.0
TRUE/FALSE
FALSE
Corsa in atto
OUTPUT
BOOL
14.1
TRUE/FALSE
FALSE
Posizione raggiunta
OUTPUT
DINT
16
0
Attuale quota reale
della posizione
0
Modo di
funzionamento
attivo/impostato
Da -5x10
+5x10
MODE_OUT
28-20
OUTPUT
INT
20
8
8
a
impulsi
0, 1, 3, 4, 5
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
Parametri per il job "Imposta punto di zero"
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
SYNC
OUTPUT
14.3
TRUE/FALSE
FALSE
Asse sincronizzato
BOOL
Parametri non collegati al blocco (dati locali statici):
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
JOB_REQ
STATIC
BOOL
66.0
TRUE/FALSE
FALSE
Avvio del job (fronte di
salita)
JOB_DONE
STATIC
BOOL
66.1
TRUE/FALSE
TRUE
Il nuovo job può
essere avviato
JOB_ERR
STATIC
BOOL
66.2
TRUE/FALSE
FALSE
Job errato
JOB_ID
STATIC
INT
68
1, 2
0
Job, 1 = "Imposta
punto di zero"
JOB_STAT
STATIC
WORD
70
Da W#16#0000
a W#16#FFFF
W#16#0000
Numero di errore nel
job
JOB_VAL
STATIC
DINT
72
0
Parametri del job,
coordinate del punto di
zero
Da -5x10
+5x10
8
8
a
impulsi
Parametri per il job "Cancella percorso restante"
Parametri non collegati al blocco (dati locali statici):
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
JOB_REQ
STATIC
BOOL
66.0
TRUE/FALSE
FALSE
Avvio del job (fronte di
salita)
JOB_DONE
STATIC
BOOL
66.1
TRUE/FALSE
TRUE
Il nuovo job può
essere avviato
JOB_ERR
STATIC
BOOL
66.2
TRUE/FALSE
FALSE
Job errato
JOB_ID
STATIC
INT
68
1, 2
0
Job, 2 = "Cancella
percorso restante"
JOB_STAT
STATIC
WORD
70
Da 0 a FFFF
esadecimale
0
Numero di errore nel
job
JOB_VAL
STATIC
DINT
72
-
0
Nessuna
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
28-21
SFB per CPU compatte
Parametri per la funzione "Misura lunghezza"
Questa funzione viene avviata da un fronte dell'ingresso digitale. Non vi sono parametri di
ingresso specifici.
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
MSR_DONE
OUTPUT
14.2
TRUE/FALSE
FALSE
Misura della lunghezza
conclusa
Preassegnazione
Descrizione
0
Quota reale della
posizione di inizio della
misura della lunghezza
0
Quota reale della
posizione di fine della
misura lunghezza
0
Lunghezza misurata
BOOL
Parametri non collegati al blocco (dati locali statici):
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
BEG_VAL
STATIC
54
DINT
Campo di
valori
Da -5x10
+5x10
END_VAL
STATIC
DINT
58
28-22
STATIC
DINT
62
8
a
impulsi
Da -5x10
+5x10
LEN_VAL
8
8
8
a
impulsi
Da 0 a 10
impulsi
9
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
Informazioni sugli errori
Errori del modo di funzionamento (ERROR = TRUE)
Al riconoscimento di questi errori, il parametro di uscita ERROR viene impostato su TRUE.
La causa dell'errore viene visualizzata nel parametro STATUS.
Codice di
errore classe
evento
Spiegazione
W#16#2001
SFB scorretto, utilizzare l'SFB 46
W#16#2004
Numero di canale scorretto (CHANNEL). Impostare "0" come numero di canale
W#16#3001
Il job di corsa non è stato accettato poiché il job nello stesso richiamo SFB è errato.
Correggere i parametri del job corrispondente
W#16#3002
Non è consentito modificare MODE_IN mentre l'azionamento è ancora in funzione. Attendere
la fine del posizionamento in corso.
W#16#3003
Modo di funzionamento sconosciuto (MODE_IN). Sono consentiti 1 (a impulsi), 3 (ricerca del
punto di zero), 4 (spostamento incrementale relativo) e 5 (spostamento incrementale
assoluto).
W#16#3004
È consentito impostare sempre solo una richiesta di avvio per volta. Le richieste di avvio
consentite sono DIR_P o DIR_M o START
W#16#3005
Il job START è consentito solo con il modo di funzionamento "Spostamento incrementale
assoluto". Avviare la corsa con DIR_P o DIR_M.
W#16#3006
DIR_P o DIR_M con asse lineare e modo di funzionamento "Spostamento incrementale
assoluto" non consentiti. Avviare la corsa con START.
W#16#3007
Asse non sincronizzato. "Spostamento incrementale assoluto" possibile solo con asse
sincronizzato.
W#16#3008
Uscire dal campo di lavoro. La corsa è consentita all'indietro solo a impulsi in direzione del
campo di lavoro.
W#16#3101
Avvio non abilitato poiché l'asse non è stato parametrizzato. Parametrizzare il sotto-modulo
"Posizionamento" nella "Configurazione HW".
W#16#3102
Avvio non abilitato poiché manca l'abilitazione dell'azionamento. Impostare l'"Abilitazione
azionamento" nell'SFB (DRV_EN=TRUE).
W#16#3103
Avvio non abilitato poiché è impostato lo STOP. Cancellare lo STOP nell'SFB
(STOP=FALSE).
W#16#3104
Avvio non abilitato poiché l'asse è momentaneamente in posizione (WORKING=TRUE).
Attendere la fine del posizionamento in corso.
W#16#3105
Avvio non abilitato poiché è ancora presente almeno un errore esterno non confermato.
Eliminare e confermare prima tutti gli errori esterni e quindi riavviare la corsa.
W#16#3201
La preassegnazione della velocità SPEED è scorretta. Il posizionamento con uscite digitali
consente soltanto la "Marcia lenta" (0) e la "Marcia veloce" (1).
W#16#3301
Differenza di commutazione/disinserzione eccessiva. Predefinire la differenza di
commutazione/disinserzione max uguale a 10
8
W#16#3303
Differenza di commutazione insufficiente. La differenza di commutazione deve essere
maggiore/uguale alla differenza di disinserzione.
W#16#3304
Differenza di disinserzione insufficiente. La differenza di disinserzione deve essere almeno
uguale a metà della zona del traguardo.
W#16#3401
Preassegnazione del traguardo non compresa nel campo di lavoro. Con un asse lineare e
uno spostamento incrementale assoluto, la preassegnazione del traguardo deve essere
compresa nel finecorsa software (incluso).
W#16#3402
Preassegnazione del traguardo scorretta. Con un asse rotante, la preassegnazione del
traguardo deve essere maggiore di 0 e minore della fine dell'asse rotante.
W#16#3403
Indicazione scorretta del percorso. Con lo spostamento incrementale relativo, il tragitto da
percorrere deve essere positivo.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
28-23
SFB per CPU compatte
Codice di
errore classe
evento
Spiegazione
W#16#3404
Indicazione scorretta del percorso. Le coordinate assolute risultanti del traguardo devono
8
essere maggiori di -5x10 .
W#16#3405
Indicazione scorretta del percorso. Le coordinate assolute risultanti del traguardo devono
8
essere minori di 5x10 .
W#16#3406
W#16#3501
Indicazione scorretta del percorso. Le coordinate assolute risultanti del traguardo devono
essere comprese nel campo di lavoro (+/- metà zona del traguardo)
Campo corsa eccessivo. Coordinate traguardo + attuale percorso restante devono essere
maggiori/uguali a -5x10
W#16#3502
8
Campo corsa eccessivo. Coordinate traguardo + attuale percorso restante devono essere
minori/uguali a 5x10
8
W#16#3503
Campo corsa insufficiente. La corsa in direzione + deve essere maggiore della differenza di
disinserzione indicata per la direzione +
W#16#3504
Campo corsa insufficiente. La corsa in direzione - deve essere maggiore della differenza di
disinserzione indicata per la direzione -
W#16#3505
Campo corsa insufficiente o finecorsa già superato in direzione +. L'ultimo traguardo
raggiungibile in direzione + (campo di lavoro o limite del campo corsa) è troppo vicino alla
posizione attuale
W#16#3506
Campo corsa insufficiente o finecorsa già superato in direzione -. L'ultimo traguardo
raggiungibile in direzione - (campo di lavoro o limite del campo corsa) è troppo vicino alla
posizione attuale
28-24
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
Errori nei job (JOB_ERR = TRUE)
Al riconoscimento di questi errori, il parametro di uscita JOB_ERR viene impostato su TRUE.
La causa dell'errore viene visualizzata nel parametro JOB_STAT
Codice di
errore classe
evento
Spiegazione
W#16#4001
W#16#4102
Asse non parametrizzato. Parametrizzare il sotto-modulo "Posizionamento" nella
"Configurazione HW".
Job impossibile poiché vi è ancora un posizionamento in corso. I job sono eseguibili solo
quando non vi sono posizionamenti in corso. Attendere finché WORKING diventa = FALSE,
quindi ripetere il job.
Job sconosciuto. Controllarne il numero e quindi ripetere il job.
Con un asse lineare, le coordinate del punto di zero indicate non devono trovarsi fuori dei
limiti del campo di lavoro.
Con un asse lineare, le coordinate del punto di zero indicate + attuale percorso restante
W#16#4103
devono essere ancora maggiori/uguali a -5x10 .
Con un asse lineare, le coordinate del punto di zero indicate + attuale percorso restante
W#16#4104
devono essere ancora minori/uguali a 5x10 .
Con un asse lineare, le coordinate del punto di zero indicate + attuale differenza rispetto al
W#16#4105
punto di avvio della corsa devono essere ancora maggiori/uguali a -5x10 .
Con un asse lineare, le coordinate del punto di zero indicate + attuale differenza rispetto al
W#16#4002
W#16#4004
W#16#4101
8
8
8
8
W#16#4106
punto di avvio della corsa devono essere ancora minori/uguali a 5x10 .
Con un asse rotante, le coordinate del punto di zero non devono essere minore di 0 e
maggiori/uguali alla fine dell'asse rotante.
Errori esterni (ERR)
La funzione controlla la corsa, il campo della corsa e la periferia collegata, a condizione che
l'utente abbia prima attivato questi controlli nelle maschere di parametrizzazione
"Azionamento", "Asse" e "Encoder".
Quando i controlli reagiscono, viene segnalato un errore esterno. Si possono verificare errori
esterni in qualsiasi momento, a prescindere dalle funzioni avviate. Gli errori esterni vanno
sempre confermati con ERR_A = TRUE.
Gli errori esterni vengono visualizzati nel paramtero dell'SFB ERR (WORD) con
l'impostazione di un bit.
Controllo
Codice errore
Bit in ERR-WORD
Impulsi errati (tacca di zero)
Campo corsa
Campo di lavoro
Quota reale
Approssimazione al traguardo
Zona del traguardo
W#16#0004
W#16#0800
W#16#1000
W#16#2000
W#16#4000
W#16#8000
2
11
12
13
14
15
Errori di sistema
Un errore di sistema viene visualizzato con BIE = FALSE. Un errore di sistema viene
causato da un errore di scrittura/lettura del DB di istanza o dal richiamo multiplo dell'SFB.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
28-25
SFB per CPU compatte
28.3
Comando del contatore con l'SFB 47 "COUNT"
Descrizione
Per il comando del contatore dal programma utente utilizzare l'SFB COUNT (SFB47).
Sono disponibili le seguenti funzioni:
•
Avvio/arresto del contatore con il gate software SW_GATE
•
Abilitazione/comando dell'uscita DO
•
Lettura dei bit di stato STS_CMP, STS_OFLW, STS_UFLW e STS_ZP
•
Lettura dello stato attuale del contatore COUNTVAL
•
Job di lettura e scrittura dei registri interni del contatore
Parametri
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
LADDR
INPUT
0
Specifico della
CPU
W#16#0300
Indirizzo E/A del
proprio sotto-modulo,
definito dall'utente in
"Configurazione HW".
WORD
Se gli indirizzi E e A
non sono uguali,
indicare il più piccolo
dei due.
CHANNEL
INPUT
INT
2
CPU 312C:
da 0 a 1
CPU 313C:
da 0 a 2
CPU 314C:
da 0 a 3
0
Numero di canale
SW_GATE
INPUT
BOOL
4.0
TRUE/FALSE
FALSE
Gate software per
avvio/arresto del
contatore
CTRL_DO
INPUT
BOOL
4.1
TRUE/FALSE
FALSE
Abilitazione uscita
SET_DO
INPUT
BOOL
4.2
TRUE/FALSE
FALSE
Comando uscita
JOB_REQ
INPUT
BOOL
4.3
TRUE/FALSE
FALSE
Avvio del job (fronte di
salita)
28-26
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
JOB_ID
INPUT
6
W#16#0000
Job senza
funzione
W#16#0000
Numero job
0
Valore per job in
scrittura.
WORD
W#16#0001
Scrivi valore di
conteggio
W#16#0002
Scrivi valore di
caricamento
W#16#0004
Scrivi valore di
confronto
W#16#0008
Scrivi isteresi
W#16#0010
Scrivi durata
impulso
W#16#0082
Leggi valore di
caricamento
W#16#0084
Leggi valore di
confronto
W#16#0088
Leggi isteresi
W#16#0090
Leggi durata
impulso
JOB_VAL
INPUT
DINT
8
Da -2
+2
31
31
a
-1
STS_GATE
OUTPUT
BOOL
12.0
TRUE/FALSE
FALSE
Stato gate interno
STS_STRT
OUTPUT
BOOL
12.1
TRUE/FALSE
FALSE
Stato gate hardware
(ingresso avvio)
STS_LTCH
OUTPUT
BOOL
12.2
TRUE/FALSE
FALSE
Stato ingresso latch
STS_DO
OUTPUT
BOOL
12.3
TRUE/FALSE
FALSE
Stato uscita
STS_C_DN
OUTPUT
BOOL
12.4
TRUE/FALSE
FALSE
Stato direzione
all'indietro.
Viene sempre
visualizzata l'ultima
direzione di conteggio.
Dopo il primo richiamo
dell'SFB, STS_C_DN
ha il valore FALSE.
STS_C_UP
OUTPUT
BOOL
12.5
TRUE/FALSE
FALSE
Stato direzione in
avanti
Viene sempre
visualizzata l'ultima
direzione di conteggio.
Dopo il primo richiamo
dell'SFB, STS_C_UP
ha il valore TRUE
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
28-27
SFB per CPU compatte
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
COUNTVAL
OUTPUT
14
DINT
Campo di
valori
Da -2
+2
LATCHVAL
OUTPUT
DINT
18
31
+2
a
Descrizione
0
Valore attuale di
conteggio
0
Valore attuale latch
-1
Da -2
31
31
Preassegnazione
31
a
-1
JOB_DONE
OUTPUT
BOOL
22.0
TRUE/FALSE
TRUE
Il nuovo job può
essere avviato
JOB_ERR
OUTPUT
BOOL
22.1
TRUE/FALSE
FALSE
Job errato
JOB_STAT
OUTPUT
WORD
24
Da 0 a
W#16#FFFF
0
Numero di errore nel
job
Avvertenza
Se nella superficie di parametrizzazione è stato impostato il parametro "Comportamento
dell'uscita" su "Senza valore di confronto", vale quanto segue:
•
l'uscita viene attivata come un'uscita normale
•
i parametri di ingresso dell'SFB CTRL_DO e SET_DO non sono attivi
i bit di stato STS_DO e STS_CMP (stato del comparatore nell'IDB) rimangono resettati.
•
Parametri non collegati al blocco (dati locali statici):
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegna_
zione
Descrizione
STS_CMP
STATIC
BOOL
26.3
TRUE/FALSE
FALSE
STS_OFLW
STATIC
BOOL
26.5
TRUE/FALSE
FALSE
STS_UFLW
STATIC
BOOL
26.6
TRUE/FALSE
FALSE
Stato comparatore.
Viene resettato con
RES_STS.
Il bit di stato
STS_CMP indica che
la condizione di
confronto del
comparatore è o era
soddisfatta.
STS_CMP mostra
inoltre che l'uscita era
impostata (STS_DO =
TRUE)
Stato di overflow
Viene resettato con
RES_STS.
Stato di underflow
Viene resettato con
RES_STS.
28-28
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegna_
zione
Descrizione
STS_ZP
STATIC
BOOL
26.7
TRUE/FALSE
FALSE
JOB_OVAL
STATIC
DINT
28
Stato passaggio per lo
zero
Viene resettato con
RES_STS.
Viene impostato solo
per i conteggi senza
direzione principale di
conteggio.
Mostra il passaggio
per lo zero. Viene
impostato anche
quando si imposta il
contatore a 0 o quando
il contatore conta a
partire dal valore di
caricamento=0.
Valore di uscita per job
di lettura.
Da -2
31
a
0
31
RES_STS
STATIC
BOOL
32.2
+2 -1
TRUE/FALSE
FALSE
Resettaggio bit di
stato.
Resetta i bit di stato
STS_CMP,
STS_OFLW,
STS_UFLW e
STS_ZP.
Per il resettaggio dei
bit di stato sono
necessari due richiami
dell'SFB.
Avvertenza
Ulteriori particolari sull'applicazione dell'SFB 47 sono contenute nel manuale Sistemi di
automazione S7-300 CPU 31xC, Funzioni tecnologiche.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
28-29
SFB per CPU compatte
Informazioni di errore
Errori nei job
Quando si verifica un errore di job, viene impostato JOB_ERR = TRUE. La causa esatta
dell'errore viene visualizzata in JOB_STAT.
Codice di
errore classe
evento
Spiegazione
W#16#0121
Valore di confronto troppo piccolo.
W#16#0122
Valore di confronto troppo grande.
W#16#0131
Isteresi troppo piccola.
W#16#0132
Isteresi troppo grande.
W#16#0141
Durata impulso troppo piccole.
W#16#0142
Durata impulso troppo grande.
W#16#0151
Valore di caricamento troppo piccolo.
W#16#0152
Valore di caricamento troppo grande.
W#16#0161
Stato del conteggio troppo piccolo.
W#16#0162
Stato del conteggio troppo grande.
W#16#01FF
Numero job non valido.
Errori di sistema
Quando si verifica un errore di sistema, viene impostato il BIE = False.
Codice di
errore classe
evento
Spiegazione
W#16#8001
Modo di funzionamento scorretto o errore di parametrizzazione. Impostare il modo di
funzionamento corretto nella "Configurazione HW" oppure utilizzare l'SFB adeguato al modo
di funzionamento impostato
W#16#8009
Numero di canale non valido. Impostare un numero di canale ≤ 3 (valore specifico della CPU).
28-30
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
28.4
Comando della misurazione della frequenza con l'SFB 48
"FREQUENC"
Descrizione
Il misuratore di frequenza può essere comandato dal programma utente utilizzando l'SFB
FREQUENC (SFB48).
Sono disponibili le seguenti funzioni:
•
Avvio/arresto con il gate software SW_GATE
•
Abilitazione/comando dell'uscita DO
•
Lettura dei bit di stato STS_CMP, STS_OFLW e STS_UFLW
•
Lettura del valore attuale della frequenza MEAS_VAL
•
Job di lettura e scrittura dei registri interni della misurazione di frequenza
Parametri
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
LADDR
INPUT
0
Specifico della
CPU
W#16#0300
Indirizzo E/A del
proprio sotto-modulo,
definito dall'utente in
"Configurazione HW".
WORD
Se gli indirizzi E e A
non sono uguali,
indicare il più piccolo
dei due.
CHANNEL
INPUT
INT
2
CPU 312C:
da 0 a 1
CPU 313C:
da 0 a 2
CPU 314C:
da 0 a 3
0
Numero di canale
SW_GATE
INPUT
BOOL
4.0
TRUE/FALSE
FALSE
Gate software per
l'avvio/arresto della
misurazione di
frequenza
MAN_DO
INPUT
BOOL
4.1
TRUE/FALSE
FALSE
Abilitazione comando
manuale dell'uscita
SET_DO
INPUT
BOOL
4.2
TRUE/FALSE
FALSE
Comando uscita
JOB_REQ
INPUT
BOOL
4.3
TRUE/FALSE
FALSE
Avvio del job (fronte di
salita)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
28-31
SFB per CPU compatte
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
JOB_ID
INPUT
6
W#16#0000 =
Job senza
funzione
0
Numero job
0
Valore per job in
scrittura
WORD
W#16#0001 =
Scrivi limite
inferiore
W#16#0002 =
Scrivi limite
superiore
W#16#0004 =
Scrivi tempo di
integrazione
W#16#0081 =
Leggi limite
inferiore
W#16#0082 =
Leggi limite
superiore
W#16#0084 =
Leggi tempo di
integrazione
JOB_VAL
INPUT
DINT
8
Da -2
+2
31
31
a
-1
STS_GATE
OUTPUT
BOOL
12.0
TRUE/FALSE
FALSE
Stato gate interno
STS_STRT
OUTPUT
BOOL
12.1
TRUE/FALSE
FALSE
Stato gate hardware
(ingresso avvio)
STS_DO
OUTPUT
BOOL
12.2
TRUE/FALSE
FALSE
Stato uscita
STS_C_DN
OUTPUT
BOOL
12.3
TRUE/FALSE
FALSE
Stato direzione
all'indietro
Viene sempre
visualizzata l'ultima
direzione di conteggio.
Dopo il primo richiamo
dell'SFB, STS_C_DN
ha il valore FALSE.
STS_C_UP
OUTPUT
BOOL
12.4
TRUE/FALSE
FALSE
Stato direzione in
avanti
Viene sempre
visualizzata l'ultima
direzione di conteggio.
Dopo il primo richiamo
dell'SFB, STS_C_UP
ha il valore TRUE.
MEAS_VAL
OUTPUT
DINT
14
Da 0 a
+2
COUNTVAL
OUTPUT
DINT
18
28-32
OUTPUT
BOOL
22.0
31
0
Valore attuale della
frequenza
0
Valore attuale di
conteggio (si avvia ad
ogni apertura del gate
con segnale 0)
TRUE
Il nuovo job può
essere avviato
-1
Da -2
+2
JOB_DONE
31
31
a
-1
TRUE/FALSE
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
JOB_ERR
OUTPUT
BOOL
22.1
TRUE/FALSE
FALSE
Job errato
JOB_STAT
OUTPUT
WORD
24
Da
W#16#0000 a
W#16#FFFF
W#16#0000
Numero di errore nel
job
Avvertenza
Se il parametro "Comportamento dell'uscita" nella superficie di parametrizzazione è stato
impostato su "Senza valore di confronto", vale quanto segue:
•
l'uscita viene attivata come unùscita normale;
•
i parametri d'ingresso SFB CTRL_DO e SET_DO sono disattivati;
•
il bit di stato STS_DO rimane resettato.
Parametri non collegati al blocco (dati locali statici):
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
STS_CMP
STATIC
26.3
TRUE/FALSE
FALSE
Stato fine della
misurazione
Viene resettato con
RES_STS.
BOOL
Trascorso un intervallo
di tempo, il valore di
misura viene sempre
aggiornato. La fine
della misurazione
viene sempre
segnalata con il bit di
stato STS_CMP
STS_OFLW
STATIC
BOOL
26.5
TRUE/FALSE
FALSE
Stato di overflow
Viene resettato con
RES_STS.
STS_UFLW
STATIC
BOOL
26.6
TRUE/FALSE
FALSE
Stato di underflow
Viene resettato con
RES_STS.
JOB_OVAL
STATIC
DINT
28
0
Valore di uscita per job
di lettura
FALSE
Resettaggio bit di
stato.
Da -2
2
RES_STS
STATIC
BOOL
32.2
31
31
a
-1
TRUE/FALSE
Resetta i bit di stato
STS_CMP,
STS_OFLW e
STS_UFLW.
Per il resettaggio dei
bit di stato sono
necessari due richiami
dell'SFB.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
28-33
SFB per CPU compatte
Avvertenza
Ulteriori particolari sull'applicazione dell'SFB 48 sono contenute nel manuale Sistemi di
automazione S7-300 CPU 31xC, Funzioni tecnologiche.
Errori nei job
Quando si verifica un errore di job, viene impostato JOB_ERR = TRUE. La causa esatta
dell'errore viene visualizzata in JOB_STAT.
Codice di
errore classe
evento
Spiegazione
W#16#0221
Tempo di integrazione insufficiente.
W#16#0222
Tempo di integrazione eccessivo.
W#16#0231
Limite inferiore della frequenza troppo piccolo.
W#16#0232
Limite inferiore della frequenza troppo grande.
W#16#0241
Limite superiore della frequenza troppo piccolo.
W#16#0242
Limite superiore della frequenza troppo grande.
W#16#02FF
Numero job non valido.
Errori di sistema
Quando si verifica un errore di sistema, viene impostato il BIE = False.
Codice di
errore classe
evento
Spiegazione
W#16#8001
Modo di funzionamento scorretto o errore di parametrizzazione. Impostare il modo di
funzionamento corretto nella "Configurazione HW" oppure utilizzare l'SFB adeguato al modo di
funzionamento impostato
W#16#8009
Numero di canale non valido. Impostare un numero di canale ≤ 3 (valore specifico della CPU).
28-34
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
28.5
Comando della modulazione dell'ampiezza degli impulsi
con l'SFB 49 "PULSE"
Descrizione
Per il comando della modulazione di ampiezza degli impulsi dal programma utente utilizzare
l'SFB PULSE (SFB 49).
Sono disponibili le seguenti funzioni:
•
Avvio/arresto con il gate software SW_EN
•
Abilitazione/comando dell'uscita DO
•
Lettura dei bit di stato STS_EN, STS_STRT e STS_DO
•
Immissione del valore di uscita
•
Job di lettura e scrittura dei registri
Parametri
Parametri
Dichiarazione
Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
LADDR
INPUT
WORD
0
Specifico della
CPU
W#16#0300
Indirizzo E/A del
proprio sotto-modulo,
definito dall'utente in
"Configurazione HW".
Se gli indirizzi E e A
non sono uguali,
indicare il più piccolo
dei due.
CHANNEL
INPUT
INT
2
CPU 312C:
da 0 a 1
CPU 313C:
da 0 a 2
CPU 314C:
da 0 a 3
0
Numero di canale
SW_EN
INPUT
BOOL
4.0
TRUE/FALSE
FALSE
Gate software per
l'avvio/arresto
dell'uscita
MAN_DO
INPUT
BOOL
4.1
TRUE/FALSE
FALSE
Abilitazione comando
manuale dell'uscita
SET_DO
INPUT
BOOL
4.2
TRUE/FALSE
FALSE
Comando uscita
OUTP_VA
L
INPUT
INT
6.0
Per mille:
da 0 a 1000
0
Standard del valore di
uscita
Uscita
analogica S7:
da 0 a 27648
JOB_REQ
INPUT
BOOL
8.0
TRUE/FALSE
Definendo un valore di
uscita > 1 000 o
27648, la CPU lo
limiterà a 1 000 o
27648
FALSE
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Avvio del job (fronte di
salita)
28-35
SFB per CPU compatte
Parametri
Dichiarazione
Tipo di
dati
Indirizzo
(DB di
istanza)
Campo di
valori
Preassegnazione
Descrizione
JOB_ID
INPUT
WORD
10
W#16#0000 =
Job senza
funzione
W#16#0000
Numero job
0
Valore per job in
scrittura.
W#16#0001 =
Scrivi durata
periodo
W#16#0002 =
Scrivi ritardo di
inserzione
W#16#0004 =
Scrivi durata
minima
impulso
W#16#0081 =
Leggi durata
periodo
W#16#0082 =
Leggi ritardo di
inserzione
W#16#0084 =
Leggi durata
minima
impulso
JOB_VAL
INPUT
DINT
12
Da -2
+2
STS_EN
31
31
a
-1
OUTPUT
BOOL
16.0
TRUE/FALSE
FALSE
Stato abilitazione
STS_STRT OUTPUT
BOOL
16.1
TRUE/FALSE
FALSE
Stato gate hardware
(ingresso avvio)
STS_DO
OUTPUT
BOOL
16.2
TRUE/FALSE
FALSE
Stato uscita
JOB_DON
E
OUTPUT
BOOL
16.3
TRUE/FALSE
TRUE
Il nuovo job può
essere avviato
JOB_ERR
OUTPUT
BOOL
16.4
TRUE/FALSE
FALSE
Job errato
JOB_STA
T
OUTPUT
WORD
18
Da
W#16#0000 a
W#16#FFFF
W#16#0000
Numero di errore nel
job
Parametri non collegati al blocco (dati locali statici):
Parametri
Dichiarazione Tipo di
dati
Indirizzo
(DB di
istanza)
JOB_OVAL
OUTPUT
20
DINT
Campo di
valori
Da -2
2
31
31
a
Preassegnazion
e
Descrizione
0
Valore di uscita per job
di lettura
-1
Avvertenza
Ulteriori particolari sull'applicazione dell'SFB 49 sono contenute nel manuale Sistemi di
automazione S7-300 CPU 31xC, Funzioni tecnologiche.
28-36
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
Errori nei job
Quando si verifica un errore di job, viene impostato JOB_ERR = TRUE. La causa esatta
dell'errore viene visualizzata in JOB_STAT.
Codice di
errore classe
evento
Spiegazione
W#16#0411
Durata periodo troppo breve.
W#16#0412
Durata periodo troppo lunga.
W#16#0421
Ritardo di inserzione troppo piccolo.
W#16#0422
Ritardo di inserzione troppo grande.
W#16#0431
Durata minima impulso troppo breve.
W#16#0432
Durata minima impulso troppo lunga.
W#16#04FF
Numero job non valido.
Errori di sistema
Quando si verifica un errore di sistema, viene impostato il BIE = False.
Codice di
errore classe
evento
Spiegazione
W#16#8001
Modo di funzionamento scorretto o errore di parametrizzazione. Impostare il modo di
funzionamento corretto nella "Configurazione HW" oppure utilizzare l'SFB adeguato al modo di
funzionamento impostato
W#16#8009
Numero di canale non valido. Impostare un numero di canale ≤ 3 (valore specifico della CPU).
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
28-37
SFB per CPU compatte
28.6
Invio di dati (ASCII, 3964(R)) con l'SFB 60 "SEND_PTP"
Descrizione
Con l'SFB SEND_PTP (SFB 60) si invia un blocco di dati da un DB.
L'operazione di invio si attiva dopo il richiamo del blocco e un fronte di salita all'ingresso di
comando REQ.
L'area dei dati da inviare è predefinita da SD_1 (numero di DB e indirizzo iniziale), la
lunghezza del blocco dati da LEN.
Perché l'SFB possa elaborare il job, l'utente deve richiamare quest'ultimo con
R(Reset)=FALSE. Con un fronte di salita all'ingresso di comando R, l'operazione di invio in
corso viene interrotta e l'SFB viene riportato allo stato di base. I job interrotti si concludono
con un messaggio di errore (uscita STATUS).
LADDR consente di indicare l'indirizzo E/A del sotto-modulo definito dall'utente nella
"Configurazione HW".
O DONE viene impostato su TRUE, se il job si è concluso senza errori, oppure viene
impostato ERROR su TRUE, se il job si è concluso con errori.
Se il job è stato eseguito con DONE=TRUE, significa che:
•
Con l'impiego del driver ASCII: i dati sono stati inviati al partner della comunicazione.
Non è sicuro che i dati siano anche stati ricevuti dal partner della comunicazione.
•
Con l'impiego della procedura 3964(R): i dati sono stati inviati al partner della
comunicazione e confermati positivamente da questo. Non è sicuro che i dati siano
anche stati trasmessi alla CPU partner.
In caso di errore o di avviso, la CPU mostra in STATUS il numero dell'evento
corrispondente.
DONE ed ERROR/STATUS vengono visualizzati anche in caso di RESET dell'SFB
(R=TRUE).
Quando si verifica un errore, viene resettato il risultato binario BIE. Se il blocco si conclude
senza errori, il risultato binario ha lo stato TRUE.
Nota
L'SFB non ha controllo dei parametri: in caso di errori di parametrizzazione, la CPU può
entrare in stato di STOP.
DB di istanza
L'SFB SEND_PTP opera in combinazione con un DB di istanza. Il numero di DB viene
indicato al momento del richiamo. L'accesso ai dati del DB di istanza non è consentito.
28-38
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
Parametri
Parametri
Dichiarazione Tipo di
dati
Campo di
valori
Preassegnazione
REQ
INPUT
BOOL
TRUE/FALSE FALSE
Parametro di comando "Request":
attiva lo scambio di dati con fronte di
salita.
R
INPUT
BOOL
TRUE/FALSE FALSE
Parametro di comando "Reset". Il job
viene interrotto. L'invio è inibito.
LADDR
INPUT
WORD
Specifico
della CPU
Indirizzo E/A del sotto-modulo
definito dall'utente nella
"Configurazione HW".
DONE
OUTPUT
BOOL
TRUE/FALSE FALSE
W#16#03FF
Descrizione
Parametro di stato (il parametro è
impostato solo per la durata di un
richiamo):
FALSE: job non ancora avviato o
ancora in esecuzione.
TRUE: job concluso senza errori.
ERROR
OUTPUT
BOOL
TRUE/FALSE FALSE
Parametro di stato (il parametro è
impostato solo per la durata di un
richiamo):
job eseguito con errori
STATUS
OUTPUT
WORD
Da
W#16#0000
W#16#0000 a
W#16#FFFF
Parametro di stato (il parametro è
impostato solo per la durata di un
richiamo. Per visualizzare lo stato,
occorre pertanto copiare il parametro
STATUS in un'area dati libera)
A seconda del bit ERROR, STATUS
ha il seguente significato:
ERROR=FALSE:
STATUS ha il valore W#16#0000: né
avviso né errore
STATUS ha il valore<> W#16#0000:
avviso, STATUS fornisce
informazioni dettagliate.
ERROR=TRUE:
si è verificato un errore, STATUS
fornisce informazioni dettagliate sul
tipo di errore.
SD_1
INPUT/
OUTPUT
ANY
Specifico
della CPU
0
Parametro di invio:
Indicare qui i seguenti valori:
•
Numero del DB dal quale inviare
i dati.
•
Numero dei byte di dati a partire
dal quale inviare i dati.
P. es.: DB 10 da byte 2 ->
DB10.DBB2
LEN
INPUT/
OUTPUT
INT
Da 1 a 1024
1
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
Indicare qui la lunghezza in byte del
blocco dati da inviare. (La lunghezza
viene indicata indirettamente.)
28-39
SFB per CPU compatte
Coerenza dei dati
La coerenza dei dati è limitata a 206 byte. Per una trasmissione coerente dei dati con oltre
206 byte, osservare quanto segue.
Scrivere nuovamente l'area di invio SD_1 attualmente utilizzata solo quando l'operazione di
invio si è conclusa. Ciò vale quando il parametro di stato DONE assume il valore TRUE.
28-40
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
28.7
Ricezione di dati (ASCII, 3964(R)) con l'SFB 61 "RCV_PTP"
Descrizione
L'SFB RCV_PTP (SFB 61) permette di ricevere dati memorizzandoli in un blocco dati.
Dopo il richiamo, il blocco è pronto per la ricezione con il valore TRUE nell'uscita di comando
EN_R. Una trasmissione in corso può essere interrotta con lo stato di segnale FALSE nel
parametro EN_R. I job interrotti si concludono con un messaggio di errore (uscita STATUS).
La ricezione resta disattivata finché il parametro EN_R ha lo stato di segnale FALSE.
L'area di ricezione viene predefinita da RD_1 (numero DB e indirizzo iniziale), la lunghezza
del blocco di dati da LEN.
Perché l'SFB possa elaborare il job, l'utente deve richiamare quest'ultimo con
R(Reset)=FALSE. Con un fronte di salita all'ingresso di comando R, la trasmissione in corso
viene interrotta e l'SFB viene riportato allo stato di base. Un job di ricezione interrotto si
conclude con un messaggio di errore (uscita STATUS).
LADDR consente di indicare l'indirizzo E/A del sotto-modulo definito dall'utente nella
"Configurazione HW".
Viene impostato NDR su TRUE, se il job si è concluso senza errori, oppure ERROR su
TRUE, se il job si è concluso con errori.
In caso di errore o di avviso, la CPU mostra in STATUS il numero dell'evento
corrispondente.
NDR ed ERROR/STATUS vengono visualizzati anche in caso di RESET dell'SFB (R=TRUE)
(parametro LEN == 16#00).
Quando si verifica un errore, viene resettato il risultato binario BIE. Se il blocco si conclude
senza errori, il risultato binario ha lo stato TRUE.
Nota
L'SFB non ha controllo dei parametri: in caso di errori di parametrizzazione, la CPU può
entrare in stato di STOP.
DB di istanza
L'SFB RCV_PTP opera in combinazione con un DB di istanza. Il numero di DB viene
indicato al momento del richiamo. L'accesso ai dati del DB di istanza non è consentito.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
28-41
SFB per CPU compatte
Parametri
Parametri
Dichiarazione Tipo di
dati
Campo di
valori
Preassegnazione
Descrizione
EN_R
INPUT
BOOL
TRUE/FALSE
FALSE
Parametro di comando "Enable to
receive":
ricezione abilitata
R
INPUT
BOOL
TRUE/FALSE
FALSE
Parametro di comando "Reset":
il job viene interrotto.
LADDR
INPUT
WORD
Specifico della
CPU
W#16#03FF
Indirizzo E/A del sotto-modulo
definito dall'utente nella
"Configurazione HW".
NDR
OUTPUT
BOOL
TRUE/FALSE
FALSE
Job concluso senza errori, dati
applicati
•
FALSE: job non ancora avviato o
ancora in corso.
•
TRUE: job concluso senza errori.
ERROR
OUTPUT
BOOL
TRUE/FALSE
FALSE
Parametro di stato (il parametro è
impostato solo per la durata di un
richiamo):
job eseguito con errori
STATUS
OUTPUT
WORD
Da W#16#0000
a W#16#FFFF
W#16#0000
Parametro di stato (il parametro è
impostato solo per la durata di un
richiamo. Per visualizzare lo stato,
occorre pertanto copiare il parametro
STATUS in un'area dati libera)
A seconda del bit ERROR, STATUS
ha il seguente significato:
RD_1
INPUT/
OUTPUT
ANY
Specifico della
CPU
0
•
ERROR=FALSE:
STATUS ha il valore
W#16#0000: né avviso né errore
STATUS ha il valore<>
W#16#0000: avviso, STATUS
fornisce informazioni dettagliate.
•
ERROR=TRUE:
si è verificato un errore, STATUS
fornisce informazioni dettagliate
sul tipo di errore.
Parametri di ricezione:
Indicare qui:
Numero del DB nel quale
memorizzare i dati ricevuti.
Numero di byte di dati a partire dal
quale memorizzare i dati ricevuti
P. es.: DB 20 da byte 5 ->
DB20.DBB5
LEN
28-42
INPUT/
OUTPUT
INT
Da 0 a 1024
0
Emissione della lunghezza dei dati
(numero di byte)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
Coerenza dei dati
La coerenza dei dati è limitata a 206 byte. Per una trasmissione coerente dei dati con oltre
206 byte, osservare quanto segue.
Accedere nuovamente al DB di ricezione solo quando la ricezione dei dati è completa
(NDR = TRUE). Quindi inibire il DB di ricezione (EN_R = FALSE) finché non si sono
elaborati i dati.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
28-43
SFB per CPU compatte
28.8
Cancellazione del buffer ricevente (ASCII, 3964(R)) con
l'SFB 62 "RES_RCVB"
Descrizione
L'SFB RES_RECV (SFB 62) permette di cancellare l'intero buffer ricevente dell'unità. Tutti i
telegrammi memorizzati vengono respinti. Un telegramma in entrata al momento del
richiamo dell'SFB RES_RCVB viene memorizzato.
Il job viene attivato dopo il richiamo del blocco e un fronte di salita nell'ingresso di comando
REQ. Il job può essere eseguito con più richiami (cicli di programma).
Perché l'SFB possa elaborare il job, l'utente deve richiamare quest'ultimo con
R(Reset)=FALSE. Con un fronte di salita all'ingresso di comando R la cancellazione viene
interrotta e l'SFB viene riportato allo stato di base. I job interrotti si concludono con un
messaggio di errore (uscita STATUS).
LADDR consente di indicare l'indirizzo E/A del sotto-modulo definito dall'utente nella
"Configurazione HW".
O DONE viene impostato su TRUE, se il job si è concluso senza errori, oppure viene
impostato ERROR su TRUE, se il job si è concluso con errori.
In caso di errore o di avviso, la CPU mostra in STATUS il numero dell'evento
corrispondente.
DONE ed ERROR/STATUS vengono visualizzati anche in caso di RESET dell'SFB
(R=TRUE).
Quando si verifica un errore, viene resettato il risultato binario BIE. Se il blocco si conclude
senza errori, il risultato binario ha lo stato TRUE.
Nota
L'SFB non ha controllo dei parametri: in caso di errori di parametrizzazione, la CPU può
entrare in stato di STOP.
DB di istanza
L'SFB RES_RCVB opera in combinazione con un DB di istanza. Il numero di DB viene
indicato al momento del richiamo. L'accesso ai dati del DB di istanza non è consentito.
28-44
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
Parametri
Parametri
Dichiarazione Tipo di
dati
Campo di
valori
Preassegnazione
Descrizione
REQ
INPUT
BOOL
TRUE/FALSE
FALSE
Parametro di comando "Request":
attiva il job con fronte di salita
R
INPUT
BOOL
TRUE/FALSE
FALSE
Parametro di comando "Reset":
il job viene interrotto.
LADDR
INPUT
WORD
Specifico della
CPU
W#16#03FF
Indirizzo E/A del sotto-modulo
definito dall'utente nella
"Configurazione HW".
DONE
OUTPUT
BOOL
TRUE/FALSE
FALSE
Parametro di stato (il parametro è
impostato solo per la durata di un
richiamo):
ERROR
OUTPUT
BOOL
TRUE/FALSE
STATUS
OUTPUT
WORD
Da W#16#0000 W#16#0000
a W#16#FFFF
FALSE
•
FALSE: job non ancora avviato o
ancora in esecuzione.
•
TRUE: job concluso senza errori.
Parametro di stato (il parametro è
impostato solo per la durata di un
richiamo):
job eseguito con errori
Parametro di stato (il parametro è
impostato solo per la durata di un
richiamo. Per visualizzare lo stato,
occorre pertanto copiare il parametro
STATUS in un'area dati libera)
A seconda del bit ERROR, STATUS
ha il seguente significato:
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
•
ERROR=FALSE:
STATUS ha il valore
W#16#0000: né avviso né errore
STATUS ha il valore<>
W#16#0000: avviso, STATUS
fornisce informazioni dettagliate.
•
ERROR=TRUE:
si è verificato un errore, STATUS
fornisce informazioni dettagliate
sul tipo di errore.
28-45
SFB per CPU compatte
28.9
Invio di dati (RK 512) con l'SFB 63 "SEND_RK"
Descrizione
Con l'SFB SEND_RK (SFB 63) si invia un blocco di dati da un DB.
L'operazione di invio si attiva dopo il richiamo del blocco e un fronte di salita all'ingresso di
comando REQ.
L'area dei dati da inviare è predefinita da SD_1 (numero di DB e indirizzo iniziale), la
lunghezza del blocco dati da LEN.
Indicare eventualmente nell'SFB l'area di ricezione del partner. Questa informazione viene
riportata dalla CPU nell'intestazione del telegramma e trasmessa al partner.
La destinazione viene indicata dal numero della CPU R_CPU (rilevante solo nella
comunicazione multiprocessore), dal tipo di dati R_TYPE (blocchi dati (DB) e blocchi dati
ampliati (DX)), dal numero di blocco dati R_DBNO e dall'offset R_OFFSET nel quale va
scritto il primo byte.
Con R_CF_BYT e R_CF_BIT è possibile definire il byte e il bit del merker d'accoppiamento
nella CPU partner.
Il parametro SYNC_DB permette di determinare il DB in cui memorizzare i dati comuni a tutti
gli SFB utilizzati dall'utente per l'inizializzazione all'avviamento e la sincronizzazione. Il
numero del DB deve essere identico per tutti gli SFB utilizzati nel programma utente.
Perché l'SFB possa elaborare il job, l'utente deve richiamare quest'ultimo con
R(Reset)=FALSE. Con un fronte di salita all'ingresso di comando R l'operazione di invio in
corso viene interrotta e l'SFB viene riportato allo stato di base. I job interrotti si concludono
con un messaggio di errore (uscita STATUS).
LADDR consente di indicare l'indirizzo E/A del sotto-modulo definito dall'utente nella
"Configurazione HW".
O DONE viene impostato su TRUE, se il job si è concluso senza errori, oppure viene
impostato ERROR su TRUE, se il job si è concluso con errori.
Se il job è stato esguito con DONE = TRUE, i dati sono stati inviati al partner della
comunicazione, confermati positivamente da quest'ultimo e trasmessi alla CPU partner.
In caso di errore o di avviso, la CPU mostra in STATUS il numero dell'evento
corrispondente.
DONE ed ERROR/STATUS vengono visualizzati anche in caso di RESET dell'SFB
(R=TRUE).
Quando si verifica un errore, viene resettato il risultato binario BIE. Se il blocco si conclude
senza errori, il risultato binario ha lo stato TRUE.
Nota
L'SFB non ha controllo dei parametri: in caso di errori di parametrizzazione, la CPU può
entrare in stato di STOP.
DB di istanza
L'SFB SEND_RK opera in combinazione con un DB di istanza. Il numero di DB viene
indicato al momento del richiamo. L'accesso ai dati del DB di istanza non è consentito.
28-46
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
Particolarità dell'invio di dati
Per il job "Invio di dati", osservare quanto segue:
•
Con RK 512 si può inviare soltanto un numero pari di dati. Indicando come lunghezza
(LEN) un numero di dati dispari, viene trasmesso un ulteriore byte di riempimento con il
valore "0" alla fine dei dati.
•
Con RK 512 si può indicare soltanto un offset pari. Indicando un offset dispari, i dati
vengono memorizzati dal partner a partire dal più piccolo offset pari successivo.
Esempio: l'offset è 7, vengono memorizzati i dati dal byte 6 in poi.
Parametri
Parametri
Dichiarazione
Tipo di
dati
Campo di
valori
Preassegnazione
SYNC_DB
INPUT
INT
Specifico della 0
CPU
Numero del DB nel quale vengono
memorizzati i dati comuni per la
sincronizzazione dell'SFB RK
(lunghezza minima 240 byte).
REQ
INPUT
BOOL
TRUE/FALSE
FALSE
Parametro di comando "Request":
attiva il job con fronte di salita
R
INPUT
BOOL
TRUE/FALSE
FALSE
Parametro di comando "Reset":
il job viene interrotto.
LADDR
INPUT
WORD
Specifico della W#16#03FF
CPU
R_CPU
INPUT
INT
Da 0 a 4
1
Descrizione
Indirizzo E/A del sotto-modulo
definito dall'utente nella
"Configurazione HW".
Numero della CPU partner
(solo con funzionamento
multiprocessore)
R_TYPE
INPUT
CHAR
’D’, ’X’
’D’
Tipo di indirizzo nella CPU partner
(sono ammesse solo lettere
maiuscole)
’D’: blocco dati
’X’: blocco dati ampliato
R_DBNO
INPUT
INT
Da 0 a 255
0
Numero di blocco dati nella CPU
partner
R_OFFSET INPUT
INT
Da 0 a 510
0
Numero byte di dati nella CPU
partner
255
Byte del merker d'accoppiamento
nella CPU partner
(solo valori
pari)
R_CF_BYT INPUT
INT
Da 0 a 255
(255: significa: senza merker
d'accoppiamento)
R_CF_BIT
INPUT
INT
Da 0 a 7
0
Bit del merker d'accoppiamento nella
CPU partner
DONE
OUTPUT
BOOL
TRUE/FALSE
FALSE
Parametro di stato (il parametro è
impostato solo per la durata di un
richiamo):
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
•
FALSE: job non ancora avviato
o ancora in esecuzione.
•
TRUE: job concluso senza
errori.
28-47
SFB per CPU compatte
Parametri
Dichiarazione
Tipo di
dati
Campo di
valori
Preassegnazione
Descrizione
ERROR
OUTPUT
BOOL
TRUE/FALSE
FALSE
Parametro di stato (il parametro è
impostato solo per la durata di un
richiamo):
job eseguito con errori
STATUS
OUTPUT
WORD
Da
W#16#0000
W#16#0000 a
W#16#FFFF
Parametro di stato (il parametro è
impostato solo per la durata di un
richiamo. Per visualizzare lo stato,
occorre pertanto copiare il parametro
STATUS in un'area dati libera)
A seconda del bit ERROR, STATUS
ha il seguente significato:
ERROR=FALSE:
STATUS ha il valore
W#16#0000: né avviso né errore
STATUS ha il valore<>
W#16#0000: avviso, STATUS
fornisce informazioni dettagliate.
ERROR=TRUE:
si è verificato un errore,
STATUS fornisce informazioni
dettagliate sul tipo di errore.
SD_1
INPUT/
OUTPUT
ANY
Specifico della 0
CPU
Parametro di invio:
Indicare qui:
•
Numero del DB dal quale inviare
i dati.
•
Numero dei byte di dati a partire
dal quale inviare i dati.
P. es.: DB 10 ab Byte 2 ->
DB10.DBB2
LEN
28-48
INPUT/
OUTPUT
INT
Da 1 a 1024
1
Indicare qui la lunghezza in byte del
blocco dati da inviare. (La lunghezza
viene indicata indirettamente.)
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
Dati nell'intestazione del telegramma
Nella tabella seguente sono riportati i dati nell'intestazione del telegramma RK 512.
Sorgente nel sistema
di automazione S7
dell'utente (CPU
locale)
A destinazione, CPU
partner
Intestazione del telegramma, byte
3/4 tipo di
comando
5/6 offset
Z-DBNR/Z
7/8 numero in
Blocco dati
Blocco dati
AD
DB/DW
parole
Blocco dati
Blocco dati ampliato
AD
DB/DW
parole
Spiegazione delle abbreviazioni:
Z-DBNR
Numero del blocco dati di destinazione
Z-Offset
Indirizzo iniziale della destinazione
DW
Offset in parole
Coerenza dei dati
La coerenza dei dati è limitata a 128 byte. Per una trasmissione coerente dei dati con oltre
128 byte, osservare quanto segue.
Scrivere nuovamente l'area di invio SD_1 attualmente utilizzata solo quando l'operazione di
invio si è conclusa. Ciò vale quando il parametro di stato DONE assume il valore TRUE.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
28-49
SFB per CPU compatte
28.10
Prelievo di dati (RK 512) con l'SFB 64 "FETCH RK"
Descrizione
L'SFB FETCH_RK (SFB 64) permetet di prelevare un blocco di dati dal partner
memorizzandoli in un blocco dati.
L'operazione di invio si attiva dopo il richiamo del blocco e un fronte di salita all'ingresso di
comando REQ.
L'area in cui memorizzare i dati prelevati è predefinita da RD_1 (numero di DB e indirizzo
iniziale), la lunghezza del blocco dati da LEN.
Indicare eventualmente nell'SFB l'area del partner dalla quale vengono prelevati i dati.
Questa informazione viene riportata dalla CPU nell'intestazione del telegramma RK512
(vedere anche allegato F) e trasmessa al partner.
L'area del partner viene indicata dal numero della CPU R_CPU (rilevante solo nella
comunicazione multiprocessore), dal tipo di dati R_TYPE (blocchi dati, blocchi dati ampliati,
merker, ingressi, uscite, contatori e temporizzatori), dal numero di blocco dati R_DBNO
(rilevante solo per blocchi dati e blocchi dati ampliati) e dall'offset R_OFFSET nel quale va
prelevato il primo byte.
Con R_CF_BYT e R_CF_BIT è possibile definire il byte e il bit del merker d'accoppiamento
nella CPU partner.
Il parametro SYNC_DB permette di determinare il DB in cui memorizzare i dati comuni a tutti
gli SFB utilizzati dall'utente per l'inizializzazione all'avviamento e la sincronizzazione. Il
numero del DB deve essere identico per tutti gli SFB utilizzati nel programma utente.
Perché l'SFB possa elaborare il job, l'utente deve richiamare quest'ultimo con
R(Reset)=FALSE. Con un fronte di salita all'ingresso di comando R la trasmissione in corso
viene interrotta e l'SFB viene riportato allo stato di base. I job interrotti si concludono con un
messaggio di errore (uscita STATUS).
LADDR consente di indicare l'indirizzo E/A del sotto-modulo definito dall'utente nella
"Configurazione HW".
O DONE viene impostato su TRUE, se il job si è concluso senza errori, oppure viene
impostato ERROR su TRUE, se il job si è concluso con errori.
In caso di errore o di avviso, la CPU mostra in STATUS il numero dell'evento
corrispondente.
DONE ed ERROR/STATUS vengono visualizzati anche in caso di RESET dell'SFB
(R=TRUE).
Quando si verifica un errore, viene resettato il risultato binario BIE. Se il blocco si conclude
senza errori, il risultato binario ha lo stato TRUE.
Nota
L'SFB non ha controllo dei parametri: in caso di errori di parametrizzazione, la CPU può
entrare in stato di STOP.
Nota
In caso di prelievo di dati dalla propria CPU, occorre programmare nella propria CPU un
SFB "SERVE_RK".
28-50
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
DB di istanza
L'SFB FETCH_RK opera in combinazione con un DB di istanza. Il numero di DB viene
indicato al momento del richiamo. L'accesso ai dati del DB di istanza non è consentito.
Particolarità dei blocchi dati (ampliati)
Per il job "Prelievo di dati" da blocchi dati e blocchi dati ampliati, osservare quanto segue:
•
Con RK 512 si può prelevare soltanto un numero pari di dati. Indicando come lunghezza
(LEN) un numero di dati dispari, viene sempre trasmesso un byte in più. Nel DB di
destinazione viene tuttavia registrato il numero di dati corretto.
•
Con RK 512 si può indicare soltanto un offset pari. Indicando un offset dispari, i dati
vengono prelevati dal partner a partire dal più piccolo offset pari successivo.
Esempio: l'offset è 7, vengono prelevati i dati dal byte 6 in poi.
Particolarità dei contatori e temporizzatori
In caso di prelievo di temporizzatori o contatori dal partner della comunicazione, occorre
osservare che per ogni temporizzatore o contatore vengono prelevati 2 byte. Se si desidera
prelevare p. es. 10 contatori, occorre indicare la lunghezza 20.
Parametri
In questo SFB i campi dei valori sono indicati con mnemonico tedesco.
Parametri
Dichiarazione Tipo di
dati
Campo di
valori
Preassegnazione Descrizione
SYNC_DB
INPUT
INT
Specifico della 0
CPU
Numero del DB nel quale
vengono memorizzati i dati
comuni per la sincronizzazione
dell'SFB RK (lunghezza minima
240 byte).
REQ
INPUT
BOOL
TRUE/FALSE
FALSE
Parametro di comando
"Request":
attiva il job con fronte di salita
R
INPUT
BOOL
TRUE/FALSE
FALSE
Parametro di comando "Reset":
il job viene interrotto.
LADDR
INPUT
WORD
Specifico della W#16#03FF
CPU
Indirizzo E/A del sotto-modulo
definito dall'utente nella
"Configurazione HW".
R_CPU
INPUT
INT
Da 0 a 4
Numero della CPU partner
1
(solo con funzionamento
multiprocessore)
R_TYPE
INPUT
CHAR
’D’, ’X’, ’M’,
’E’, ’A’, ’Z’, ’T’
’D’
Tipo di indirizzo nella CPU
partner
’D’: blocco dati
’X’: blocco dati ampliato
’M’: merker
’E’: ingressi
’A’: uscite
’Z’: contatori
’T’: temporizzatori
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
28-51
SFB per CPU compatte
Parametri
Dichiarazione Tipo di
dati
Campo di
valori
Preassegnazione Descrizione
R_DBNO
INPUT
INT
Da 0 a 255
0
Numero di blocco dati nella CPU
partner
R_OFFSET INPUT
INT
Vedere
tabella:
"Parametri FB
per sorgente
dati (CPU
partner)"
0
Numero byte di dati nella CPU
partner
R_CF_BYT
INT
Da 0 a 255
255
Byte del merker d'accoppiamento
nella CPU partner
INPUT
(255: significa: senza merker
d'accoppiamento)
R_CF_BIT
INPUT
INT
Da 0 a 7
0
Bit del merker d'accoppiamento
nella CPU partner
DONE
OUTPUT
BOOL
TRUE/FALSE
FALSE
Parametro di stato (il parametro
è impostato solo per la durata di
un richiamo):
•
FALSE: job non ancora
avviato o ancora in
esecuzione.
•
TRUE: job concluso senza
errori.
ERROR
OUTPUT
BOOL
TRUE/FALSE
FALSE
Parametro di stato (il parametro
è impostato solo per la durata di
un richiamo):
job eseguito con errori
STATUS
OUTPUT
WORD
Da
W#16#0000 a
W#16#FFFF
W#16#0000
Parametro di stato (il parametro
è impostato solo per la durata di
un richiamo. Per visualizzare lo
stato, occorre pertanto copiare il
parametro STATUS in un'area
dati libera)
A seconda del bit ERROR,
STATUS ha il seguente
significato:
28-52
•
ERROR=FALSE:
STATUS ha il valore
W#16#0000: né avviso né
errore
STATUS ha il valore<>
W#16#0000: avviso,
STATUS fornisce
informazioni dettagliate.
•
ERROR=TRUE:
si è verificato un errore,
STATUS fornisce
informazioni dettagliate sul
tipo di errore.
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
Parametri
Dichiarazione Tipo di
dati
Campo di
valori
RD_1
INPUT/
OUTPUT
Specifico della 0
CPU
ANY
Preassegnazione Descrizione
Parametri di ricezione:
Indicare qui:
•
Il numero del DB nel quale
memorizzare i dati prelevati.
•
Il numero di byte di dati a
partire dal quale
memorizzare i dati prelevati.
P. es.: DB 10 da byte 2 ->
DB10.DBB2
LEN
INPUT/
OUTPUT
INT
Da 1 a 1024
1
Indicare qui la lunghezza in byte
del blocco di dati da prelevare.
(La lunghezza viene indicata
indirettamente.)
Per ciascun temporizzatore e
contatore occorre indicare una
lunghezza di 2 byte.
Parametri dell'SFB per sorgente di dati (CPU partner)
Nella tabella seguente sono riportati i tipi di dati trasmessi.
Il valore R_OFFSET è predefinito dalla CPU partner.
Sorgente nella CPU partner
R_TYP
R_NO
R_OFFSET (in byte)
Blocco dati
’D’
0 - 255
0 - 510, sono opportuni solo valori pari
Blocco dati ampliato
’X’
0 - 255
0 - 510, sono opportuni solo valori pari
Merker
’M’
irrilevante
0 - 255
Ingressi
’E’
irrilevante
0 - 255
Uscite
’A’
irrilevante
0 - 255
Contatori
’Z’
irrilevante
0 - 255
Temporizzatori
’T’
irrilevante
0 - 255
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
28-53
SFB per CPU compatte
Dati nell'intestazione del telegramma
Nella tabella seguente sono riportati i dati nell'intestazione del telegramma RK 512.
Sorgente nella
CPU partner
A destinazione, sistema di
automazione S7 dell'utente (CPU
locale)
Intestazione del telegramma, byte
3/4 tipo di
comando
5/6 offset
Q-DBNR/Q
7/8 numero
in
Blocco dati
Blocco dati
ED
DB/DW
Parole
Blocco dati
ampliato
Blocco dati
EX
DB/DW
Parole
Merker
Blocco dati
EM
Indirizzo byte
Byte
Ingressi
Blocco dati
EE
Indirizzo byte
Byte
Uscite
Blocco dati
EA
Indirizzo byte
Byte
Contatori
Blocco dati
EZ
N. contatore
Parole
Temporizzatori
Blocco dati
ET
N. temporizzatore
Parole
Spiegazione delle abbreviazioni:
Q-DBNR
Numero del blocco dati della sorgente
Q-Offset
Indirizzo iniziale della sorgente
Coerenza dei dati
La coerenza dei dati è limitata a 128 byte. Per una trasmissione coerente dei dati con oltre
128 byte, osservare quanto segue.
Scrivere nuovamente la parte attualmente utilizzata dell'area di ricezione RD_1 solo quando
la trasmissione si è conclusa. Ciò vale quando il parametro di stato DONE assume il valore
TRUE.
28-54
Software di sistema per S7-300/400 - Funzioni standard e di sistema - Volume 2/2
A5E00739862-01
SFB per CPU compatte
28.11
Ricezione e messa a disposizione di dati (RK 512) con
l'SFB 65 "SERVE_RK"
Descrizione
L'SFB SERVE_RK (SFB 65) permette di ricevere e rendere disponibili dati.
•
Ricezione di dati: i dati vengono memorizzati nell'area dati specificata dal partner
nell'intestazione del telegramma RK 512. Il richiamo dell'SFB è necessario se il partner
della comunicazione esegue un job "Invio dati" (job SEND).
•
Messa a disposizione dei dati: i dati vengono prelevati dall'area dati specificata dal
partner nell'intestazione del telegramma RK 512. Il richiamo dell'SFB è necessario se il
partner della comunicazione esegue un job "Prelievo dati" (job FETCH).
L'SFB è pronto dopo il richiamo con il valore TRUE nell'ingresso di comando EN_R. Una
trasmissione in corso può essere interrotta con lo stato di segnale FALSE nel parametro
EN_R. I job interrotti si concludono con un messaggio di errore (uscita STATUS). La
ricezione resta disattivata finché il parametro EN_R ha lo stato di segnale FALSE.
Il parametro SYNC_DB permette di determinare il DB in cui memorizzare i dati comuni a tutti
gli SFB utilizzati dall'utente per l'inizializzazione all'avviamento e la sincronizzazione. Il
numero del DB deve essere identico per tutti gli SFB utilizzati nel programma utente.
Perché l'SFB possa elaborare il job, l'utente deve richiamare quest'ultimo con
R(Reset)=FALSE. Con un fronte di salita all'ingresso di comando R, la trasmissione in corso
viene interrotta e l'SFB viene riportato allo stato di base. I job interrotti si concludono con un
messaggio di errore (uscita STATUS).
LADDR consente di indicare l'indirizzo E/A del sotto-modulo definito dall'utente nella
"Configurazione HW".
Viene impostato NDR su TRUE, se il job si è concluso senza errori, oppure ERROR su
TRUE, se il job si è concluso con errori.
Con NDR=TRUE in un richiamo dell'SFB nei parametri L_TYPE, L_DBNO e L_OFFSET, la
CPU indica la posizione in cui sono stati memorizzati i dati o quella dalla quale sono stati
prelevati. Per il richiamo, inoltre, vengono visualizzati i par
Scarica

Funzioni standard e di sistema - Siemens Industry Online Support